SIPP不同的安装模式和做测试

简介: SIPP不同的安装模式和做测试

SIPP支持四种不同的安装模式:

1) 没有TLS支持与密码验证支持:

a) # tar xzvf sipp-xxx.tar.gz

b) # cd sipp-xxx

c) # makeMake  

出来的sipp文件就是一个可执行的文件,只需要搭配场景xml文件与csv文件即可进行SIP测试,这是最常用的安装。

 

2) 拥有TLS支持与密码验证支持,但是不支PCAP语音播放:

a) # tar xzvf sipp-xxx.tar.gz

b) # cd sipp-xxx

c) # make ossl

这样编译出来的文件就加入了TLS至于与密码验证支持功能sipp软件了。

 

3) 支持PCAP Play,但是没有密码验证支持:(PCAP Play即为可以进行RTP语音,但是没有407 AUTH验证)

a) # tar xzvf sipp-xxx.tar.gz

b) # cd sipp-xxx

c) # make pcapplay

 

4) 支持PCAP 声音文件播放,而且支持密码验证支持:(支持407 auth验证支持)

a) # tar xzvf sipp-xxx.tar

b) # cd sipp-xxx

c) # make pcapplay_ossl

 

本文使用安装方法4:

# tar xzvf sipp-3.3.tar.gz

# cd sipp-3.3

# make pcapplay_ossl

注:make不成功时,确认是否安装:libpcap、libpcap-devel、ncurses-devel、ncurses

确认安装成功:

./sipp -h

\

用SIPP做测试的时候需要准备以下几个文件:

UAC端:uac.sh,  uac.xml,  uac.csv

uac.sh:调用sipp命令,并传入相应参数脚本文件,模拟UAC(例如主叫),当然也可不准备此文件直接输入sipp命令执行程序,但是写成文件执行更加方便可靠;

uac.xml:根据需要编写的uac侧的sip信号流程;

uac.csv:用于uac.xml需要引入的相应数据;

 

UAS端:reg.sh,  reg.xml,  uas_noreg.sh,  uas_noreg.xml,  uas.csv

reg.sh:调用sipp命令,并传入相应参数的脚本文件,模拟UAS注册,当然也可不准备此文件直接输入sipp命令执行程序,但是写成文件执行更加方便可靠;

reg.xml:根据需要编写的注册流程,主要配合uas流程使用;

uas_noreg.sh:调用sipp命令,并传入相应参数的脚本文件,模拟UAS(例如被叫),当然也可不准备此文件直接输入sipp命令执行程序,但是写成文件执行更加方便可靠。

uas_noreg.xml:根据需要编写的uas侧的sip信号流程。

uas.csv:用于reg.xml和uas.xml中需要引入的相应数据。

 

注意:uas中,reg.xml和uas_noreg.xml中的内容不能合并在同一个xml中,或者会导致收不到invite;

\

使用下述命令,可以直接导出场景模板,再进行二次修改;

./sipp -sd branchc > branchc.xml

\

1、UAC

调试uac流程时,推荐调试方案:uac主叫+eyebeam被叫(或其它VOIP工具);

待uac和uas单方都确认调试通过后,再使用:uac主叫+uas被叫;

 

uac.xml流程:

 

uac.sh文件内容如下:

./sipp -i 192.168.146.17 -sf uac.xml -inf uac.csv 192.168.146.11:5060 -l 1 -trace_msg -trace_screen -trace_err -p 12345 -m 1 -aa

参数解释:

-i: Set the local IP address for 'Contact:','Via:', and 'From:' headers.

Default is primary host IP address.

为'Contact:','Via:', 和 'From:' 头部信息设置本地IP,在脚本中用[local_ip]引入

 

-sf: Loads an alternate xml scenario file.  

To learn more about XML scenario syntax, use the -sd option to dump embedded scenarios.

They contain all the necessary help.

引入脚本文件,根据需要模拟的呼叫流程编写

 

-inf: Inject values from an external CSV file during calls into the scenarios.

First line of this file say whether the data is to be read in sequence (SEQUENTIAL), random (RANDOM), or user(USER) order.

Each line corresponds to one call and has one or more ';' delimited data fields. Those fields can be referred as [field0], [field1], ... in the xml scenario file.

Several CSV files can be used simultaneously (syntax:-inf f1.csv -inf f2.csv ...)

在通话场景中使用外部csv文件引入数据;

文件的第一行说明了后面数据的读入方式,常用的有:顺序 (SEQUENTIAL), 随机 (RANDOM), 或用户(USER)顺序;

第一行对应一个通话,它们由一个或多个’;’分隔数据字段,这些字段可以在xml场景文件中使用[field0], [field1], ...来调用;

多个csv文件,可以同时使用(语法:-inf f1.csv -inf f2.csv ...)

 

