You can subscribe to this list here.
2003 |
Jan
|
Feb
(3) |
Mar
(16) |
Apr
(11) |
May
(3) |
Jun
(109) |
Jul
(70) |
Aug
(22) |
Sep
(19) |
Oct
(4) |
Nov
(25) |
Dec
(46) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(68) |
Feb
(52) |
Mar
(54) |
Apr
(57) |
May
(13) |
Jun
(15) |
Jul
(16) |
Aug
(3) |
Sep
(43) |
Oct
(95) |
Nov
(106) |
Dec
(142) |
2005 |
Jan
(62) |
Feb
(190) |
Mar
(75) |
Apr
(117) |
May
(123) |
Jun
(64) |
Jul
(122) |
Aug
(95) |
Sep
(63) |
Oct
(102) |
Nov
(99) |
Dec
(85) |
2006 |
Jan
(59) |
Feb
(64) |
Mar
(138) |
Apr
(82) |
May
(62) |
Jun
(62) |
Jul
(72) |
Aug
(50) |
Sep
(21) |
Oct
(95) |
Nov
(95) |
Dec
(29) |
2007 |
Jan
(26) |
Feb
(36) |
Mar
(45) |
Apr
(12) |
May
(53) |
Jun
(38) |
Jul
(19) |
Aug
(87) |
Sep
(63) |
Oct
(272) |
Nov
(102) |
Dec
(63) |
2008 |
Jan
(54) |
Feb
(19) |
Mar
(84) |
Apr
(111) |
May
(17) |
Jun
(26) |
Jul
(18) |
Aug
(10) |
Sep
(14) |
Oct
(9) |
Nov
(4) |
Dec
(12) |
2009 |
Jan
(5) |
Feb
(7) |
Mar
(4) |
Apr
(8) |
May
(4) |
Jun
(7) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(6) |
Mar
(6) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <Uri...@nc...> - 2003-04-15 18:07:35
|
Steve: BRILLIANT. Leave the GUI out so the phone-layer is kept clean. The GUI can easily be adapted to many different uses (Lotus Notes, PIM, Outlook, PIM, etc). I can't wait to get out of work to play with it. Regards, Uriel Steve Kann <st...@st... To: Uri...@nc... m> cc: iax...@li... Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 04/15/2003 01:55 PM On Tue, 2003-04-15 at 13:48, Uri...@nc... wrote: > Steve: > One step at a time and we will get there. My first step is to catch up > with this moving train so I can at least sound half intelligent. > We need to move away from unistd.h. I found that code in the Delphi > version. I will check again in the new CVS that you pointed out but I have > not downloaded yet. Well, you'll the current iaxclient code doesn't seem to use unistd.h at all. (I guess Windows doesn't have this include, but I haven't checked) Also, of course, you'll find that the current iaxclient code doesn't have any GUI :) -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@st...> - 2003-04-15 17:55:42
|
On Tue, 2003-04-15 at 13:48, Uri...@nc... wrote: > Steve: > One step at a time and we will get there. My first step is to catch up > with this moving train so I can at least sound half intelligent. > We need to move away from unistd.h. I found that code in the Delphi > version. I will check again in the new CVS that you pointed out but I have > not downloaded yet. Well, you'll the current iaxclient code doesn't seem to use unistd.h at all. (I guess Windows doesn't have this include, but I haven't checked) Also, of course, you'll find that the current iaxclient code doesn't have any GUI :) -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: <Uri...@nc...> - 2003-04-15 17:52:52
|
Steve: One step at a time and we will get there. My first step is to catch up with this moving train so I can at least sound half intelligent. We need to move away from unistd.h. I found that code in the Delphi version. I will check again in the new CVS that you pointed out but I have not downloaded yet. Regards, Uriel Steve Kann <st...@st... To: Uri...@nc... m> cc: iax...@li... Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 04/15/2003 12:24 PM On Tue, 2003-04-15 at 11:48, Uri...@nc... wrote: > Steve: > I suspected I was on the wrong path. I have been working with Asterisk for > close to two years now under Linux and never had so many problems > compiling. I am going to follow ALL of your instructions to set myself up. > By the way, I signed up with the development list so I can pitch in and > help. Great! Right now, there's a couple of things we're working on: 1) creating a better separation of the Win32 audio code, and the library core, 2) creating an alternate audio driver based on portaudio, and fixing any portability issues we have remaining. With 1 && 2 , we should have a core library, and simple sample program that we can get running under Win32, MacOSX, and Linux. Shawn is working on this stuff now, and things should start landing in CVS soon. Once we get a simple test app running cross-platform, we'll definately make an announcement on the list. We also want to upgrade libiax to a version which supports IAX2, which has several improvements that are important to us. But we're waiting on Mark from Digium for that part. After this, there will be a bunch of things we need to do: Write simple UI code for different platforms (we have some strict requirements for the UI we need, but people can make some optional UI elements for their needs too) If someone is interested in a "full-featured" client, with address-books, and whatnot, they could work on that, maybe using WxWindows or something else portable. [this is the UI that would be most comparable to GnoPhone and the like, with support for address books, multiple simultaneous calls, etc etc). Add some audio processing code: (a) silence detection [so the client can send "silent" packets, or no packets when you're not speaking, (b) energy detection (related to (a)), so client GUIs can display level meters, (c) Sample rate conversion, (esp for Linux audio devices which can't support 8k rates), (d) support for alternate codecs [currently we're wired to GSM, but supporting e.g. Speex and u/aLaw might be nice]. Lots of testing and bugfixing, of course :) -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@st...> - 2003-04-15 16:24:55
|
On Tue, 2003-04-15 at 11:48, Uri...@nc... wrote: > Steve: > I suspected I was on the wrong path. I have been working with Asterisk for > close to two years now under Linux and never had so many problems > compiling. I am going to follow ALL of your instructions to set myself up. > By the way, I signed up with the development list so I can pitch in and > help. Great! Right now, there's a couple of things we're working on: 1) creating a better separation of the Win32 audio code, and the library core, 2) creating an alternate audio driver based on portaudio, and fixing any portability issues we have remaining. With 1 && 2 , we should have a core library, and simple sample program that we can get running under Win32, MacOSX, and Linux. Shawn is working on this stuff now, and things should start landing in CVS soon. Once we get a simple test app running cross-platform, we'll definately make an announcement on the list. We also want to upgrade libiax to a version which supports IAX2, which has several improvements that are important to us. But we're waiting on Mark from Digium for that part. After this, there will be a bunch of things we need to do: Write simple UI code for different platforms (we have some strict requirements for the UI we need, but people can make some optional UI elements for their needs too) If someone is interested in a "full-featured" client, with address-books, and whatnot, they could work on that, maybe using WxWindows or something else portable. [this is the UI that would be most comparable to GnoPhone and the like, with support for address books, multiple simultaneous calls, etc etc). Add some audio processing code: (a) silence detection [so the client can send "silent" packets, or no packets when you're not speaking, (b) energy detection (related to (a)), so client GUIs can display level meters, (c) Sample rate conversion, (esp for Linux audio devices which can't support 8k rates), (d) support for alternate codecs [currently we're wired to GSM, but supporting e.g. Speex and u/aLaw might be nice]. Lots of testing and bugfixing, of course :) -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: <Uri...@nc...> - 2003-04-15 16:07:54
|
Steve: I suspected I was on the wrong path. I have been working with Asterisk for close to two years now under Linux and never had so many problems compiling. I am going to follow ALL of your instructions to set myself up. By the way, I signed up with the development list so I can pitch in and help. Regards, Uriel Steve Kann <st...@st... To: Uri...@nc... m> cc: iax...@li... Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 04/15/2003 11:05 AM Ahh, you're looking at a different set of sources. Those are for Andre's IAXPHONE project. The sources for the iaxclient project are currently in CVS at sourceforge. To get these, go to the sourceforge page, then to CVS, where you'll find directions for anonymous CVS access to get the sources. Basically, if you have cygwin and mingw installed, you should have a CVS client, so you can just do: cvs -d:pserver:ano...@cv...:/cvsroot/iaxclient login (hit "enter" at the password prompt) cvs -z3 -d:pserver:ano...@cv...:/cvsroot/iaxclient co iaxclient (these are the directions from http://sourceforge.net/cvs/?group_id=72851) Then, you'll get a directory called "iaxclient". Then you can cd to iaxclient/simpleclient/win32, and type "make". -SteveK On Tue, 2003-04-15 at 10:47, Uri...@nc... wrote: > Steve: > Thank you for getting back to me. I am going to follow your advise. > I checked in the source code I download and I could not find the "Makefile" > in > \iaxPhone\IAXphone-src\DLL\src > > I did find a Makefile in > \iaxPhone\IAXphone-src\DLL\lcc > > Wouldn't "make" expect to find a Makefile? > is there more than one source to iaxclient for win32 out there and I may > have the wrong one? > > Regards, > > Uriel > > > > Steve Kann > <stevek@stevek To: Uri...@nc... > .com> cc: iax...@li... > Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 > 04/15/2003 > 10:23 AM > > > > > > > > I actually use Cygwin and MinGW to compile, but I think that Shawn also > uses/tests with VC++. > > I'm obviously partial to using the GNU tools, because it's the same on > every platform. If you install Cygwin and MinGW (install cygwin, then > install MinGW, then make sure the MinGW tools are in your path before > cygwin), then you just need to go to simpleclient/win32 and type "make". > > see: > http://www.mingw.org/mingwfaq.shtml#faq-usingwithcygwin > > -SteveK > > > On Tue, 2003-04-15 at 10:06, Uri...@nc... wrote: > > I am in a battle trying to compile iaxclient for Windows using Microsoft > > VC++. May be I have the wrong souce. > > can any body point me in the right direction please. > > I have an old Borland C++ Builder5. If that is a better way to go please > > let me know. > > > > Regards, > > > > Uriel > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Iaxclient-devel mailing list > > Iax...@li... > > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) > 533-1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed > Linux." > > > -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@st...> - 2003-04-15 15:05:08
|
Ahh, you're looking at a different set of sources. Those are for Andre's IAXPHONE project. The sources for the iaxclient project are currently in CVS at sourceforge. To get these, go to the sourceforge page, then to CVS, where you'll find directions for anonymous CVS access to get the sources. Basically, if you have cygwin and mingw installed, you should have a CVS client, so you can just do: cvs -d:pserver:ano...@cv...:/cvsroot/iaxclient login (hit "enter" at the password prompt) cvs -z3 -d:pserver:ano...@cv...:/cvsroot/iaxclient co iaxclient (these are the directions from http://sourceforge.net/cvs/?group_id=72851) Then, you'll get a directory called "iaxclient". Then you can cd to iaxclient/simpleclient/win32, and type "make". -SteveK On Tue, 2003-04-15 at 10:47, Uri...@nc... wrote: > Steve: > Thank you for getting back to me. I am going to follow your advise. > I checked in the source code I download and I could not find the "Makefile" > in > \iaxPhone\IAXphone-src\DLL\src > > I did find a Makefile in > \iaxPhone\IAXphone-src\DLL\lcc > > Wouldn't "make" expect to find a Makefile? > is there more than one source to iaxclient for win32 out there and I may > have the wrong one? > > Regards, > > Uriel > > > > Steve Kann > <stevek@stevek To: Uri...@nc... > .com> cc: iax...@li... > Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 > 04/15/2003 > 10:23 AM > > > > > > > > I actually use Cygwin and MinGW to compile, but I think that Shawn also > uses/tests with VC++. > > I'm obviously partial to using the GNU tools, because it's the same on > every platform. If you install Cygwin and MinGW (install cygwin, then > install MinGW, then make sure the MinGW tools are in your path before > cygwin), then you just need to go to simpleclient/win32 and type "make". > > see: > http://www.mingw.org/mingwfaq.shtml#faq-usingwithcygwin > > -SteveK > > > On Tue, 2003-04-15 at 10:06, Uri...@nc... wrote: > > I am in a battle trying to compile iaxclient for Windows using Microsoft > > VC++. May be I have the wrong souce. > > can any body point me in the right direction please. > > I have an old Borland C++ Builder5. If that is a better way to go please > > let me know. > > > > Regards, > > > > Uriel > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Iaxclient-devel mailing list > > Iax...@li... > > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) > 533-1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed > Linux." > > > -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: <Uri...@nc...> - 2003-04-15 14:51:23
|
Steve: Thank you for getting back to me. I am going to follow your advise. I checked in the source code I download and I could not find the "Makefile" in \iaxPhone\IAXphone-src\DLL\src I did find a Makefile in \iaxPhone\IAXphone-src\DLL\lcc Wouldn't "make" expect to find a Makefile? is there more than one source to iaxclient for win32 out there and I may have the wrong one? Regards, Uriel Steve Kann <st...@st... To: Uri...@nc... m> cc: iax...@li... Subject: Re: [Iaxclient-devel] compiling IAXCLIENT under WIN32 04/15/2003 10:23 AM I actually use Cygwin and MinGW to compile, but I think that Shawn also uses/tests with VC++. I'm obviously partial to using the GNU tools, because it's the same on every platform. If you install Cygwin and MinGW (install cygwin, then install MinGW, then make sure the MinGW tools are in your path before cygwin), then you just need to go to simpleclient/win32 and type "make". see: http://www.mingw.org/mingwfaq.shtml#faq-usingwithcygwin -SteveK On Tue, 2003-04-15 at 10:06, Uri...@nc... wrote: > I am in a battle trying to compile iaxclient for Windows using Microsoft > VC++. May be I have the wrong souce. > can any body point me in the right direction please. > I have an old Borland C++ Builder5. If that is a better way to go please > let me know. > > Regards, > > Uriel > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@st...> - 2003-04-15 14:23:22
|
I actually use Cygwin and MinGW to compile, but I think that Shawn also uses/tests with VC++. I'm obviously partial to using the GNU tools, because it's the same on every platform. If you install Cygwin and MinGW (install cygwin, then install MinGW, then make sure the MinGW tools are in your path before cygwin), then you just need to go to simpleclient/win32 and type "make". see: http://www.mingw.org/mingwfaq.shtml#faq-usingwithcygwin -SteveK On Tue, 2003-04-15 at 10:06, Uri...@nc... wrote: > I am in a battle trying to compile iaxclient for Windows using Microsoft > VC++. May be I have the wrong souce. > can any body point me in the right direction please. > I have an old Borland C++ Builder5. If that is a better way to go please > let me know. > > Regards, > > Uriel > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: <Uri...@nc...> - 2003-04-15 14:10:23
|
I am in a battle trying to compile iaxclient for Windows using Microsoft VC++. May be I have the wrong souce. can any body point me in the right direction please. I have an old Borland C++ Builder5. If that is a better way to go please let me know. Regards, Uriel |
From: Steve K. <st...@st...> - 2003-04-09 03:15:31
|
I looked at this more on the train this evening, and it looks like it will be perfect for us. I needed to tweak a few Makefile things to make it build on MacOSX (apparently, some things moved around in there), but once I did that, it built great, and the samples worked great. I think the interface provides all the functionality we need (even choosing from a list of available devices, getting the default device, making the levels sane, format conversion, etc), and is still very simple. Basically, you make a few calls to initialize, choose the device you want, and start it, and then it periodically calls a callback function that you provide, which gives you input audio, and takes back output audio. One of the samples, called patest_wire shows that the internal latency with the system on MacOSX is totally imperceptible (but the MacOSX audio system has almost nil internal latency). It has both WinMM, DirectSound, and "asio" drivers for Win32, OSS drivers for linux, etc, and others (sgi drivers, beos, etc). Anyway, I wish I'd found this earlier, because it just seems perfect. On Tuesday, April 8, 2003, at 06:45 PM, Steve Kann wrote: > > While researching MacOSX audio stuff, I stumbled on this library: > > http://www.portaudio.com/ > > It seems like a nice small audio abstraction library, which _might_ be > appropriate to use for iaxclient. > > On linux, the static library from this is just 16k (stripped, with > debug > info it's 146k), which seems more than reasonable. > > It seems to have a BSD-like license (only clause is that the copyright > needs to be kept, which I think is OK for LGPL). > > Some quick tests of their v18 release and a CVS snapshot showed: > > 1) The CVS snapshot crashed (after doing what it was supposed to; gdb > shows some thread problem). > 2) The v18 release didn't support sample rate conversion (my USB > headset, currently running with OSS drivers on RH9 only supports 48khz > out, and the test wanted 44.1, and the library didn't convert). > 3) The CVS snapshot has better makefiles. > > But it seems to have a pretty simple API, and perhaps the v19 release > is > coming along well. > > If we do what we've planned, we can include an "audio_portaudio" driver > for iaxclient, and only use that if we want to, but i'm thinking that > it > might be useful on all platforms, if it supports the audio things we > need to do (i.e. we might need to scan for devices, choose devices, > start/stop them, etc). > > -SteveK > > > > > > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) > 533-1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed > Linux." > > > > ------------------------------------------------------- > This SF.net email is sponsored by: ValueWeb: > Dedicated Hosting for just $79/mo with 500 GB of bandwidth! > No other company gives more support or power for your dedicated server > http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/ > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel > |
From: Steve K. <st...@st...> - 2003-04-08 22:45:48
|
While researching MacOSX audio stuff, I stumbled on this library: http://www.portaudio.com/ It seems like a nice small audio abstraction library, which _might_ be appropriate to use for iaxclient. On linux, the static library from this is just 16k (stripped, with debug info it's 146k), which seems more than reasonable. It seems to have a BSD-like license (only clause is that the copyright needs to be kept, which I think is OK for LGPL). Some quick tests of their v18 release and a CVS snapshot showed: 1) The CVS snapshot crashed (after doing what it was supposed to; gdb shows some thread problem). 2) The v18 release didn't support sample rate conversion (my USB headset, currently running with OSS drivers on RH9 only supports 48khz out, and the test wanted 44.1, and the library didn't convert). 3) The CVS snapshot has better makefiles. But it seems to have a pretty simple API, and perhaps the v19 release is coming along well. If we do what we've planned, we can include an "audio_portaudio" driver for iaxclient, and only use that if we want to, but i'm thinking that it might be useful on all platforms, if it supports the audio things we need to do (i.e. we might need to scan for devices, choose devices, start/stop them, etc). -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Shawn L. <ter...@ho...> - 2003-03-18 09:15:28
|
Updates have been posted to the CVS version of IAXClient to correct the problems with the audio transmit functions. Please review the posted changes and post any questions or problems to the mailing list. Thanks. Shawn --- Shawn Lawrence - General Manager Terace Communications Inc. 889 Alder Avenue, Sherwood Park, AB T8A 1V4 Ph: (780) 416-1897 Email: sha...@te... Website: http://www.terracecomm.com --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.462 / Virus Database: 261 - Release Date: 3/13/2003 |
From: The S. <kc...@al...> - 2003-03-16 18:54:38
|
Steve Kann wrote: > Kc, > > I think that Mark is also working on some documentation for the > IAX2 protocol, but it will probably come after the code. For now, if > you're having problems, you'll just need to "use the source". I'd say > you'll find the more authoratative answers to questions in chan_iax and > chan_iax2 in the asterisk sources. > > To get things working for you, make sure you can get two > asterisk boxes set up and talking via IAX first. The "unauthenticated" > stuff sounds like a configuration error to me. Maybe try attaching as > guest first. > > Also, I'm CCing the list, because I think that's where you meant to send > your initial message. > > -SteveK > > On Sun, Mar 16, 2003 at 04:02:35PM +0100, The Sysop wrote: > > Hi Everybody, > > > > I am happy to hear such a good news about the new cvs. Steve mentioned that > > there was going to be an update on the IAXlib, this should come from Mark. The > > way I see it, we could help mark out if we had some design (white) papers of the > > iax lib stuff .. > > > > My problem at the moment is that I 've succesfully compiled winiphone, I can > > dial in / out, I have sound (only one connection at the time, but ok) but events > > seems to be handled wrong. > > > > When I look in the e.event variables (with the code insigth from borland) I see > > all kinds of strange variables like myip=300 (while I submitted 300 as the > > called_id) .. I even have an jpg from it if people are interested .. And in the > > end * tells me that my call is not authenticaded. > > > > Does anybody have an white paper or other documentation on how things work .. > > Maybe I can examen this and help cleaning up things ? > > > > The way is see it, we first need an good (and clear) implementation of the iax > > lib before we can develop an steady (gui) client .. > > > > Thanks in advance > > Kc > > > > > > > > > > -- > > -------------------------------------------------------------- > > 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 > > 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped > > CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle > > Mem: 257620K av, 130248K used, 127372K free, 56024K shrd > > Swap: 401584K av, 280K used, 401304K free 52548K cached > > > > > > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge is now open! > Get cracking and register here for some mind boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel ok, thanx Steve, I am going to dig in the asterisks source to find out all the terms .. because if i don't have the right meaning / understanding of all the used keywords (e.g. server / hostname / peer / regpeer etc..) Its pretty confusing .. greetz -- -------------------------------------------------------------- 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle Mem: 257620K av, 130248K used, 127372K free, 56024K shrd Swap: 401584K av, 280K used, 401304K free 52548K cached |
From: Steve K. <st...@St...> - 2003-03-16 15:35:14
|
Kc, I think that Mark is also working on some documentation for the IAX2 protocol, but it will probably come after the code. For now, if you're having problems, you'll just need to "use the source". I'd say you'll find the more authoratative answers to questions in chan_iax and chan_iax2 in the asterisk sources. To get things working for you, make sure you can get two asterisk boxes set up and talking via IAX first. The "unauthenticated" stuff sounds like a configuration error to me. Maybe try attaching as guest first. Also, I'm CCing the list, because I think that's where you meant to send your initial message. -SteveK On Sun, Mar 16, 2003 at 04:02:35PM +0100, The Sysop wrote: > Hi Everybody, > > I am happy to hear such a good news about the new cvs. Steve mentioned that > there was going to be an update on the IAXlib, this should come from Mark. The > way I see it, we could help mark out if we had some design (white) papers of the > iax lib stuff .. > > My problem at the moment is that I 've succesfully compiled winiphone, I can > dial in / out, I have sound (only one connection at the time, but ok) but events > seems to be handled wrong. > > When I look in the e.event variables (with the code insigth from borland) I see > all kinds of strange variables like myip=300 (while I submitted 300 as the > called_id) .. I even have an jpg from it if people are interested .. And in the > end * tells me that my call is not authenticaded. > > Does anybody have an white paper or other documentation on how things work .. > Maybe I can examen this and help cleaning up things ? > > The way is see it, we first need an good (and clear) implementation of the iax > lib before we can develop an steady (gui) client .. > > Thanks in advance > Kc > > > > > -- > -------------------------------------------------------------- > 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 > 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped > CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle > Mem: 257620K av, 130248K used, 127372K free, 56024K shrd > Swap: 401584K av, 280K used, 401304K free 52548K cached > > -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@St...> - 2003-03-14 16:00:16
|
I've checked in a _very_ preliminary code snapshot, based on the work that Shawn has done so far. Basically, the structure is as follows: Root directory iaxclient Main Library API iaxclient/lib GSM Library (imported) iaxclient/lib/gsm LibIAX (imported) iaxclient/lib/libiax Simple Client iaxclient/simpleclient Simple Client (platform-dep) iaxclient/simpleclient/win32 The library itself should encapsulate all of what is needed to make an IAXClient application, including call handling, audio handling, etc, including platform-dependent code to do audio, networking, or whatnot. The library will include some other libraries, for now those are the GSM library, and the libiax library. I believe that Mark is going to be working on updating libiax to IAX2, or whatever it gets called; we'll definately be tracking those changes. The "Simple Client" right now is basically "miniphone", but will eventually turn into a simple telephone client with a simple GUI. It will be more like miniphone than Gnophone, though -- a full-featured client is a different task. The current code isn't really in a "usable" state. It will probably only build on Win32, and doesn't work completely yet. But it will compile with either MinGW/Cygwin, or VC++. It's basically just something to put out there for people to take a look at, and or provide feedback now in it's early stages. Shawn's current "release notes" are: There are still some known bugs: 1. The transmit audio is not being sent to the server (missed something in moving the audio transmit code into the library and should be a quick fix). 2. Client will occasionally try to write to a freed memory buffer, causing an access violation (rare occurrence, will in put code to check buffers before writing) In it's current state, the client will work for receiving audio, but not sending. Feedback always accepted, code even more happily accepted. -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: Steve K. <st...@St...> - 2003-03-06 15:17:33
|
On Thu, Mar 06, 2003 at 01:29:03PM +0100, The Sysop wrote: > Steve Kann wrote: > > > KC, > > > > There's several versions of things going around here, that > > people are talking about, most of which are referenced at > > http://iaxclient.sourceforge.net/ > > > > Andre's work is the IAXPHONE stuff, listed there, but he's still working > > on that port. There's a snapshot that i've mirrored on the iaxclient > > webpage. > > Hi Steve and all, > > I Allready cheked out youre SF-page ... . But if anybody is having new (better) code even for testing should'nt it be in a cvs then ?? > And later on it could move to * ?? We should have something in CVS soon. We're changing the structure around a bit, and it would be messy to do that in CVS. As far as putting it on Digium's site, that's up to Mark, not us. -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |
From: The S. <kc...@al...> - 2003-03-06 12:24:19
|
Steve Kann wrote: > KC, > > There's several versions of things going around here, that > people are talking about, most of which are referenced at > http://iaxclient.sourceforge.net/ > > Andre's work is the IAXPHONE stuff, listed there, but he's still workin= g > on that port. There's a snapshot that i've mirrored on the iaxclient > webpage. Hi Steve and all, I Allready cheked out youre SF-page ... . But if anybody is having new (= better) code even for testing should'nt it be in a cvs then ?? And later on it could move to * ?? is this an Idea ? Greetings KC > > > There is the Digium CVS, which has a kindof outdated and hacky Win32 > "winiphone", which is really just a proof-of-concept kind of thing. > > Then, there's this new code we're trying to develop, which doesn't yet > have any releases. > > -SteveK > > On Wed, Mar 05, 2003 at 01:40:02AM +0100, The Sysop wrote: > > Hi everybody, > > > > I use bcb 6 to compile an new version of IAX lib from cvs .. This is = working but seems to have here and there some quarks .. ( at the > > moment i am struckling with (un) authenticated calls) > > > > My question now is .. are these problems applying to this version of = the iax lib as well ?? Or do you guys use an different cvs or > > versions that are outside digium cvs ?? > > > > As far as I can see This version I just resently obtained doesn't use= direct X, but native Api calls .. and to my first impression if > > I call my win32 iax client .. it sounds resenable .. > > > > Greetings KC > > > > > > Steve Kann wrote: > > > > > Thanks for writing back Andre! > > > > > > On Tue, Mar 04, 2003 at 04:49:59AM +0100, Andre Bierwirth wrote: > > > > Hi Steve, i use the lcc Win32 Compiler for by C Source. I had als= o memory of problems in my first nonreleased Versions. There was > > > > some Problems with freeing of iax_frames but i=B4m not sure. It=B4= s long time ago. > > > > > > > > My Sound Output is currently in Delphi GUI because i have never > > > > Programmed C before this. It was only to try the DirectX API for > > > > Output. (This was my first App with DirectX). Now i know enough a= bout > > > > C to write the Soundoutput directly in C like an Phonecore(GNOPho= ne) > > > > modul. > > > > > > Thanks, that's what I expected, and remember from when I looked at = your > > > sources. > > > > > > > The bad Quality comes from my hardcoded Buffersize. On some Compu= ters > > > > i fix this Problem with a recompile and a bigger Outputbuffer. T= here > > > > a big problems too on Win32 and DirectX. On the Snomphone you hav= e > > > > nearly zero latency for the Sound Output. On DirectX i have to fi= ll a > > > > Ringbuffer with the Audiodata. And there i have my bigest Problem= s the > > > > Thread timing on Win32 is terrible. If i have a Ringbuffer with 2 > > > > 160byte Chunks, i have many buffer underruns if i minimize and > > > > maximize any Windows. I see currently no Soundapplications with a > > > > smaller Latency than 50ms and DirectX, because the Threading on > > > > Windows makes it impossible. I have try an Thread Priotity Realti= me > > > > but i have still always bufferunderuns if i minimize or maximize = some > > > > Windows. I think Microsoft=B4s Window animation have a higher pri= ority > > > > as a Realtime Application. With a higher Latency and a bigger Bu= ffer > > > > i have no Problems with the Audio quality. > > > > > > Interesting. > > > > > > I think that, in our application, this should be something that is > > > tunable at runtime, or at least compile time. > > > > > > For our application, we'd happily bump up the latency by another 50= ms or > > > 100ms, if it meant really good quality. > > > > > > Since I expect that many users will be using internet connections f= or > > > this, there's going to be several sources of latency in the whole > > > system: > > > > > > 1) Actual network transmission time: Somewhere from 2 - 2000 ms. > > > 2) The clients' Jitter buffer. > > > 3) The clients audio device buffer. > > > > > > Something we might want to look at later is to see if or how we can > > > "combine" 2 and 3? > > > > > > As far as audio driver technologies, I don't know what benefits Dir= ectX > > > has over the "standard" windows audio interfaces, but we'll need to > > > support "out-of-the-box" Windows installations without needing them= to > > > go and download and install DirectX, so we'll need to support the > > > standard windows APIs as a baseline. Then, if there's benefits to = it, > > > we could detect the presence of compatible DirectX interfaces, and = use > > > them, if the user already has them installed. > > > > > > > I think the your Library need some Abstraction Parts for Threads = and > > > > Thread Syncronisation. It is not very difficult to Implement a PT= hread > > > > for Win32. Same with Mutexes. I didn=B4t know anything about Mac,= so i > > > > can talk only about my Win32 Problems. > > > > > > First, Mac OS X is really very much like FreeBSD, except, in our ca= se, > > > for Audio stuff, and GUI stuff. So, it fully supports pthreads. > > > > > > For Windows, it's my understanding that their threads and "critical > > > sections" are pretty similar to pthreads and mutexes. For another > > > project, we just do some #defines to make them act the same way, li= ke > > > this: > > > > > > #ifndef _WIN32 > > > > > > #define SOCKET int > > > #define INVALID_SOCKET -1 > > > #define SOCKET_ERROR -1 > > > #define SD_SEND 1 > > > > > > #define INET_ATON(s, a) (inet_aton(s, &a) =3D=3D 0) > > > #define SOCKLEN socklen_t > > > #define SOCKETERRORMSG strerror(errno) > > > #define CLOSESOCKET(s) close(s) > > > > > > #define THREAD pthread_t > > > #define THREADIDDECL(t) > > > #define THREADCREATE(func, args, thread, id) \ > > > pthread_create(&thread, NULL, func, args) > > > #define THREADCREATE_ERROR -1 > > > #define THREADFUNCDECL(func) void * func(void *args) > > > #define THREADFUNCRET(r) void * r > > > #define THREADJOIN(t) pthread_join(t, 0) > > > #define MUTEX pthread_mutex_t > > > #define MUTEXINIT(m) pthread_mutex_init(m, NULL) //TODO: ch= eck error > > > #define MUTEXLOCK(m) pthread_mutex_lock(m) > > > #define MUTEXUNLOCK(m) pthread_mutex_unlock(m) > > > #define MUTEXDESTROY(m) pthread_mutex_destroy(m) > > > > > > #else > > > > > > #define INET_ATON(s, a) ((a.s_addr =3D inet_addr(s)) =3D=3D= INADDR_NONE) > > > #define SOCKLEN int > > > #define SOCKETERRORMSG get_WSA_error_str(WSAGetLastError()) > > > #define CLOSESOCKET(s) closesocket(s) > > > > > > #define THREAD HANDLE > > > #define THREADIDDECL(t) unsigned t; > > > #define THREADCREATE(func, args, thread, id) \ > > > (thread =3D (HANDLE)_beginthreadex(NULL, 0, func, (= PVOID)args, 0, &id)) > > > #define THREADCREATE_ERROR NULL > > > #define THREADFUNCDECL(func) unsigned __stdcall func(PVOID = args) > > > #define THREADFUNCRET(r) int r =3D 0 > > > #define THREADJOIN(t) WaitForSingleObject(t, INFINITE) > > > #define MUTEX CRITICAL_SECTION > > > #define MUTEXINIT(m) InitializeCriticalSection(m) > > > #define MUTEXLOCK(m) EnterCriticalSection(m) > > > #define MUTEXUNLOCK(m) LeaveCriticalSection(m) > > > #define MUTEXDESTROY(m) DeleteCriticalSection(m) > > > > > > #endif > > > > > > > Sorry my English :) > > > > > > Your English is fine, no apology needed! > > > > > > Thanks for joining the mailing list and helping! > > > > > > -SteveK > > > > > > -- > > > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212)= 533-1775 > > > HorizonLive.com - collaborate . interact . learn > > > "The box said 'Requires Windows 95, NT, or better,' so I install= ed Linux." > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Etnus, makers of TotalView, The = debugger > > > for complex code. Debugging C/C++ programs can leave you feeling lo= st and > > > disoriented. TotalView can help you find your way. Available on maj= or UNIX > > > and Linux platforms. Try it free. www.etnus.com > > > _______________________________________________ > > > Iaxclient-devel mailing list > > > Iax...@li... > > > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel > > > > -- > > -------------------------------------------------------------- > > 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 > > 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped > > CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle > > Mem: 257620K av, 130248K used, 127372K free, 56024K shrd > > Swap: 401584K av, 280K used, 401304K free 52548K cached > > > > > > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533= -1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed L= inux." > > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The debu= gger > for complex code. Debugging C/C++ programs can leave you feeling lost a= nd > disoriented. TotalView can help you find your way. Available on major U= NIX > and Linux platforms. Try it free. www.etnus.com > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel -- -------------------------------------------------------------- 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle Mem: 257620K av, 130248K used, 127372K free, 56024K shrd Swap: 401584K av, 280K used, 401304K free 52548K cached |
From: Steve K. <st...@St...> - 2003-03-05 14:48:47
|
KC, There's several versions of things going around here, that people are talking about, most of which are referenced at http://iaxclient.sourceforge.net/ Andre's work is the IAXPHONE stuff, listed there, but he's still working on that port. There's a snapshot that i've mirrored on the iaxclient webpage. There is the Digium CVS, which has a kindof outdated and hacky Win32 "winiphone", which is really just a proof-of-concept kind of thing. Then, there's this new code we're trying to develop, which doesn't yet have any releases. =20 -SteveK On Wed, Mar 05, 2003 at 01:40:02AM +0100, The Sysop wrote: > Hi everybody, >=20 > I use bcb 6 to compile an new version of IAX lib from cvs .. This is wo= rking but seems to have here and there some quarks .. ( at the > moment i am struckling with (un) authenticated calls) >=20 > My question now is .. are these problems applying to this version of th= e iax lib as well ?? Or do you guys use an different cvs or > versions that are outside digium cvs ?? >=20 > As far as I can see This version I just resently obtained doesn't use d= irect X, but native Api calls .. and to my first impression if > I call my win32 iax client .. it sounds resenable .. >=20 > Greetings KC >=20 >=20 > Steve Kann wrote: >=20 > > Thanks for writing back Andre! > > > > On Tue, Mar 04, 2003 at 04:49:59AM +0100, Andre Bierwirth wrote: > > > Hi Steve, i use the lcc Win32 Compiler for by C Source. I had also = memory of problems in my first nonreleased Versions. There was > > > some Problems with freeing of iax_frames but i=B4m not sure. It=B4s= long time ago. > > > > > > My Sound Output is currently in Delphi GUI because i have never > > > Programmed C before this. It was only to try the DirectX API for > > > Output. (This was my first App with DirectX). Now i know enough abo= ut > > > C to write the Soundoutput directly in C like an Phonecore(GNOPhone= ) > > > modul. > > > > Thanks, that's what I expected, and remember from when I looked at yo= ur > > sources. > > > > > The bad Quality comes from my hardcoded Buffersize. On some Compute= rs > > > i fix this Problem with a recompile and a bigger Outputbuffer. The= re > > > a big problems too on Win32 and DirectX. On the Snomphone you have > > > nearly zero latency for the Sound Output. On DirectX i have to fill= a > > > Ringbuffer with the Audiodata. And there i have my bigest Problems = the > > > Thread timing on Win32 is terrible. If i have a Ringbuffer with 2 > > > 160byte Chunks, i have many buffer underruns if i minimize and > > > maximize any Windows. I see currently no Soundapplications with a > > > smaller Latency than 50ms and DirectX, because the Threading on > > > Windows makes it impossible. I have try an Thread Priotity Realtime > > > but i have still always bufferunderuns if i minimize or maximize so= me > > > Windows. I think Microsoft=B4s Window animation have a higher prior= ity > > > as a Realtime Application. With a higher Latency and a bigger Buff= er > > > i have no Problems with the Audio quality. > > > > Interesting. > > > > I think that, in our application, this should be something that is > > tunable at runtime, or at least compile time. > > > > For our application, we'd happily bump up the latency by another 50ms= or > > 100ms, if it meant really good quality. > > > > Since I expect that many users will be using internet connections for > > this, there's going to be several sources of latency in the whole > > system: > > > > 1) Actual network transmission time: Somewhere from 2 - 2000 ms. > > 2) The clients' Jitter buffer. > > 3) The clients audio device buffer. > > > > Something we might want to look at later is to see if or how we can > > "combine" 2 and 3? > > > > As far as audio driver technologies, I don't know what benefits Direc= tX > > has over the "standard" windows audio interfaces, but we'll need to > > support "out-of-the-box" Windows installations without needing them t= o > > go and download and install DirectX, so we'll need to support the > > standard windows APIs as a baseline. Then, if there's benefits to it= , > > we could detect the presence of compatible DirectX interfaces, and us= e > > them, if the user already has them installed. > > > > > I think the your Library need some Abstraction Parts for Threads an= d > > > Thread Syncronisation. It is not very difficult to Implement a PThr= ead > > > for Win32. Same with Mutexes. I didn=B4t know anything about Mac, s= o i > > > can talk only about my Win32 Problems. > > > > First, Mac OS X is really very much like FreeBSD, except, in our case= , > > for Audio stuff, and GUI stuff. So, it fully supports pthreads. > > > > For Windows, it's my understanding that their threads and "critical > > sections" are pretty similar to pthreads and mutexes. For another > > project, we just do some #defines to make them act the same way, like > > this: > > > > #ifndef _WIN32 > > > > #define SOCKET int > > #define INVALID_SOCKET -1 > > #define SOCKET_ERROR -1 > > #define SD_SEND 1 > > > > #define INET_ATON(s, a) (inet_aton(s, &a) =3D=3D 0) > > #define SOCKLEN socklen_t > > #define SOCKETERRORMSG strerror(errno) > > #define CLOSESOCKET(s) close(s) > > > > #define THREAD pthread_t > > #define THREADIDDECL(t) > > #define THREADCREATE(func, args, thread, id) \ > > pthread_create(&thread, NULL, func, args) > > #define THREADCREATE_ERROR -1 > > #define THREADFUNCDECL(func) void * func(void *args) > > #define THREADFUNCRET(r) void * r > > #define THREADJOIN(t) pthread_join(t, 0) > > #define MUTEX pthread_mutex_t > > #define MUTEXINIT(m) pthread_mutex_init(m, NULL) //TODO: chec= k error > > #define MUTEXLOCK(m) pthread_mutex_lock(m) > > #define MUTEXUNLOCK(m) pthread_mutex_unlock(m) > > #define MUTEXDESTROY(m) pthread_mutex_destroy(m) > > > > #else > > > > #define INET_ATON(s, a) ((a.s_addr =3D inet_addr(s)) =3D=3D I= NADDR_NONE) > > #define SOCKLEN int > > #define SOCKETERRORMSG get_WSA_error_str(WSAGetLastError()) > > #define CLOSESOCKET(s) closesocket(s) > > > > #define THREAD HANDLE > > #define THREADIDDECL(t) unsigned t; > > #define THREADCREATE(func, args, thread, id) \ > > (thread =3D (HANDLE)_beginthreadex(NULL, 0, func, (PV= OID)args, 0, &id)) > > #define THREADCREATE_ERROR NULL > > #define THREADFUNCDECL(func) unsigned __stdcall func(PVOID ar= gs) > > #define THREADFUNCRET(r) int r =3D 0 > > #define THREADJOIN(t) WaitForSingleObject(t, INFINITE) > > #define MUTEX CRITICAL_SECTION > > #define MUTEXINIT(m) InitializeCriticalSection(m) > > #define MUTEXLOCK(m) EnterCriticalSection(m) > > #define MUTEXUNLOCK(m) LeaveCriticalSection(m) > > #define MUTEXDESTROY(m) DeleteCriticalSection(m) > > > > #endif > > > > > Sorry my English :) > > > > Your English is fine, no apology needed! > > > > Thanks for joining the mailing list and helping! > > > > -SteveK > > > > -- > > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 5= 33-1775 > > HorizonLive.com - collaborate . interact . learn > > "The box said 'Requires Windows 95, NT, or better,' so I installed= Linux." > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: Etnus, makers of TotalView, The de= bugger > > for complex code. Debugging C/C++ programs can leave you feeling lost= and > > disoriented. TotalView can help you find your way. Available on major= UNIX > > and Linux platforms. Try it free. www.etnus.com > > _______________________________________________ > > Iaxclient-devel mailing list > > Iax...@li... > > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel >=20 > -- > -------------------------------------------------------------- > 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 > 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped > CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle > Mem: 257620K av, 130248K used, 127372K free, 56024K shrd > Swap: 401584K av, 280K used, 401304K free 52548K cached >=20 >=20 --=20 Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1= 775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Lin= ux." |
From: The S. <kc...@al...> - 2003-03-05 00:35:21
|
Hi everybody, I use bcb 6 to compile an new version of IAX lib from cvs .. This is work= ing but seems to have here and there some quarks .. ( at the moment i am struckling with (un) authenticated calls) My question now is .. are these problems applying to this version of the = iax lib as well ?? Or do you guys use an different cvs or versions that are outside digium cvs ?? As far as I can see This version I just resently obtained doesn't use dir= ect X, but native Api calls .. and to my first impression if I call my win32 iax client .. it sounds resenable .. Greetings KC Steve Kann wrote: > Thanks for writing back Andre! > > On Tue, Mar 04, 2003 at 04:49:59AM +0100, Andre Bierwirth wrote: > > Hi Steve, i use the lcc Win32 Compiler for by C Source. I had also me= mory of problems in my first nonreleased Versions. There was > > some Problems with freeing of iax_frames but i=B4m not sure. It=B4s l= ong time ago. > > > > My Sound Output is currently in Delphi GUI because i have never > > Programmed C before this. It was only to try the DirectX API for > > Output. (This was my first App with DirectX). Now i know enough about > > C to write the Soundoutput directly in C like an Phonecore(GNOPhone) > > modul. > > Thanks, that's what I expected, and remember from when I looked at your > sources. > > > The bad Quality comes from my hardcoded Buffersize. On some Computers > > i fix this Problem with a recompile and a bigger Outputbuffer. There > > a big problems too on Win32 and DirectX. On the Snomphone you have > > nearly zero latency for the Sound Output. On DirectX i have to fill a > > Ringbuffer with the Audiodata. And there i have my bigest Problems th= e > > Thread timing on Win32 is terrible. If i have a Ringbuffer with 2 > > 160byte Chunks, i have many buffer underruns if i minimize and > > maximize any Windows. I see currently no Soundapplications with a > > smaller Latency than 50ms and DirectX, because the Threading on > > Windows makes it impossible. I have try an Thread Priotity Realtime > > but i have still always bufferunderuns if i minimize or maximize some > > Windows. I think Microsoft=B4s Window animation have a higher priorit= y > > as a Realtime Application. With a higher Latency and a bigger Buffer > > i have no Problems with the Audio quality. > > Interesting. > > I think that, in our application, this should be something that is > tunable at runtime, or at least compile time. > > For our application, we'd happily bump up the latency by another 50ms o= r > 100ms, if it meant really good quality. > > Since I expect that many users will be using internet connections for > this, there's going to be several sources of latency in the whole > system: > > 1) Actual network transmission time: Somewhere from 2 - 2000 ms. > 2) The clients' Jitter buffer. > 3) The clients audio device buffer. > > Something we might want to look at later is to see if or how we can > "combine" 2 and 3? > > As far as audio driver technologies, I don't know what benefits DirectX > has over the "standard" windows audio interfaces, but we'll need to > support "out-of-the-box" Windows installations without needing them to > go and download and install DirectX, so we'll need to support the > standard windows APIs as a baseline. Then, if there's benefits to it, > we could detect the presence of compatible DirectX interfaces, and use > them, if the user already has them installed. > > > I think the your Library need some Abstraction Parts for Threads and > > Thread Syncronisation. It is not very difficult to Implement a PThrea= d > > for Win32. Same with Mutexes. I didn=B4t know anything about Mac, so = i > > can talk only about my Win32 Problems. > > First, Mac OS X is really very much like FreeBSD, except, in our case, > for Audio stuff, and GUI stuff. So, it fully supports pthreads. > > For Windows, it's my understanding that their threads and "critical > sections" are pretty similar to pthreads and mutexes. For another > project, we just do some #defines to make them act the same way, like > this: > > #ifndef _WIN32 > > #define SOCKET int > #define INVALID_SOCKET -1 > #define SOCKET_ERROR -1 > #define SD_SEND 1 > > #define INET_ATON(s, a) (inet_aton(s, &a) =3D=3D 0) > #define SOCKLEN socklen_t > #define SOCKETERRORMSG strerror(errno) > #define CLOSESOCKET(s) close(s) > > #define THREAD pthread_t > #define THREADIDDECL(t) > #define THREADCREATE(func, args, thread, id) \ > pthread_create(&thread, NULL, func, args) > #define THREADCREATE_ERROR -1 > #define THREADFUNCDECL(func) void * func(void *args) > #define THREADFUNCRET(r) void * r > #define THREADJOIN(t) pthread_join(t, 0) > #define MUTEX pthread_mutex_t > #define MUTEXINIT(m) pthread_mutex_init(m, NULL) //TODO: check = error > #define MUTEXLOCK(m) pthread_mutex_lock(m) > #define MUTEXUNLOCK(m) pthread_mutex_unlock(m) > #define MUTEXDESTROY(m) pthread_mutex_destroy(m) > > #else > > #define INET_ATON(s, a) ((a.s_addr =3D inet_addr(s)) =3D=3D INA= DDR_NONE) > #define SOCKLEN int > #define SOCKETERRORMSG get_WSA_error_str(WSAGetLastError()) > #define CLOSESOCKET(s) closesocket(s) > > #define THREAD HANDLE > #define THREADIDDECL(t) unsigned t; > #define THREADCREATE(func, args, thread, id) \ > (thread =3D (HANDLE)_beginthreadex(NULL, 0, func, (PVOI= D)args, 0, &id)) > #define THREADCREATE_ERROR NULL > #define THREADFUNCDECL(func) unsigned __stdcall func(PVOID args= ) > #define THREADFUNCRET(r) int r =3D 0 > #define THREADJOIN(t) WaitForSingleObject(t, INFINITE) > #define MUTEX CRITICAL_SECTION > #define MUTEXINIT(m) InitializeCriticalSection(m) > #define MUTEXLOCK(m) EnterCriticalSection(m) > #define MUTEXUNLOCK(m) LeaveCriticalSection(m) > #define MUTEXDESTROY(m) DeleteCriticalSection(m) > > #endif > > > Sorry my English :) > > Your English is fine, no apology needed! > > Thanks for joining the mailing list and helping! > > -SteveK > > -- > Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533= -1775 > HorizonLive.com - collaborate . interact . learn > "The box said 'Requires Windows 95, NT, or better,' so I installed L= inux." > > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The debu= gger > for complex code. Debugging C/C++ programs can leave you feeling lost a= nd > disoriented. TotalView can help you find your way. Available on major U= NIX > and Linux platforms. Try it free. www.etnus.com > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel -- -------------------------------------------------------------- 12:03am up 356 days, 6 users, load average: 0.68, 0.43, 0.30 89 processes: 88 sleeping, 1 running, 0 zombie, 0 stopped CPU states: 1.2% user, 1.2% system, 0.0% nice, 97.4% idle Mem: 257620K av, 130248K used, 127372K free, 56024K shrd Swap: 401584K av, 280K used, 401304K free 52548K cached |
From: Steve K. <st...@St...> - 2003-03-04 14:46:04
|
Thanks for writing back Andre! On Tue, Mar 04, 2003 at 04:49:59AM +0100, Andre Bierwirth wrote: > Hi Steve, i use the lcc Win32 Compiler for by C Source. I had also memo= ry of problems in my first nonreleased Versions. There was > some Problems with freeing of iax_frames but i=B4m not sure. It=B4s lon= g time ago. >=20 > My Sound Output is currently in Delphi GUI because i have never > Programmed C before this. It was only to try the DirectX API for > Output. (This was my first App with DirectX). Now i know enough about > C to write the Soundoutput directly in C like an Phonecore(GNOPhone) > modul. Thanks, that's what I expected, and remember from when I looked at your sources. > The bad Quality comes from my hardcoded Buffersize. On some Computers > i fix this Problem with a recompile and a bigger Outputbuffer. There > a big problems too on Win32 and DirectX. On the Snomphone you have > nearly zero latency for the Sound Output. On DirectX i have to fill a > Ringbuffer with the Audiodata. And there i have my bigest Problems the > Thread timing on Win32 is terrible. If i have a Ringbuffer with 2 > 160byte Chunks, i have many buffer underruns if i minimize and > maximize any Windows. I see currently no Soundapplications with a > smaller Latency than 50ms and DirectX, because the Threading on > Windows makes it impossible. I have try an Thread Priotity Realtime > but i have still always bufferunderuns if i minimize or maximize some > Windows. I think Microsoft=B4s Window animation have a higher priority > as a Realtime Application. With a higher Latency and a bigger Buffer > i have no Problems with the Audio quality. Interesting. =20 I think that, in our application, this should be something that is tunable at runtime, or at least compile time. =20 For our application, we'd happily bump up the latency by another 50ms or 100ms, if it meant really good quality. =20 Since I expect that many users will be using internet connections for this, there's going to be several sources of latency in the whole system: 1) Actual network transmission time: Somewhere from 2 - 2000 ms. 2) The clients' Jitter buffer. 3) The clients audio device buffer. Something we might want to look at later is to see if or how we can "combine" 2 and 3? As far as audio driver technologies, I don't know what benefits DirectX has over the "standard" windows audio interfaces, but we'll need to support "out-of-the-box" Windows installations without needing them to go and download and install DirectX, so we'll need to support the standard windows APIs as a baseline. Then, if there's benefits to it, we could detect the presence of compatible DirectX interfaces, and use them, if the user already has them installed. > I think the your Library need some Abstraction Parts for Threads and > Thread Syncronisation. It is not very difficult to Implement a PThread > for Win32. Same with Mutexes. I didn=B4t know anything about Mac, so i > can talk only about my Win32 Problems. First, Mac OS X is really very much like FreeBSD, except, in our case, for Audio stuff, and GUI stuff. So, it fully supports pthreads. For Windows, it's my understanding that their threads and "critical sections" are pretty similar to pthreads and mutexes. For another project, we just do some #defines to make them act the same way, like this: #ifndef _WIN32 #define SOCKET int #define INVALID_SOCKET -1 #define SOCKET_ERROR -1 #define SD_SEND 1 #define INET_ATON(s, a) (inet_aton(s, &a) =3D=3D 0) #define SOCKLEN socklen_t #define SOCKETERRORMSG strerror(errno) #define CLOSESOCKET(s) close(s) #define THREAD pthread_t #define THREADIDDECL(t) #define THREADCREATE(func, args, thread, id) \ pthread_create(&thread, NULL, func, args) #define THREADCREATE_ERROR -1 #define THREADFUNCDECL(func) void * func(void *args) #define THREADFUNCRET(r) void * r #define THREADJOIN(t) pthread_join(t, 0) #define MUTEX pthread_mutex_t #define MUTEXINIT(m) pthread_mutex_init(m, NULL) //TODO: check error #define MUTEXLOCK(m) pthread_mutex_lock(m) #define MUTEXUNLOCK(m) pthread_mutex_unlock(m) #define MUTEXDESTROY(m) pthread_mutex_destroy(m) #else #define INET_ATON(s, a) ((a.s_addr =3D inet_addr(s)) =3D=3D INADDR_NONE) #define SOCKLEN int #define SOCKETERRORMSG get_WSA_error_str(WSAGetLastError()) #define CLOSESOCKET(s) closesocket(s) #define THREAD HANDLE #define THREADIDDECL(t) unsigned t; #define THREADCREATE(func, args, thread, id) \ (thread =3D (HANDLE)_beginthreadex(NULL, 0, func, (PVOID)args, 0, &id)) #define THREADCREATE_ERROR NULL #define THREADFUNCDECL(func) unsigned __stdcall func(PVOID args) #define THREADFUNCRET(r) int r =3D 0 #define THREADJOIN(t) WaitForSingleObject(t, INFINITE) #define MUTEX CRITICAL_SECTION #define MUTEXINIT(m) InitializeCriticalSection(m) #define MUTEXLOCK(m) EnterCriticalSection(m) #define MUTEXUNLOCK(m) LeaveCriticalSection(m) #define MUTEXDESTROY(m) DeleteCriticalSection(m) #endif > Sorry my English :) Your English is fine, no apology needed! Thanks for joining the mailing list and helping! =20 -SteveK --=20 Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1= 775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Lin= ux." |
From: Andre B. <ast...@km...> - 2003-03-04 09:27:07
|
I didn=B4t spend time into Application Exit. So the Application Terminate= in a wrong order without Hangup or Thread Terminating. The Errors didn=B4t com= e from libliax. The errors come from Gui. Delphi Destroys the GUI and my I/= O Threads then use invalid Pointers. And i have Errors in Syncing of the Audio Thread in some cases the Audio Thread takes an not already written Chunk from the Audioqueue. In IAXPhon= e, the Audio stuff is not right implemented from me. My Source have to many Queues and buffers without any sense. Now i know with DirectX i need only= 2 Threads and can use the Internal DirectX Buffers. And a Output without DirectX should works too. I play the next Days a lit= tle bit with Audio and write 2 new Drivers in C. I=B4am currently on P2P and DID for chan_capi. Andre |
From: Andre B. <ast...@km...> - 2003-03-04 03:50:10
|
Hi Steve, i use the lcc Win32 Compiler for by C Source. I had also memory= of problems in my first nonreleased Versions. There was some Problems with freeing of iax_frames but i=B4m not sure. It=B4s long = time ago. My Sound Output is currently in Delphi GUI because i have never Programme= d C before this. It was only to try the DirectX API for Output. (This was my first App with DirectX). Now i know enough about C t= o write the Soundoutput directly in C like an Phonecore(GNOPhone) modul. The bad Quality comes from my hardcoded Buffersize. On some Computers i f= ix this Problem with a recompile and a bigger Outputbuffer. There a big problems too on Win32 and DirectX. On the Snomphone you have = nearly zero latency for the Sound Output. On DirectX i have to fill a Ringbuffer with the Audiodata. And there i have my bigest Probl= ems the Thread timing on Win32 is terrible. If i have a Ringbuffer with 2 160byte Chunks, i have many buffer underruns if i minim= ize and maximize any Windows. I see currently no Soundapplications with a smaller Latency than 50ms and DirectX, because t= he Threading on Windows makes it impossible. I have try an Thread Priotity Realtime but i have still always bufferunderuns if i mini= mize or maximize some Windows. I think Microsoft=B4s Window animation have a higher priority as a Realtime Application. With a higher Latency and a bigger Buffer i have no Problems with the Aud= io quality. I think the your Library need some Abstraction Parts for Threads and Thre= ad Syncronisation. It is not very difficult to Implement a PThread for Win32. Same with Mutexes. I didn=B4t know anything about Mac,= so i can talk only about my Win32 Problems. Sorry my English :) Andre ----- Original Message ----- From: "Steve Kann" <st...@St...> To: "Shawn Lawrence" <sha...@te...> Cc: <iax...@li...>; <mar...@di...> Sent: Monday, March 03, 2003 11:40 PM Subject: [Iaxclient-devel] Re: Problems with libiax Shawn, list, I'm sure I'm kinda late to reply to this, and I don't have too much constructive to say, other than to outline the priorities. On Mon, Mar 03, 2003 at 01:07:16AM -0700, Shawn Lawrence wrote: > I decided after our converserations late last week about trying to make= the > code as common as we could across the various platforms that I should d= o > some performance testing on the current library and track down the Win9= 8 bug > that you were coming across earlier. As I had mentioned, I was going t= o > play with the winiphone package on Win98 to see if I could find out why= the > audio packets were not sending. I compiled the winiphone package (usin= g the > changes you sent) with VC 6 and managed to get the program to run witho= ut > any problems. However, I came across some other issues that were extre= mely > disturbing. I had thought that these issues were likely to be related to the handling of the audio devices and stuff, and less so to the libiax code. I could be wrong about that, and it may have some relation to timer granularity and stuff on non-NT windows systems. Certainly, I would say that the kinda hacky audio handling code in "winiphone" would be a leading suspect for many problems. > The first issue has to deal with a massive memory leak in the iax libra= ry > code. This is caused by the malloc functions inside the event handling= code > that keeps track of all the iax events as they are passed through the > system. To give you an idea, the program is swallowing up 50MB of memo= ry > after just over 3 minutes of audio transmission. Over a 12 minute span= , I > managed to swallow up 172MB of RAM and managed to crash the application= . I > checked both virt1800 and IAXPhone for the same problem. The virt1800 > library exhibited exactly the same problem. The IAXPhone package did n= ot > show the memory leak itself. However, because they're using a DLL to > provide the IAX functions and Delphi handles memory allocation differen= tly, > it is hard to tell if Andre has found this problem already or if Delphi= is > just handling the memory better. I will do some looking into the IAXPh= one > code and see if any changes were made. A couple of things: (1) Memory leaks like this are definatly no good, though nobody needs me to say that. (2) I'd guess that in Andre's case, he used Delphi for all the GUI stuff (and audio stuff, I think), but he did use libiax itself in C underneath, and it's memory management would probably be defined by Windows' malloc implementation. I suppose his compilation environment could have included a different malloc, but I doubt that. (3) I wonder if miniphone under linux exhibits the same memory leak? That could easily help you narrow it down. > Speaking of crashing the application, the library does not appear to be= very > stable in its current state (at least on WinXP). I was able to crash t= he > application without doing much at all. I also found the same thing whe= n I > tried the virt1800 test application and the IAXPhone application. The > winiphone application was the only application that would exit normally > after a call was made. Both virt1800 and IAXPhone would report access > violations after the application exited. Again, I'd look into if these were audio device issues, or issues with the core libiax code. > Next, the CPU utilization is definitely a problem. Andre was able to h= elp > deal with that problem by controlling the priority of the processing th= reads > he used to do the IAX communications. The only problem I found with An= dre's > IAXPhone (at least the version I have) was the receive audio was really > crummy while the transmit audio was fairly good. I think this is an is= sue > that's easily solvable by adding a little bit of threading to the libra= ry > itself. > > So to sum things up, Mark's comments weren't that far off. The malloc > functions in the libiax implementation will need to be looked over. Th= e > only thing that concerns me is that if this is happening on the Win32 > platform, what's happening on the other platforms. I am hoping to perf= orm > some tests with miniphone on Linux and see what the results are. I did > notice the miniphone code for the Linux console app was structured > differently than the winiphone app. I am going to take a closer look a= t the > differences when I do my batch of Linux testing. The way I read what Mark said, he was talking about changing the libiax code so that it didn't need to constantly call malloc for every event. He didn't seem to indicate that there were problems that would cause memory leaks. While that's definately a good idea, I don't consider it the top priority unless it is actually causing performance problems. I also don't know what kind of architecture the SNOMs that Mark is targeting have, but I suspect that they're considerably less resourceful(?) than a full PC (both in terms of CPU and memory). So, the way I see it, dealing with allocation more efficiently (such as by using a pre-allocated pool, etc), would be great, it's a separate issue from the leaks you've had. But the leaking you see on Windows might just be a bug in "winiphone". Also, I suppose if you're receiving events much faster than you can process them, and there's no good limits on how big the event queue can get, you might just have a constantly increasing event queue. > I wish I had better news, but I don't believe in putting something out = that > doesn't work properly. I did have plenty of ideas on where to go and d= id > have things focused down so I could come to a conclusion by the end of = the > weekend, but I am glad I put the brakes on and did some homework to fin= d > these issues. This way, we're dealing with these issues now and not > somewhere down the pipe. > > Let me know what your thoughts are. I am going to start working on a > solution to the memory leak problems tomorrow. My thoughts are that if the general interface to libiax is sound and useful to us, we can always find and fix bugs in either the callers or the library. OTOH, if there's an architectural issue that will make portability difficult, or make it difficult to implement necessary features, that needs to be deal with very early. -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1= 775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Lin= ux." ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugg= er for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNI= X and Linux platforms. Try it free. www.etnus.com _______________________________________________ Iaxclient-devel mailing list Iax...@li... https://lists.sourceforge.net/lists/listinfo/iaxclient-devel |
From: Steve K. <st...@St...> - 2003-03-03 22:41:00
|
Shawn, list, I'm sure I'm kinda late to reply to this, and I don't have too much constructive to say, other than to outline the priorities. On Mon, Mar 03, 2003 at 01:07:16AM -0700, Shawn Lawrence wrote: > I decided after our converserations late last week about trying to make= the > code as common as we could across the various platforms that I should d= o > some performance testing on the current library and track down the Win9= 8 bug > that you were coming across earlier. As I had mentioned, I was going t= o > play with the winiphone package on Win98 to see if I could find out why= the > audio packets were not sending. I compiled the winiphone package (usin= g the > changes you sent) with VC 6 and managed to get the program to run witho= ut > any problems. However, I came across some other issues that were extre= mely > disturbing. I had thought that these issues were likely to be related to the handling of the audio devices and stuff, and less so to the libiax code. I could be wrong about that, and it may have some relation to timer granularity and stuff on non-NT windows systems. Certainly, I would say that the kinda hacky audio handling code in "winiphone" would be a leading suspect for many problems. > The first issue has to deal with a massive memory leak in the iax libra= ry > code. This is caused by the malloc functions inside the event handling= code > that keeps track of all the iax events as they are passed through the > system. To give you an idea, the program is swallowing up 50MB of memo= ry > after just over 3 minutes of audio transmission. Over a 12 minute span= , I > managed to swallow up 172MB of RAM and managed to crash the application= . I > checked both virt1800 and IAXPhone for the same problem. The virt1800 > library exhibited exactly the same problem. The IAXPhone package did n= ot > show the memory leak itself. However, because they=92re using a DLL to > provide the IAX functions and Delphi handles memory allocation differen= tly, > it is hard to tell if Andre has found this problem already or if Delphi= is > just handling the memory better. I will do some looking into the IAXPh= one > code and see if any changes were made. A couple of things: (1) Memory leaks like this are definatly no good, though nobody needs me to say that. (2) I'd guess that in Andre's case, he used Delphi for all the GUI stuff (and audio stuff, I think), but he did use libiax itself in C underneath, and it's memory management would probably be defined by Windows' malloc implementation. I suppose his compilation environment could have included a different malloc, but I doubt that. (3) I wonder if miniphone under linux exhibits the same memory leak? That could easily help you narrow it down. > Speaking of crashing the application, the library does not appear to be= very > stable in its current state (at least on WinXP). I was able to crash t= he > application without doing much at all. I also found the same thing whe= n I > tried the virt1800 test application and the IAXPhone application. The > winiphone application was the only application that would exit normally > after a call was made. Both virt1800 and IAXPhone would report access > violations after the application exited. Again, I'd look into if these were audio device issues, or issues with the core libiax code. =20 > Next, the CPU utilization is definitely a problem. Andre was able to h= elp > deal with that problem by controlling the priority of the processing th= reads > he used to do the IAX communications. The only problem I found with An= dre=92s > IAXPhone (at least the version I have) was the receive audio was really > crummy while the transmit audio was fairly good. I think this is an is= sue > that=92s easily solvable by adding a little bit of threading to the lib= rary > itself. >=20 > So to sum things up, Mark=92s comments weren=92t that far off. The mal= loc > functions in the libiax implementation will need to be looked over. Th= e > only thing that concerns me is that if this is happening on the Win32 > platform, what=92s happening on the other platforms. I am hoping to pe= rform > some tests with miniphone on Linux and see what the results are. I did > notice the miniphone code for the Linux console app was structured > differently than the winiphone app. I am going to take a closer look a= t the > differences when I do my batch of Linux testing. The way I read what Mark said, he was talking about changing the libiax code so that it didn't need to constantly call malloc for every event. He didn't seem to indicate that there were problems that would cause memory leaks. While that's definately a good idea, I don't consider it the top priority unless it is actually causing performance problems. I also don't know what kind of architecture the SNOMs that Mark is targeting have, but I suspect that they're considerably less resourceful(?) than a full PC (both in terms of CPU and memory). So, the way I see it, dealing with allocation more efficiently (such as by using a pre-allocated pool, etc), would be great, it's a separate issue from the leaks you've had. But the leaking you see on Windows might just be a bug in "winiphone". Also, I suppose if you're receiving events much faster than you can process them, and there's no good limits on how big the event queue can get, you might just have a constantly increasing event queue. > I wish I had better news, but I don=92t believe in putting something ou= t that > doesn=92t work properly. I did have plenty of ideas on where to go and= did > have things focused down so I could come to a conclusion by the end of = the > weekend, but I am glad I put the brakes on and did some homework to fin= d > these issues. This way, we=92re dealing with these issues now and not > somewhere down the pipe. >=20 > Let me know what your thoughts are. I am going to start working on a > solution to the memory leak problems tomorrow. My thoughts are that if the general interface to libiax is sound and useful to us, we can always find and fix bugs in either the callers or the library. OTOH, if there's an architectural issue that will make portability difficult, or make it difficult to implement necessary features, that needs to be deal with very early. -SteveK --=20 Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1= 775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Lin= ux." |
From: Shawn L. <sha...@te...> - 2003-03-03 06:02:02
|
As Steve has said, I have been working with the libiax code in the last little while and working towards a new cross-platform client for IAX. I just got a chance to read the notes being sent back and forth on IAX2 and thought I'd add a couple things to the discussion. >That sounds good also; indeed the changes you've outlines sound really >good -- my plan for iaxclient is first to address the architectural >things that are necessary to make the code portable and functional, and >then we would re-investigate quality and performance issues. In that >area, voice quality of course will be paramount, and that's a key focus >of your proposal (re-working jitter buffer and retransmissions, etc). I was playing with the winiphone program (the console app in the libiax library) and the client did work as it stands. I managed to get a client compiled with VC 6 that ran on Win9x/2k/XP. However, the sound was fairly lagged in some cases and typing anything in on the command line caused the audio to drop out. I am working on tweaking the performance of the current library and then will evolve things from there. > Although I like the libiax interface, the implementation needs a lot of > work (especially on the number of malloc() calls). I'd like to encourage > you to work with us to make sure that when we rework libiax that it fits > with your needs as well, and also to be sure that any features you need in > IAX2 get implemented now during the design phase. >I think Shawn is working with the code now, and I haven't seen what he's >done so far. Our goals, from a high-level, are pretty well defined on >the website; Initially, our goals are focused on portability, and >robust operation. On the features side, we don't have initial needs >other than to be able to work like an AT&T 2500 telephone set; just make >a single, reliable voice call into an * system. I agree that there are some things that could be done to improve the implementation. I am definitely open to working with you to get some feedback and some help with the changes to the implementation. I would also be interested in doing some of the libiax implementation rework as part of the work we're doing with this project. If it will help us achieve our goal of getting a single, reliable voice call in and out of an asterisk system, then I'm game for it. If notes or documentation on the structure of IAX (or the upcoming IAX2) are available, would it be possible to look at the information? I think it would give me a more in depth understanding on the protocol and how the current libiax implementation provides the IAX service to software outside of Asterisk. I have a lot of different ideas going through my head, but I like to know more about things before I say much about whether these ideas would be beneficial or not. Anyways, that's my two cents worth at this point. Shawn --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.459 / Virus Database: 258 - Release Date: 2/25/2003 |
From: Steve K. <st...@St...> - 2003-03-03 00:34:23
|
On Sun, Mar 02, 2003 at 05:04:44PM -0600, Mark Spencer wrote: > > Currently, we're using most of libiax right now, and would > > probably want to pick up these changes at some point. If you updated > > libiax to iax2, that would work, but what might be more interesting > > would be if there was a common codebase with parts of the IAX2 > > implementation that would be useful both from within asterisk itself, > > as well as from other clients. > > The idea is to port libiax to iax2 and preserve the same function calls > (we might add some additional ones to support the new iax2 features). That sounds great. > > Any ideas on whether it makes sense to share any protocol > > implementation from inside and outside of asterisk, and/or if you plan > > on incorporating your changes into libiax? > > It's not really practical to share the protocol implementation between > libiax and asterisk (because especially with IAX it's so tightly coupled > with Asterisk). However, it is the plan to update libiax. The reason > we're addressing the IAX2 changes at this time is because SNOM is planning > on visiting in April to add IAX support to the SNOM phone and we want to > be sure we have the best protocol for them to integrate. That sounds good also; indeed the changes you've outlines sound really good -- my plan for iaxclient is first to address the architectural things that are necessary to make the code portable and functional, and then we would re-investigate quality and performance issues. In that area, voice quality of course will be paramount, and that's a key focus of your proposal (re-working jitter buffer and retransmissions, etc). > Although I like the libiax interface, the implementation needs a lot of > work (especially on the number of malloc() calls). I'd like to encourage > you to work with us to make sure that when we rework libiax that it fits > with your needs as well, and also to be sure that any features you need in > IAX2 get implemented now during the design phase. I think Shawn is working with the code now, and I haven't seen what he's done so far. Our goals, from a high-level, are pretty well defined on the website; Initially, our goals are focused on portability, and robust operation. On the features side, we don't have initial needs other than to be able to work like an AT&T 2500 telephone set; just make a single, reliable voice call into an * system. I think I've CC'ed you (Mark) on any design notes we've e-mailed back and forth, and I encourage anyone to join the iaxclient-devel mailing list to participate. (although this will become more useful for people once we get a first, working code release). -SteveK -- Steve Kann - Chief Engineer - 520 8th Ave #2300 NY 10018 - (212) 533-1775 HorizonLive.com - collaborate . interact . learn "The box said 'Requires Windows 95, NT, or better,' so I installed Linux." |