summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/test-pjsua/mod_call.py
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/test-pjsua/mod_call.py')
-rw-r--r--pjsip-apps/src/test-pjsua/mod_call.py226
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
-