IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> FreeSwitch 修改代码使UPDATE消息和对应的SDP进行A到B腿透传功能 -> 正文阅读

[开发测试]FreeSwitch 修改代码使UPDATE消息和对应的SDP进行A到B腿透传功能

FreeSwitch默认收到A-leg的UPDATE消息后不会发送给B-leg,通过修改代码的方式增加一个update_passthrough变量字段来控制UPDATE消息A到B腿转发的功能。

如果是在早期媒体阶段也需要转发UPDATE消息,可以通过update_passthrough_on_early来控制是否在早期媒体阶段转发UPDATE消息。

由于A腿和B腿之间使用消息队列进行通信,UPDATE消息一般使用SWITCH_MESSAGE_INDICATE_DISPLAY消息进行传输,即A腿向B腿发送一个SWITCH_MESSAGE_INDICATE_DISPLAY消息,B腿收到后根据情况进行UPDATE操作,但FreeSwitch内部也有很多功能对消息队列进行了SWITCH_MESSAGE_INDICATE_DISPLAY消息发送,如果贸然改动可能导致A腿并没有收到UPDATE消息,B腿却发出去一个UPDATE消息,这时需要在A腿发往B腿消息中增加一个变量来证明此消息使来源于A腿。

本文章改动是从freeswitch的1.10.6版本上进行的改动,过早的版本,或者过于未来的版本可能有改动,如果时间不长应该大同小异。

1.首先处理A腿接收UPDATE消息的部分:

进入freeswitch源码的src/mod/endpoints/mod_sofia/sofia.c里面的sofia_update_callee_id函数,找到其中的如下代码:

	if (switch_channel_inbound_display(channel)) {

		if (!strcmp(caller_profile->caller_id_name, name) && !strcmp(caller_profile->caller_
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-09 18:47:46  更:2022-04-09 18:48:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:43:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码