diff options
Diffstat (limited to 'tests')
4 files changed, 621 insertions, 0 deletions
diff --git a/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml b/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml new file mode 100644 index 00000000..e75e7c76 --- /dev/null +++ b/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts-support-update.xml @@ -0,0 +1,170 @@ +<?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> + + <!-- 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> + diff --git a/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml b/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml new file mode 100644 index 00000000..bc27c9df --- /dev/null +++ b/tests/pjsua/scripts-sipp/uas-answer-180-multiple-fmts.xml @@ -0,0 +1,172 @@ +<?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 with multiple formats in early media"> + <!-- 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"> + </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] + + 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> + + <pause milliseconds="2000"/> + + <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] + + 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="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> + + <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] + + 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> + + <!-- 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> + diff --git a/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml b/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml new file mode 100644 index 00000000..5d576003 --- /dev/null +++ b/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts-support-update.xml @@ -0,0 +1,139 @@ +<?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> + diff --git a/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml b/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml new file mode 100644 index 00000000..4e4170d2 --- /dev/null +++ b/tests/pjsua/scripts-sipp/uas-answer-200-multiple-fmts.xml @@ -0,0 +1,140 @@ +<?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"> + <!-- 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"> + </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] + + 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="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> + + <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] + + 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> + + <!-- 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> + |