FreeSWITCH rtp session 的初始化

switch_rtp.c 的这个函数处理 rtp session 的初始化:

switch_rtp_create

主要的元素有:

rtp_session->seq = (uint16_t)rand();

rtp_session->ssrc = (uint32_t)((intptr_t)rtp_session + (switch_time_t)switch_epoch_time_now(NULL));

seq 是随机数

如果设置全局变量 rtp_manual_rtp_bugs=START_SEQ_AT_ZERO

下面这段代码会把 seq 自动设置为 0:

SWITCH_DECLARE(void) switch_rtp_intentional_bugs(switch_rtp_t *rtp_session, switch_rtp_bug_flag_t bugs)

{

rtp_session->rtp_bugs = bugs;

if ((rtp_session->rtp_bugs & RTP_BUG_START_SEQ_AT_ZERO)) { rtp_session->seq = 0; }

}

相关推荐
liebe1*110 小时前
第七章 防火墙地址转换
运维·服务器·网络
好好学操作系统10 小时前
autodl 保存 数据 跨区
linux·运维·服务器
KingRumn10 小时前
Linux同步机制之信号量
linux·服务器·网络
嵌入式学习菌10 小时前
SPIFFS文件系统
服务器·物联网
旺仔Sec10 小时前
2026年度河北省职业院校技能竞赛“Web技术”(高职组)赛项竞赛任务
运维·服务器·前端
用户40993225021210 小时前
Vue的Class绑定对象语法如何让动态类名切换变得直观高效?
前端·ai编程·trae
han_hanker10 小时前
统一拦截异常 @RestControllerAdvice
java·开发语言·数据库
忘记92610 小时前
什么是spring boot
java·spring boot·后端
BullSmall10 小时前
linux 根据端口查看进程
linux·运维·服务器
Hello World呀10 小时前
Java实现手机号和身份证号脱敏工具类
java·开发语言