[asterisk-bugs] [JIRA] (ASTERISK-26691) Remember SDP negotiation on SIP_CODEC_INBOUND.
Asterisk Team (JIRA)
noreply at issues.asterisk.org
Wed Jan 4 05:58:10 CST 2017
[ https://issues.asterisk.org/jira/browse/ASTERISK-26691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=234429#comment-234429 ]
Asterisk Team commented on ASTERISK-26691:
------------------------------------------
Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.
A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.
Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].
> Remember SDP negotiation on SIP_CODEC_INBOUND.
> ----------------------------------------------
>
> Key: ASTERISK-26691
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-26691
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/CodecHandling
> Affects Versions: 13.13.1, 14.2.1
> Reporter: Alexander Traud
>
> Since Asterisk 13.7, the joint media formats contain the SDP negotiation. For example in Asterisk 14 with iLBC, the {{mode}} is stored (whether 30 or 20). For example in Asterisk 13 with Opus Codec (RFC 7587), the {{maxplaybackrate}} is stored (between 8000 and 48000 Hz). Similar happens with SiLK.
> With the SIP channel driver {{chan_sip}}, the dialplan can force a media format via SIP_CODEC_INBOUND:
> {noformat}
> exten => 509,1,Set(SIP_CODEC_INBOUND=ilbc)
> same => n,Playback(demo-moreinfo)
> same => n,Goto(2)
> {noformat}
> Now, Asterisk sends not the joint but the cached media format as SDP answer. Cached formats do not contain the negotiated state but default values. The joint media formats get overwritten and are lost.
> At the phone, this is not noticeable for iLBC, SiLK, and Opus Codec because their defaults (no {{fmtp}} in SDP) are backward compatible. However, media formats exist (like [AMR|https://github.com/traud/asterisk-amr], [AMR-WB|https://github.com/traud/asterisk-amr], and [3GPP EVS|https://github.com/traud/asterisk-evs]) which are not allowed to change the send format parameters within the SDP answer, like {{octet-align}}. ‘Loosing’ the negotiated state therefore creates undefined behavior by the SDP offerer, like no audio, lower quality, or higher bandwidth than demanded.
> The attached patch fixes this and does not loose the joint media format. That way, the SDP answer contains the negotiated and therefore expected {{fmtp}}.
> This issue does not apply to the SIP channel driver res_pjsip because it does not offer a SIP_CODEC_INBOUND functionality at all.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list