summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2015-07-14 08:38:29 +0000
committerNanang Izzuddin <nanang@teluu.com>2015-07-14 08:38:29 +0000
commitd365a50d5673019403127acb42397cb05091de42 (patch)
tree1b7b58d21dc977d1f40b79e8562cd4ed68897a7c /tests
parentec442da77459e85fbe1929b22b86fae61ae58da9 (diff)
Re #1864: fixed assert and crash when remote remove and add back media lines in SDP:
- reverted back r5124 (of this ticket) and r4373 (of #1626) - applied another fix for #1626 as in described in the ticket desc - also fixed a related add/remove media issue: - we send an offer with 2 audio and 1 video in SDP - remote answers with only 1 audio in SDP - when we send a re-offer/re-INVITE, we have 5 media lines in our SDP (3 audio + 2 video, note 1 audio and 1 video are disabled) - call settings are actually maintained (2 active audio + 1 active video), just better to avoid the additional disabled media. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5135 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'tests')
-rw-r--r--tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.py7
-rw-r--r--tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.xml226
-rw-r--r--tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.py7
-rw-r--r--tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.xml227
4 files changed, 467 insertions, 0 deletions
diff --git a/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.py b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.py
new file mode 100644
index 00000000..6ef94ff4
--- /dev/null
+++ b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.py
@@ -0,0 +1,7 @@
+# $Id$
+#
+import inc_const as const
+
+PJSUA = ["--null-audio --max-calls=1 --auto-answer=200"]
+
+PJSUA_EXPECTS = []
diff --git a/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.xml b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.xml
new file mode 100644
index 00000000..581bd2b2
--- /dev/null
+++ b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario1.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<!-- This program is free software; you can redistribute it and/or -->
+<!-- modify it under the terms of the GNU General Public License as -->
+<!-- published by the Free Software Foundation; either version 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program is distributed in the hope that it will be useful, -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
+<!-- GNU General Public License for more details. -->
+<!-- -->
+<!-- You should have received a copy of the GNU General Public License -->
+<!-- along with this program; if not, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- -->
+
+<scenario name="Ticket #1864 scenario 1">
+ <!-- UAC -->
+
+ <!-- offer with two media lines -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/SAVP 0
+ c=IN IP4 172.20.73.100
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:MFtlKkxOZF16aGBwK0Veaks2JC5+cDBnLWlyeUhN
+ m=audio 7016 RTP/AVP 0
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <!-- reoffer with one media line -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/AVP 0
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <!-- another offer with two media lines -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 3 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/SAVP 0
+ c=IN IP4 172.20.73.100
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:MFtlKkxOZF16aGBwK0Veaks2JC5+cDBnLWlyeUhN
+ m=audio 7016 RTP/AVP 0
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 3 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <send>
+ <![CDATA[
+
+ BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 4 BYE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+
diff --git a/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.py b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.py
new file mode 100644
index 00000000..892499aa
--- /dev/null
+++ b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.py
@@ -0,0 +1,7 @@
+# $Id$
+#
+import inc_const as const
+
+PJSUA = ["--null-audio --max-calls=1 --dis-codec=pcma --auto-answer=200"]
+
+PJSUA_EXPECTS = []
diff --git a/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.xml b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.xml
new file mode 100644
index 00000000..be583f86
--- /dev/null
+++ b/tests/pjsua/scripts-sipp/uac-ticket-1864-scenario2.xml
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE scenario SYSTEM "sipp.dtd">
+
+<!-- This program is free software; you can redistribute it and/or -->
+<!-- modify it under the terms of the GNU General Public License as -->
+<!-- published by the Free Software Foundation; either version 2 of the -->
+<!-- License, or (at your option) any later version. -->
+<!-- -->
+<!-- This program is distributed in the hope that it will be useful, -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
+<!-- GNU General Public License for more details. -->
+<!-- -->
+<!-- You should have received a copy of the GNU General Public License -->
+<!-- along with this program; if not, write to the -->
+<!-- Free Software Foundation, Inc., -->
+<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
+<!-- -->
+<!-- -->
+
+<scenario name="Ticket #1864 scenario 2">
+ <!-- UAC -->
+
+ <!-- offer with two media lines -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>
+ Call-ID: [call_id]
+ CSeq: 1 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/SAVP 0
+ c=IN IP4 172.20.73.100
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:MFtlKkxOZF16aGBwK0Veaks2JC5+cDBnLWlyeUhN
+ m=audio 7016 RTP/AVP 0
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <recv response="180" optional="true">
+ </recv>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 1 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <!-- reoffer with one media line and remote unsupported codec -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/AVP 8
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <!-- remote rejects the offer due to no matching codec -->
+ <recv response="500" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 2 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <!-- reoffer with two media lines and supported codec -->
+ <send retrans="500">
+ <![CDATA[
+
+ INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 3 INVITE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ v=0
+ o=3cxPS 518818627584 526334820353 IN IP4 172.20.73.100
+ s=3cxPS Audio call
+ c=IN IP4 172.20.73.100
+ t=0 0
+ m=audio 7016 RTP/SAVP 0
+ c=IN IP4 172.20.73.100
+ a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:MFtlKkxOZF16aGBwK0Veaks2JC5+cDBnLWlyeUhN
+ m=audio 7016 RTP/AVP 0
+ c=IN IP4 172.20.73.100
+
+ ]]>
+ </send>
+
+ <recv response="100" optional="true">
+ </recv>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <send>
+ <![CDATA[
+
+ ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 3 ACK
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+
+ <pause milliseconds="1000"/>
+
+
+ <send>
+ <![CDATA[
+
+ BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
+ Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
+ From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
+ To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
+ Call-ID: [call_id]
+ CSeq: 4 BYE
+ Contact: <sip:sipp@[local_ip]:[local_port]>
+ Max-Forwards: 70
+ Subject: Performance Test
+ Content-Type: application/sdp
+ Content-Length: [len]
+
+ ]]>
+ </send>
+
+ <recv response="200" rtd="true">
+ </recv>
+
+ <!-- definition of the response time repartition table (unit is ms) -->
+ <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
+
+ <!-- definition of the call length repartition table (unit is ms) -->
+ <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
+
+</scenario>
+