192.168.146.11:5060

Freeswitch服务端IP及freeswitch使用的端口;

 

-l: Set the maximum number of simultaneous calls.

Once this limit is reached, traffic is decreased until the number of open calls goes down.

Default:(3 * call_duration (s) * rate).

设置同时呼叫的最大数目;

一旦达到此值,流量将被限制直到打开的通话数下降;

默认值:3*call_duration(s)*rate

 

-p: Set the local port number.  Default is a random free port chosen by the system.

设置本地端口号,默认是由系统随机选择空闲的端口号;

 

-m:Stop the test and exit when 'calls' calls are processed

当设置的通话数完成时,停止测试 "软件测试知识库")并退出;

 

-aa: Enable automatic 200 OK answer for INFO, UPDATE and NOTIFY messages.

针对INFO, UPDATE 和 NOTIFY消息,进行200 OK自动回复应答;

 

-trace_msg:

Displays sent and received SIP messages in <scenario file name>__messages.log

在<场景文件名>__messages.log中显示发送和接收的SIP消息;调试时可增加,正试*性能测试)时,可取消,以免日志量太大影响本地性能;

 

-trace_screen:

Dump statistic screens in the<scenario_name>__screens.log file when quitting SIPp.

Useful to get a final status report in background mode (-bg option).

在退出SIPp时,把屏蔽上的统计信息写入<场景名>__screens.log文件中;

在后台模式(-bq选项)时,这对于得到最终状态报告很有用;

 

-trace_err:

Trace all unexpected messages in <scenario filename>__errors.log.

跟踪所有非期望的消息到<场景文件名>__errors.log;

 

测试时,有可能要指定发送呼叫频率,可以指定参数:

-r 1 -rp 3000:每三秒钟发一个呼,如果不指定,默认为1秒加载10用户;

 

性能测试过程中,一直要修改测试用户数,可考虑参照如下修改uac.sh脚本,-l及-m参数使用变更代替:

#!/bin/bash

# Author:fairylly

#执行脚本时,未输入参数,提示:please input call number!,并退出

if [[ $# -eq 0 ]]

then

       echo "please input call number!"

       exit 1

fi

#m变量使用命令行传递的第一个位置参数

m=$1

 

./sipp -i 192.168.146.17 -sf uac.xml -inf uac.csv 192.168.146.11:5060 -l m −tracescreen −traceerr −p 12345 −m m -trace_screen -trace_err -p 12345 -m mtracescreentraceerrp12345m m -aa

 

使用方法:./uac.sh 100,表示最大同时呼叫100个用户;


相关文章
|
运维 关系型数据库 MySQL
os-copilot安装_配置_功能测试全集
我是一位中级运维工程师,我平时工作会涉及到 各类服务器的 数据库 与 java环境配置 操作。 我顺利使用了OS Copilot的 -t -f | 功能,我的疑惑是不能在自动操作过程中直接给与脚本运行权限,必须需要自己运行一下 chmod 这个既然有了最高的权限,为什么就不能直接给与运行权限呢。 我认为 -t 功能有用,能解决后台运行基础命令操作。 我认为 -f 功能有用,可以通过task文件中撰写连续任务操作。 我认为 | 对文件理解上有很直接的解读,可以在理解新程序上有很大帮助。
506 86
|
存储 人工智能 编译器
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1115 11
【03】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-测试hello word效果-虚拟华为手机真机环境调试-为DevEco Studio编译器安装中文插件-测试写一个滑动块效果-介绍诸如ohos.ui等依赖库-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
人工智能 测试技术 API
Windows用户必备:Postman v11详细安装指南与API测试入门教程(附官网下载
Postman是全球领先的API开发与测试工具,支持REST、SOAP、GraphQL等协议调试。2025年最新版v11新增AI智能生成测试用例、多环境变量同步等功能,适用于前后端分离开发、自动化测试、接口文档自动生成及团队协作共享API资源。本文详细介绍Postman的软件定位、核心功能、安装步骤、首次配置、基础使用及常见问题解答,帮助用户快速上手并高效利用该工具进行API开发与测试。
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
476 0
|
弹性计算 Ubuntu Java
OS-Copilot-ubuntu镜像版本的具体测试使用(安装方式有单独注明)
作为一名个人开发者,我主要负责云资源的运维和管理。在使用OS Copilot的过程中,我遇到了一些配置问题,特别是在ECS实例中设置AccessKey时,但最终成功解决了。通过使用OS Copilot的-t/-f/管道功能,我大大提升了效率,减少了命令编写的工作量,特别是在搭建Java运行环境时效果显著。此外,| 功能帮助我快速理解文档,整体体验非常流畅,推荐给其他开发者使用。
490 6
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
367 7
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
268 0
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1628 23
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
2195 24