<?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>

