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; }

}

相关推荐
ROCKY_8175 分钟前
计算机网络考试考点——应用层
服务器·网络·计算机网络
L***d67010 分钟前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
e***749510 分钟前
Modbus报文详解
服务器·开发语言·php
凌波粒11 分钟前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
likuolei13 分钟前
XSL-FO 软件
java·开发语言·前端·数据库
凌波粒13 分钟前
SpringBoot基础教程(2)--yaml/配置文件注入/数据校验/多环境配置
java·spring boot·后端·spring
正一品程序员14 分钟前
vue项目引入GoogleMap API进行网格区域圈选
前端·javascript·vue.js
S***267514 分钟前
Spring Boot环境配置
java·spring boot·后端
6***830515 分钟前
什么是Spring Boot 应用开发?
java·spring boot·后端
j***894619 分钟前
spring-boot-starter和spring-boot-starter-web的关联
前端