[asterisk-bugs] [JIRA] (ASTERISK-26691) Remember SDP negotiation on SIP_CODEC_INBOUND.

George Joseph (JIRA) noreply at issues.asterisk.org
Mon Feb 6 11:05:19 CST 2017


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26691?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

George Joseph updated ASTERISK-26691:
-------------------------------------

    Target Release Version/s: 14.3.0

> 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
>            Assignee: Alexander Traud
>      Target Release: 13.14.0, 14.3.0
>
>         Attachments: joint_after_SIP_CODEC.patch
>
>
> 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