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个用户;


相关文章
|
27天前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
42 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
178 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
2月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
80 18
|
23天前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
27 0
|
3月前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
122 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
2月前
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
|
2月前
|
Web App开发 Linux Python
linux上安装selenium环境及测试
该文章提供了在Linux CentOS上安装Selenium环境、Chrome浏览器及Chromedriver的详细步骤,并演示了如何以无头模式进行测试。
161 0
|
27天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
50 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
219 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
228 3
快速上手|HTTP 接口功能自动化测试
下一篇
无影云桌面