To Whom It May Concern:

 

We used "setdest" command in uac scenarios file before the BYE and ACK
message to fit the following call flow:


 SIPp                  I-CSCF                 PSI
  |        INVITE         |                    |
  +---------------------->|                    |
  |        TRYING         |                    |
  |<----------------------+       INVITE       |
  |                       +------------------->|
  |                       |       TRYING       |
  |                       |<-------------------+
  |                       |       200 OK       |
  |        200 OK         |<-------------------+
  |<----------------------+                    |
  |                       |                    |
  |                                            |
  |           ACK (send directly to AS)        |
  +------------------------------------------->|
  |           BYE (send directly to AS)
|

  |------------------------------------------->|



We are using an unstable sipp which version is as below:

The version of SIPP I used is (2008, July  unstable version)

SIPp v3.1-TLS, version unknown, built Dec  8 2009, 11:00:41.

 

The problem is, during our performance test (40 cps for this scenario)
we found the SIPP memory usage kept increasing (about 1M per minute) and
finally reach the peak, and the SIPp process terminated.  

Is it a memory leak caused by setdest?  By the way, we use the same sipp
for our other performance scenario which have no such issue. 

 

Do you have a stable SIPp which support the setdest feature or any other
way to avoid using it? 

 

Following is the UAC scenarios file: 

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE scenario SYSTEM "sipp.dtd">

 

<scenario name="Sip Outgoing Call User A">

<!-- In client mode (sipp placing calls), the Call-ID MUST be
-->

  <!-- generated by sipp. To do so, use [call_id] keyword.
-->

 

  <recvCmd>

     <action>

       <ereg regexp=".*" search_in="hdr" header="IMRN:"
assign_to="IMRN"/>

       <ereg regexp=".*" search_in="hdr" header="Calling:"
assign_to="Called"/>

       <ereg regexp=".*" search_in="hdr" header="Called:"
