<?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 'regexp client' scenario.             -->
<!--                                                                    -->

<scenario name="Client with regexp scenario">
  <send retrans="500">
    <![CDATA[

      INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
      To: sut <sip:[service]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 1 INVITE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Type: application/sdp
      Content-Length: [len]

      v=0
      o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
      s=-
      c=IN IP[media_ip_type] [media_ip]
      t=0 0
      m=audio [media_port] RTP/AVP 0
      a=rtpmap:0 PCMU/8000

    ]]>
  </send>

  <recv response="100"
        optional="true">
  </recv>

  <recv response="180" optional="true">
  </recv>

  <recv response="200" start_rtd="true">
    <!-- Definition of regexp in the action tag. The regexp must follow -->
    <!-- the Posix Extended standard (POSIX 1003.2), see:               -->
    <!--                                                                -->
    <!--   http://www.opengroup.org/onlinepubs/007908799/xbd/re.html    -->
    <!--                                                                -->
    <!-- regexp    : Contain the regexp to use for matching the         -->
    <!--             received message                                   -->
    <!--             MANDATORY                                          -->
    <!-- search_in : msg (try to match against the entire message)      -->
    <!--           : hdr (try to match against a specific SIP header    -->
    <!--             (passed in the header tag)                         -->
    <!--             OPTIONAL - default value : msg                     -->
    <!-- header    : Header to try to match against.                    -->
    <!--             Only used when the search_in tag is set to hdr     -->
    <!--             MANDATORY IF search_in is equal to hdr             -->
    <!-- check_it  : if set to true, the call is marked as failed if    -->
    <!--             the regexp doesn't match.                          -->
    <!--             OPTIONAL - default value : false                   -->
    <!-- assign_to : contain the variable id (integer) or a list of     -->
    <!--             variable id which will be used to store the        -->
    <!--             result of the matching process between the regexp  -->
    <!--             and the message. This variable can be re-used at   -->
    <!--             a later time in the scenario using '[$n]' syntax   -->
    <!--             where n is the variable id.                        -->
    <!--             MANDATORY                                          -->
    <action>
      <ereg regexp="[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[:][0-9]{1,5}" 
            search_in="msg" 
            check_it="true" 
            assign_to="1"/>
      <ereg regexp=".*" 
            search_in="hdr" 
            header="Contact:" 
            check_it="true" 
            assign_to="6"/>
      <ereg regexp="o=([[:alnum:]]*) ([[:alnum:]]*) ([[:alnum:]]*)"
            search_in="msg" 
            check_it="true" 
            assign_to="3,4,5,8"/>
    </action>
  </recv>

  <send>
    <![CDATA[
      ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
      To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 1 ACK
      retrievedIp: [$1]
      retrievedContact:[$6]
      retrievedSdpOrigin:[$3]
      retrievedSdpOrigin-username:[$4]
      retrievedSdpOrigin-session-id:[$5]
      retrievedSdpOrigin-version:[$8]
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0
    ]]>
  </send>

  <!-- This delay can be customized by the -d command-line option       -->
  <!-- or by adding a 'milliseconds = "value"' option here.           -->
  <pause milliseconds = "1000"/>

  <!-- The 'crlf' option inserts a blank line in the statistics report. -->
  <send retrans="500">
    <![CDATA[

      BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number]
      To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 2 BYE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0

    ]]>
  </send>

  <recv response="200" crlf="true" rtd="true">
  </recv>

  <!-- definition of the response time repartition table (unit is ms)   -->
  <ResponseTimeRepartition value="1000, 1040, 1080, 1120, 1160, 1200"/>

  <!-- definition of the call length repartition table (unit is ms)     -->
  <CallLengthRepartition value="1000, 1100, 1200, 1300, 1400"/>

</scenario>

