[asterisk-dev] The New CDR system

Tim Panton tim at mexuar.com
Sat Mar 31 07:15:50 MST 2007

On 31 Mar 2007, at 00:10, zoachien at securax.org wrote:

> Russell Bryant wrote:

> Any kernel programmers here to tell us if there is any difference  
> between using a bunch of ports like RTP versus 1 port like IAX on a  
> kernel level ? why did the RTP people decide to use random ports ?  
> (might be a completely different reason).
> I guess you all think about getting it to another asterisk (while i  
> am thinking to get it into some database with some IAX to DB  
> conversion on the DB server)

I'm not a kernel coder, but we had a _very_ brief discussion about  
this at the Etel IAX BoF (which was brilliant by the way
thanks to those who came!). The issue is that you can only have a  
single thread reading the packets if you have a single
listening port. In these days of quad dual core systems, this  
effectively ties the iax channel to a single processor. Of course
once it has read the packet it can farm the handling out to multiple  
worker threads, but there is still a bottleneck.
It would be possible to overcome that bottleneck by adding a kernel  
driver that passed the packets out onto
multiple /dev/iax's but that's probably overkill. A quick hack would  
be to have multiple addresses on the box
and open separate reader threads on each one (all still using 4569).

>> Another argument for this generic event passing mechanism is for  
>> device state notification.  After I'm finished playing with  
>> message waiting indication, I am going to get device and extension  
>> state information converted over to this system.  Then, these  
>> states will be able to be shared between servers.  One phone will  
>> be able to subscribe to the state of a phone that is actually on  
>> another server.
> This is indeed cool, (we did it once in a bad way, firefly also  
> seems to have some special version of IAX to do that). Maybe this  
> should be discussed on a higher level, how to cluster asterisk  
> servers. (where also info on node availability is passed, server  
> load, available routes - including things where a server was down  
> and needs to retrieve all info not just take new events.)
>> It would be really nice for those of you working on IAX2  
>> softphones to be able to support "buddy lists" with state  
>> monitoring natively in IAX2, wouldn't it?

Certainly would, but I guess you'd want some tie-in to IM type  
presence too.

Tim Panton


More information about the asterisk-dev mailing list