[asterisk-dev] [Code Review] 4460: res_pjsip_refer: Fix occasional unexpected BYE sent after receiving a REFER.

rmudgett reviewboard at asterisk.org
Wed Mar 4 11:31:48 CST 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4460/
-----------------------------------------------------------

Review request for Asterisk Developers.


Bugs: ASTERISK-24755
    https://issues.asterisk.org/jira/browse/ASTERISK-24755


Repository: Asterisk


Description
-------

A race condition happened between initiating a transfer and requesting
that a dialog termination be delayed.  Occasionally, the transferrer
channels would exit the bridge and hangup before the dialog termination
was requested.

* Made request dialog termination delay before initiating the transfer
action.  If the transfer fails then cancel the delayed dialog termination
request.

* Made safely get the TRANSFER_CONTEXT channel value while the channel is
locked in refer_incoming_attended_request() and
refer_incoming_blind_request().  The pointer returned by
pbx_builtin_getvar_helper() is only valid while the channel is locked.

* Made refer_attended_alloc() not create the ao2 object with an unneeded
lock.


Diffs
-----

  /branches/13/res/res_pjsip_session.exports.in 432446 
  /branches/13/res/res_pjsip_session.c 432446 
  /branches/13/res/res_pjsip_refer.c 432446 
  /branches/13/include/asterisk/res_pjsip_session.h 432446 

Diff: https://reviewboard.asterisk.org/r/4460/diff/


Testing
-------

The testsuite tests/channels/pjsip/ tests still pass with the patch.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150304/e74ccfe2/attachment.html>


More information about the asterisk-dev mailing list