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

(Updated Jan. 16, 2015, 9:03 p.m.)


Review request for Asterisk Developers.


Changes
-------

More or less addressed Richard's finding.

I couldn't bring myself to use res9. I just can't. As such, the Macro/GoSub now 
have their own result variables, and set res appropriately if things fail. This 
prevents previous values of res from potentially affecting the logic (despite 
it not doing so previously).

This code is in desperate need of a refactoring, but we've actually already 
done that. It's called the Dial API. Oh well.


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


Repository: Asterisk


Description
-------

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.


Diffs (updated)
-----

  /branches/13/apps/app_dial.c 430751 

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


Testing
-------

See https://reviewboard.asterisk.org/r/4337 for tests.


Thanks,

Matt Jordan

-- 
_____________________________________________________________________
-- 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

Reply via email to