logo资料库

SIPp使用手册中文版 中译版.pdf

第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
资料共45页,剩余部分请下载后查看
SIPp 使用手册 黄龙舟 译 hlz_2599@163.com http://blog.163.com/hlz_2599
目录 SIPP 使用手册 ................................................................................................................................... 1 目录 ...................................................................................................................................................... 2 一、 简介 ......................................................................................................................................... 3 二、 安装 SIPP .................................................................................................................................. 3 1. 获取 SIPp ................................................................................................................................................ 3 2. 安装 SIPp ................................................................................................................................................ 4 3. 增加文件标识符限制 ............................................................................................................................. 5 三、 使用 SIPP .................................................................................................................................. 6 1. 主要特性 ................................................................................................................................................ 6 2. 集成的脚本(场景) ............................................................................................................................. 6 2.1 示范脚本:主叫(UAC) ............................................................................................................... 6 2.2 示范脚本:带媒体的 UAC .............................................................................................................. 7 2.3 示范脚本:被叫(UAS.xml) ......................................................................................................... 7 2.4 示范脚本:正则表达式,regexp.xml ............................................................................................. 8 2.5 示范脚本:分支,branchc.xml 和 branchs.xml ............................................................................. 8 2.6 UAC Out-of-call 消息 ......................................................................................................................... 9 2.7 3PCC(第三方呼叫控制) ............................................................................................................... 9 3. 扩展的 3PCC ......................................................................................................................................... 12 4. 控制 SIPp .............................................................................................................................................. 12 5. 后台运行 SIPp....................................................................................................................................... 13 6. 创建自定义的 XML 脚本 ...................................................................................................................... 13 6.1 创建客户端(类似 UAC)脚本 .................................................................................................... 20 6.2 创建服务端(类似 UAS)脚本 ..................................................................................................... 24 6.3 动作(Actions) ............................................................................................................................ 25 6.4 变量 ................................................................................................................................................ 31 6.5 条件分支 ........................................................................................................................................ 33 6.6 SIP 认证 ........................................................................................................................................... 34 6.7 初始场景 ........................................................................................................................................ 36 7. 运行界面 .............................................................................................................................................. 36 8. 传输层模式........................................................................................................................................... 38 9. 统计 ...................................................................................................................................................... 39 10. 错误处理 ............................................................................................................................................ 40 11. 日志功能 ............................................................................................................................................ 40 12. 使用 SIPp 做性能测试 ........................................................................................................................ 45 12.1 使用 SIPp 做性能测试的建议 ..................................................................................................... 45 12.2 SIPp 内部调度机制 ....................................................................................................................... 45
一、 简介 SIPp 是一个测试 SIP 协议性能的工具软件,它包含了一些基本的 SipStone 用户代理工作 流程(UAC 和 UAS),并可使用 INVITE 和 BYE 建立和释放多个呼叫。它也可以读 XML 的场景 文件,即描述任何性能测试的配置文件(可以用他来模拟现场的 SIP 信令,以重现出现的故 障;或者可以自定义 SIP 协议以测试终端对某些方面的容错或错误处理能力)。它能动态显 示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。周期性地把 CSV 统 计数据转储,在多个套接字上的 TCP 和 UDP,利用重新传输管理的多路复用。在场景定义文 件中可以使用正则表达式,动态调整呼叫速率。SIPp 可以用来测试许多真实的 SIP 设备,如 SIP 代理,B2BUAs,SIP 媒体服务器,SIP/x 网关,SIP PBX,等等,它也可以模仿上千个 SIP 代 理呼叫你的 SIP 系统。另外,SIPp 还可以简单用来测试 SIP 协议。 本文档是根据 sipp v3.4 版本来编写的,早期的 sipp 版本可能不含有本文档提到的一些 特性。 下面是 SIPp 的运行界面截图: 二、 安装 SIPp 1. 获取 SIPp SIPp 在 GNU GPU 许可下发行,sipp 下载地址为 http://sourceforge.net/projects/sipp/files/
2. 安装 SIPp SIPp 可安装在 Linux 和 Cygwin 上面,其他 Unix 版本可能也可以安装使用,但在每一个 发布周期中并未被测试。不过 Cygwin 上面性能没有 Linux 上面好,且 SIPp 只能在运行于 windows xp 或更高 windows 版本的 Cygwin 上面运行。在 Linux 环境中,SIPp 以源代码的形 式提供,在使用 SIPp 之前需要编译 SIPp,在编译之前需要如下依赖组件: curses or ncurses library  C++ Compiler   For TLS support: OpenSSL >= 0.9.8  For pcap play support: libpcap and libnet  For SCTP support: lksctp-tools  For distributed pauses: Gnu Scientific Libraries 在编译 SIPp 时,有如下四个选项:  不包含对 TLS,SCTP 或 PCAP 的支持 # tar -xvzf sipp-xxx.tar # cd sipp # ./configure # make  包含 TLS 支持 # tar -xvzf sipp-xxx.tar # cd sipp # ./configure --with-openssl # make  包含 PCAP play 支持 # tar -xvzf sipp-xxx.tar # cd sipp # ./configure --with-pcap # make  包含 SCTP 支持 # tar -xvzf sipp-xxx.tar # cd sipp # ./configure --with-sctp # make  或者组合支持以上功能 # tar -xvzf sipp-xxx.tar # cd sipp # ./configure --with-sctp --with-pcap --with-openssl # make
下面以 CentOS 6.4 为例,可以按如下步骤编译安装 #yum install gcc-c++ gcc automake autoconf libtool make #yum install libpcap libpcap-devel #yum install ncurses ncurses-devel #tar -xvzf sipp-xxx.tar.gz #cd sipp #./configure --with-sctp --with-pcap --with-openssl #make && make install 安装后使用 sipp -v 命令可查看当前 sipp 版本,如下版本是 v3.4,日期为 2013 年 10 月 22 日版本。 3. 增加文件标识符限制 如果你的系统不支持足够的文件标识符,当使用 TCP/TLS 模式(译者注:使用 UDP 模式 也一样)进行大并发量呼叫测试可能会遇到问题,可以使用两种方法来突破这种限制:使用 命令行参数-max socket 或者改变系统的限制。至于如何增加文件描述符的最大值,不同的 系统修改方法或步骤不同。  在内核为 2.4 版本的 Linux 系统上可以通过修改/etc/security/limits.conf and the /etc/pam.d/login 文件来更改,打开/etc/security/limits.conf 文件并添加如下内容: * * 32768 65535 soft hard nofile nofile  然后打开/etc/pam.d/login 文件并添加如下内容: session required /lib/security/pam_limits.so  然后使用如下命令来永久更改文件描述符所能支持的最大值: ulimit -s unlimited  注销系统再登录,然后使用 ulimit -a 命令验证是否更改成功,成功后如下图所示
(open files 为设置的值 32768 了) 三、 使用 SIPp 1. 主要特性 sipp 允许向远端系统发送一个或多个呼叫,sipp 目前只支持从命令行运行。SIPp 内置了 两个脚本,服务器(UAS)脚本和客户端(UAC)脚本,你也可以创建自己自定义的脚本。 可以在同一台设备上同时运行服 UAS 和 UAC 脚本以示范 SIPp 的能力。 首先运行 SIPp 内嵌的服务器脚本,命令如下: # ./sipp -sn uas -i local_ip 然后在同一台主机上运行 SIPp 内嵌的客户端脚本,命令如下: # ./sipp -sn uac 2. 集成的脚本(场景) 2.1 示范脚本:主叫(UAC) 脚本文件:uac.xml,流程如下。请点我下载。
2.2 示范脚本:带媒体的 UAC 脚本文件:uac_pcap.xml,流程如下。请点我下载。 2.3 示范脚本:被叫(UAS.xml) 流程如下。请点我下载。
2.4 示范脚本:正则表达式,regexp.xml 流程如下。请点我下载。正则表达式的用法后面会介绍。 2.5 示范脚本:分支,branchc.xml 和 branchs.xml 请点击下载 branchc.xml 和 branchs.xml。这两个脚本是相互配合使用的,一个作主 叫,一个作被叫,并且用到了条件分支的功能。
分享到:
收藏