assign_to="Calling"/>

     </action>

  </recvCmd>

 

 

 

  <send retrans="2000">

    <![CDATA[

            INVITE sip:+1[$im...@icsf-stdn.scg03.ims.luqdlab.com SIP/2.0

      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]

      From: <sip:[$calli...@ims.luqdlab.com>;tag=[call_number]

      To: <sip:+1[$im...@icsf-stdn.scg03.ims.luqdlab.com>

      Call-ID: [call_id]

      CSeq: [cseq] INVITE

      Contact: <sip:@[local_ip]:[local_port]>

      Max-Forwards: 70

      P-Charging-Vector:
icid-value="AyretyU0dm+6O2IrT5tAFrbHLso=023551024";icid-generated-at=192
.0.6.8;orig-ioi=home1.net

      P-Asserted-Identity: sip:[$calli...@ims.luqdlab.com

      Diversion: sip:[$call...@ims.luqdlab.com

      Allow: UPDATE,INVITE,ACK,CANCEL,BYE,PRACK,REFER,MESSAGE,INFO

      Content-Type: application/sdp

      Content-Length: [len]

 

      v=0

      o=PCTEL 256 2 IN IP4 10.10.112.200

      c=IN IP[media_ip_type] 172.21.141.141

      m=audio 4030 RTP/AVP 0 8

      a=rtpmap:0 PCMU/8000

      a=rtpmap:8 PCMU/8000

 

 

    ]]>

  </send>

 

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

  </recv>

  

  <recv response="180" rrs="true">

<!--  <action>

    <ereg regexp=".*" search_in="hdr" header="CSeq:" assign_to="CSeq" />

    <ereg regexp=".*" search_in="hdr" header="RSeq:" assign_to="RSeq" />

     </action>

-->

  </recv>

  

  <!--send>

    <![CDATA[

      PRACK [next_url] SIP/2.0

      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]

      [routes]

      [last_From:]

      [last_To:]

      [last_Call-ID:]

      CSeq: [cseq] PRACK

      Contact: <sip:@[local_ip]:[local_port]>

      RAck:[$RSeq][$CSeq]

      Max-Forwards: 70

      Content-Length: [len]

    ]]>

  </send>

<!--

 <recv response="200">

  </recv-->

-->

  

  <recv response="200" rrs="true">

     <action>

        <ereg regexp=".*" search_in="hdr" header="Contact:"
assign_to="contacturl"/>

        <ereg regexp=" <sip:.*@([0-9A-Za-z\.-]+):([0-9]+)>"
search_in="var" check_it="true"
assign_to="dummy,contact_host,contact_port" variable="contacturl" />

        <assignstr assign_to="dummy" value=[$dummy] />

        <setdest host="[$contact_host]" port="[$contact_port]"
protocol="UDP" />

<!--

        <setdest host="nscg-stdn.fsimsgroup0-000.scg03.ims.luqdlab.com"
port="5060" protocol="UDP" />

-->

     </action>

 

  </recv>

 

  <!-- 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.
-->

  

 

  <!-- Packet lost can be simulated in any send/recv message by
-->

  <!-- by adding the 'lost = "10"'. Value can be [1-100] percent.
-->

 

<!--<nop>

     <action>

        <ereg regexp="sip:.*@([0-9A-Za-z\.]+)"  search_in="hdr"
header="Contact:" check_it="true" assign_to="host"/>

        <setdest host="[$host]" port="5060" protocol="UDP"/>

     </action>

</nop>

 

  <nop>

     <action>

        <assignstr assign_to="url" value="[next_url]" />

        <ereg
regexp="sip:.*@([0-9A-Za-z\.]+):([0-9]+);transport=([A-Z]+)"
search_in="var" check_it="true" assign_to="dummy,host,port,transport"
variable="url" />

        <setdest host="[$host]" port="[$port]" protocol="[$transport]"
/>

     </action>

  </nop>-->

 

 

<send>

<![CDATA[

 ACK [next_url] SIP/2.0

         Via: SIP/2.0/[transport]
[local_ip]:[local_port];branch=[branch]

         [routes]

         [last_From:]

         [last_To:]

         [last_Call-ID:]

         CSeq: 1 ACK

         Contact: <sip:@[local_ip]:[local_port]>

         Max-Forwards: 70

         Content-Length: [len]

    ]]>

  </send>

 

<sendCmd>

   <![CDATA[

     Call-ID: [call_id]

    ]]>

  </sendCmd>

 

  <!-- or by adding a 'milliseconds = "value"' option here.
-->

 

              <pause milliseconds="145000"/> 

 

 

<nop>

 

 <action>

        <setdest host="[$contact_host]" port="[$contact_port]"
protocol="UDP" />

<!--

        <setdest host="nscg-stdn.fsimsgroup0-000.scg03.ims.luqdlab.com"
port="5060" protocol="UDP" />

-->

     </action>

 

</nop>

 

  <send>

  <![CDATA[

       BYE [next_url] SIP/2.0

       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]

       [routes]

       [last_From:]

       [last_To:]

       [last_Call-ID:]

       CSeq: [cseq] BYE

       Max-Forwards: 70

       Content-Length: [len]

  ]]>

  </send>

 

  <recv response="200">

  </recv>

 

<!--<recv request="BYE">

    </recv>

 

  <send retrans="1000">

  <![CDATA[

 

    SIP/2.0 200 OK

    [last_Via:]

    [last_From:]

    [last_To:]

    [last_Call-ID:]

    [last_CSeq:]

    Contact: <sip:@[local_ip]:[local_port];transport=[transport]>

    Content-Length: [len]

 

  ]]>

  </send>-->

 

  

  <!--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="145000, 145050, 145100, 145150, 145200,
145250, 145300, 145350, 145400, 145500, 145600, 145700, 145800, 145900,
150000"/>

 

</scenario>

 

 

 

Thanks a lot for your time!

Jinjia

 

------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users

Reply via email to