]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_refer/chan_sip: Fix INVITE with replaces transfer to ConfBridge
authorRichard Mudgett <rmudgett@digium.com>
Thu, 5 Apr 2018 23:33:40 +0000 (18:33 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 6 Apr 2018 22:12:30 +0000 (17:12 -0500)
commit72b16ee400ba46e582be3994f2e71be83cce8c1c
treed4a1633668429c9ad357f2d5a64fa28365680e17
parentdcac292ae3326d7a56f78b340d7faf14b44cd86d
res_pjsip_refer/chan_sip: Fix INVITE with replaces transfer to ConfBridge

There is a problem when an INVITE-with-Replaces transfer targets a channel
in a ConfBridge.  The transfer will unconditionally swap out the
ConfBridge channel.  Unfortunately, the ConfBridge state will not be aware
of this change.  Unexpected behavior will happen as a result since
ConfBridge channels currently can only be replaced by a masquerade and not
normal bridge channel moves.

* We just need to pretend that the channel isn't in a bridge (like other
transfer methods already do) so the transfer channel will masquerade into
the ConfBridge channel.

Change-Id: I209beb0e748fa4f4b92a576f36afa8f495ba4c82
channels/chan_sip.c
include/asterisk/bridge.h
main/bridge.c
res/res_pjsip_refer.c