res_pjsip_refer.c: Delay sending the initial SIP Notify with frag 100
authorKevin Harwell <kharwell@digium.com>
Wed, 2 Mar 2016 00:08:52 +0000 (18:08 -0600)
committerKevin Harwell <kharwell@digium.com>
Thu, 3 Mar 2016 18:09:11 +0000 (12:09 -0600)
commit0d2ccbca62e09dbf57ecfc921a33e4e08bbe462f
treec2afb04c330e5985d6ff4713da5cdd491f2a5233
parent7023055def57fe63bb169c481c801c72599d3fdb
res_pjsip_refer.c: Delay sending the initial SIP Notify with frag 100

During the transfer process, some phones (okay it was the Jitsi softphone,
but maybe others are out there) send a "bye" immediately after receiving a
SIP Notify. When a "bye" is received early for some types of transfers the
transferer channel may no longer be available during late stage transfer
processing.

For instance, during an attended transfer involving stasis bridging at one
point the created local channel looks for an associated swap channel in
order to retrieve the stasis application name. If the transferer has hung
up then the local channel will fail to find it. The local channel then has
no way to know which stasis app to enter, so it fails and hangs up as well.
Thus the transfer does not complete as expected.

This patch delays the sending of the initial notify in order to give the
transfer process enough time to gather the necessary data for a successful
transfer.

ASTERISK-25771

Change-Id: I09cfc9a5d6ed4c007bc70625e0972b470393bf16
res/res_pjsip_refer.c