summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-06-26 19:51:01 +0000
committerBenny Prijono <bennylp@teluu.com>2008-06-26 19:51:01 +0000
commit21192d78dc4ffd64243826b72000817cdbb80aed (patch)
treed7230bf805f142efbd95550e5d7b7583db736fe0
parent1cbe183e8d7c355373c17e4e9ce3b0955e76bc38 (diff)
Added various tests with invalid SDP and other SIP parameters
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2066 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip-apps/src/test-pjsua/inc_cfg.py2
-rw-r--r--pjsip-apps/src/test-pjsua/inc_sip.py9
-rw-r--r--pjsip-apps/src/test-pjsua/mod_sendto.py4
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/150_err_extension.py27
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/151_err_sdp_video.py24
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/152_err_sdp_no_media.py22
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py25
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/155_err_sdp_bad_syntax.py23
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/156_err_sdp_bad_net_type.py27
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py27
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py27
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/160_err_duplicate_replaces.py23
-rw-r--r--pjsip-apps/src/test-pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py23
13 files changed, 258 insertions, 5 deletions
diff --git a/pjsip-apps/src/test-pjsua/inc_cfg.py b/pjsip-apps/src/test-pjsua/inc_cfg.py
index 5b7514a6..f20a9349 100644
--- a/pjsip-apps/src/test-pjsua/inc_cfg.py
+++ b/pjsip-apps/src/test-pjsua/inc_cfg.py
@@ -79,8 +79,8 @@ class TestParam:
def __init__( self,
title, # Test title
inst_params, # InstanceParam's as list
- skip=False,
func=None,
+ skip=False,
post_func=None,
user_data=None):
self.title = title
diff --git a/pjsip-apps/src/test-pjsua/inc_sip.py b/pjsip-apps/src/test-pjsua/inc_sip.py
index 04b5a96e..a4eb15ad 100644
--- a/pjsip-apps/src/test-pjsua/inc_sip.py
+++ b/pjsip-apps/src/test-pjsua/inc_sip.py
@@ -1,4 +1,4 @@
-# $Id:$
+# $Id$
#
from socket import *
import re
@@ -207,6 +207,8 @@ class SendtoCfg:
inst_param = None
# Initial SDP
sdp = ""
+ # Extra headers to add to request
+ extra_headers = ""
# Expected code
resp_code = 0
# Use TCP?
@@ -216,11 +218,14 @@ class SendtoCfg:
# List of RE patterns that must NOT exist in response
resp_exclude = []
# Constructor
- def __init__(self, name, pjsua_args, sdp, resp_code, resp_inc=[], resp_exc=[], use_tcp=False):
+ def __init__(self, name, pjsua_args, sdp, resp_code,
+ resp_inc=[], resp_exc=[], use_tcp=False,
+ extra_headers=""):
self.sdp = sdp
self.resp_code = resp_code
self.resp_include = resp_inc
self.resp_exclude = resp_exc
self.use_tcp = use_tcp
+ self.extra_headers = extra_headers
self.inst_param = cfg.InstanceParam("pjsua", pjsua_args)
diff --git a/pjsip-apps/src/test-pjsua/mod_sendto.py b/pjsip-apps/src/test-pjsua/mod_sendto.py
index 92437e97..7b1f4823 100644
--- a/pjsip-apps/src/test-pjsua/mod_sendto.py
+++ b/pjsip-apps/src/test-pjsua/mod_sendto.py
@@ -1,4 +1,4 @@
-# $Id:$
+# $Id$
import imp
import sys
import inc_sip as sip
@@ -18,7 +18,7 @@ def test_func(t, userdata):
#dlg = sip.Dialog("127.0.0.1", 5060, tcp=cfg_file.sendto_cfg.use_tcp)
cfg = cfg_file.sendto_cfg
- req = dlg.create_invite(cfg.sdp)
+ req = dlg.create_invite(cfg.sdp, cfg.extra_headers)
resp = dlg.send_request_wait(req, 10)
if resp=="":
raise TestError("Timed-out waiting for response")
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/150_err_extension.py b/pjsip-apps/src/test-pjsua/scripts-sendto/150_err_extension.py
new file mode 100644
index 00000000..cb46d1f4
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/150_err_extension.py
@@ -0,0 +1,27 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=audio 4000 RTP/AVP 0 101
+a=rtpmap:0 PCMU/8000
+a=sendrecv
+a=rtpmap:101 telephone-event/8000
+a=fmtp:101 0-15
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = "Require: xxx-my-extension\n"
+include = ["Unsupported: xxx-my-extension"]
+exclude = []
+sendto_cfg = sip.SendtoCfg("Bad extension", pjsua_args, sdp, 420,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/151_err_sdp_video.py b/pjsip-apps/src/test-pjsua/scripts-sendto/151_err_sdp_video.py
new file mode 100644
index 00000000..62944843
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/151_err_sdp_video.py
@@ -0,0 +1,24 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=video 4000 RTP/AVP 0
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = ["Content-Type: application/sdp", # response must include SDP
+ "m=audio"]
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("Video not acceptable", pjsua_args, sdp, 488,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/152_err_sdp_no_media.py b/pjsip-apps/src/test-pjsua/scripts-sendto/152_err_sdp_no_media.py
new file mode 100644
index 00000000..4e7465a2
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/152_err_sdp_no_media.py
@@ -0,0 +1,22 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = []
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("No media in SDP", pjsua_args, sdp, 400,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py b/pjsip-apps/src/test-pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py
new file mode 100644
index 00000000..173a6b8f
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/153_err_sdp_unsupported_codec.py
@@ -0,0 +1,25 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=video 4000 RTP/AVP 101
+a=rtpmap:101 my-proprietary-codec
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = ["Content-Type: application/sdp", # response must include SDP
+ "m=audio"]
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("Unsupported codec", pjsua_args, sdp, 488,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/155_err_sdp_bad_syntax.py b/pjsip-apps/src/test-pjsua/scripts-sendto/155_err_sdp_bad_syntax.py
new file mode 100644
index 00000000..d32ef3d6
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/155_err_sdp_bad_syntax.py
@@ -0,0 +1,23 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=
+o=
+s=
+c=
+t=
+a=
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = [ "Warning: " ] # better have Warning header
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("Bad SDP syntax", pjsua_args, sdp, 400,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/156_err_sdp_bad_net_type.py b/pjsip-apps/src/test-pjsua/scripts-sendto/156_err_sdp_bad_net_type.py
new file mode 100644
index 00000000..7c1536b7
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/156_err_sdp_bad_net_type.py
@@ -0,0 +1,27 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=AF IP4 127.0.0.1
+t=0 0
+m=audio 4000 RTP/AVP 0 101
+a=rtpmap:0 PCMU/8000
+a=sendrecv
+a=rtpmap:101 telephone-event/8000
+a=fmtp:101 0-15
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = [ "Warning: " ] # better have Warning header
+exclude = []
+sendto_cfg = sip.SendtoCfg("Bad SDP network type", pjsua_args, sdp, 400,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py b/pjsip-apps/src/test-pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py
new file mode 100644
index 00000000..cac5c988
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/157_err_sdp_bad_addr_type.py
@@ -0,0 +1,27 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP7 127.0.0.1
+t=0 0
+m=audio 4000 RTP/AVP 0 101
+a=rtpmap:0 PCMU/8000
+a=sendrecv
+a=rtpmap:101 telephone-event/8000
+a=fmtp:101 0-15
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = [ "Warning: " ] # better have Warning header
+exclude = []
+sendto_cfg = sip.SendtoCfg("Bad SDP address type", pjsua_args, sdp, 400,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py b/pjsip-apps/src/test-pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py
new file mode 100644
index 00000000..28f4998c
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/158_err_sdp_bad_transport_type.py
@@ -0,0 +1,27 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=audio 4000 RTP/XAVP 0 101
+a=rtpmap:0 PCMU/8000
+a=sendrecv
+a=rtpmap:101 telephone-event/8000
+a=fmtp:101 0-15
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = ""
+include = []
+exclude = []
+sendto_cfg = sip.SendtoCfg("Unsupported transport type", pjsua_args, sdp, 406,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/160_err_duplicate_replaces.py b/pjsip-apps/src/test-pjsua/scripts-sendto/160_err_duplicate_replaces.py
new file mode 100644
index 00000000..ec4b0fdf
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/160_err_duplicate_replaces.py
@@ -0,0 +1,23 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=audio 4000 RTP/AVP 0
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = "Replaces: abcd;from_tag=1\r\nReplaces: efgh;from_tag=2\r\n"
+include = []
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("Duplicate replaces header", pjsua_args, sdp, 400,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+
diff --git a/pjsip-apps/src/test-pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py b/pjsip-apps/src/test-pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py
new file mode 100644
index 00000000..863a1a57
--- /dev/null
+++ b/pjsip-apps/src/test-pjsua/scripts-sendto/161_err_replaces_dlg_not_found.py
@@ -0,0 +1,23 @@
+# $Id$
+import inc_sip as sip
+import inc_sdp as sdp
+
+sdp = \
+"""
+v=0
+o=- 0 0 IN IP4 127.0.0.1
+s=pjmedia
+c=IN IP4 127.0.0.1
+t=0 0
+m=audio 4000 RTP/AVP 0
+"""
+
+pjsua_args = "--null-audio --auto-answer 200"
+extra_headers = "Replaces: abcd;from_tag=1\r\n"
+include = []
+exclude = []
+
+sendto_cfg = sip.SendtoCfg("Replaced dialog not found", pjsua_args, sdp, 481,
+ extra_headers=extra_headers,
+ resp_inc=include, resp_exc=exclude)
+