[Kamailio-Devel] Moving forward to Kamailio 2.0: Async core design

Henning Westerholt henning.westerholt at 1und1.de
Mon Aug 4 15:22:49 CEST 2008


On Saturday 02 August 2008, Adrian Georgescu wrote:
> [..]
> The way to move forward is to switch to using a reliable transport
> like TCP. This is not reliable with the current design, which is
> blocking at every step waiting for an answer from DNS, Radius, SQL
> queries, and TCP putting it into its knees at every connection
> timeout. We are looking at rebuilding the core to be an asynchronous
> reactor that does not block during the processing of SIP messages.
>
> This means a new design and a lot of work to implement it. Here is an
> open question at this stage to get the big picture so that at least we
> know where we stand as a community on this topic:
> 
> 1. Do we see this target as high priority for a next generation
> Kamailio 2.0?
> 2. If yes, what timeframe do we see realistic to achieve it?
> 3. Are you as a software developer or company willing to put any
> energy into it?

Hi Adrian,

having a reliable and performant TCP implementation is also one of our 
priorities. As i don't see a huge point in maintaining all the core stuff 
(like polling) by yourself i evaluated [1] already some event libraries that 
could used as a foundation for the network layer.

I did some preliminary tests, and changed the core networking code to use 
libevent to handle incoming data for the UDP protocol (i admin this is the 
easy case). TCP don't work with this at the moment, the organisational stuff 
keeped me away from this work. I plan to upload some patches on the tracker 
if i get TCP working and did some more tests.

Cheers,

Henning


[1] http://www.openser.org/dokuwiki/doku.php/development-event-evaluation



More information about the Devel mailing list