我需要做sip压测freeswitch,一台服务器ip为192.168.107.83这台服务器上装了sipp,另一台服务器ip为192.168.107.143这台服务器装了freeswitch,压测的时候走5060端口,写一个可以完成压测的脚本

时间: 2024-03-02 15:49:47 浏览: 17
好的,可以使用以下脚本进行 SIP 压测: ```bash #!/bin/bash # 设置变量 SERVER_IP=192.168.107.143 SERVER_PORT=5060 CALL_COUNT=1000 CONCURRENT_CALLS=10 # 启动 sipp 进行压测 sipp -sn uac -d 3000 -s 1000 -l $CONCURRENT_CALLS -r $CONCURRENT_CALLS \ -t tn -m $CALL_COUNT -i 192.168.107.83 $SERVER_IP:$SERVER_PORT -trace_msg -trace_err ``` 上述脚本中,`SERVER_IP` 为 Freeswitch 服务器的 IP 地址,`SERVER_PORT` 为 SIP 端口,`CALL_COUNT` 为要发起的呼叫数量,`CONCURRENT_CALLS` 为并发呼叫数。 脚本中启动了 sipp 进程,使用 `uac` 模式发起呼叫,同时指定了并发呼叫数、呼叫数量、目标服务器的 IP 和端口,以及指定了输出日志的参数。执行脚本后,sipp 将会模拟多个 SIP 用户同时向 Freeswitch 发起呼叫,进行压力测试。
相关问题

编写一个sip压测freeswitch的脚本,sip,ip为192.168.107.83.freeswitch ip为192.168.107.143

下面是一个针对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地址。

编写一个sip压测freeswitch的脚本

为了编写一个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秒钟

相关推荐

最新推荐

recommend-type

FreeSwitch配置和使用手册(DOC).doc

FreeSwitch的配置和使用手册,这是我一步一步整理出来的一个手册,可以满足正常外呼呼入功能的使用,还有一些esl的讲解
recommend-type

freeswitch动态获取queue队列.doc

freeswitch queue队列动态获取(dialplan,gateway同理),我做的每一步都写上了,有兴趣的可以看看
recommend-type

Freeswitch集成科大讯飞及百度语音服务.docx

Freeswitch集成科大讯飞及百度语音服务,Freeswitch集成科大讯飞及百度语音服务,Freeswitch集成科大讯飞及百度语音服务
recommend-type

FreeSwitch+Opensips+NFS文件共享集群安装配置操作指导书.doc

FreeSwitch+Opensips+NFS文件共享集群安装配置操作指导书.doc
recommend-type

freeswitch呼入呼出路由配置详解

freeswitch呼入呼出路由配置详解 ,利用freeswitch 和 网关设备做了内呼和外呼,sip 中继设置 (给外呼用的,因为外呼用的是对等中继模式) SIP 中继就是填写我的freeswitch的ip和端口
recommend-type

RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz

REALTEK 8188FTV 8188eus 8188etv linux驱动程序稳定版本, 支持AP,STA 以及AP+STA 共存模式。 稳定支持linux4.0以上内核。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

:YOLO目标检测算法的挑战与机遇:数据质量、计算资源与算法优化,探索未来发展方向

![:YOLO目标检测算法的挑战与机遇:数据质量、计算资源与算法优化,探索未来发展方向](https://img-blog.csdnimg.cn/7e3d12895feb4651b9748135c91e0f1a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5rKJ6YaJ77yM5LqO6aOO5Lit,size_20,color_FFFFFF,t_70,g_se,x_16) # 1. YOLO目标检测算法简介 YOLO(You Only Look Once)是一种
recommend-type

def ObjFun(x,y,beta): # 目标函数 """ Logistic regression loss function :param beta: model parameter vector :param x: feature matrix :param y: label vector :return: loss value """ n = x.shape[0] p = x.shape[1] pred = 1 / (1 + np.exp(-np.dot(x, beta))) pred = np.clip(pred, 1e-15, 1 - 1e-15) # 将预测值限制在一个很小的区间内 ObjVal = -np.sum(y * np.log(pred) + (1 - y) * np.log(1 - pred)) / n return ObjVal

好的,根据上面的目标函数,我们可以推导出其对应的梯度向量函数,如下所示: def gradient(x, y, beta): """ Compute gradient of the logistic regression loss function :param beta: model parameter vector :param x: feature matrix :param y: label vector :return: gradient vector """ n = x.shape[0] pred = 1 /
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。