sipp单机压测freeswitch第3篇压测秒级注册

秒级注册压测是一种比较常见的场景,网上也有很多类似的,其实脚本难度不大改改官方的也可以,主要是要熟悉命令,知道命令代表的是什么意思;

执行命令
# remote_ip: freeswitch服务ip
# remote_port: freeswitch服务端口
# -inf [csv]: 指定注册用户信息, freeswitch-sipp/data/sip_account.csv
# -sf [xml]: 指定注册脚本, freeswitch-sipp/script/register/qps/qps.xml 
# -m: 设置本次最大执行数,到了自动关闭
# -r 2: 执行个数
# -rp 1000: 多少毫秒执行2个 
# -trace_screen: 当程序结束时候打印统计信息并弹出屏幕
# -trace_msg: 打印中记录发送和接收的 SIP 消息
# -trace_err: 结束时打印错误消息
sipp [remote_ip]:[remote_port] -inf [csv] -sf [xml] 
-r 2 -rp 1000 -m 2 -trace_msg -trace_screen -trace_err
csv
SEQUENTIAL
test001;
test002;
注册脚本
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="branch_client">
  <!-- 表示每 500ms 重传输注册消息 -->
  <send retrans="500">
    <![CDATA[
      REGISTER sip:[remote_ip] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: [field0] <sip:[field0]@[remote_ip]:[remote_port]>;
          tag=[call_number]
     To: [field0] <sip:[field0]@[remote_ip]:[remote_port]>
     Call-ID: [call_id]
     CSeq: 1 REGISTER
     Contact: sip:[field0]@[local_ip]:[local_port]
     Content-Length: 0
     Expires: 3600
    ]]>
  </send>
  <!-- 表示 SIPp 期望收到服务端 401 的消息 -->
  <recv response="401" auth="true" next="1"></recv>
  <!-- 表示每 500ms 重传输注册消息 -->
  <send retrans="500">
    <![CDATA[
     REGISTER sip:[field0]@[remote_ip]:[remote_port] SIP/2.0
     Via: SIP/2.0/[transport] [local_ip]:[local_port]
     From: [field0] <sip:[field0]@[remote_ip]:[remote_port]>;
          tag=[call_number]
     To: [field0] <sip:[field0]@[remote_ip]:[remote_port]>
     Call-ID: [call_id]
     CSeq: 2 REGISTER
     Contact: sip:[field0]@[local_ip]:[local_port]
            [field1]
     Content-Length: [len]
     Expires: 3600
   ]]>
  </send>
  <!-- 表示 SIPp 期望收到服务端 200 的消息 -->
  <recv response="200"></recv>
  <!-- 响应时间分类为 -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
  <!-- 呼叫时长进行分类 -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
</scenario>
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了编写一个SIP压测FreeSWITCH脚本,您可以使用SIPp工具。SIPp是一个开源的SIP协议测试和性能评估工具,它可以模拟SIP终端和服务器,生成和接收SIP请求,以及对SIP网络进行压力测试。 下面是一个简单的SIPp脚本示例,用于模拟SIP终端向FreeSWITCH服务器发送呼叫请求: ``` <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <scenario name="SIPp Scenario"> <send retrans="500"> <![CDATA[ INVITE sip:test@freeswitch-server SIP/2.0 Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK-1234 From: <sip:caller@test.com>;tag=1234 To: <sip:test@freeswitch-server> Call-ID: call-1234@192.168.0.1 CSeq: 1 INVITE Contact: <sip:caller@192.168.0.1:5060> Content-Type: application/sdp Content-Length: 150 v=0 o=- 1234 5678 IN IP4 192.168.0.1 s=Test call c=IN IP4 192.168.0.1 t=0 0 m=audio 10000 RTP/AVP 0 a=rtpmap:0 PCMU/8000 ]]> </send> <recv response="100" optional="true"/> <recv response="180" optional="true"/> <recv response="183" optional="true"/> <recv response="200"/> <send> <![CDATA[ ACK sip:test@freeswitch-server SIP/2.0 Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK-5678 From: <sip:caller@test.com>;tag=1234 To: <sip:test@freeswitch-server>;tag=5678 Call-ID: call-1234@192.168.0.1 CSeq: 1 ACK Contact: <sip:caller@192.168.0.1:5060> Content-Length: 0 ]]> </send> <pause milliseconds="5000"/> <send> <![CDATA[ BYE sip:test@freeswitch-server SIP/2.0 Via: SIP/2.0/UDP 192.168.0.1:5060;branch=z9hG4bK-4321 From: <sip:caller@test.com>;tag=1234 To: <sip:test@freeswitch-server>;tag=5678 Call-ID: call-1234@192.168.0.1 CSeq: 2 BYE Contact: <sip:caller@192.168.0.1:5060> Content-Length: 0 ]]> </send> <recv response="200"/> </scenario> ``` 该脚本使用SIPp模拟一个基本的SIP呼叫流程,包括发送INVITE请求、接收100、180、183和200响应、发送ACK请求、等待5秒钟

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值