diff options
author | Matthew Jordan <mjordan@digium.com> | 2015-01-21 13:10:54 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2015-01-21 13:10:54 +0000 |
commit | 894d4d781cd361a87ffc0ed343b47345bbfeaaaf (patch) | |
tree | 26057285bc9c24b8f2d026a04d88a613698a9620 /cel | |
parent | 98c3983c893149420786070356c51e406504a617 (diff) |
apps/app_dial: Don't publish DialEnd twice on unexpected GoSub/Macro values
The Dial application has some interesting options with the mid-call Macro (M)
and GoSub (U) options. If the MACRO_RESULT/GOSUB_RESULT returns specific
values, the Dial application will take some action upon the channels involved
in the dial operation (such as hanging up a particular party, etc.) The Dial
application ensures that a Stasis message is published in the event that
MACRO_RESULT/GOSUB_RESULT returns a value that kills the dial operation, so
that there is a corresponding DialEnd event published in AMI/ARI for the
DialBegin event that preceeded it.
A bug exists where that same DialEnd event will be published on Stasis even if
the value returned in MACRO_RESULT/GOSUB_RESULT is not one that the Dial
application cares about. This causes two DialEnd events to be published - one
with the MACRO_RESULT/GOSUB_RESULT and another with "ANSWERED" - which is all
sorts of wrong.
This patch fixes the bug by ensuring that we only publish a DialEnd message to
Stasis if the Dial application's mid-call Macro/GoSub returns something that
Dial cares about.
Review: https://reviewboard.asterisk.org/r/4336
ASTERISK-24682 #close
Reported by: Matt Jordan
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'cel')
0 files changed, 0 insertions, 0 deletions