res_pjsip_session: Add ability to accept multiple sdp answers
authorGeorge Joseph <gjoseph@digium.com>
Tue, 19 Jun 2018 02:22:17 +0000 (20:22 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Tue, 26 Jun 2018 13:05:34 +0000 (07:05 -0600)
commit880fbff6b73eba5c70c40edf8ca3d10069d8a6bd
tree0ba87a9b0cc06cdb4d6f5bad40302b7703a6b369
parent017b7849bcde6e5b2817d7f91680758ff2bbaa2b
res_pjsip_session:  Add ability to accept multiple sdp answers

pjproject by default currently will follow media forked during an INVITE
on outbound calls if the To tag is different on a subsequent response as
that on an earlier response.  We handle this correctly.  There have
been reported cases where the To tag is the same but we still need to
follow the media.  The pjproject patch in this commit adds the
capability to sip_inv and also adds the capability to control it at
runtime.  The original "different tag" behavior was always controllable
at runtime but we never did anything with it and left it to default to
TRUE.

So, along with the pjproject patch, this commit adds options to both the
system and endpoint objects to control the two behaviors, and a small
logic change to session_inv_on_media_update in res_pjsip_session to
control the behavior at the endpoint level.

The default behavior for "different tags" remains the same at TRUE and
the default for "same tag" is FALSE.

Change-Id: I64d071942b79adb2f0a4e13137389b19404fe3d6
ASTERISK-27936
Reported-by: Ross Beer
13 files changed:
CHANGES
configs/samples/pjsip.conf.sample
configure
configure.ac
contrib/ast-db-manage/config/versions/0be05c3a8225_add_early_media_options.py [new file with mode: 0644]
include/asterisk/autoconfig.h.in
include/asterisk/res_pjsip.h
res/res_pjsip.c
res/res_pjsip/config_system.c
res/res_pjsip/pjsip_configuration.c
res/res_pjsip_session.c
third-party/pjproject/configure.m4
third-party/pjproject/patches/0100-sip_inv-Add-option-to-accept-updated-SDP-on-same-To-.patch [new file with mode: 0644]