]> git.ipfire.org Git - thirdparty/asterisk.git/commit
pjsip: Make modify_local_offer2 tolerate previous failed SDP.
authorJoshua C. Colp <jcolp@sangoma.com>
Fri, 5 Feb 2021 11:26:02 +0000 (07:26 -0400)
committerJoshua Colp <jcolp@sangoma.com>
Thu, 18 Feb 2021 15:51:46 +0000 (09:51 -0600)
commit9c0e86b8d714f5472b852271c06c38594c95d94a
treeafe97e14d7bc6b201b796e1262d191c004dbb8cc
parentcc22e3bc1c9af48df0a3f5e00208d3571abadd6d
pjsip: Make modify_local_offer2 tolerate previous failed SDP.

If a remote side is broken and sends an SDP that can not be
negotiated the call will be torn down but there is a window
where a second 183 Session Progress or 200 OK that is forked
can be received that also attempts to negotiate SDP. Since
the code marked the SDP negotiation as being done and complete
prior to this it assumes that there is an active local and remote
SDP which it can modify, while in fact there is not as the SDP
did not successfully negotiate. Since there is no local or remote
SDP a crash occurs.

This patch changes the pjmedia_sdp_neg_modify_local_offer2
function to no longer assume that a previous SDP negotiation
was successful.

ASTERISK-29196

Change-Id: I22de45916d3b05fdc2a67da92b3a38271ee5949e
third-party/pjproject/patches/0080-fix-sdp-neg-modify-local-offer.patch [new file with mode: 0644]