Tristan Matthews | 0a329cc | 2013-07-17 13:20:14 -0400 | [diff] [blame] | 1 | <?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 | <!-- Sipp default 'uas' scenario. --> |
| 20 | <!-- --> |
| 21 | |
| 22 | <scenario name="Forked INVITE, one of them require PRACK"> |
| 23 | <recv request="INVITE" crlf="true"> |
| 24 | <action> |
| 25 | <ereg regexp="branch=([^;]*)" |
| 26 | search_in="hdr" |
| 27 | header="Via" |
| 28 | assign_to="1,2"/> |
| 29 | <assign assign_to="1" variable="2"/> |
| 30 | <ereg regexp="CSeq: [ 0-9A-Z]+" |
| 31 | search_in="msg" |
| 32 | assign_to="4"/> |
| 33 | </action> |
| 34 | </recv> |
| 35 | |
| 36 | <send> |
| 37 | <![CDATA[ |
| 38 | SIP/2.0 100 Trying |
| 39 | [last_Via:] |
| 40 | [last_From:] |
| 41 | [last_To:] |
| 42 | [last_Call-ID:] |
| 43 | [$4] |
| 44 | ]]> |
| 45 | </send> |
| 46 | |
| 47 | <!-- Call leg 1 sends 180/Ringing --> |
| 48 | <send retrans="500"> |
| 49 | <![CDATA[ |
| 50 | SIP/2.0 180 Ringing1 |
| 51 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;branch=[$2] |
| 52 | [last_From:] |
| 53 | [last_To:];tag=UA_1 |
| 54 | [last_Call-ID:] |
| 55 | [$4] |
| 56 | Contact: <sip:UA_1@[local_ip]:[local_port]> |
| 57 | Require: 100rel |
| 58 | RSeq: 1000 |
| 59 | Content-Length: 0 |
| 60 | ]]> |
| 61 | </send> |
| 62 | |
| 63 | <recv request="PRACK" crlf="true"> |
| 64 | </recv> |
| 65 | |
| 66 | <send> |
| 67 | <![CDATA[ |
| 68 | SIP/2.0 200 OK |
| 69 | [last_Via:] |
| 70 | [last_From:] |
| 71 | [last_To:] |
| 72 | [last_Call-ID:] |
| 73 | [last_CSeq:] |
| 74 | ]]> |
| 75 | </send> |
| 76 | |
| 77 | |
| 78 | <pause milliseconds="2000" /> |
| 79 | |
| 80 | <!-- Call leg 2: 180/Ringing --> |
| 81 | <send retrans="500"> |
| 82 | <![CDATA[ |
| 83 | SIP/2.0 180 Ringing2 |
| 84 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;branch=[$2] |
| 85 | [last_From:] |
| 86 | [last_To:];tag=UA_2 |
| 87 | [last_Call-ID:] |
| 88 | [$4] |
| 89 | Contact: <sip:UA_2@[local_ip]:[local_port]> |
| 90 | Require: 100rel |
| 91 | RSeq: 2000 |
| 92 | Content-Length: 0 |
| 93 | ]]> |
| 94 | </send> |
| 95 | |
| 96 | <recv request="PRACK" crlf="true"> |
| 97 | </recv> |
| 98 | |
| 99 | <send> |
| 100 | <![CDATA[ |
| 101 | SIP/2.0 200 OK |
| 102 | [last_Via:] |
| 103 | [last_From:] |
| 104 | [last_To:] |
| 105 | [last_Call-ID:] |
| 106 | [last_CSeq:] |
| 107 | ]]> |
| 108 | </send> |
| 109 | |
| 110 | |
| 111 | <pause milliseconds="2000" /> |
| 112 | |
| 113 | <!-- Call leg 2: sends Ringing again with correct RSeq --> |
| 114 | <send retrans="500"> |
| 115 | <![CDATA[ |
| 116 | SIP/2.0 180 Ringing2b |
| 117 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;branch=[$2] |
| 118 | [last_From:] |
| 119 | [last_To:];tag=UA_2 |
| 120 | [last_Call-ID:] |
| 121 | [$4] |
| 122 | Contact: <sip:UA_2@[local_ip]:[local_port]> |
| 123 | Require: 100rel |
| 124 | RSeq: 2001 |
| 125 | Content-Length: 0 |
| 126 | ]]> |
| 127 | </send> |
| 128 | |
| 129 | <recv request="PRACK" crlf="true"> |
| 130 | </recv> |
| 131 | |
| 132 | <send> |
| 133 | <![CDATA[ |
| 134 | SIP/2.0 200 OK |
| 135 | [last_Via:] |
| 136 | [last_From:] |
| 137 | [last_To:] |
| 138 | [last_Call-ID:] |
| 139 | [last_CSeq:] |
| 140 | ]]> |
| 141 | </send> |
| 142 | |
| 143 | |
| 144 | <pause milliseconds="2000" /> |
| 145 | |
| 146 | <!-- Call leg 2: sends Ringing again with WRONG RSeq. There should be no PRACK --> |
| 147 | <send> |
| 148 | <![CDATA[ |
| 149 | SIP/2.0 180 Ringing2c |
| 150 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;branch=[$2] |
| 151 | [last_From:] |
| 152 | [last_To:];tag=UA_2 |
| 153 | [last_Call-ID:] |
| 154 | [$4] |
| 155 | Contact: <sip:UA_2@[local_ip]:[local_port]> |
| 156 | Require: 100rel |
| 157 | RSeq: 2004 |
| 158 | Content-Length: 0 |
| 159 | ]]> |
| 160 | </send> |
| 161 | |
| 162 | <pause milliseconds="2000" /> |
| 163 | |
| 164 | <!-- Then Call leg 1 sends 180/Ringing again --> |
| 165 | <send retrans="500"> |
| 166 | <![CDATA[ |
| 167 | SIP/2.0 180 Ringing1b |
| 168 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;branch=[$2] |
| 169 | [last_From:] |
| 170 | [last_To:];tag=UA_1 |
| 171 | [last_Call-ID:] |
| 172 | [$4] |
| 173 | Contact: <sip:UA_1@[local_ip]:[local_port]> |
| 174 | Require: 100rel |
| 175 | RSeq: 1001 |
| 176 | Content-Length: 0 |
| 177 | ]]> |
| 178 | </send> |
| 179 | |
| 180 | <recv request="PRACK" crlf="true"> |
| 181 | </recv> |
| 182 | |
| 183 | <send> |
| 184 | <![CDATA[ |
| 185 | SIP/2.0 200 OK |
| 186 | [last_Via:] |
| 187 | [last_From:] |
| 188 | [last_To:] |
| 189 | [last_Call-ID:] |
| 190 | [last_CSeq:] |
| 191 | ]]> |
| 192 | </send> |
| 193 | |
| 194 | |
| 195 | <pause milliseconds="2000" /> |
| 196 | |
| 197 | <!-- 603/Decline --> |
| 198 | <send> |
| 199 | <![CDATA[ |
| 200 | SIP/2.0 603 Decline |
| 201 | Via: SIP/2.0/UDP 127.0.0.1;received=127.0.0.1;rport=5080;branch=[$2] |
| 202 | [last_From:] |
| 203 | [last_To:];tag=UA_1 |
| 204 | [last_Call-ID:] |
| 205 | [$4] |
| 206 | Content-Length: 0 |
| 207 | ]]> |
| 208 | </send> |
| 209 | |
| 210 | |
| 211 | <!-- Receive ACK --> |
| 212 | <recv request="ACK" |
| 213 | optional="false" |
| 214 | rtd="true" |
| 215 | crlf="true"> |
| 216 | </recv> |
| 217 | |
| 218 | <!-- definition of the response time repartition table (unit is ms) --> |
| 219 | <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> |
| 220 | |
| 221 | <!-- definition of the call length repartition table (unit is ms) --> |
| 222 | <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> |
| 223 | |
| 224 | </scenario> |
| 225 | |