[asterisk-dev] Streamlining RTP code.

Kevin P. Fleming kpfleming at digium.com
Tue Jul 11 16:48:29 MST 2006


----- Constantine Filin <cfilin at intermedia.net> wrote:
> 1) Right now RTP bridging happens in channel.c in function
> "ast_generic_bridge". This function

This is only true if the call requires monitoring for DTMF-controlled features. If it does not, the bridging happens in rtp.c itself, without packing the data into/out of ast_frame objects.

> of winners, then this can
> shave off quite a bit of CPU cycles and increase the performance. Of
> course the rest of
> "ast_generic_bridge" has to be modified to work with several winners.

Do you really think calling ast_waitfor_n a second time is going to make much of a difference?

> The thing is that this comment has been in the code for more than a
> year already and
> nobody has gotten it done. I am wondering if this is just lack of time
> or there is a more
> fundamental difficulty behind caching the frame headers? Caching frame
> headers will
> definitely add to the performance.

There is no fundamental problem; like everything else in an open source project, code gets written when people make the time or get paid for their time.

-- 
Kevin P. Fleming
Senior Software Engineer
Digium, Inc.




More information about the asterisk-dev mailing list