文章目录

  • sip概念:
  • sip通话场景
  • 3pcc :
  • 实现3PCC的测试工具:sipp
  • 官方文档:
  • 如何编写XML脚本
  • 如何运行脚本:
  • 运行结果如图

sip概念:

sip协议:session initiation protocol

会话发起协议–应用层。控制电路信号,是终端和终端,终端和网络之间传递的一种消息,专门用来控制电路,建立、管理、删除连接,以使用户能够正常通过这些连接进行通信。

sip通话场景

可参考:https://www.cnblogs.com/lidabo/p/7486197.html
大致有:

注册流程
注销流程
基本呼叫建立
正常呼叫释放
会话更改流程
被叫忙呼叫释放:
被叫无应答流程一:
被叫无应答流程二:
遇忙呼叫前转:
无应答呼叫前转流程:
呼叫保持:
呼叫等待:

3pcc :

官方文档:https://www.dialogic.com/webhelp/bordernet2020/1.0.0/webhelp/sip_del_media_in_3pcc.htm

3pcc : Third Party Call Control,中文即第三方电话呼叫控制,3PCC是一种非常灵活的会话控制方式。

在PSTN网中,第三方呼叫控制通常用于会议、接线业务(接线员创建一个连接另外双方的呼叫)。同样,使用SIP协议也可以借助3PCC来完成PSTN网中的一些相关业务,例如点击拨号、通话过程中放音等等

实现3PCC的测试工具:sipp

官方文档:

https://sipp.readthedocs.io/en/latest/int_scenarios.html#pcc

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


本次在写脚本的时候主要涉及到图中的交互流程,方便写代码所以就贴了一个脚好看的图:
真实的交互场景为:

1.主机发送 INVITE 报文到controlA
2.controlA   recvcmd  invite报文
3.再 sendcmd  invite 给controlB
4. controlB recvcmd 后
5. 再send invite 给 B
6. B send 100~200的状态码给controlB
7. controlB sendcmd 给controlA
8. control A  recvcmd  状态码后
9. send 状态码 给 A
10.然后A发ACK  BYE 报文也是重复上面 1-9步骤

如何编写XML脚本

可根据官方文档给出的四个脚本进行编写,传参都是默认变量,只需要我们在运行程序时进行传入

如何运行脚本:

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,这个地方要添加端口号,否则两个控制节点不能进行数据交换。

这个端口号从哪来?
我们可以选运行controlB 如何通过查看进程可看到:netstat -l

运行结果如图


报错问题:https://blog.csdn.net/qq_45175681/article/details/122369669

关于sip协议-3PCC-SIPP工具相关及报错相关推荐

  1. KMS工具激活office2016报错0x80080005的解决记录

    参考博客记录 | KMS工具激活Office报错 Error Code: 0x80080005的方法,亲测有效.不过为了不出错我把要删除的注册表在删除前备份了一下.

  2. Nullpoint及其相关的报错

    Nullpoint及其相关的报错,比如nested exception之类 Nullpoint很明显大家都明白这个是为空的报错.但是引起这个问题的可能有很多种. 问题:几个表抽几个属性的数据封装成一个 ...

  3. HP-UX执行Oracle相关命令报错Memory fault(coredump)分析处理

    HP-UX安装Oracle 11.2.0.3单机执行任何命令均报错Memory Fault(coredump)分析解决 1. 故障现象 顺利无报错安装Oracle软件之后,执行netca.dbca等任 ...

  4. Goby资产扫描工具安装及报错处理

    官网: https://cn.gobies.org/index.html 产品介绍: 帮企业梳理资产暴露攻击面,新一代网络安全技术,通过为目标建立完整的资产数据库,实现快速的安全应急. 已有功能: 扫 ...

  5. 开发工具cfree安装报错解决

    报错如下: [ --------------------配置: mingw5 - CUI Debug, 编译器类型: MinGW-------------------- 检查文件依赖性... 正在编译 ...

  6. 微信分享相关:报错“微信:包名不对,请检查包名是否与开放平台填写一致”

    背景:应用或多或少会接入微信分享的功能.但是由于某些原因,自己配置的应用信息与开放平台的信息一致,但还是会报错:"包名不对,请检查包名是否与开放平台填写一致",接下来就用两个实验来 ...

  7. java 对应sql驱动版本_关于Oracle JDBC驱动版本、JDK版本、数据库版本对应关系(相关的报错:ORA-28040)...

    关于Oracle JDBC驱动版本.JDK版本.数据库版本对应关系 说明: 1.Oracle JDBC驱动版本查看方式(Oracle JDBC驱动程序随Oracle数据库服务器一起提供)(用户:Ora ...

  8. RT-Thread ENV工具 pkgs --upgrade 报错:open .config failed

    前言 RT-Thread 的ENV工具使用起来非常的便捷,可以加入右键菜单,随时调出来,除了运行工程的配置与构建,甚至可以代替Windows 的cmd,来干点其他的工作 这个工具也需要更新,如果不更新 ...

  9. mac使用jvm诊断工具arthas启动报错Can not find tools.jar under java home解决

    linux操作系统遇到以下问题也可用同样的方式解决 -bash-3.2$ java -jar arthas-boot.jar [INFO] arthas-boot version: 3.4.5 [IN ...

  10. 关于版本控制工具GitHub安装报错

    2019独角兽企业重金招聘Python工程师标准>>> 根据错误提示找到安装的日志文件 The following properties have been set: Propert ...

最新文章

  1. 不同的source control下配置DiffMerge
  2. 每日一皮:高级开发员 VS 菜鸟开发员
  3. kafka java创建topic_kafkakafka_2.10-0.8.2.1+zookeeper-3.4.6 创建topic一个小问题
  4. C++ Primer 5th笔记(10)chapter10 泛型算法 : read
  5. 运行npm update等命令出错后如何分析问题根源
  6. Leetcode——两数之和
  7. tomcat报错“The specified JRE installation does not exist”
  8. 大数据-HDFS文件系统是什么
  9. Windows RDP远程桌面无密码账户
  10. 【树状数组 思维题】luoguP3616 富金森林公园
  11. LabView学习笔记(九):数组与簇
  12. asp.net中使用水晶报表 ---pull
  13. 爬虫技术python代码_2017.07.21 Python网络爬虫之Python代码格式
  14. RT-Thread 入门学习笔记:使用虚拟GPS设备验证GPS nmea解析
  15. 联想微型计算机驱动,联想XM2061驱动
  16. 【Datawhale IntelVINO学习笔记】OpenVINO音频和人体姿态识别
  17. 红外接收C语言实现 NEC 定时器
  18. 个人计算机键盘上的按键击键声音小,电脑键盘按键会双击怎么办
  19. CStdioFile类的使用1
  20. dmd oracle,【智能科技学院】TF-SWUFE Oracle Club DMD方向召开第五周核心成员分享会...

热门文章

  1. 小学-综合素质【5】
  2. 基于51单片机的超声波测距带语音播报
  3. 【转自52v6】教你如何走IPv6下载百…
  4. 国际云安全证书CCSK让他们在职场中脱颖而出
  5. 富士施乐Fuji Xerox DocuPrint M235 dw 驱动
  6. BackTrack5(BT5)安装教程及BT5支持网卡列表
  7. 【C语言】的%*d、%.*s等详解:
  8. python是一种跨平台语言_python是跨平台的语言吗
  9. RabbitVCS无法自动保存密码的BUG
  10. 视频剪辑-mkv文件导入PR