diff options
Diffstat (limited to 'pjsip-apps/src/test-pjsua/mod_call.py')
-rw-r--r-- | pjsip-apps/src/test-pjsua/mod_call.py | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/pjsip-apps/src/test-pjsua/mod_call.py b/pjsip-apps/src/test-pjsua/mod_call.py deleted file mode 100644 index 7081aed4..00000000 --- a/pjsip-apps/src/test-pjsua/mod_call.py +++ /dev/null @@ -1,226 +0,0 @@ -# $Id$ -import time -import imp -import sys -import inc_const as const -from inc_cfg import * - -# Load configuration -cfg_file = imp.load_source("cfg_file", ARGS[1]) - -# Check media flow between ua1 and ua2 -def check_media(ua1, ua2): - ua1.send("#") - ua1.expect("#") - ua1.send("1122") - ua2.expect(const.RX_DTMF + "1") - ua2.expect(const.RX_DTMF + "1") - ua2.expect(const.RX_DTMF + "2") - ua2.expect(const.RX_DTMF + "2") - - -# Test body function -def test_func(t): - callee = t.process[0] - caller = t.process[1] - - # if have_reg then wait for couple of seconds for PUBLISH - # to complete (just in case pUBLISH is used) - if callee.inst_param.have_reg: - time.sleep(1) - if caller.inst_param.have_reg: - time.sleep(1) - - # Caller making call - caller.send("m") - caller.send(t.inst_params[0].uri) - caller.expect(const.STATE_CALLING) - - # Callee waits for call and answers with 180/Ringing - time.sleep(0.2) - callee.expect(const.EVENT_INCOMING_CALL) - callee.send("a") - callee.send("180") - callee.expect("SIP/2.0 180") - caller.expect("SIP/2.0 180") - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Callee answers with 200/OK - callee.send("a") - callee.send("200") - - # Wait until call is connected in both endpoints - time.sleep(0.2) - caller.expect(const.STATE_CONFIRMED) - callee.expect(const.STATE_CONFIRMED) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - time.sleep(0.1) - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is okay - time.sleep(0.3) - check_media(caller, callee) - check_media(callee, caller) - - # Hold call by caller - caller.send("H") - caller.expect("INVITE sip:") - callee.expect("INVITE sip:") - caller.expect(const.MEDIA_HOLD) - callee.expect(const.MEDIA_HOLD) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Release hold - time.sleep(0.5) - caller.send("v") - caller.expect("INVITE sip:") - callee.expect("INVITE sip:") - caller.expect(const.MEDIA_ACTIVE, title="waiting for media active after call hold") - callee.expect(const.MEDIA_ACTIVE, title="waiting for media active after call hold") - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is okay - check_media(caller, callee) - check_media(callee, caller) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Hold call by callee - callee.send("H") - callee.expect("INVITE sip:") - caller.expect("INVITE sip:") - caller.expect(const.MEDIA_HOLD) - callee.expect(const.MEDIA_HOLD) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Release hold - time.sleep(0.1) - callee.send("v") - callee.expect("INVITE sip:") - caller.expect("INVITE sip:") - callee.expect(const.MEDIA_ACTIVE, title="waiting for media active after call hold") - caller.expect(const.MEDIA_ACTIVE, title="waiting for media active after call hold") - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is okay - # Wait for some time for ICE negotiation - time.sleep(0.6) - check_media(caller, callee) - check_media(callee, caller) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # UPDATE (by caller) - caller.send("U") - #caller.sync_stdout() - callee.expect(const.MEDIA_ACTIVE, title="waiting for media active with UPDATE") - caller.expect(const.MEDIA_ACTIVE, title="waiting for media active with UPDATE") - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is okay - time.sleep(0.1) - check_media(caller, callee) - check_media(callee, caller) - - # UPDATE (by callee) - callee.send("U") - callee.expect("UPDATE sip:") - caller.expect("UPDATE sip:") - caller.expect(const.MEDIA_ACTIVE, title="waiting for media active with UPDATE") - callee.expect(const.MEDIA_ACTIVE, title="waiting for media active with UPDATE") - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is okay - time.sleep(0.1) - check_media(caller, callee) - check_media(callee, caller) - - # Synchronize stdout - caller.sync_stdout() - callee.sync_stdout() - - # Set codecs in both caller and callee so that there is - # no common codec between them. - # In caller we only enable PCMU, in callee we only enable PCMA - caller.send("Cp") - caller.expect("Enter codec") - caller.send("* 0") - caller.send("Cp") - caller.expect("Enter codec") - caller.send("pcmu 120") - - callee.send("Cp") - callee.expect("Enter codec") - callee.send("* 0") - callee.send("Cp") - callee.expect("Enter codec") - callee.send("pcma 120") - - # Test when UPDATE fails (by callee) - callee.send("U") - caller.expect("SIP/2.0 488") - callee.expect("SIP/2.0 488") - callee.sync_stdout() - caller.sync_stdout() - - # Test that media is still okay - time.sleep(0.1) - check_media(caller, callee) - check_media(callee, caller) - - # Test when UPDATE fails (by caller) - caller.send("U") - caller.expect("UPDATE sip:") - callee.expect("UPDATE sip:") - callee.expect("SIP/2.0 488") - caller.expect("SIP/2.0 488") - caller.sync_stdout() - callee.sync_stdout() - - # Test that media is still okay - time.sleep(0.1) - check_media(callee, caller) - check_media(caller, callee) - - # Hangup call - time.sleep(0.1) - caller.send("h") - - # Wait until calls are cleared in both endpoints - caller.expect(const.STATE_DISCONNECTED) - callee.expect(const.STATE_DISCONNECTED) - - -# Here where it all comes together -test = cfg_file.test_param -test.test_func = test_func - |