SIP压力测试最好的工具

news/2024/7/23 11:07:08
第一章SIPp介绍
SIPp 是一个测试SIP协议性能的工具软件。这是一个GPL的开放源码软件。
    它包含了一些基本的SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和B YE建立和释放多个呼叫。它也可以读XML的场景文件,即描述任何性能测试的配置文件。它能动态显示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。周期性地把CSV统计数据转储,在多个套接字上的TCP和UDP,利用重新传输管理的多路复用。在场景定义文件中可以使用正规表达式,动态调整呼叫速率。

    SIPp可以用来测试许多真实的SIP设备,如SIP代理,B2BUAs,SIP媒体服务器,SIP/x网关,SIP PBX,等等,它也可以模仿上千个SIP代理呼叫你的SIP系统。
    关于SIPp从google上搜索到很多,可是关于SIPp的中文说明资料较少,或者很多都是不齐全的安装使用说明。
    SIPp的网址:http://sipp.sourceforge.net/
SIPp的下载地址:
http://sourceforge.net/project/showfiles.php?group_id=104305&package_id=119322  (当我已经在使用rc6的时候,rc8已经出来了,|||-.-)
SIPp的四种安装方法:
1)       没有TLS支持与密码验证支持:
a)       # tar -xvf sipp-1.1rc6.tar.gz
b)       # cd sipp-1.1.rc6
c)       # make
Make出来的sipp文件就是一个可执行的文件,只需要搭配场景xml文件与csv文件即可进行SIP测试
2)       拥有TLS支持与密码验证支持,但是不支PCAP语音播放:
a)       # tar -xvf sipp-1.1rc6.tar.gz
b)       # cd sipp-1.1.rc6
c)       # make ossl
这样编译出来的文件就加入了TLS至于与密码验证支持功能sipp软件了。
3)       支持PCAP Play,但是没有密码验证支持:(PCAP Play即为可以进行RTP语音,但是没有407 AUTH验证)
a)       # tar -xvf sipp-1.1rc6.tar.gz
b)       # cd sipp-1.1.rc6
c)       # make pcapplay
4)       支持PCAP 声音文件播放,而且支持密码验证支持:(支持407 auth验证支持)
a)       # tar -xvf sipp-1.1rc6.tar
b)       # cd sipp-1.1.rc6
c)       # make pcapplay_ossl
最新消息:使用sipp-1.1rc6后,如果采用pcap方式发包播放后,通过抓包抓不到session的消息体。多次尝试与配置文件的修改均查看不到sip的session体。后来更新到sipp-1.1rc8后,抓包就可以看到sip session体了,看来其他使用者已经发现这个bug了.
 
 
第二章SIP的几个主要呼叫流程介绍
1:
invite呼叫后暂停,结束呼叫。
A呼叫BAst返回100 tring180 ring后,这边回ACK消息,然后Pause 10秒,发送Bye消息,系统返回200 ok
    |(1) INVITE         |
    |---------------à |
    |(2) 100 (optional)|
    |<-----------------|
    |(3) 180 (optional)|
    |<-----------------|
    |(4) 200             |
    |<-----------------|
    |(5) ACK             |
    |---------------à |
    |                     |
    |(6) PAUSE          |
    |                     |
    |(7) BYE             |
    |----------------->|
    |(8) 200             |
    |<-----------------|
例2:
invite呼叫,建立连接然后RTP,并带有RFC2833的DTMF,延迟几秒后发送Bye消息,对方返回200 OK。
Scenario file: uac_pcap.xml (original XML file)
SIPp UAC            Remote
    |(1) INVITE         |
    |------------------>|
    |(2) 100 (optional) |
    |<------------------|
    |(3) 180 (optional) |
    |<------------------|
    |(4) 200            |
    |<------------------|
    |(5) ACK            |
    |------------------>|
    |                   |
    |(6) RTP send (8s) |
    |==================>|
    |                   |
    |(7) RFC2833 DIGIT 1|
    |==================>|
    |                   |
    |(8) BYE            |
    |------------------>|
    |(9) 200            |
    |<------------------|
例3:
SIPp作为SIP 服务器进行处理。
Remote              SIPp UAS
    |(1) INVITE         |
    |----------------->|
    |(2) 180             |
    |<-----------------|
    |(3) 200             |
    |<-----------------|
    |(4) ACK             |
    |----------------->|
    |                      |
    |(5) PAUSE           |
    |                      |
    |(6) BYE              |
    |------------------>|
    |(7) 200              |
|<--------------------|
第一章例4:
典型的SIP register成功后、然后invite到AST,AST回了100与180或者403 forbidden消息,SIPp发送ACK,延迟5000ms后,SIPp发送Bye,AST回200 OK
REGISTER ----------――>
         200 <----------
         200 <----------
      INVITE ---------->
         100 <----------
         180 <----------
         403 <----------
         200 <----------
         ACK ---------->
             [ 5000 ms]
         BYE ---------->
         200 <------------
 

http://www.niftyadmin.cn/n/4819022.html

相关文章

这段代码有什么问题吗? 关于IHTMLLinkElement的。

这段代码有什么问题吗&#xff1f; 关于IHTMLLinkElement的。楼主ttzzgg_80713&#xff08;身无立锥地&#xff0c;常有四海心---老子有条命&#xff09;2002-09-15 22:52:34 在 VC/MFC / HTML/XML 提问以下使用的是www.csdn.net/expert的网页. void CLeftView::GetA…

并发编程中关于死锁,递归锁,信号量的理解

并发编程中关于死锁,递归锁,信号量的理解 1.死锁**** ​ 所谓死锁&#xff1a; 是指两个或两个以上的进程或线程在执行过程中&#xff0c;因争夺资源而造成的一种互相等待的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推进下去。此时称系统处于死锁状态或系统产生了…

Ethereal使用入门

ethereal 可以用来从网络上抓包&#xff0c;并能对包进行分析。下面介绍windows 下面ethereal 的使用方法安装1&#xff09;安装winpcap&#xff0c;下载地址http://netgroup-serv.polito.it/winpcap/install/Default.htm 2&#xff09;安装ethereal &#xff0c;下载地址http:…

select top 的用法

select top 1 * from 员工 order by 编号 select * from 员工 order by 编号 select * from 员工 where 编号 like YG% order by 编号 desc select TOP 1 * from 员工 where 编号 like YG% order by 编号 desc

用Ethereal分析协议数据包

Ethereal是一个图形用户接口&#xff08;GUI&#xff09;的网络嗅探器&#xff0c;能够完成与Tcpdump相同的功能&#xff0c;但操作界面要友好很 多。Ehtereal和Tcpdump都依赖于pcap库&#xff08;libpcap&#xff09;&#xff0c;因此两者在许多方面非常相似&#xff08;如都使…

程序信息网格

程序信息网格 尽量在item信息中完成一切。

python第四课

# li[alex,[1,2,3],wusir,egon,女神,taibai]# l1li[0]# print(l1)# l2li[1]# print(l2)# l3li[0:3]# print(l3)#li[alex,wusir,egon,女神,taibai]#增加append insert# li.append(日天)# li.append(1)# print(li)# while 1:# usernameinput(>>>)# if username.…

1. 单例模式

单例模式存在的意义 1. 一个class只有一个对象&#xff0c;减少了内存开支2. 避免对资源多重占用 适用于单例模式的场景 1. 频繁创建及销毁的对象&#xff0c;例如工具类 2. 不变的对象 3. 重量级对象&#xff0c;例如JDBC连接&#xff0c;httpClient等 单例模式的使用 1. 饿汉…