blob: d1cc04f3c19c3a6607e9098c8db8394602ab53f9 [file] [log] [blame]
Benny Prijono07849742009-10-06 13:33:21 +00001<?xml version="1.0" encoding="ISO-8859-1" ?>
2<!DOCTYPE scenario SYSTEM "sipp.dtd">
3
4<!-- This program is free software; you can redistribute it and/or -->
5<!-- modify it under the terms of the GNU General Public License as -->
6<!-- published by the Free Software Foundation; either version 2 of the -->
7<!-- License, or (at your option) any later version. -->
8<!-- -->
9<!-- This program is distributed in the hope that it will be useful, -->
10<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
11<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -->
12<!-- GNU General Public License for more details. -->
13<!-- -->
14<!-- You should have received a copy of the GNU General Public License -->
15<!-- along with this program; if not, write to the -->
16<!-- Free Software Foundation, Inc., -->
17<!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -->
18<!-- -->
19<!-- -->
20
21<!-- Note:
22 For this test to work, PJSUA-LIB needs to add video line, with
23 this patch:
24
25 pjsua_media.c:1253, after call to pjmedia_endpt_create_sdp():
26
27 if (1) {
28 pjmedia_sdp_media *m = PJ_POOL_ZALLOC_T(pool, pjmedia_sdp_media);
29 m->desc.media = pj_str("video");
30 m->desc.port = 3000;
31 m->desc.transport = pj_str("RTP/AVP");
32 m->desc.fmt_count = 1;
33 m->desc.fmt[0] = pj_str("0");
34 sdp->media[sdp->media_count++] = m;
35 }
36
37-->
38
39
40<scenario name="UAC with bad ACK">
41 <!-- UAC with bad ACK causes assertion with pjsip 1.4 -->
42 <send retrans="500">
43 <![CDATA[
44
45 INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
46 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
47 From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
48 To: sut <sip:[service]@[remote_ip]:[remote_port]>
49 Call-ID: [call_id]
50 CSeq: 1 INVITE
51 Contact: sip:sipp@[local_ip]:[local_port]
52 Max-Forwards: 70
53 Subject: Performance Test
54 Content-Type: application/sdp
55 Content-Length: [len]
56
57 v=0
58 o=Tester 234 123 IN IP4 89.208.145.194
59 s=Tester
60 c=IN IP4 89.208.145.194
61 t=0 0
62 m=audio 17424 RTP/AVP 111 0 18 101
63 a=rtpmap:111 SPEEX/16000
64 a=rtpmap:0 PCMU/8000
65 a=rtpmap:18 G729/8000
66 a=rtpmap:101 telephone-event/8000
67 a=sendrecv
68 a=rtcp:17425
69 m=video 11128 RTP/AVP 34 103 104
70 a=rtpmap:34 H263/90000
71 a=rtpmap:103 H263-1998/90000
72 a=rtpmap:104 H264/90000
73 a=sendrecv
74 a=rtcp:11129
75
76 ]]>
77 </send>
78
79 <recv response="100"
80 optional="true">
81 </recv>
82
83 <recv response="180" optional="true">
84 </recv>
85
86 <!-- By adding rrs="true" (Record Route Sets), the route sets -->
87 <!-- are saved and used for following messages sent. Useful to test -->
88 <!-- against stateful SIP proxies/B2BUAs. -->
89 <recv response="200" rtd="true">
90 </recv>
91
92 <!-- Packet lost can be simulated in any send/recv message by -->
93 <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
94 <send>
95 <![CDATA[
96
97 ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
98 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
99 From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
100 To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
101 Call-ID: [call_id]
102 CSeq: 1 ACK
103 Contact: sip:sipp@[local_ip]:[local_port]
104 Max-Forwards: 70
105 Subject: Performance Test
106 Content-Length: 0
107
108 ]]>
109 </send>
110
111 <!-- This delay can be customized by the -d command-line option -->
112 <!-- or by adding a 'milliseconds = "value"' option here. -->
113 <pause milliseconds="2000"/>
114
115 <send retrans="500">
116 <![CDATA[
117
118 INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
119 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
120 From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
121 To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
122 Call-ID: [call_id]
123 CSeq: 2 INVITE
124 Contact: sip:sipp@[local_ip]:[local_port]
125 Max-Forwards: 70
126 Subject: Performance Test
127 Content-Type: application/sdp
128 Content-Length: [len]
129
130 v=0
131 o=Tester 234 124 IN IP4 89.208.145.194
132 s=Tester
133 c=IN IP4 89.208.145.194
134 t=0 0
135 m=audio 17424 RTP/AVP 111 0 18 101
136 a=rtpmap:111 SPEEX/16000
137 a=rtpmap:0 PCMU/8000
138 a=rtpmap:18 G729/8000
139 a=rtpmap:101 telephone-event/8000
140 a=sendrecv
141 a=rtcp:17425
142 m=video 0 RTP/AVP 34 103 104
143 a=sendrecv
144
145
146 ]]>
147 </send>
148
149 <!-- By adding rrs="true" (Record Route Sets), the route sets -->
150 <!-- are saved and used for following messages sent. Useful to test -->
151 <!-- against stateful SIP proxies/B2BUAs. -->
152 <recv response="200" rtd="true">
153 </recv>
154
155 <!-- Packet lost can be simulated in any send/recv message by -->
156 <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
157 <send>
158 <![CDATA[
159
160 ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
161 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
162 From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
163 To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
164 Call-ID: [call_id]
165 CSeq: 2 ACK
166 Contact: sip:sipp@[local_ip]:[local_port]
167 Max-Forwards: 70
168 Subject: Performance Test
169 Content-Length: 0
170
171 ]]>
172 </send>
173
174
175 <pause milliseconds="2000"/>
176
177
178 <!-- The 'crlf' option inserts a blank line in the statistics report. -->
179 <send retrans="500">
180 <![CDATA[
181
182 BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
183 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
184 From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
185 To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
186 Call-ID: [call_id]
187 CSeq: 3 BYE
188 Contact: sip:sipp@[local_ip]:[local_port]
189 Max-Forwards: 70
190 Subject: Performance Test
191 Content-Length: 0
192
193 ]]>
194 </send>
195
196 <recv response="200" crlf="true">
197 </recv>
198
199
200 <!-- definition of the response time repartition table (unit is ms) -->
201 <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
202
203 <!-- definition of the call length repartition table (unit is ms) -->
204 <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
205
206</scenario>
207