]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_session: Always produce offer on re-INVITE without SDP.
authorJoshua C. Colp <jcolp@sangoma.com>
Tue, 16 Feb 2021 18:33:07 +0000 (14:33 -0400)
committerGeorge Joseph <gjoseph@digium.com>
Thu, 25 Feb 2021 14:42:07 +0000 (08:42 -0600)
commit1af2a84c8bcc442374cccd09cd46c57854a209a2
tree3f5d0df64142edc6b3962ca51c3e8fd034439cb4
parent916d5d5e45656ae638352dda7119549e14184e10
res_pjsip_session: Always produce offer on re-INVITE without SDP.

When PJSIP receives a re-INVITE without an SDP offer the INVITE
session library will first call the on_create_offer callback and
if unavailable then use the active negotiated SDP as the offer.

In some cases this would result in a different SDP then was
previously used without an incremented SDP version number. The two
known cases are:

1. Sending an initial INVITE with a set of codecs and having the
remote side answer with a subset. The active negotiated SDP would
have the pruned list but would not have an incremented SDP version
number.

2. Using re-INVITE for unhold. We would modify the active negotiated
SDP but would not increment the SDP version.

To solve these, and potential other unknown cases, the on_create_offer
callback has now been implemented which produces a fresh offer with
incremented SDP version number. This better fits within the model
provided by the INVITE session library.

ASTERISK-28452

Change-Id: I2d81048d54edcb80fe38fdbb954a86f0a58281a1
res/res_pjsip_session.c