[asterisk-dev] [Code Review] 4292: app_macro: Don't restore the calling location on a channel redirect.

rmudgett reviewboard at asterisk.org
Mon Dec 22 19:19:14 CST 2014


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

(Updated Dec. 22, 2014, 7:19 p.m.)


Review request for Asterisk Developers.


Changes
-------

Restore the calling location if the softhangup flags do not have AST_SOFTHANGUP_ASYNCGOTO set.  We still want normal hangups to execute the expected h exten.


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


Repository: Asterisk


Description
-------

v11: If a channel redirect to a macro exten of a macro that is active happens, the redirect location doesn't get executed.  Instead the original macro location is restored and gets reexecuted.

v13: An additional effect happens if a parked call times out to an extension in the macro that parked the call then the macro is reexecuted instead of the expected park return location.

* Made not restore the macro calling location on an AST_SOFTHANGUP_ASYNCGOTO.

* Increased the locked channel range when setting up the macro execution environment to conver things that should be done while the channel is locked.

* Removed unnecessary NULL tests before calling ast_free() in _macro_exec().


Diffs (updated)
-----

  /branches/11/apps/app_macro.c 430058 

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


Testing
-------

On v11, redirected the calling channel to an extension in a macro that dialed the peer.  Before the patch, the peer was hung up and immediately redialed.  With the patch, the expected redirection location in the macro is executed.

On the v13 version of the patch, the parked call returns to the configured macro extension with the patch.  Without the patch, the call was immediately reparked.


Thanks,

rmudgett

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141223/0c889bf1/attachment-0001.html>


More information about the asterisk-dev mailing list