Changes between Initial Version and Version 1 of Ticket #1794
- Timestamp:
- Sep 24, 2014 10:24:27 AM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #1794 – Description
initial v1 1 1 Scenario: 2 1. make call using pjsua with G.722.1 multiple bitrates in SDP offer, e.g:2 1. SDP offer G.722.1 multiple bitrates, e.g: 3 3 {{{ 4 4 a=rtpmap:118 G7221/16000 … … 7 7 a=fmtp:119 bitrate=32000 8 8 }}} 9 2. receive call answer, but the SDP answer specifies the second format/bitrate (from the offer), e.g:9 2. SDP answer specifies the second bitrate (from the offer), e.g: 10 10 {{{ 11 11 a=rtpmap:119 G7221/16000 … … 14 14 15 15 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: 16 1. 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.17 1. 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.16 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. 17 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. 18 18 19 19 Thanks to Brian Walker for the report.