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 'uac' scenario with pcap (rtp) play --> 20:<!-- --> 21: 22:<scenario name="UAC with media"> 23: <!-- In client mode (sipp placing calls), the Call-ID MUST be --> 24: <!-- generated by sipp. To do so, use [call_id] keyword. --> 25: <send retrans="500"> 26: <![CDATA[ 27: 28: INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 29: Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] 30: From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] 31: To: sut <sip:[service]@[remote_ip]:[remote_port]> 32: Call-ID: [call_id] 33: CSeq: 1 INVITE 34: Contact: sip:sipp@[local_ip]:[local_port] 35: Max-Forwards: 70 36: Subject: Performance Test 37: Content-Type: application/sdp 38: Content-Length: [len] 39: 40: v=0 41: o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] 42: s=- 43: c=IN IP[local_ip_type] [local_ip] 44: t=0 0 45: m=audio [auto_media_port] RTP/AVP 8 46: a=rtpmap:8 PCMA/8000 47: a=rtpmap:101 telephone-event/8000 48: a=fmtp:101 0-11,16 49: 50: ]]> 51: </send> 52: 53: <recv response="100" optional="true"> 54: </recv> 55: 56: <recv response="180" optional="true"> 57: </recv> 58: 59: <!-- By adding rrs="true" (Record Route Sets), the route sets --> 60: <!-- are saved and used for following messages sent. Useful to test --> 61: <!-- against stateful SIP proxies/B2BUAs. --> 62: <recv response="200" rtd="true" crlf="true"> 63: </recv> 64: 65: <!-- Packet lost can be simulated in any send/recv message by --> 66: <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. --> 67: <send> 68: <![CDATA[ 69: 70: ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 71: Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] 72: From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] 73: To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] 74: Call-ID: [call_id] 75: CSeq: 1 ACK 76: Contact: sip:sipp@[local_ip]:[local_port] 77: Max-Forwards: 70 78: Subject: Performance Test 79: Content-Length: 0 80: 81: ]]> 82: </send> 83: 84: <!-- Play a pre-recorded PCAP file (RTP stream) --> 85: <nop> 86: <action> 87: <exec play_pcap_audio="pcap/g711a.pcap"/> 88: </action> 89: </nop> 90: 91: <!-- Pause 8 seconds, which is approximately the duration of the --> 92: <!-- PCAP file --> 93: <pause milliseconds="8000"/> 94: 95: <!-- Play an out of band DTMF '1' --> 96: <nop> 97: <action> 98: <exec play_pcap_audio="pcap/dtmf_2833_1.pcap"/> 99: </action> 100: </nop> 101: 102: <pause milliseconds="1000"/> 103: 104: <!-- The 'crlf' option inserts a blank line in the statistics report. --> 105: <send retrans="500"> 106: <![CDATA[ 107: 108: BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 109: Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] 110: From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] 111: To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] 112: Call-ID: [call_id] 113: CSeq: 2 BYE 114: Contact: sip:sipp@[local_ip]:[local_port] 115: Max-Forwards: 70 116: Subject: Performance Test 117: Content-Length: 0 118: 119: ]]> 120: </send> 121: 122: <recv response="200" crlf="true"> 123: </recv> 124: 125: <!-- definition of the response time repartition table (unit is ms) --> 126: <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> 127: 128: <!-- definition of the call length repartition table (unit is ms) --> 129: <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> 130: 131:</scenario> 132: