编写一个sip压测freeswitch的脚本,sip,ip为192.168.107.83.freeswitch ip为192.168.107.143
时间: 2024-03-03 14:48:12 浏览: 22
下面是一个针对FreeSWITCH服务器的SIPp压力测试脚本示例,用于模拟多个并发呼叫请求:
```
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="SIPp Scenario">
<send retrans="500" recv_timeout="2000" timeout="5000">
<![CDATA[
INVITE sip:test@192.168.107.143 SIP/2.0
Via: SIP/2.0/UDP 192.168.107.83:5060;branch=z9hG4bK-1234
From: <sip:caller@test.com>;tag=1234
To: <sip:test@192.168.107.143>
Call-ID: call-1234@192.168.107.83
CSeq: 1 INVITE
Contact: <sip:caller@192.168.107.83:5060>
Content-Type: application/sdp
Content-Length: 150
v=0
o=- 1234 5678 IN IP4 192.168.107.83
s=Test call
c=IN IP4 192.168.107.83
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@192.168.107.143 SIP/2.0
Via: SIP/2.0/UDP 192.168.107.83:5060;branch=z9hG4bK-5678
From: <sip:caller@test.com>;tag=1234
To: <sip:test@192.168.107.143>;tag=5678
Call-ID: call-1234@192.168.107.83
CSeq: 1 ACK
Contact: <sip:caller@192.168.107.83:5060>
Content-Length: 0
]]>
</send>
<pause milliseconds="5000"/>
<send>
<![CDATA[
BYE sip:test@192.168.107.143 SIP/2.0
Via: SIP/2.0/UDP 192.168.107.83:5060;branch=z9hG4bK-4321
From: <sip:caller@test.com>;tag=1234
To: <sip:test@192.168.107.143>;tag=5678
Call-ID: call-1234@192.168.107.83
CSeq: 2 BYE
Contact: <sip:caller@192.168.107.83:5060>
Content-Length: 0
]]>
</send>
<recv response="200"/>
</scenario>
```
在这个脚本中,我们使用SIPp工具来模拟一个SIP终端向FreeSWITCH服务器发送呼叫请求。该脚本使用192.168.107.83作为SIP终端的IP地址,使用192.168.107.143作为FreeSWITCH服务器的IP地址。为了模拟多个并发呼叫请求,您可以使用SIPp的-u参数来指定并发呼叫数。例如,如果要模拟10个并发呼叫请求,您可以使用以下命令:
```
sipp -sf script.xml -s test -m 10 -l 10 -trace_err 192.168.107.143
```
其中,-sf参数指定SIPp脚本文件,-s参数指定SIP终端的SIP地址,-m参数指定最大呼叫数,-l参数指定每秒呼叫数,-trace_err参数用于记录错误日志,最后一个参数为FreeSWITCH服务器的IP地址。