id summary reporter owner description type status priority milestone component version resolution keywords cc backport_to_milestone backported 1794 Assertion or garbled audio in call using G.722.1 nanang nanang "Scenario: 1. SDP offer G.722.1 multiple bitrates, e.g: {{{ a=rtpmap:118 G7221/16000 a=fmtp:118 bitrate=24000 a=rtpmap:119 G7221/16000 a=fmtp:119 bitrate=32000 }}} 2. SDP answer specifies the second bitrate (from the offer), e.g: {{{ a=rtpmap:119 G7221/16000 a=fmtp:119 bitrate=32000 }}} The SDP negotiator seems to handle this already, i.e: it negotiates the bitrate in SDP fmtp too (instead of only matching the encoding name and the clock rate). But there are two problems: 1. as SDP answerer: as stream only matches encoding name, clock rate, and channel count, it may get wrong remote payload type so the remote will complain with wrong payload type in its received RTP packets. 1. as SDP offerer & answerer: as codec manager cannot differentiate G.722.1 based on the bitrate, the stream gets wrong G.722.1 codec parameters and open the codec using that wrong param, this leads to assertion or garbled audio. Thanks to Brian Walker for the report." defect closed normal release-2.4 pjmedia trunk fixed 0