[asterisk-bugs] [JIRA] (ASTERISK-28452) pjsip: <sess-version> of SDP is not incremented though SDP may be changed on reinvite without SDP offer

Ivan Poddubny (JIRA) noreply at issues.asterisk.org
Mon Jan 25 10:20:00 CST 2021


    [ https://issues.asterisk.org/jira/browse/ASTERISK-28452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=253605#comment-253605 ] 

Ivan Poddubny commented on ASTERISK-28452:
------------------------------------------

On receiving a re-INVITE without SDP, Asterisk gets the current local SDP offer which is indented to be constant (1), and *modifies* it, without updating the version number.
This behavior was introduced in (2), a fix for (3).
Adding a couple of lines of code to increment ''origin.version'' solves the issue in my environment.
Though, it's still a dirty hack in my opinion, because the local offer is not supposed to be modified without pjmedia knowing about it.
I guess, the right solution should use modify_local_offer, but it also changes the negotiator's state from DONE to LOCAL_OFFER. I think, if it's not used, maybe there were some reasons not to use it, but I coulnd't find any clue neither in the issue (3) nor in the reviews on Gerrit (4, 5).

(1) https://github.com/pjsip/pjproject/blob/3e8211db8b817e2dc2a9ef03701f40d9309b0589/pjmedia/include/pjmedia/sdp_neg.h#L51-L66
(2) https://github.com/asterisk/asterisk/commit/a098251e7e4f9e019787b996e5897a067c93f41a
(3) https://issues.asterisk.org/jira/browse/ASTERISK-25854
(4) https://gerrit.asterisk.org/c/asterisk/+/2533
(5) https://gerrit.asterisk.org/c/asterisk/+/14888

> 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
>            Severity: Minor
>              Labels: patch, pjsip
>         Attachments: sdp-version.patch, sdp-version-v2.patch, 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