Summary:ASTERISK-21226: one way audio after call was on hold
Reporter:Stefan Schmidt (schmidts)Labels:
Date Opened:2013-03-08 07:57:04.000-0600Date Closed:
Versions:11.2.0 13.18.4 Frequency of
Environment:debian 6 in an openvz virtual machineAttachments:( 0) Holdbug-codecs.txt
( 1) moh-onewayaudio-NOK
( 2) moh-onewayaudio-OK
Description:I have a sip client which offers ulaw and alaw in this order. my system allowes both but prefer alaw. When i have an incoming call using alaw, going through asterisk dialing this client the sdp offer is alaw and ulaw. The client replies with a normal 200 ok with only ulaw. This call leg to the client is then running on ulaw and everything is fine. When the client puts the call on hold and take it back (a=sendonly & sendrecv) the call then changes to alaw and the client audio to * is not recognized at asterisk anymore.
In 1.8 this behavior worked without any problems but since 10 one way audio happens.

I can see in debug log that asterisk sets the write format to alaw but the marker bit isnt recognized. The difference to 1.8 is that asterisk didnt back out of the bridge cause the format has changed.
Comments:By: Stefan Schmidt (schmidts) 2013-03-08 08:02:51.260-0600

Debug level 10 and sip debug of an reinvite to put a call off hold.
NOK is asterisk 10
OK is asterisk 1.8

By: Michael L. Young (elguero) 2013-03-08 12:07:26.093-0600

Asterisk 10 is no longer supported for bug fixes (https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions). For continued maintenance support please move to a branch which is a long term support (LTS) branch.

If you find that this problem has not been resolved in a supported branch (1.8 or 11), then we can take a look at this for you against that version of Asterisk.


By: Stefan Schmidt (schmidts) 2013-03-11 01:55:34.451-0500

I am sorry if i didnt say it clear enough ;)
asterisk 10 was the first version where this doesnt work anymore, its the same in 11 and also in trunk.

best regards


By: Stefan Schmidt (schmidts) 2013-03-11 07:38:00.697-0500

in this txt you can see the codec states during the call, during the call is placed on hold, and after it. After the call is put on hold, asterisk thinks its ok to go into P2P bridging cause both sides uses the same codec even if its not right.