D-Modem/pjproject-2.11.1/tests/pjsua/scripts-sipp/uas-subscribe-late-notify.xml
2021-10-29 14:41:03 -04:00

153 lines
5.6 KiB
XML

<?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 -->
<!-- -->
<!-- Late NOTIFY scenario: -->
<!-- - UAC sends SUBSCRIBE, we reply with 200 -->
<!-- - we send NOTIFY, expect 200 -->
<!-- - UAC sends SUBSCRIBE, we ignore -->
<!-- - we send NOTIFY -->
<!-- See http://trac.pjsip.org/repos/ticket/911 -->
<!-- -->
<scenario name="Late NOTIFY">
<!-- 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="SUBSCRIBE" 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>
<![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-Length: 0
Expires: 60
]]>
</send>
<send retrans="500">
<![CDATA[
NOTIFY sip:[$5] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=z9hG4bKPj01
From: sipp <sip:sipp@[local_ip]>;tag=[call_number]
To[$3]
Call-ID: [call_id]
Cseq: 1 NOTIFY
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Event: presence
Subscription-State: active;expires=10
Content-Type: application/pidf+xml
<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:op="urn:oma:xml:prs:pidf:oma-pres" entity="sip:moto_red@ptt.intra.genaker.net">
<tuple id="17415d5738f332a64a2f1d8cfb4ab0a5">
<status>
<basic>open</basic>
</status>
<op:willingness>
<op:basic>closed</op:basic>
</op:willingness>
<op:barring-state>active</op:barring-state>
<op:service-description>
<op:service-id>org.openmobilealliance:PoC-session</op:service-id>
<op:version>1.0</op:version>
</op:service-description>
</tuple>
</presence>
]]>
</send>
<recv response="200">
</recv>
<recv request="SUBSCRIBE" crlf="true">
</recv>
<!-- UAC sends SUBSCRIBE, we do nothing -->
<send>
<![CDATA[
SIP/2.0 408 Timeout Bo
[last_Via:]
[last_From:]
[last_To:];tag=[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:sipp@[local_ip]:[local_port]>
Content-Length: 0
Expires: 60
]]>
</send>
<!-- <pause milliseconds="32070"/> -->
<!-- Now send late NOTIFY -->
<send retrans="500">
<![CDATA[
NOTIFY sip:[$5] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];rport;branch=z9hG4bKPj02
From: sipp <sip:sipp@[local_ip]>;tag=[call_number]
To[$3]
Call-ID: [call_id]
Cseq: 2 NOTIFY
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Event: presence
Subscription-State: terminated;reason=timeout
Content-Length: 0
]]>
</send>
<recv response="481">
</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>