[asterisk-bugs] [JIRA] (ASTERISK-28452) pjsip: <sess-version> of SDP is not incremented though SDP may be changed on reinvite without SDP offer
Joshua C. Colp (JIRA)
noreply at issues.asterisk.org
Wed Feb 17 04:19:15 CST 2021
[ https://issues.asterisk.org/jira/browse/ASTERISK-28452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joshua C. Colp updated ASTERISK-28452:
--------------------------------------
Attachment: ASTERISK-28452.diff
There are multiple cases where this can occur, which is causing confusion. The two known cases that I'm aware of:
1. When an SDP offer is sent in an initial INVITE with a set of codecs (ulaw, alaw) and the remote side answers with a single codec (ulaw). In this case the SDP negotiator updates the active local SDP to be the pruned list (ulaw) without updating the session version number.
2. The case that [~ipoddubny] mentions with re-INVITE with no SDP being used for unhold.
The case in 1 occurs because we have not implemented the INVITE session on_create_offer callback, and thus it uses automatically the active local SDP without incrementing the version number. I'd say that it is a bug that PJSIP is doing that, but implementing on_create_offer works fine.
This is also why pjsua is working as expected - it implements that callback and provides the SDP each time.
I've attached a patch which implements the callback and done some testing which shows the version number incrementing as expected. I plan on doing some more and then putting it up for review. I'll also be commenting on the Teluu side.
> pjsip: <sess-version> of SDP is not incremented though SDP may be changed on reinvite without SDP offer
> -------------------------------------------------------------------------------------------------------
>
> Key: ASTERISK-28452
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-28452
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: pjproject/pjsip, Resources/res_pjsip_sdp_rtp
> Affects Versions: 16.3.0
> Environment: CentOS 7
> Reporter: Michael Maier
> Labels: patch, pjsip
> Attachments: ASTERISK-28452.diff, sdp-version.patch, sdp-version-v2.patch, uac-reinv-no-sdp.xml.txt, wrong-SDP-sess-version.txt
>
>
> During late / delayed offer as part of a reInivte during an outbound call, the SDP sent to the provider in the 200 OK is changed compared to the initial INVITE - but the <sess-version> isn't incremented. This is against RFC6337, 5.2.5. Subsequent Offers and Answers.
> See the attached Trace!
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list