[asterisk-dev] [Code Review] 4267: Testsuite: Add blind transfer tests for Stasis application interaction.

jbigelow reviewboard at asterisk.org
Tue Dec 30 18:12:50 CST 2014

This is an automatically generated e-mail. To reply, visit:

(Updated Dec. 30, 2014, 6:12 p.m.)

Review request for Asterisk Developers and Mark Michelson.


Addresses issue that mjordan opened:
* Added a new module that uses the PJSUA python libraries and removed the usage of SIPp for the tests
* Updated test-config.yaml & pjsip.conf files

Note: For some reason when viewing the changes between r2 & r3 on this review, it shows the SIPp scenario files as added instead of removed. Viewing r3 alone properly doesn't show the files.

Bugs: ASTERISK-24581

Repository: testsuite

Description (updated)

This adds the remaining blind transfer tests 1.9 & 1.10 as described on the StasisStart/StasisEnd Test Plan at: https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=30279826

This additionally updates the existing test 'stasis_bridge_to_non_stasis_app' (1.8) to verify the StasisEnd events of the channels per the test plan. An additional (dummy) channel was added for the test to prevent the test from ending when the channels involved in the test are hung up. This allows the StasisEnd events of all the other channels to be verified before the test has ended. The test description has also been updated to include more details about the test.

The two new tests use the 'call_transfer.py' module which is a modified copy of tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/transfer.py for these two new tests. The module uses the pjsua python library to place calls into Asterisk and perform the blind transfer.

* Due to the architecture of pjsua_mod.py, the call_transfer.py module is used as both a pluggable module and a callback module. With a little more work the module could be made to handle other common variations (ex. who places calls, who receives a call, who performs the transfer, handle a transfer target that is another pjsua endpoint like the original module) with everything configurable via YAML. I imagine it would be useful for future tests. Any takers?  :)
* The bug ASTERISK-24649 was found during the development of the new tests here and will likely cause them to fail every so often.

Diffs (updated)

  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/tests.yaml 6155 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_same_stasis_app/test-config.yaml PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_same_stasis_app/configs/ast1/pjsip.conf PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_same_stasis_app/configs/ast1/extensions.conf PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_non_stasis_app/test-config.yaml 6155 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_non_stasis_app/configs/ast1/extensions.conf 6155 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_non_stasis_app/blind_transfer.py 6155 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_different_stasis_app/test-config.yaml PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_different_stasis_app/configs/ast1/pjsip.conf PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/stasis_bridge_to_different_stasis_app/configs/ast1/extensions.conf PRE-CREATION 
  /asterisk/trunk/tests/rest_api/external_interaction/blind_transfer/call_transfer.py PRE-CREATION 

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


* Executed tests multiple times
* Reviewed logs to manually verify StasisStart/StasisEnd events occurred.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141231/4bbeb3d1/attachment-0001.html>

More information about the asterisk-dev mailing list