<?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 --><!-- --><!-- Sipp default 'uas' scenario. --><!-- --><scenario name="Basic UAS responder"> <!-- By adding rrs="true" (Record Route Sets), the route sets --> <!-- are saved and used for following messages sent. Useful to test --> <!-- against stateful SIP proxies/B2BUAs. --> <recv request="INVITE" crlf="true"> <action> <ereg regexp=" ([[:alnum:]]*)" search_in="hdr" header="CSeq:" check_it="true" assign_to="9"/> <ereg regexp="(.*)" search_in="hdr" header="Via:" check_it="true" assign_to="8"/> <ereg regexp="(.*)" search_in="hdr" header="To:" check_it="true" assign_to="to_notag_0"/> </action> </recv> <!-- The '[last_*]' keyword is replaced automatically by the --> <!-- specified header if it was present in the last message received --> <!-- (except if it was a retransmission). If the header was not --> <!-- present or if no message has been received, the '[last_*]' --> <!-- keyword is discarded, and all bytes until the end of the line --> <!-- are also discarded. --> <!-- --> <!-- If the specified header was present several times in the --> <!-- message, all occurences are concatenated (CRLF seperated) --> <!-- to be used in place of the '[last_*]' keyword. --> <send retrans="500"> <![CDATA[ SIP/2.0 180 Ringing [last_Via:] [last_From:] [last_To:];tag=[pid]SIPpTag01 [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, PRACK, INFO, MESSAGE, SUBSCRIBE, NOTIFY, UPDATE Supported: 100rel, timer, precondition, path, replaces Require: 100rel RSeq: 1 Content-Length: 0 ]]> </send> <recv request="PRACK" optional="false" rtd="true" crlf="true"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: 0 ]]> </send> <pause/> <send retrans="500"> <![CDATA[ SIP/2.0 183 Session Progress Via: [$8] [last_From:] [last_To:] [last_Call-ID:] CSeq:[$9] INVITE Contact: <sip:[local_ip]:[local_port];transport=[transport]> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, PRACK, INFO, MESSAGE, SUBSCRIBE, NOTIFY, UPDATE Supported: 100rel, timer, precondition, path, replaces Require: 100rel RSeq: 2 Content-Length: 0 ]]> </send> <recv request="PRACK" optional="false" rtd="true" crlf="true"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: 0 ]]> <action> <ereg regexp="(.*)" search_in="hdr" header="From:" check_it="true" assign_to="from_0"/> <ereg regexp="(.*)" search_in="hdr" header="To:" check_it="true" assign_to="to_0"/> </action> </send> <pause/> <send retrans="500"> <![CDATA[ UPDATE sip:mod_sofia@192.168.1.23:5080 SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From:[$to_0] To:[$from_0] [last_Call-ID:] CSeq: 1 UPDATE Contact: <sip:[local_ip]:[local_port];transport=[transport]> Max-Forwards: 70 Content-Type: application/sdp Content-Length: [len] ]]> </send> <recv response="200" rtd="true"> </recv> <pause/> <send retrans="500"> <![CDATA[ SIP/2.0 183 Session Progress Via: [$8] From:[$from_0] To:[$to_notag_0];tag=kulo8 [last_Call-ID:] CSeq:[$9] INVITE Contact: <sip:[local_ip]:[local_port];transport=[transport]> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, REFER, PRACK, INFO, MESSAGE, SUBSCRIBE, NOTIFY, UPDATE Supported: 100rel, timer, precondition, path, replaces Require: 100rel RSeq: 46454654 Content-Length: 0 ]]> </send> <recv request="PRACK" optional="false" rtd="true" crlf="true"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: 0 ]]> </send> <pause/> <send retrans="500"> <![CDATA[ SIP/2.0 200 OK Via: [$8] [last_From:] [last_To:] [last_Call-ID:] CSeq:[$9] INVITE Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: [len] v=0 o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] s=- c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio [media_port] RTP/AVP 0 a=rtpmap:0 PCMU/8000 ]]> </send> <recv request="ACK" optional="true" rtd="true" crlf="true"> </recv> <recv request="BYE"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]> </send> <!-- Keep the call open for a while in case the 200 is lost to be --> <!-- able to retransmit it if we receive the BYE again. --> <timewait milliseconds="4000"/> <!-- 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>