]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_macro: Don't restore the calling location on a channel redirect.
authorRichard Mudgett <rmudgett@digium.com>
Tue, 13 Jan 2015 18:06:21 +0000 (18:06 +0000)
committerRichard Mudgett <rmudgett@digium.com>
Tue, 13 Jan 2015 18:06:21 +0000 (18:06 +0000)
commit2ecff992af29e06b4f2009072592350a73ee539b
treefc740bb4c0d64405cbd7303c8133b8c8a9f748fc
parenta849974612b03eba0e951426830bd303619cff55
app_macro: Don't restore the calling location on a channel redirect.

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 cover things that should be done while the channel is
locked.

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

ASTERISK-23850 #close
Reported by: Andrew Nagy

Review: https://reviewboard.asterisk.org/r/4292/

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@430564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_macro.c