[asterisk-dev] Locking, coding guidelines addition

Stephen Davies stephen.l.davies at gmail.com
Fri Jul 4 15:23:13 CDT 2008

2008/7/4 Steve Totaro <stotaro at totarotechnologies.com>:

> Call me Mr. Obvious, but why not use locks like Callweaver (the entire
> reason it was created)?
> I stay far, far, as far away as I can from IAX, that is unless I am
> fixing a customer's system and switch from IAX to SIP, and make a nice
> profit.


Was this supposed to be a constructive reply to my post?

What programmer hasn't wanted a fresh start?  But usually its actually
better to persevere.  And Asterisk is a million miles ahead of FreeSwitch in
practical capabilities.  This sort of discussion will get these issues
sorted sooner or later.

As you know, Asterisk is moving the linked lists out.  But whether you use
linked lists or hashes to find a data structure, you still need mutexes to
control threads that are contending for the structure.

The only alternative is really alternative environments like Erlang that
have no (!) shared memory.

As for IAX - I know it very well and use it all the time.  Admittedly, I
have also invested lots of personal energy into it.  Nothing can get
anywhere near it for squeezing those bits and we need that in a country
where we pay easily 10 to 100 times per megabit what you pay in the US.
 (Lets see -  512k DSL line, 256k upstream for about US$60 per month with a
3 gigabyte cap including both upload and download)

Using IAX trunking, variable bit rate Speex with the pre-processor etc I can
achieve 7 kilobits per second per concurrent call _including_ all IP
overhead.  That's for voice that sounds as good as G729 if not better.
 That's twice as good as any SIP I ever saw even with proprietary "packet
saver" or whatever.

We have a customer that carries 500+ concurrent calls across the country
using such an IAX trunk.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20080704/244ef053/attachment.htm 

More information about the asterisk-dev mailing list