当前位置: 首页 > article >正文

GB28181语音对讲协议详解

GB28181-2016语音对讲流程如下图1所示:   

                                                               图1.语音对讲流程。

        其中, 信令 1 、2 、 3 、 4 为语音广播通知、 语音广播应答消息流程; 信令 5 、 1 2 、 1 3 、 1 4 、 1 5 、 1 6 为 S I P 服务器接收到客户端的呼叫请求通过 B 2 B UA 代理方式建立语音流接收者与媒体服务器之间的媒体流信令过程, 信令 6~1 1 为 S I P 服务器通过三方呼叫控制建立媒体服务器与语音流发送者之间的媒体流信令过程, 信令 1 7~2 0 为 S I P 服务器断开语音流接收者与媒体服务器之间的媒体流信令过程, 信令 2 1~2 4为 S I P 服务器断开媒体服务器与语音流发送者之间的媒体流信令过程。


命令流程描述如下:

  • a ) 1 : S I P 服务器向语音流接收者发送语音广播通知消息, 消息中通过 T o 头域标明作为目的地址的语音流接收者 I D , 消息采用 M e s s a g e 方法携带。
  • b ) 2 : 语音流接收者收到语音广播通知消息后, 向 S I P 服务器发送 2 0 0OK 响应。
  • c ) 3 : 语音流接收者向 S I P 服务器发送语音广播应答消息, 消息中通过 T o 头域标明作为目的地址的 S I P 服务器 I D , 消息采用 M e s s a g e 方法携带。
  • d ) 4 : S I P 服务器收到语音广播应答消息后, 向语音流接收者发送 2 0 0OK 响应。
  • e ) 5 : 语音流接收者向 S I P 服务器发送 I n v i t e 消息, 消息中通过 T o 头域标明作为目的地址的语音流发送者 I D , 消息头域中携带 S u b j e c t 字段, 表明请求的语音流发送者 I D 、 发送方媒体流序列号、 语音流接收者 I D 、 接收方媒体流序列号等参数, S D P 消息体中 s 字段为“ P l a y ” 代表实时点播, m 字段中媒体参数标识为“a u d i o ” 表示请求语音媒体流。
  • f ) 6 : S I P 服务器收到 I n v i t e 请求后, 通过三方呼叫控制建立媒体服务器和语音流发送者之间的媒体连接。向媒体服务器发送 I n v i t e 消息, 此消息不携带 S D P 消息体。
  • g ) 7 : 媒体服务器收到 S I P 服务器的 I n v i t e 请求后, 回复 2 0 0OK 响应, 携带 S D P 消息体, 消息体中描述了媒体服务器接收媒体流的 I P 、 端口、 媒体格式等内容。
  • h ) 8 : S I P 服务器收到媒体服务器返回的 2 0 0OK 响应后, 向语音流发送者发送 I n v i t e 请求, 消息中通过 T o 头域标明作为目的地址的语音流发送者 I D , 消息头域中携带 S u b j e c t 字段, 表明请求的语音流发送者 I D 、 发送方媒体流序列号、 语音流接收者 I D 、 接收方媒体流序列号等参数,请求中携带消息 7 中媒体服务器回复的 2 0 0OK 响应消息体, s 字段为“ P l a y ” 代表实时点播,m 字段中媒体参数标识为“ a u d i o ” 表示请求语音媒体流, 增加 y 字段描述 S S R C 值, f 字段描述媒体参数。
  • i ) 9 : 语音流发送者收到 S I P 服务器的 I n v i t e 请求后, 回复 2 0 0OK 响应, 携带 S D P 消息体, 消息体中描述了媒体流发送者发送媒体流的 I P 、 端口、 媒体格式、 S S R C 字段等内容, s 字段为“P l a y ” 代表实时点播,m 字段中媒体参数标识为“ a u d i o ” 表示请求语音媒体流。
  • j ) 1 0 : S I P 服务器收到语音流发送者返回的 2 0 0OK 响应后, 向媒体服务器发送 A C K 请求, 请求中携带消息 9 中语音流发送者回复的 2 0 0OK 响应消息体, 完成与媒体服务器的 I n v i t e 会话建立过程。
  • k ) 1 1 : S I P 服务器收到语音流发送者返回的 2 0 0OK 响应后, 向语音流发送者发送 A C K 请求, 请求中不携带消息体, 完成与语音流发送者的 I n v i t e 会话建立过程。
  • l ) 1 2 : 完成三方呼叫控制后, S I P 服务器通过 B 2 B UA 代理方式建立语音流接收者和媒体服务器之间的媒体连接。在消息 5 中增加 S S R C 值, 转发给媒体服务器。
  • m ) 1 3 : 媒体服务器收到 I n v i t e 请求, 回复 2 0 0OK 响应, 携带 S D P 消息体, 消息体中描述了媒体服务器发送媒体流的 I P 、 端口、 媒体格式、 S S R C 值等内容,s 字段为“ P l a y ” 代表实时点播, m 字段中媒体参数标识为“a u d i o ” 表示请求语音媒体流。
  • n ) 1 4 : S I P 服务器将消息 1 3 转发给语音流接收者。
  • o ) 1 5 : 语音流接收者收到 2 0 0OK 响应后, 回复 A C K 消息, 完成与 S I P 服务器的 I n v i t e 会话建立过程。
  • p ) 1 6 : S I P 服务器将消息 1 5 转发给媒体服务器, 完成与媒体服务器的 I n v i t e 会话建立过程。
  • q ) 1 7 : S I P 服务器向语音流接收者发送 B Y E 消息, 断开消息 5 、 1 4 、 1 5 建立的 I n v i t e 会话。
  • r ) 1 8 : 语音流接收者收到 B Y E 消息后回复 2 0 0OK 响应, 会话断开。
  • s ) 1 9 : S I P 服务器向媒体服务器发送 B Y E 消息, 断开消息 1 2 、 1 3 、 1 6 建立的同媒体服务器的I n v i t e 会话。

 各信令抓包如下:

             图2. 平台发送Broadcast信令截图

                             图3.海康设备响应Broadcast信令截图。

 

                                                     图4.海康设备invite 音频信令截图。

         设备向上级平台推送音频需要上级平台向设备发起请求视频请求,如果设备支持音频且在网页端已经配置音频流模式为复合流,设备将音频及音频一起打包成PS流推送到平台,这样便实现了双向语音。

