|Summary:||ASTERISK-09169: [patch] Problems with transcoding early media after "302 Moved temporarily"|
|Reporter:||Marcel Barbulescu (marcelbarbulescu)||Labels:|
|Date Opened:||2007-04-03 02:46:23||Date Closed:||2007-07-09 21:20:47|
|Environment:||Attachments:||( 0) app_dial.diff|
( 1) verbosedebug.txt.txt
|Description:||The user device is configured only with ulaw. Asterisk is configured by default to allow only g729 in sip.conf/[general] and promiscredir=yes. The provider's trunk is configured only with g729. Asterisk has g729 licenses installed.|
When a call is placed the provider responds with a "302 Moved temporarily" message. Asterisk sends an INVITE to the redirected host and the provider responds with g729 early media. The caller gets broken sound, probably g729 media that it doesn't support. Asterisk dumps lots of messages like:
chan_sip.c:3488 sip_write: Asked to transmit frame type 64, while native formats is 0x100 (g729)(256) read/write = 0 x100 (g729)(256)/0x100 (g729)(256)
****** ADDITIONAL INFORMATION ******
If the provider doesn't respond with "302 Moved temporarily" but responds directly with early media, everything is ok, the early media is transcoded properly from g729 to ulaw.
Canreinvite and directrtpsetup settings do not make any difference, the result is the same.
Please note that the IPs and phone numbers in the trace file are not real.
|Comments:||By: Marcel Barbulescu (marcelbarbulescu) 2007-04-03 14:22:45|
I found that the write format was not correctly set on the outgoing channel. I added a patch to make the forward channel compatible with the incoming channel.
PS: Disclaimer was mailed this morning.
By: Joshua C. Colp (jcolp) 2007-04-08 20:06:42
Fixed in 1.2 as of revision 60797, 1.4 as of revision 60798, and trunk as of revision 60799. Thanks!