BFCP协议学习

BFCP是为了SIP呼叫中实现presentation的二进制协议。开源库libbfcp

如何协商角色

SIP 消息的SDP中有BFCP 的部分,其中s-only 代表要当服务器角色,c-only 代表要当client角色。confid, userid 都是需要在后续消息中对齐的。 通过port信息可以为后续bfcp建立连接。confid, floorid, userid 也是在SDP里告诉c-only的。mstrm:2 代表floor 对应的共享资源的codec 参数在SDP media description中对应的序号为2,SDP 里面是 a=label:2

m=application port UDP/BFCP *
a=floorctrl:s-only
a=confid:1
a=floorid:0 mstrm:2
a=userid:2
a=setup:passive
a=connection:new

BFCP的一些消息

  1. Hello 和 HelloAck
    client向server发Hello, server回复HelloAck。 需要定期发, 作为keep-alive(30s)。HelloAck消息里面会给出server所支持的primitive和attribute都有哪些。

  2. FloorQuery 和FloorStatus
    client向server查当前Floor的状态, 主要场景是client 刚加会,需要初始化下自己的双流状态; server端根据实际情况通知当前是否有其他终端持有Floor, 有哪些终端在排队等。

  3. FloorRequest, FloorRequestStatus, FloorRequestStatusAck
    在这里插入图片描述

  4. FloorRelease, FloorRequestStatus, FloorRequestStatusAck
    和FloorRequest 类似

  5. Goodbye
    要求server端释放相关资源

server端主动发起共享

server端直接广播FloorStatus, 并标记位Granted即可

FloorRequestStatus 和 FloorStatus的区别

FloorRequestStatus:
在这里插入图片描述
FloorStatu:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93808.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用设计模式系列(十七)—命令模式

常用设计模式系列(十七)—命令模式 第一节、前言 各位老铁好! 今天我来跟大家分享对象行为型模式第二章节——《命令模式》,“命令”一词,通俗易懂,我们在生活中经常会发出各种各样的命令,就像你…

【AI绘画】Stable Diffusion 全面指南:安装、版本对比、功能解析与高级应用

引言:Stable Diffusion 概述 在人工智能图像生成领域,商业工具如Midjourney凭借其集成化服务与高质量输出占据市场,而Stable Diffusion(简称SD)则以开源特性构建了差异化优势。与商业工具依赖云端资源、受限于订阅费用…

kafka使用kraft

window 使用kafka-storage生成生成一个uuid .\kafka-storage.bat random-uuid格式化存储 在这里插入代码片.\kafka-storage.bat format -t 对应的uuid D:\configure\fisher\kafka\config\kraft\server.properties 启动命令 .\kafka-server-start.bat D:\configure\fisher\kafka…

HCIA-Datacom认证笔记:IP路由基础——核心概念与路由分类

网络技术学习中,IP路由是绕不开的核心知识点,对于备考HCIA-Datacom认证的朋友来说,掌握路由基础能为后续学习打下良好基础。今天带朋友们梳理一下IP路由的核心概念、路由表结构及路由分类一、路由核心概念什么是路由? 简单来说&am…

FFmpeg 安装与使用

文章目录1. 环境部署(Windows)1.1. 安装包下载1.2. 配置环境变量1.3. 验证安装2. FFmpeg 基础使用教程2.1. 常用命令格式2.2. 基础功能示例2.2.1. 视频转码(MP4 → MKV)2.2.2. 调整分辨率(1080p → 480p)2.…

Python 数据分析(四):Pandas 进阶

目录 1. 概述2. 缺失项3. 分组聚合4. 数据合并5. 数据可视化 5.1 折线图5.2 条形图5.3 直方图5.4 散点图5.5 饼图 1. 概述 我们在上一篇文章初识 Pandas中已经对 Pandas 作了一些基本介绍,本文我们进一步来学习 Pandas 的一些使用。 2. 缺失项 在现实中我们获…

结构化文本文档的内容抽取与版本重构策略

结构化文本文档的内容抽取与版本重构策略 摘要 本文深入探讨了结构化文本文档处理领域中的两大核心技术——内容抽取与版本重构。文章首先分析了结构化文档的特点及其在现代信息管理中的重要性,随后系统性地介绍了文档内容抽取的技术路线与方法论,包括…

【BUUCTF系列】[HCTF 2018]WarmUp1

