Review Board 1.7.16


testsuite: Add tests for ARI redirect; PJSIP Transfer

Review Request #4352 - Created Jan. 18, 2015 and submitted

Matt Jordan
testsuite
ASTERISK-24015, ASTERISK-24703
Reviewers
asterisk-dev
testsuite
This patch adds tests for https://reviewboard.asterisk.org/r/4316/, which includes both tests for PJSIP's .transfer channel callback and the ARI /channels/[id]/redirect operation.

*PJSIP Tests*
 - Test transferring an unanswered channel to a PJSIP endpoint, which responds to the initial INVITE request with a 302
 - Test transferring an answered channel to a PJSIP endpoint, which sends a REFER request to the target
 - Test transferring an unanswered channel to a SIP URI via PJSIP, which responds to the initial INVITE request with a 302
 - Test transferring an answered channel to a SIP URI via PJSIP, which sends a REFER request to the target

*ARI Tests*
 - Off-nominal testing of the new operation, verifying that the various off nominal error response codes are returned as expected
 - Nominal testing of the operation. For fun, this spawns four Asterisk instances (one call generator, one load balancer, and two destinations) - and proceeds to load balance 'calls' between the two destination instances.

As a pre-emptive note:
(1) The off-nominal test makes use of the ARI event matcher, as it requires a PJSIP channel and tests off nominal error response codes. Along with needing to originate a second channel, the Python callback for this is relatively self contained and limited, both of which remove most of the benefit of driving the whole thing in YAML.
(2) The nominal test is written in "old style" - a single run-test. I can't really see how anyone would re-use portions of it, but it was a fun test to write to show the power of the new operation - plus it does exercise the operation quite a lot.

 
Total:
12
Open:
0
Resolved:
10
Dropped:
2
Status:
From:
Review request changed
Updated (Feb. 12, 2015, 3:29 p.m.)
  • changed from pending to submitted
Committed in revision 6405

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.