<?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="UAS answer multiple formats in early media, UAS supports UPDATE method"> <!-- 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=".*" search_in="hdr" header="From" assign_to="3"/> <ereg regexp="sip:(.*)>" search_in="hdr" header="Contact" assign_to="4,5"/> <assign assign_to="4" variable="5" /> <ereg regexp=".*" search_in="hdr" header="Via" assign_to="6"/> <ereg regexp=".*" search_in="hdr" header="CSeq" assign_to="7"/> </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> <![CDATA[ SIP/2.0 180 Ringing [last_Via:] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: sip:sipp@[local_ip]:[local_port] Content-Type: application/sdp Content-Length: [len] Allow: INVITE, UPDATE, ACK, BYE v=0 o=- 3441953879 3441953879 IN IP4 192.168.0.15 s=pjmedia c=IN IP4 192.168.0.15 t=0 0 m=audio 4004 RTP/AVP 0 8 3 111 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:111 telephone-event/8000 a=fmtp:111 0-15 ]]> </send> <recv request="UPDATE" crlf="true"> </recv> <send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: sip:sipp@[local_ip]:[local_port] Content-Type: application/sdp Content-Length: [len] Allow: INVITE, UPDATE, ACK, BYE v=0 o=- 3441953879 3441953879 IN IP4 192.168.0.15 s=pjmedia c=IN IP4 192.168.0.15 t=0 0 m=audio 4004 RTP/AVP 0 111 a=rtpmap:0 PCMU/8000 a=rtpmap:111 telephone-event/8000 a=fmtp:111 0-15 ]]> </send> <pause milliseconds="2000"/> <send retrans="500"> <![CDATA[ SIP/2.0 200 OK Via[$6] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] CSeq[$7] Contact: sip:sipp@[local_ip]:[local_port] Content-Type: application/sdp Content-Length: [len] Allow: INVITE, UPDATE, ACK, BYE v=0 o=- 3441953879 3441953879 IN IP4 192.168.0.15 s=pjmedia c=IN IP4 192.168.0.15 t=0 0 m=audio 4004 RTP/AVP 0 111 a=rtpmap:0 PCMU/8000 a=rtpmap:111 telephone-event/8000 a=fmtp:111 0-15 ]]> </send> <recv request="ACK" crlf="true"> </recv> <pause milliseconds="2000"/> <send retrans="500"> <![CDATA[ BYE sip:[$5] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port] From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] To[$3] Call-ID: [call_id] Cseq: 1 BYE Contact: sip:sipp@[local_ip]:[local_port] Max-Forwards: 70 Content-Length: 0 ]]> </send> <recv response="200"> </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>