如何使用SIPp测试ReSIProcate的Proxy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用SIPp测试ReSIProcate的Proxy相关的知识,希望对你有一定的参考价值。

颇有些说明书控的感觉,一切准备好了,开始进行了使用SIPp测试ReSIProcate的Proxy的实践,没想到颇为不顺,于是有了这篇博文,记录一下个人经验,以供后人借鉴。一开始按照说明Run
sipp with embedded server (uas) scenario: ./sipp -sn uas -p 5064 On the
same host, run sipp with embedded client (uac) scenario ./sipp -sn uac
127.0.0.1 -p 5062 在uac端提示错误 Last Error: Unable to send UDP message: Bad
address.
sip群里询问了一下,有说是IP设置有问题的,有说可能是端口冲突的。端口冲突我一开始就已经考虑到了,指定了端口号避免了冲突。我指定了一下 IP
,添加了以下参数(localIP指本地IP地址,这儿假设您的本地IP地址为192.168.1.66) -i localIP
没有了这个错误,我用netstat -an命令行参数比较了一下异同,发现引起错误的原因在于端口所处的IP段不同。
OK~接下来在我上一篇博文ReSIProcate之编译、安装、配置、运行、测试proxy的基础上开始配置ReSIProcate配合SIPp测试。
由于SIPp的uac与uas场景没有注册,于是我们需要在ReSIProcate中添加uac和uas的后门帐号。 在入口函数main的
InMemoryRegistrationDatabase regData; 下面添加如下代码 //!sld! 2009-11-6
为了sipp添加后门,这里假设您的localIP为192.168.1.66 ContactInstanceRecord rec;
rec.mContact = NameAddr(Uri("sip:service@192.168.1.66:5064"));
rec.mRegExpires = -1;
regData.updateContact(Uri("sip:service@192.168.1.66:5060"),rec);
rec.mContact = NameAddr(Uri("sip:sipp@192.168.1.66:5062"));
regData.updateContact(Uri("sip:sipp@192.168.1.66:5060"),rec);
第二件事很显然我们需要配置proxy的运行参数。 char* recordRouteUri = "sip:192.168.1.66:5060";
char* interfaces = "sip:192.168.1.66:5060;timer-C=2;transport=udp";
以上第一个参数是设置了record route,以便uac
uas建立了连接之后包仍然通过proxy转发,下面一个参数是使proxy监听localIP段5060 udp端口。接下来一切OK~ Have
fun!!!
参考技术A 颇有些说明书控的感觉,一切准备好了,开始进行了使用SIPp测试ReSIProcate的Proxy的实践,没想到颇为不顺,于是有了这篇博文,记录一下个人经验,以供后人借鉴。一开始按照说明Run sipp with embedded server (uas) scenario: ./sipp -sn uas -p 5064 On the same host, run sipp with embedded client (uac) scenario ./sipp -sn uac 127.0.0.1 -p 5062 在uac端提示错误 Last Error: Unable to send UDP message: Bad address. sip群里询问了一下,有说是IP设置有问题的,有说可能是端口冲突的。端口冲突我一开始就已经考虑到了,指定了端口号避免了冲突。我指定了一下 IP ,添加了以下参数(localIP指本地IP地址,这儿假设您的本地IP地址为192.168.1.66) -i localIP 没有了这个错误,我用netstat -an命令行参数比较了一下异同,发现引起错误的原因在于端口所处的IP段不同。 OK~接下来在我上一篇博文ReSIProcate之编译、安装、配置、运行、测试proxy的基础上开始配置ReSIProcate配合SIPp测试。 由于SIPp的uac与uas场景没有注册,于是我们需要在ReSIProcate中添加uac和uas的后门帐号。

压测freeswitch--安装sipp

 

1.sipp下载

下载链接:https://sourceforge.net/projects/sipp/files/

技术分享图片

此处我们下载sipp3.3为例

技术分享图片

2.linux系统下编译sipp

安装sipp

可以四个选项来编译sipp

没有tls、sctp或pcap支持:

# tar -xvzf sipp-xxx.tar
              # cd sipp
              # ./configure
              # make
在tsl支持下,还必须安装openssl库,构建sipp在configure命令中添加 --with-openssl 选项
# tar -xvzf sipp-xxx.tar.gz
            # cd sipp
            # ./configure --with-openssl
            # make
支持pcpa
# tar -xvzf sipp-xxx.tar.gz
            # cd sipp
            # ./configure --with-sctp
            # make
组合不用选项
# tar -xvzf sipp-xxx.tar.gz
            # cd sipp
            # ./configure --with-sctp --with-pcap --with-openssl
            # make

 

使用sipp

sipp允许为一个远程系统生成一个或者多个呼叫。该工具从命令行启动。

运行uas:  ./sipp -sn uas

技术分享图片

运行 uac:

技术分享图片

 




以上是关于如何使用SIPp测试ReSIProcate的Proxy的主要内容,如果未能解决你的问题,请参考以下文章

resiprocate使用入门:内网搭建基于repro的sipproxy测试环境

SIPP常用脚本之register注册

SIP协议简介与SIPp流量测试工具

ReSIProcate环境搭建

SIPP:打开文件限制 > FD_SETSIZE

压测freeswitch--安装sipp