本系列文章是我在学习 OpenSIPS 过程中,慢慢总结出来的。虽说是实战,但是笔记的成分可能会多点,我也无法保证里面的内容是否完全正确。
VOIP 对我来说是个比较陌生的领域。进入这个领域可以说是一个意外。在学习过程和实战过程中,我发现了 VOIP 有很大的复杂性。生产环境也会有常常有怪异棘手的各种问题。在解决这些问题的过程中,有种升级打怪的感觉。
本知识库重点在于讲解 OpenSIPS,当然其中也涵盖了 SIP 协议,FreeSWITCH, rtpproxy, rtpengine,以及一些排查问题的工具。
推荐在学习的过程中,一定要啃一遍 RFC 3261 协议,这是 VOIP 的基石。
QQ学习交流群:
文章目录
1: SIP 协议
- 1.1 学习建议
- 1.2 SIP 协议简介
- 1.3 Via route Record-Route 的区别
- 1.4 SIP Path 头
- 1.5 Trunk PBX Gateway
- 1.6 SIP 协议拾遗补缺
- 1.7 SIP 与 SDP 的关系
- 1.8 SIP 信令和媒体都绕不开的 NAT 问题
- 1.9 STUN 协议笔记
- 1.10 SIP 注册调研
- 1.11 深入 SIP ACK 消息
- 1.12 UA 应答模式
- 1.13 NAT 深入学习
- 1.14 解决 NAT 问题
- 1.15 From To Request URL 之间的关系
- 1.16 SIP 相关 RFC 协议
- 1.17 漫话 NAT 的历史
- 1.18 媒体协商 offer/answer 模型
- 1.19 媒体路径与信令路径
- 1.20 CSTA 呼叫模型简介
- 常识
- OpenSIPS安装与管理
- 媒体相关
- 配置文件和路由脚本
- 5.1 配置文件
- 5.2 全局参数配置
- 5.3 路由分类
- 5.4 路由的触发时机
- 5.5 严格路由和松散路由
- 5.6 函数特点
- 5.7 使用return语句减少逻辑嵌套
- 5.8 条件语句特点
- 5.9 常用语句
- 5.10 变量的使用
- 5.11 核心变量说明
- 5.12 优雅的使用xlog输出日志行
- 5.13 脚本路由模块化
- 5.14 有状态和无状态路由
- 5.15 【重点】初始化请求和序列化请求
- 5.16 SIP路由头
- 5.17 avp_db_query数值null值比较
- 5.18 日志xlog
- 5.19 opensips 集成 homer6
- 5.20 【必读】深入对外公布地址
- 5.21 使用m4增强opensips.cfg脚本预处理能力
- 5.22 db_mode调优
- 5.23 mysql建表语句
- 5.24 核心变量解读2-100%
- 模块使用教程
- 常见问题
- 7.1 opensips 477 Send failed (477/TM)
- 7.2 sendmsg failed on 0: Socket operation on non-socket
- 7.3 信令路径逃逸分析
- 7.4 opensips崩溃分析
- 7.5 opensips无法启动
- 7.6 UDP分片导致SIP消息丢失
- 7.7 奥科网关 Rtp Broken Connection
- 7.8 ACK 无法正常送到FS
- 7.9 30秒自动挂断
- 7.10 script_trace 打印opensips的脚本执行过程
- 7.11 一方听不到另外一方的声音
- 7.12 回音问题调研
- 7.13 opensips启动失败没有任何报错日志
- 7.14 通话质量差
- 7.15 ERROR:carrierroute:carrier_tree_fixup: default_carrier not found
- 脚本学习
- 扩展
- 相关工具
- 10.1 tshark 快速分析语音流问题
- 10.2 heplify SIP信令抓包客户端
- 10.3 baresip 非常好用的终端SIP UA
- 10.4 sipsak
- 10.5 wireshark 播放抓包文件
- 10.6 sngrep: 最好用的sip可视化抓包工具
- 10.7 homer: 统一的sip包集中处理工具
- 10.8 siphub 轻量级实时SIP信令收包的服务
- 10.9 SIPp:sip压测模拟ua工具
- 10.10 SIPP subscriber 测试
- 10.11 tcpdump
- 10.12 pjsip
- 10.13 Wireshark SIP 抓包
- 10.14 另一个功能强大的sip server: kamailio
- 官方博客
- Load Balancing in OpenSIPS
- Dialog triggers, or how to control the calls from script
- Cross-dialog data accessing
- Calls management using the new Call API tool
- Improved series-based call statistics using OpenSIPS 3.2
- Exploring SSL/TLS libraries for OpenSIPS 3.2
- The OpenSIPS and OpenSSL journey
- SIP bridging over multiple interfaces
- CANCEL请求和Reason头
- Introducing OpenSIPS 3.0
- Clustered SIP User Location: The Full Sharing Topology
- Clustering ongoing calls with OpenSIPS 2.4
- Full Anycast support in OpenSIPS 2.4
- 深入OpenSIPS统计引擎
- Running OpenSIPS in the Cloud
- Troubleshooting OpenSIPS script
- Troubleshooting missing ACK in SIP
- 理解并测量OpenSIPS的内存资源
问题列表
OpenSIPS 3X