GB28181 免费测试工具: https://download.csdn.net/download/JUST_DO_1122/88366062

技术交流,GB28181源码获取,定制开发 332725557


http://www.kler.cn/a/320906.html

相关文章:

  • 【学习】HTTP
  • GPIO相关的寄存器(重要)
  • 【Hadoop实训】Hive 数据操作②
  • 用PHP实现一个简单的http服务器
  • Elasticsearch 8.16.0:革新大数据搜索的新利器
  • 数据结构—栈和队列
  • docker - 镜像操作(拉取、查看、删除)
  • Endnote激活码失效
  • Vue3使用hiprint——批次打印条码
  • js判断一个对象里有没有某个属性
  • 细说Flink状态管理
  • 深度学习激活函数
  • DC00015基于java web校园网上购物系统
  • Python图形用户界面设计的15个基础组件
  • SpringCloud Alibaba五大组件之——Sentinel
  • html实现黑白棋
  • 代码随想录算法训练营43期 | Day 21 —— 108.将有序数组转换为二叉搜索树、 538.把二叉搜索树转换为累加树
  • 【Linux】通过内核以太层可查看应用程序运行时访问外网情况
  • SQL - 进阶语法(一)
  • 数据结构——C语言单链表的实现
  • python实现石头,剪刀,布(turtle库简易版)
  • python接口自动化——unittest断言
  • leetcode 2024.9.26
  • 观《中国数据库前世今生》有感:从历史中汲取未来的力量
  • 常见排序(C语言版)
  • C# lambda表达式的几个案例