-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4339/
-----------------------------------------------------------
Review request for Asterisk Developers.
Bugs: ASTERISK-24624
https://issues.asterisk.org/jira/browse/ASTERISK-24624
Repository: Asterisk
Description
-------
During the process of a blind transfer, Asterisk sends NOTIFY requests to the
transferring party to update them about the status of the outgoing call to the
transfer target. If Asterisk sends a NOTIFY that indicates that the blind
transfer has failed, some phones will respond by trying to send a reinvite to
get themselves back into the call.
When this reinvite hits chan_pjsip, the session supplement in charge of channel
allocation sees that the session on which the reinvite arrived has no channel,
and therefore it creates a channel. The problem is that all other code that
would do anything with this channel (like sending it into the dialplan) is
specifically coded not to do anything on reinvites. So the created channel ends
up going nowhere and hanging around forever.
With this patch, if the channel creation session supplement receives a reinvite
and there is no channel on the session, this is treated as an error. The
session is immediately terminated and the session supplement returns an error
condition, indicating that no further session supplements should be called.
Additionally, res_pjsip_session's reinvite request handling module has been
modified to short-circuit early if there is no channel. Otherwise, a reinvite
with no SDP might cause a crash.
Diffs
-----
/branches/13/res/res_pjsip_session.c 430625
/branches/13/channels/chan_pjsip.c 430625
Diff: https://reviewboard.asterisk.org/r/4339/diff/
Testing
-------
Manual testing by me, Josh Colp, and Zane Conkle all show that this patch fixes
the hung channel issue.
Thanks,
Mark Michelson
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev