[asterisk-dev] Re: Help with 240 samples on frames read fromchan_iax

Dan Austin Dan_Austin at Phoenix.com
Mon Nov 6 11:36:05 MST 2006


Tilghman wrote:
> On Monday 06 November 2006 09:12, Moises Silva wrote:
>>    Well, now knowing the fundamental cause, im going to the hardest
>> part, finding a solution for the issue on app_conference code, I dont
>> think is a good idea rely on 20ms frames. Or is it possible to make
>> Asterisk use only 20ms frames?

> One could use the ast_smoother interface.  It was designed
specifically
> to take frames of variant sizes and produce frames of a single
expected
> size, precisely what you want to do.

> The basic interface is:

> Initialize with ast_smoother_new(), queue input frames with
> ast_smoother_feed(), get output frames with ast_smoother_read(),
> and when you're done, free the structure with ast_smoother_free().

While the code require seems to beyond my skills/experience, it
would be a major improvement is IAX were to become packetization
aware.  My efforts with RTP packetization showed that IAX will
pass unmolested whatever payload it receives.

So the issue with app_conference is multi-facted.  Sure it would
be nice if it did not assume 20ms, even though that was almost
reasonable assumption pre 1.4.  I say almost because before the
configuration packetization feature was added, I had found that in
most cases Asterisk would deal with any payload that it received.
It would only send 20ms payloads, Moises issue with app_conference
would occur on eny version because of the SPA defaults.

'Fixing' app_conference is a worthy endevour, but convincing
chan_iax to honor framing limits on both the send and receive
legs of a channel would be a big win.  Even better would be
the addition of an IE to convey the desired framing/payload would
allow Asterisk and endpoints to 'negotiate' symmetric packetization.
Chan_skinny has that feature, and it greatly reduces the amount
of effort to make sure all devices are using identical values
for framing.

Dan


More information about the asterisk-dev mailing list