SIPP介绍以及使用介绍

SIPP 压测介绍以及使用方式

sipp 介绍

SIPP是一个测试SIP协议性能的工具软件,它包含了一些SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和BYE建立和释放多个呼叫。它可以读取XML场景文件,及描述任何性能测试的配置文件。它能动态的显示测试运行的统计数据(呼叫速率,信号来回的延迟,一级消息统计)、周期性的把CSV统计数据转储,在多个套接字上的TCP和UDP,利用重新传输管理的多路复用。在场景定义文件中使用正则表达式、动态调整呼叫速率

sipp可以做什么

SIPP可以用来测试许多真实的SIP设备,如SIP代理、B2BUAS,SIP服务器,SIP/X网关、SIPPBX等等,它可以模仿上千万个SIP代理呼叫你的SIP系统。

sipp版本

目前SIPP已经更新到3.6.X,3.6.X版本有问题现在好像已经终止维护。稳定版本为3.4.X和3.5.X版本
SIPP官网地址: http://sipp.sourceforge.net/
GITHUB地址:https://github.com/SIPp/sipp/releases

sipp安装步骤

Winodws系统

  1. 部署安装cygwin运行环境
    Cygwin地址:https://cygwin.com/install.html;
  2. 下载相关类库和开发包
    主要类库:gcc-core、gcc-g++、libncurses-devel、Libncurses、openssl-devel、make
  3. 下载及编译Sipp源码
     直接下载安装win版本的sipp_setup.exe
     下载自动编译包,直接make生成可执行文件
     下载源码包,通过配置编译生成可执行文件
  4. 编译的四种方式
     通用编译方式
    ./configure --with-pcap --with-openssl
    Make
    1. 没有TLS支持与密码验证支持
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make
    2. 拥有TLS支持与密码验证,但是不支持PCAP语音播放
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make ossl
    3. 支持PCAP PLAY,但是没有密码验证支持(pcap play即为可以进行RTP语音,但是没有407auth验证)
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make pcapplay
    4. 支持PCAP声音文件播放,而且支持密码验证支持(支持407 auth验证支持)
      tar -xvf sipp-1.1rc6.tar
      cd sipp-1.1.rc6
      make pcapplay_ossl
  5. 验证是否安装
    ./sipp -h

Liunx系统

  1. 下载Sipp安装包并安装类库
    http://sourceforge.net/projects/sipp/files/sipp/
  2. 类库:
    gcc-core、gcc-g++、libncurses-devel、Libncurses、openssl-devel、make
  3. 解压缩
    tar -xzvf sip p.3.1.src.tar.gz
  4. 选择编译方式
    1. 通用编译方式
      ./configure --with-pcap --with-openssl
      Make
    2. 没有TLS支持与密码验证支持
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make
    3. 拥有TLS支持与密码验证,但是不支持PCAP语音播放
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make ossl
    4. 支持PCAP PLAY,但是没有密码验证支持(pcap play即为可以进行RTP语音,但是没有407auth验证)
      tar -xvf sipp-1.1rc6.tar.gz
      cd sipp-1.1.rc6
      make pcapplay
    5. 支持PCAP声音文件播放,而且支持密码验证支持(支持407 auth验证支持)
      tar -xvf sipp-1.1rc6.tar
      cd sipp-1.1.rc6
      make pcapplay_ossl
  5. 验证是否安装成功
    ./sipp -h

SIPP USA和UAC介绍

SIP协议采用Client/Server模型。每一个请求(Request)触发服务器的一个操作,每个操作被称为方法(Method),每个请求除了指明具体方法之外,还携带了一系列的头域(HeaderField),这些头域携带了各种业务信息,除了头域外。消息中还可以携带任意类型的消息体(Body),呼叫中最常用的SDP信息就是通过消息体在Client和Server之间传递的。Server从接收到请求到处理完毕,要回复多个临时响应(Response)和一个终结响应(Response)。
用户代理客户端-UAC(User Agent Cilent) 用于发起请求
UAC启动命令:
./sipp -sn uac 127.0.0.1 -p 5077
用户代理服务器-UAS(User Agent Server),用于接收请求,这里的UAS可以理解是OpenSip服务器
./sipp -sn uas 127.0.0.1:5077 -I 127.0.0.1 -p 5078 -r 5 -rp 100 -m 2 -trace_msg -trace_err

脚本介绍

SIPP介绍以及使用介绍_第1张图片

SIPP属性/命令介绍

标签名 描述 示例
用于消息的发送,常用参数包括 retrans:udp报文重传时长; lost:丢包率; start_txn:启动响应时间记录 ack_txn:记录接收响应时间,与start_txn匹配 retrans:udp报文重传时长; lost:丢包率; start_txn:启动响应时间记录 ack_txn:记录接收响应时间,与start_txn匹配


用于消息的接收,常用参数包括 response:期望收到的响应消息 request:期望收到的请求消息 optional:可选接收消息,值为true或global timeout:超时时长,默认超时后直接END ontimeout:超时后的跳转处理 action:收到消息后采取的处理动作 regexp_match:检查收到消息是否匹配预期




用于设置暂停时间,常用参数包括 milliseconds:设置暂停时长,单位ms variable:设置当变量出现时暂停 distribution:使用GSL定义或分布模型定义呼叫 时长 milliseconds:设置暂停时长,单位ms variable:设置当变量出现时暂停 distribution:使用GSL定义或分布模型定义呼叫 时长

用于非协议处理的命令执行,常用参数包括 action:执行命令动作




:用于 3PCC场景的参数传递 dest:仅用于扩展模式3PCC

用于两个SIPp实例间的交互接收,常用于3PCC 场景,常用参数包括 action:接收到命令时的执行命令动作 src:仅用于扩展模式3PCC
start_rtd 启动响应定时器
rtd 停止响应定时器
repeat_rtd 重复启用响应定时器
crlf 运行界面增加回车换行
next 跳转任意label
test 与next一起使用,设置 跳转条件
chance 与test、next一起使用, 当test结果有值时,则 概率跳转
counter 计数器累加1

Sipp命令介绍

UAS服务端命令
不带日志
./sipp -sn uas 12.0.0.1 -p 5060
./sipp -sf uas.xml 12.0.0.1 -p 5060
-sn 与-sf区别
-sn 使用SIPP内部模本配置文件
-sf 使用场景自定义配置文件
带日志
./sipp -sn uas 12.0.0.1 -p 5060 -trace_msg -trace_err
/sipp -sf uas.xml 12.0.0.1 -p 5060 -trace_msg -trace_err
客户端
不带日志
./sipp -sf rtp.xml -inf rtp.csv 192.168.146.89:5060 -i 192.168.146.148 -p 5078 -m 10 -r 10 -rp 1
./sipp -sf rtp.xml -inf rtp.csv 192.168.146.89:5060 -i 192.168.146.148 -p 5078 -m 10 -r 10 -rp 1 -trace_msg -trace_err
命令解析

场景文件与用户文件

  1. 内部服务端与客户端交互
    SIPP介绍以及使用介绍_第2张图片
  2. 模拟用户通过SIP服务之间呼叫
    SIPP介绍以及使用介绍_第3张图片
  3. SIPP 模拟大量用户注册服务场景使用SIPP服务器
    SIPP介绍以及使用介绍_第4张图片

你可能感兴趣的:(SIPP压测,压测,java,sip)