[Asterisk-Dev] Client development...

Boudewijn van Ingen bogie at xs4all.nl
Thu Sep 25 17:44:42 MST 2003


My excuse to the moderators of this list. I forgot to set the proper 
address in the first attempt.

At 06:29 PM 25-09-2003 -0500, Tilghman Lesher wrote:
 >On Thursday 25 September 2003 17:59, Boudewijn van Ingen wrote:
 >> I'm currently trying to write a completely new client application for
 >> Asterisk, similar to GnoPhone, but for Windows and with some extra
 >> functionality. Or more accurately, I'm trying to build a library that
 >> can be used by others to build such applications for the Windows
 >> platform. The short term goal however is a demo-application to
 >> promote the usage of Asterisk (on linux) in large scale telecomms
 >> networks. It is really unfortunate that most managers that might
 >> decide on the money still use Windows on their desktops, but it is a
 >> fact. ;-)
 >>
 >> I'm an experienced developer and have looked at the existing ports of
 >> the original code. But for several reasons, I have decided that it
 >> would be best for my needs to make a completely different design of
 >> the iax-libraries, this time in c++, and hopefully remaining somewhat
 >> portable.
 >>
 >> Unfortunately, during my research I found out that there is
 >> apparently a distinct lack of public documentation about the
 >> iax-protocol, and the theories that lie behind it. But I may have
 >> missed something there...
 >>
 >> Now, I understand that this protocol is a proprietary development (by
 >> Mark Spencer/Digium), but I was wondering if that was also the reason
 >> why I could not find any formal specification of the protocol? Am I
 >> for some reason not supposed to develop new software that makes use
 >> of this protocol?
 >
 >First of all, IAX is open source and licensed under the GPL, so I don't
 >know how you could possibly consider it proprietary.

I just got that impression, from the lack of documentation. Note that the 
GPL applies to the code of the library, not necessarily the protocol. And I 
am sorry if I misunderstood any of this. I do not intend any insult or 
injury to anyone.

 >You cannot find
 >a formal specification, because one was never written.

OK. That is clear language. It makes sure I won't spend another two weeks 
searching for it. Thank you for that. ;-)

But that immediately prompts another question: Is there a way to get the 
output of the asterisk console command "iax debug" in a regular logfile, 
somewhere in /var/log/asterisk/ , while running asterisk as a deamon?

 >There is,
 >however, an open source library called libiax, which is intended to be
 >used in your own applications, to enable you to use the protocol
 >without needing to know the nitty-gritty.

I know. I have seen several (slightly different) versions of it.

But the code in that library contains some problems where portability is 
concerned, as far as I'm concerned. For one, I would like to have an 
extensible C++ version of that code. For example: In that library, much 
trust is put in sockets, and the treatment they get in *n*x. If someone 
could catch such functionality in suitable layers (c++ classes), so that 
other mechanisms (like the way windows handles those issues natively) could 
easily replace them, I would think that would help everyone. The way most 
ports for windows seem to be done right now, is by adding more 'glue' code, 
while I believe that is completely unnecessary, and that it should be 
possible to make that library slimmer, for any platform, including *n*x...

I do understand why some of you might feel hostile towards the idea to 
write code that works for windows as well as *n*x. I do not intend to hurt 
your feelings. Some things are just necessary, even if they hurt your 
feelings. Sorry. ;-)

Groeten,
Boudewijn. 




More information about the asterisk-dev mailing list