[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