本文仅用于技术研究,禁止用于非法用途。 Author:枷锁 点开题目显示一个图片,没有任何交互功能,我们直接查看网页源代码我们可以看到有一个歆慕的注释source.php,我们进行拼接,访问一下这个文件在url后加上/source.php进…

Flutter Chen Generator - IconFont Generator

Flutter Chen Generator 🚀 一个强大的Flutter代码生成工具包,包含多个实用的代码生成器。 ✨ 功能特性 📁 资源生成器 (Assets Generator) 🔄 自动扫描assets目录并生成Dart常量🧠 智能驼峰命名转换,保…

【MATLAB】(二)基础知识

一.MATLAB命令1.指令行“头首”的 “>>” 是 “指令输入提示符” ,它是自动输入的。“>>” 为运算提示符,表示MATLAB处于准备就绪状态。如在提示符后输入一条命令或一段程序后按Enter键,MATLAB将给出对应的结果,并将结…

Day36| 1049. 最后一块石头的重量 II、494.目标和、474.一和零

文章链接 1049. 最后一块石头的重量 II 解题关键:找到重量和尽量相等的两堆 确定dp数组以及下标的含义 dp[j]表示容量(这里说容量更形象,其实就是重量)为j的背包,最多可以背最大重量为dp[j]。 确定递推公式 01背包…

【A*/BFS】P5507 机关

# P5507 机关 题目描述 这扇门上有一个机关,上面一共有12个旋钮,每个旋钮有4个状态,将旋钮的状态用数字111到444表示 每个旋钮只能向一个方向旋转(状态:1->2->3->4->1),在旋转时&am…

终结集成乱局:模型上下文协议(MCP)如何重构AI工具生态?

AI 助手正处于能力发展的初级阶段。它们擅长处理独立任务——例如解析 PDF、编写 SQL 语句、等等——但当你要求它们在 Slack、Gmail 和 Jira 等平台间协同操作时,整个流程就变得异常复杂且脆弱,如同调试一套由众多 API 密钥串联的精密机械(鲁…

谈谈毕业工作一年后的变化

文章目录谈谈毕业工作一年后的变化工作篇生活篇谈谈毕业工作一年后的变化 工作篇 2025.7.30 21:49 呼~再次打开这个网站发布文章,是多么陌生。仿佛有说不完的话,但如今时间却不允许我无限制的长篇大论的写下去了。 先说下工作吧。 毕业后工作好快啊&…

huggingface下载问题

国内使用git clone下载huggingfaceTOC 国内直接git clone连接不上问题 git clone https://huggingface.co/spaces/ZebangCheng/Emotion-LLaMA Cloning into ‘Emotion-LLaMA’… fatal: unable to access ‘https://huggingface.co/spaces/ZebangCheng/Emotion-LLaMA/’: Fai…

anaconda searchanaconda show | conda 检索包资源安装指定版本包指定源安装命令package

conda issuehttp://t.csdnimg.cn/ndZZK 目录 常规安装 检索包资源 获取指定包的安装源&安装指令 安装指定包 常规安装 conda 常规安装xxx包 conda install xxx conda install有可能会受限于channel导致报错PackagesNotFoundError: The following packages are not av…

python cli命令 cli工具命令 自定义cli命名 开发 兼容 window、mac、linux,调用示例

前言需求背景整个项目基于Python开发,需求方期望不直接调用Python脚本执行,希望封装为cli命令执行Python脚本,使其更为简单而又“优雅”。类似直接使用 adb devices 的方式直接调用运行,而不是 python adbToolls.py devices的方式…

k8s pod生命周期、初始化容器、钩子函数、容器探测、重启策略

pod结构Pause容器 Pause容器是每个Pod都会有的一个根容器,它的作用有两个 可以以它为根据,评估整个pod的健康状态可以在根容器上设置IP地址,其他容器都以此IP(Pod IP),以实现Pod内部的网络通信,…

Redis:缓存雪崩、穿透、击穿的技术解析和实战方案

🚨 1、简述 随着系统规模扩大,Redis 缓存被广泛用于数据预热、热点数据防护和高并发系统优化。然而在高并发环境中,缓存雪崩、穿透、击穿等问题若处理不当,可能导致系统雪崩式崩溃。 本文从原理、原因出发,结合实际项目…

前端-html+CSS基础到高级(二)html基础

一、 为什么需要Web标准 浏览器差异问题:五大主流浏览器(IE、Chrome、Firefox、Safari等)使用不同渲染引擎,导致相同代码解析效果存在差异。为什么需要Web标准?不同浏览器的渲染引擎不同,对于相同代码解析的…