mirror of https://github.com/asterisk/asterisk
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							140 lines
						
					
					
						
							4.8 KiB
						
					
					
				
			
		
		
	
	
							140 lines
						
					
					
						
							4.8 KiB
						
					
					
				| <?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, 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" />
 | |
|     </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 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 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="ACK" crlf="true">
 | |
|   </recv>
 | |
| 
 | |
| 
 | |
| 
 | |
|   <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[
 | |
| 
 | |
|       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>
 | |
| 
 | |
|   <!-- 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.               -->
 | |
|   <pause 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>
 | |
| 
 |