Patches

From SIPp

Jump to: navigation, search

Contents

Patches

This page lists all the patches that are not (yet) in SIPp's CVS.

Template

This template is to be used to add new patches here.

  • Explanation

Explain what is the purpose of the patch.

  • Version

SIPp version against which the patch is provided. Like "SIPp-Cumulus 2006-03-20"

  • Patch

Provide the link to the patch tracker associated to this patch, like: http://sourceforge.net/tracker/index.php?func=detail&aid=1485708&group_id=104305&atid=637566 A patch is submitted by using this link: http://sourceforge.net/tracker/?func=add&group_id=104305&atid=637566

  • Author

Provide the name of the author as well as email address Olivier Jacques

  • Example

If applicable, provide an example (scenario file or other).

Call_id

  • Explanation

Add a new command line parameter: cid_str as well as support of multiple call-id in one call instance.

  • Status

Checked-in on 2006-06-06, limitations still apply.

  • Version

SIPp-Cumulus 2006-03-20

  • Patch

http://sourceforge.net/tracker/index.php?func=detail&aid=1485751&group_id=104305&atid=637566

N/A

  • Comments
    • 3PCC issue: This patch doesn't work as it is for 3PCC but would be very useful for testing conferences. When 3pcc-C-B gets the recvCmd, it needs to add_call(ipv6) and not add_call(call_id, ipv6). Also if 3pcc-C-B uses sendCmd towards 3pcc-C-A, it will not be understood as the call_id is not what 3pcc-C-A expects. This should be in a first place be resolved by changing 3pcc so that the "call-id" used between 3pcc-C-A and 3pcc-C-B is not the SIP Call-ID header.
    • Potential TLS issue too: needs to add_call(ipv6) and not add_call(call_id, ipv6)

Pre/Post scenarios

  • Explanation

The Pre- and Post-Scenarios are required to Register and De-Register a SIPp UAS without being forced to start SIPp twice with distinct scenario files.

  • Version

SIPp version against which the patch is provided. Like "SIPp-Cumulus 2006-03-20"

  • Patch

http://sourceforge.net/tracker/index.php?func=detail&aid=1485741&group_id=104305&atid=637566

  • Author

Michael Hirschbichler and Joachim Fabini

  • Example

N/A

Pace patch

  • Purpose

Say you want to simulate a UAC that sends registers every 25 seconds and does rest of the processing of INVITES as stated on the command line.

  • Patch

http://sourceforge.net/tracker/index.php?func=detail&aid=1485708&group_id=104305&atid=637566

  • Author

Gaurav Kulshreshtha

  • Example

Scenario with pace

<?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 'uac behind NAT' scenario.                    -->
<!--                                                                    -->

<scenario name="UAC Behind NAT">

<!--    "pace" attribute for <send> paces a message every so often.
       Used as pace=n specifies that the event has to be scheduled
       every n milliseconds.
       This attribute MUST be used in conjunction with "next"
       attribute. In case the event is not due, the control jumps to
       label specified by next.

       Control flow for "pace" in conjunction with "next" is as
       follows:

       Send REGISTER during the very first iteration
       For subsequent iterations :

       if (it is time to send paced REGISTER) {
               send the REGISTER
               Wait for 100 OK (optional)
               Wait for 200 OK (mandatory)
       } else {
               jump to label specified by next
       }
  -->

  <!-- pace is set to 25000 milliseconds in this example
       because Expires header is set to 50 seconds -->

 <send retrans="500" pace="25000" next="1">
   <![CDATA[
     REGISTER sip:foo.com SIP/2.0
     Via: SIP/2.0/[transport] [local_ip]:[local_port]
     From: sipp <sip:uac@foo.com>;tag=[call_number]
     To: sut <sip:uac@foo.com>
     Call-ID: [call_id]
     Cseq: 1 REGISTER
     Contact: <sip:uac@[local_ip]:[local_port]>;transport=[transport]
     Max-Forwards: 70
     User-Agent: Sipp Performance tester version 1.0
     Subject: Performance Test
     Expires:50
     Content-Length: 0
   ]]>
 </send>

 <recv response="100" optional="true">
 </recv>

 <recv response="200" rtd="true">
 </recv>

 <label id="1" />

 <send retrans="500">
   <![CDATA[

     INVITE sip:uas@foo.com SIP/2.0
     Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
     From: ua[call_number] <sip:uac@foo.com:[local_port]>;tag=[call_number]
     To: ua2 <sip:uas@foo.com:[remote_port]>
     Call-ID: [call_id]
     CSeq: 100 INVITE
     Contact: <sip:uac@[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="183" optional="true">
 </recv>

 <recv response="200" rtd="true">
 </recv>

 <send>
   <![CDATA[

     ACK sip:uas@foo.com SIP/2.0
     [last_Via:]
     [last_From:]
     [last_To:]
     Call-ID: [call_id]
     CSeq: 100 ACK
     Contact:<sip:uac@[local_ip]:[local_port]>
     Max-Forwards: 70
     Subject: Performance Test
     Content-Length: 0

   ]]>
 </send>

 <pause milliseconds="10000"/>

 <send retrans="500">
   <![CDATA[

     BYE sip:uas@foo.com SIP/2.0
     [last_Via:]
     From: ua1 <sip:uac@foo.com:[local_port]>;tag=[call_number]
     To: ua2 <sip:uas@foo.com:[remote_port]>[peer_tag_param]
     [last_Call-ID:]
     CSeq: 101 BYE
     Max-Forwards: 70
     Subject: Performance Test
     Content-Length: 0

   ]]>
 </send>

 <recv response="200" rtd="true" crlf="true">
 </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>

ssrcBump

  • Purpose

Applies a constant offset to the incoming SSRC in each packet before sending it out. This may be necessary to comply with the RFC (depending on how you read it), and it also make reading packet captures easier. The offset is currently hard-coded in, but probably should be a #define.

  • Version

SIPp-Cumulus version 2006-03-20

  • Patch

See http://sourceforge.net/tracker/index.php?func=detail&aid=1485719&group_id=104305&atid=637566

  • Author

Mike Glover

  • Example

N/A.

silentMode

  • Purpose

Adds a new command-line switch, '-si'. If this switch is provided, no output is sent to the controlling terminal. This is helpful for running sipp inside of a script. I did not add the description for this switch to the help text.

  • Version

SIPp-Cumulus version 2006-03-20

  • Patch

See http://sourceforge.net/tracker/index.php?func=detail&aid=1485723&group_id=104305&atid=637566

  • Author

Mike Glover

  • Example

N/A.

Other patches

(Tarek Rogers)

Personal tools