[asterisk-users] Preventing IAX frame concatenation

Tim Panton thp at westhawk.co.uk
Thu Feb 7 05:00:07 CST 2008


On 7 Feb 2008, at 09:17, David Hogan wrote:

> Hi all,
>
> I have spent some time searching, but I haven’t found a way to  
> prevent * from concatenating two frames into one IAX packet.
>
> I have a situation where I make an IAX GSM call to *, which  
> transcodes to an iLBC SIP call. Every second voice packet the IAX  
> client receives contains 2x 20ms frames, the other containing only  
> one. I presume this is related to the mismatch of 20ms GSM vs 30ms  
> iLBC. What is odd, is that this doesn’t happen when I use G711 on  
> the IAX leg – each packet contains 20ms.
>
> Anyway, the IAX client I am using isn’t handling the 40 ms packets  
> gracefully. Is there something I can configure on * to prevent the  
> concatenation?
>

As a hack, you could try forcing asterisk to transcode to slin, either  
by recording the call or putting it into a conference.
There is also a recent change where you can force a jitter buffer on  
the local channel which might help.
eg:
exten => _100[0-4],1,dial(Local/${EXTEN}@games_call/nj)
[games_call]
exten => _100[0-4],1,meetme(${EXTEN},nT)

Alternatively you could fix the client :-)
(We've recently fixed it for our web-based implementation on www.phonefromhere.com/tesco/ 
  where we had the same
problem)

There are quite a few situations where asterisk sends IAX audio frames  
that aren't the length that you 'expect'
It's best to have the client cope.

Tim.





More information about the asterisk-users mailing list