]> 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:46 +0000 (16:12 -0600)
commit49aa0da75f2ae7fdfd4cba8079e0d18711249498
treeff7bbc4ce6d63133e4c50453330c3be9bc67f42f
parentad4c757f88f6ce462066413b4a8b6acbf0c33029
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