icecity0079 / 通信知识 / SIPP工具使用之多方通话__3pcc

0 0

   

SIPP工具使用之多方通话__3pcc

2018-08-14  icecity00...

最近工作中要写一个sip压力测试的用例,由于公司资源有限,暂时只能使用一些开源的测试工具,比如sipp。

如果只是简单使用一下sipp本身提供的基础仿真配置也很简单,比如UAC-UAS这样的内置程序,网上的文章也一大把,这边也就不多说了,给个简单的测试命令:


服务端执行:./sipp -sn uas -i 149.0.0.1 

客户端执行:./sipp -sn uac -i 129.1.0.1 149.0.0.1 -r 20 -rp 1s   其中149.0.0.1为服务器端地址,129.1.0.1为客户端的IP地址



只是要是涉及到3pcc的测试,网上的资料就少之又少了,找了一下sipp的官方资料,尝试使用了一下,使用结果记录下:


3PCC就是指第三方控制呼叫流程,标准协议上有详细的规范,sipp只是通过内置的程序进行了简单的支持,具体流程见下图:


       

通过上面的流程图可以大致了解了3pcc的通信过程,controller A发起呼叫控制,经过远端A、controllerB和远端B完成了远端A和远端B的呼叫通信。我的测试过程使用了4台虚拟PC,分别对应了流程图上的4个节点,4个节点的控制命令如下:

controller A: sipp -sn 3pcc-C-A  -i 175.175.1.6 175.175.2.6 -3pcc 174.174.1.5:52142 -r 10 -rp 1s 

controller B: sipp -sn 3pcc-C-B -i 174.174.1.5 174.174.2.5 -3pcc 175.175.1.6 

A :./sipp -sn 3pcc-A -i 175.175.2.6 

B:./sipp -sn 3pcc-B  -i 174.174.2.5


其中,175.175.1.6为controllerA的本端IP地址;175.175.2.6为远端A的IP;174.174.1.5为controllerB的控制IP地址,用于与controllerA交换recvCmd和SendCmd消息;174.174.2.5为远端B的呼叫IP。注意标红的端口号52152,这个地方要添加端口号,否则两个控制节点不能进行数据交换。这个端口号从哪来呢?我被它卡了一会,最后通过在PC查看相应的监听端口号尝试成功的,相关命令如下:

        


这样就能实现原理图上的多方通信流程了。


运行效果图:

     


当然,我们也可以自己写一些XML的文件,实现我们想要的流程,但是要求对sip协议比较熟悉,网上也很多此类的文章,可供参考。

附sipp的中文使用教程






    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多