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
英文地址,請注明出處:http://en.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標準?不同瀏覽器的渲染引擎不同,對于相同代碼解析的…