[asterisk-commits] mjordan: testsuite/asterisk/trunk r4642 - in /asterisk/trunk/tests/apps/dial:...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Jan 31 17:05:44 CST 2014
Author: mjordan
Date: Fri Jan 31 17:05:42 2014
New Revision: 4642
URL: http://svnview.digium.com/svn/testsuite?view=rev&rev=4642
Log:
dial: Add tests for post-dial/mid-call actions/events
Mid-call events, the 'h' extension, and moving channels around during/after a
Dial operation can cause lots of strange dialplan execution. For systems that
base their state partially on this dialplan execution (such as CDRs), this
can be tricky to handle. These tests verify the dialplan execution for these
options.
These tests include:
* Mid-call events (GoSub/Macro): ensure that we don't get extra CDR records;
that the application is still Dial after dialplan execution in the final
record; and that the dial status afterwards is the result of the
GoSub/Macro evaluation
* After-bridge actions: This includes the F,G, and g option. Some of these
are after-bridge, some prevent the bridge from happening in the first
place. The tests verify that the correct dialplan actions take place, and
for Asterisk 12 and later, that the expected CDR entries are created.
* 'h' extension execution of the peer. This should not only happen, but
not create an extra CDR.
(issue ASTERISK-23164)
Review: https://reviewboard.asterisk.org/r/3153/
Added:
asterisk/trunk/tests/apps/dial/action_post_answer/
asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/
asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/
asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/
asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/
asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/
asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/
asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/
asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/
asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/
asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml (with props)
asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml (with props)
asterisk/trunk/tests/apps/dial/mid_call_events/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml (with props)
asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/
asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/test-config.yaml (with props)
asterisk/trunk/tests/apps/dial/mid_call_events/tests.yaml (with props)
asterisk/trunk/tests/apps/dial/peer_h_exten/
asterisk/trunk/tests/apps/dial/peer_h_exten/configs/
asterisk/trunk/tests/apps/dial/peer_h_exten/configs/ast1/
asterisk/trunk/tests/apps/dial/peer_h_exten/configs/ast1/extensions.conf (with props)
asterisk/trunk/tests/apps/dial/peer_h_exten/test-config.yaml (with props)
Modified:
asterisk/trunk/tests/apps/dial/tests.yaml
Added: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf Fri Jan 31 17:05:42 2014
@@ -1,0 +1,27 @@
+
+[default]
+
+exten => priority,1,NoOp()
+ same => n,Set(TIMEOUT(absolute)=2)
+ same => n,Dial(Local/target,,F)
+ same => n,UserEvent(Continue, result: passed)
+ same => n,Wait(1)
+ same => n,Hangup()
+
+exten => transfer,1,NoOp()
+ same => n,Set(TIMEOUT(absolute)=2)
+ same => n,Dial(Local/target,,F(other^jump^1))
+ same => n,UserEvent(Continue, result: failed)
+ same => n,Hangup()
+
+exten => target,1,NoOp()
+ same => n,Set(CDR_PROP(disable)=True)
+ same => n,Answer()
+ same => n,Echo()
+
+[other]
+
+exten => jump,1,NoOp()
+ same => n,UserEvent(Continue, result: passed)
+ same => n,Wait(1)
+ same => n,Hangup()
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,106 @@
+testinfo:
+ summary: 'Test the F option for the Dial application (called party continue)'
+ description: |
+ This test covers two scenarios:
+ (1) It verifies that if the F option is specified to the Dial application,
+ that the called party continues on in the dialplan at priority + 1 after
+ the caller hangs up.
+ (2) It verifies that if the F option is specified with a parseable goto
+ provided to it, that the called party is transferred to that extension
+ after the caller hangs up.
+
+test-modules:
+ test-object:
+ config-section: test-config
+ typename: 'test_case.SimpleTestCase'
+ modules:
+ -
+ config-section: 'ami-config'
+ typename: 'ami.AMIEventModule'
+ -
+ minversion: '12.0.0'
+ config-section: cdr-config-12
+ typename: 'cdr.CDRModule'
+
+test-config:
+ spawn-after-hangup: True
+ expected_events: 0
+ ignore-originate-failures: True
+ test-iterations:
+ -
+ channel: 'Local/priority at default'
+ context: 'default'
+ exten: 'target'
+ priority: '1'
+ -
+ channel: 'Local/transfer at default'
+ context: 'default'
+ exten: 'target'
+ priority: '1'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Continue'
+ Channel: 'Local/target at default-.{8};1'
+ requirements:
+ match:
+ result: 'passed'
+ count: '2'
+
+cdr-config-12:
+ -
+ file: 'Master'
+ lines:
+ -
+ accountcode: ''
+ destination: 'priority'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/priority at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'priority'
+ dcontext: 'default'
+ callerid: '"" <priority>'
+ channel: 'Local/target at default-.{8};1'
+ dchannel: ''
+ lastapp: 'Hangup'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'transfer'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/transfer at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'jump'
+ dcontext: 'other'
+ callerid: '"" <transfer>'
+ channel: 'Local/target at default-.{8};1'
+ dchannel: ''
+ lastapp: 'Hangup'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+
+
+properties:
+ minversion: '1.8.0.0'
+ dependencies:
+ - python : 'twisted'
+ - python : 'starpy'
+ tags:
+ - dial
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/called_party_continue/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf Fri Jan 31 17:05:42 2014
@@ -1,0 +1,18 @@
+
+[default]
+
+exten => set_timeout,1,NoOp()
+ same => n,Set(TIMEOUT(absolute)=2)
+ same => n,Return()
+
+exten => continue,1,NoOp()
+ same => n,Dial(Local/target,,gb(default^set_timeout^1))
+ same => n,UserEvent(Continue, result: passed)
+ same => n,Wait(1)
+ same => n,Hangup()
+
+exten => target,1,NoOp()
+ same => n,Set(CDR_PROP(disable)=True)
+ same => n,Answer()
+ same => n,Echo()
+
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,78 @@
+testinfo:
+ summary: 'Test the g option for the Dial application (caller continue)'
+ description: |
+ This test verifies that providing the 'g' option to the Dial application
+ will result in the caller continuing on in the dialplan if the called
+ party hangs up.
+
+test-modules:
+ test-object:
+ config-section: test-config
+ typename: 'test_case.SimpleTestCase'
+ modules:
+ -
+ config-section: 'ami-config'
+ typename: 'ami.AMIEventModule'
+ -
+ minversion: '12.0.0'
+ config-section: cdr-config-12
+ typename: 'cdr.CDRModule'
+
+
+test-config:
+ spawn-after-hangup: True
+ expected_events: 0
+ ignore-originate-failures: True
+ test-iterations:
+ -
+ channel: 'Local/continue at default'
+ context: 'default'
+ exten: 'target'
+ priority: '1'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Continue'
+ Channel: 'Local/continue at default-.{8};2'
+ requirements:
+ match:
+ result: 'passed'
+ count: '1'
+
+cdr-config-12:
+ -
+ file: 'Master'
+ lines:
+ -
+ accountcode: ''
+ destination: 'continue'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/continue at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'continue'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/continue at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Hangup'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+
+
+properties:
+ minversion: '1.8.0.0'
+ dependencies:
+ - python : 'twisted'
+ - python : 'starpy'
+ tags:
+ - dial
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/caller_continue/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf Fri Jan 31 17:05:42 2014
@@ -1,0 +1,31 @@
+
+[default]
+
+exten => transfer,1,NoOp()
+ same => n,Dial(Local/target,,G(other^jump^1))
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+
+exten => target,1,NoOp()
+ same => n,Set(CDR_PROP(disable)=True)
+ same => n,Answer()
+ same => n,Echo()
+
+[other]
+
+exten => jump,1,Goto(jump_caller,1)
+ same => n,Goto(jump_callee,1)
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+
+exten => jump_caller,1,NoOp()
+ same => n,Answer()
+ same => n,Wait(2)
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
+
+exten => jump_callee,1,NoOp()
+ same => n,Answer()
+ same => n,Wait(1)
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,102 @@
+testinfo:
+ summary: 'Test the G option for the Dial application (party disperse)'
+ description: |
+ This test verifies what is probably the weirdest option in Dial:
+ the dreaded 'G' option. This option causes the caller/callee to not
+ be bridged, but instead transfers both parties to different locations
+ in the dialplan. In the case of the caller, it is transferred to the
+ parseable goto location provided with the G option; in the case of the
+ called party, it is transferred to the priority + 1 of the same location.
+
+test-modules:
+ test-object:
+ config-section: test-config
+ typename: 'test_case.SimpleTestCase'
+ modules:
+ -
+ config-section: 'ami-config'
+ typename: 'ami.AMIEventModule'
+ -
+ minversion: '12.0.0'
+ config-section: cdr-config-12
+ typename: 'cdr.CDRModule'
+
+test-config:
+ spawn-after-hangup: True
+ expected_events: 0
+ ignore-originate-failures: True
+ test-iterations:
+ -
+ channel: 'Local/transfer at default'
+ context: 'default'
+ exten: 'target'
+ priority: '1'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Jump'
+ Exten: 'jump_caller'
+ requirements:
+ match:
+ result: 'passed'
+ count: '1'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Jump'
+ Exten: 'jump_callee'
+ requirements:
+ match:
+ result: 'passed'
+ count: '1'
+
+
+cdr-config-12:
+ -
+ file: 'Master'
+ lines:
+ -
+ accountcode: ''
+ destination: 'jump_callee'
+ dcontext: 'other'
+ callerid: '"" <transfer>'
+ channel: 'Local/target at default-.{8};1'
+ dchannel: ''
+ lastapp: 'Hangup'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'jump'
+ dcontext: 'other'
+ callerid: '"" <>'
+ channel: 'Local/transfer at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'jump_caller'
+ dcontext: 'other'
+ callerid: '"" <>'
+ channel: 'Local/transfer at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Hangup'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+
+
+properties:
+ minversion: '1.8.0.0'
+ dependencies:
+ - python : 'twisted'
+ - python : 'starpy'
+ tags:
+ - dial
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/party_transfer/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml (added)
+++ asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,6 @@
+# Enter tests here in the order they should be considered for execution:
+tests:
+ - test: 'called_party_continue'
+ - test: 'caller_continue'
+ - test: 'party_transfer'
+
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/action_post_answer/tests.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf Fri Jan 31 17:05:42 2014
@@ -1,0 +1,56 @@
+[mid_call]
+
+exten => s,1,NoOp()
+ same => n,Set(GOSUB_RESULT=${LOCAL(ARG1)})
+ same => n,UserEvent(MidCall, result: ${GOSUB_RESULT})
+ same => n,Return()
+
+[mid_call_goto_full]
+
+exten => s,1,NoOp()
+ same => n,Set(GOSUB_RESULT=GOTO:goto_full_context^goto_full_jump^1)
+ same => n,UserEvent(MidCall, result: ${GOSUB_RESULT})
+ same => n,Return()
+
+[default]
+
+exten => abort,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call^ABORT))
+ same => n,Hangup()
+
+exten => congestion,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call^CONGESTION))
+ same => n,Hangup()
+
+exten => busy,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call^BUSY))
+ same => n,Hangup()
+
+exten => continue,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call^CONTINUE))
+ same => n,UserEvent(Continue)
+ same => n,Hangup()
+
+exten => goto,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call^GOTO:jump))
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+ same => n(jump),NoOp()
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
+
+exten => goto_full,1,NoOp()
+ same => n,Dial(Local/target,,U(mid_call_goto_full))
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+
+exten => target,1,NoOp()
+ same => n,Answer()
+ same => n,Echo()
+
+[goto_full_context]
+
+exten => goto_full_jump,1,NoOp()
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
+
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml (added)
+++ asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,257 @@
+testinfo:
+ summary: 'Test mid-call GoSub execution during a dial'
+ description: |
+ This test verifies mid-call GoSub execution using the U option
+ on the calling channel during a dial. Execution occurs after the
+ called channel has answered but before bridging. The test verifies
+ that the result of the GoSub affects the overall result of the Dial.
+
+test-modules:
+ test-object:
+ config-section: test-config
+ typename: 'test_case.SimpleTestCase'
+ modules:
+ -
+ config-section: 'ami-config'
+ typename: 'ami.AMIEventModule'
+ -
+ config-section: 'dial-events-12'
+ typename: 'ami.AMIEventModule'
+ minversion: '12.0.0'
+ -
+ minversion: '12.0.0'
+ config-section: cdr-config-12
+ typename: 'cdr.CDRModule'
+
+
+test-config:
+ spawn-after-hangup: True
+ expected_events: 0
+ ignore-originate-failures: True
+ test-iterations:
+ -
+ channel: 'Local/abort at default'
+ application: 'Echo'
+ -
+ channel: 'Local/busy at default'
+ application: 'Echo'
+ -
+ channel: 'Local/congestion at default'
+ application: 'Echo'
+ -
+ channel: 'Local/continue at default'
+ application: 'Echo'
+ -
+ channel: 'Local/goto at default'
+ application: 'Echo'
+ -
+ channel: 'Local/goto_full at default'
+ application: 'Echo'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'MidCall'
+ count: '6'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Jump'
+ requirements:
+ match:
+ result: 'pass'
+ count: '2'
+
+dial-events-12:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/abort-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'ABORT'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/busy-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'BUSY'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/congestion-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'CONGESTION'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/continue-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'CONTINUE'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/goto-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'GOTO:jump'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/goto_full-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'GOTO:goto_full_context,goto_full_jump,1'
+
+cdr-config-12:
+ -
+ file: 'Master'
+ lines:
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'abort'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/abort at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'FAILED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'busy'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/busy at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'BUSY'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'congestion'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/congestion at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'FAILED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'continue'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/continue at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'FAILED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'goto'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/goto at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'FAILED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'target'
+ dcontext: 'default'
+ callerid: '"" <>'
+ channel: 'Local/target at default-.{8};2'
+ dchannel: ''
+ lastapp: 'Answer'
+ disposition: 'ANSWERED'
+ amaflags: 'DOCUMENTATION'
+ -
+ accountcode: ''
+ destination: 'goto_full_jump'
+ dcontext: 'goto_full_context'
+ callerid: '"" <>'
+ channel: 'Local/goto_full at default-.{8};2'
+ dchannel: 'Local/target at default-.{8};1'
+ lastapp: 'Dial'
+ disposition: 'FAILED'
+ amaflags: 'DOCUMENTATION'
+
+properties:
+ minversion: '1.8.0.0'
+ dependencies:
+ - python : 'twisted'
+ - python : 'starpy'
+ tags:
+ - dial
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_gosub/test-config.yaml
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf (added)
+++ asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf Fri Jan 31 17:05:42 2014
@@ -1,0 +1,54 @@
+[macro-mid_call]
+
+exten => s,1,NoOp()
+ same => n,Set(MACRO_RESULT=${ARG1})
+ same => n,UserEvent(MidCall, result: ${MACRO_RESULT})
+
+[macro-mid_call_goto_full]
+
+exten => s,1,NoOp()
+ same => n,Set(MACRO_RESULT=GOTO:goto_full_context^goto_full_jump^1)
+ same => n,UserEvent(MidCall, result: ${MACRO_RESULT})
+
+[default]
+
+exten => abort,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call^ABORT))
+ same => n,Hangup()
+
+exten => congestion,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call^CONGESTION))
+ same => n,Hangup()
+
+exten => busy,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call^BUSY))
+ same => n,Hangup()
+
+exten => continue,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call^CONTINUE))
+ same => n,UserEvent(Continue)
+ same => n,Hangup()
+
+exten => goto,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call^GOTO:jump))
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+ same => n(jump),NoOp()
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
+
+exten => goto_full,1,NoOp()
+ same => n,Dial(Local/target,,M(mid_call_goto_full))
+ same => n,UserEvent(Jump, result: failed)
+ same => n,Hangup()
+
+exten => target,1,NoOp()
+ same => n,Answer()
+ same => n,Echo()
+
+[goto_full_context]
+
+exten => goto_full_jump,1,NoOp()
+ same => n,UserEvent(Jump, result: passed)
+ same => n,Hangup()
+
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/configs/ast1/extensions.conf
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/test-config.yaml
URL: http://svnview.digium.com/svn/testsuite/asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/test-config.yaml?view=auto&rev=4642
==============================================================================
--- asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/test-config.yaml (added)
+++ asterisk/trunk/tests/apps/dial/mid_call_events/dial_macro/test-config.yaml Fri Jan 31 17:05:42 2014
@@ -1,0 +1,257 @@
+testinfo:
+ summary: 'Test mid-call Macro execution during a dial'
+ description: |
+ This test verifies mid-call Macro execution using the M option
+ on the calling channel during a dial. Execution occurs after the
+ called channel has answered but before bridging. The test verifies
+ that the result of the Macro affects the overall result of the Dial.
+
+test-modules:
+ test-object:
+ config-section: test-config
+ typename: 'test_case.SimpleTestCase'
+ modules:
+ -
+ config-section: 'ami-config'
+ typename: 'ami.AMIEventModule'
+ -
+ config-section: 'dial-events-12'
+ typename: 'ami.AMIEventModule'
+ minversion: '12.0.0'
+ -
+ minversion: '12.0.0'
+ config-section: cdr-config-12
+ typename: 'cdr.CDRModule'
+
+
+test-config:
+ spawn-after-hangup: True
+ expected_events: 0
+ ignore-originate-failures: True
+ test-iterations:
+ -
+ channel: 'Local/abort at default'
+ application: 'Echo'
+ -
+ channel: 'Local/busy at default'
+ application: 'Echo'
+ -
+ channel: 'Local/congestion at default'
+ application: 'Echo'
+ -
+ channel: 'Local/continue at default'
+ application: 'Echo'
+ -
+ channel: 'Local/goto at default'
+ application: 'Echo'
+ -
+ channel: 'Local/goto_full at default'
+ application: 'Echo'
+
+ami-config:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'MidCall'
+ count: '6'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'UserEvent'
+ UserEvent: 'Jump'
+ requirements:
+ match:
+ result: 'pass'
+ count: '2'
+
+dial-events-12:
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/abort-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'ABORT'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/busy-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'BUSY'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/congestion-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'CONGESTION'
+ -
+ type: 'headermatch'
+ conditions:
+ match:
+ Event: 'DialEnd'
+ Channel: 'Local/continue-.{8};2'
+ requirements:
+ DestChannel: 'Local/target-.{8};1'
+ DialStatus: 'CONTINUE'
+ -
+ type: 'headermatch'
[... 329 lines stripped ...]
More information about the asterisk-commits
mailing list