Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

<?xml version="1.0" encoding="utf-8"?>
<html>

Using SIPp to run performance tests

...

Introduction

{{Box Important||
SIPp would be a great tool to do performance tests on sipX. However, for the reasons pointed out here, SIPp currently does not work with sipX. Any suggestions on how to fix this would be most welcome. Please post comments to the sipx-dev mailing list, or you are also welcome to add comments to this Wiki page.
}}

Objectives and ToDo's

I tried to create a simple test setup using SIPp to test the call processing performance of the sipX SIP proxy server version 2.8.1.

Objectives and ToDo's

I tried to create a simple test setup using SIPp to test the call processing performance of the sipX SIP proxy server version 2.8.1.

This is what I thought:

  1. Adapt the SIPp cmd lines below for this scenario
  2. Find out how to configure sipX (create user / passwd if necessary)
  3. Find out the difference between authenticated and un-authenticated calls, so that we can test both

...

In order for authentication to work it seems that the standard UAC scenario XML file needs to be extended as follows (copied from the example in the manual):

...

Code Block
xml
xml
Panel

  <recv response="407" auth="true">


  </recv>

<send>



  <send>
    <![CDATA[

...



      ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0

...

Panel

      Via: SIP/2.0/[transport] [local_ip]:[local_port

]
      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
 ACK
      Contact: sip:sipp@[local_ip]:[local_port

]
      Max-Forwards:
70
 70
      Subject: Performance
Test
 Test
      Content-Length:
0
 0

    ]]>

...

Panel

  </send>


  <send retrans="500">

...

Panel

    <![CDATA[

...



      INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0

...

Panel

      Via: SIP/2.0/
transport
[transport] [local_ip]:[local_port

]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number

]
      To: sut <sip:[service]@[remote_ip]:[remote_port
>
]>
      Call-ID: [call_id

]
      CSeq: 2
INVITE
 INVITE
      Contact: sip:sipp@[local_ip]:[local_port

authentication
]
      [authentication username=foouser

]
      Max-Forwards:
70
 70
      Subject: Performance
Test
 Test
      Content-Type: application/sdp


      Content-Length:
len
 [len]

      v=0

...

Panel

      o=user1 53655765 2353687637 IN IP4 127.0.0.1


      s=-


      t=0
0
 0
      c=IN IP4 [media_ip

]
      m=audio [media_port] RTP/AVP
0
 0
      a=rtpmap:0 PCMU/8000


    ]]>

...

Panel

  </send>

Built in scenarios are part of the executable code. In order to dump an existing scenario into a file use the following command:

...

Panel

-3pcc ip:port : Launch the tool in 3pcc mode ("Third Party
call control"). The passed ip address
is depending on the 3PCC role.

  • When the first twin command is 'sendCmd' then
    this is the address of the remote twin socket.
    Example: 3PCC-C-A scenario.
  • When the first twin command is 'recvCmd' then
    this is the address of the local twin socket.
    Example: 3PCC-C-B scenario.

-nr : Disable retransmission in UDP mode.

Panel

-nd : No Default. Disable all default behavior of SIPp
which are the following:

  • On UDP retransmission timeout, abort the call by
    sending a BYE or a CANCEL
  • On unexpected BYE send a 200 OK and close the call
  • On unexpected CANCEL send a 200 OK and close the call
  • On unexpected PING send a 200 OK and continue the call
  • On any other unexpected message, abort the call by
    sending a BYE or a CANCEL

-rsa host:port : Set the remote sending address to host:port.

...