SIPp常用脚本之二:UAS

看名字就能猜出来,这是作为SIP消息服务端的存在,启动uas,等着接受SIP消息并且给出响应。

一、uas.xml

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

<!DOCTYPE scenario SYSTEM "sipp.dtd">

<scenario name="Basic UAS responder">

<recv request="INVITE" crlf="true">
</recv>
<send>
    <![CDATA[
      SIP/2.0 180 Ringing
      [last_Via:]
      [last_From:]
      [last_To:];tag=[call_number]
      [last_Call-ID:]
      [last_CSeq:]
      Contact: <sip:[local_ip]:[local_port];transport=[transport]>
      Content-Length: 0
    ]]>
</send>
<send retrans="500">
    <![CDATA[
      SIP/2.0 200 OK
      [last_Via:]
      [last_From:]
      [last_To:];tag=[call_number]
      [last_Call-ID:]
      [last_CSeq:]
      Contact: <sip:[local_ip]:[local_port];transport=[transport]>
      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 request="ACK" optional="true" rtd="true" crlf="true">
  </recv>
<recv request="BYE">
  </recv>
<send>
    <![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: 0
    ]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>

 

二、uas.sh

1. 以TCP方式启动服务

./sipp -sf uas.xml -i 本地服务器地址 -p 本地服务器端口 -m 500 业务服务器地址:端口 -t tn -max_socket 1024

2. 以UDP方式启动服务

./sipp -sf uas.xml -i 本地服务器地址 -p 本地服务器端口 -m 500 业务服务器地址:端口

 

三、一个小说明

-m 500的意思是,接受500条起始SIP消息后,自动终止运行,给出统计报告。

 

posted @ 2017-08-15 12:03  一沙世界  阅读(3874)  评论(0编辑  收藏  举报