This commit is contained in:
acgist
2023-02-08 21:31:09 +08:00
parent 7889d4f708
commit 50f80bee2d
164 changed files with 2023 additions and 1457 deletions

View File

@@ -8,7 +8,7 @@
"v": "版本",
"id": 请求标识,
"sn": "设备标识"
"pid": 信令标识,
"signal": "信令标识",
},
"code": "响应编码",
"message": "响应描述",
@@ -18,269 +18,294 @@
}
```
### 术语解释
```
请求:终端->信令服务 || 信令服务->媒体服务
响应:信令服务->终端 || 服务媒体->信令服务
广播:信令服务-)终端 || 信令服务+)终端
```
### 符号解释
```
-> 单播:定向传播信令
-) 广播:广播信令(排除自己)
+) 全员广播:广播信令(包含自己)
-[消息类型]> 请求(单播:定向请求(单播)信令
-[消息类型]) 全员广播:对所有的终端广播信令(排除自己)
+[消息类型]) 全员广播:对所有的终端广播信令(包含自己)
```
## 平台信令1000~1999
### 关闭服务信令1000
#### 消息主体
```
# 请求
{}
# 广播
{}
```
#### 消息流程:终端->服务端+)终端
全员广播[关闭服务信令](#关闭服务信令1000),然后关闭信令服务。
### 执行命令信令1001
#### 消息主体
```
# 请求
{
"script": "命令"
}
# 响应
{
"result": "结果"
}
```
#### 消息流程:终端->服务端->终端
执行命令同时响应结果
### 异常信令1999
#### 消息主体
```
{}
```
> 注意:没有消息类型表示请求类型
## 终端信令2000~2999
### 终端信息
### 终端注册信令(2000
### 终端注册信令(client::register
#### 消息主体
终端注册成功响应以后[下发配置信令](#下发配置信令2004)同时广播[终端上线信令](#终端上线信令2002)。
```
# 请求
# 请求主体
{
"username": "信令授权用户",
"password": "信令授权密码",
"username": "信令用户",
"password": "信令密码",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
"battery": "电池电量",
"mediasoup": "媒体服务名称"
}
# 响应
{}
# 广播
# 响应主体
{
}
# 消息流程:终端->服务端->终端
# 广播主体
{
"sn": "终端标识",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
"battery": "电池电量",
"mediasoup": "媒体服务名称"
}
# 消息流程:终端->服务端-)终端
```
#### 消息流程:终端->服务端-)终端
终端注册成功以后响应同时[下发配置信令](#下发配置信令2004),并且广播[终端上线信令](#终端上线信令2002)。
### 终端关闭信令2001
#### 消息主体
```
# 请求
{}
# 广播
{
"sn": "终端标识"
}
```
#### 消息流程:终端-)服务端
### 终端关闭信令client::close
终端关闭以后广播[终端下线信令](#终端下线信令2003),同时释放所有相关资源(信令通道、媒体通道等等)
### 终端上线信令2002
#### 消息主体
```
# 请求主体
{
}
# 响应主体
{
"sn": "终端标识"
}
# 消息流程:终端->服务端
```
#### 消息流程:服务端->终端
### 终端上线信令client::online
```
# 响应主体
{
"sn": "终端标识"
}
# 消息流程:服务端-)终端
```
参考[终端注册信令](#终端注册信令2000)
### 终端下线信令(2003
#### 消息主体
### 终端下线信令(client::offline
```
# 响应主体
{
"sn": "终端标识"
}
# 消息流程:服务端-)终端
```
#### 消息流程:服务端->终端
参考[终端关闭信令](#终端关闭信令2001)
### 下发配置信令(2004
### 下发配置信令(client::config
#### 消息主体
服务端收到[终端注册信令](#终端注册信令2000)后下发配置
```
# 响应主体
{
"time": "系统时间yyyyMMddHHmmss",
"media": "媒体配置",
"webrtc": "WebRTC配置"
}
```
# 消息流程:服务端->终端
#### 消息流程:服务端->终端
参考[终端注册信令](#终端注册信令2000)
### 心跳信令client::heartbeat
### 心跳信令2005
#### 消息主体
通过心跳维护连接,实时同步终端信息:信号、电量等等
```
# 请求
# 请求主体
{
"signal": "信号强度",
"battery": "电池电量"
}
# 响应
{}
# 消息流程:终端->服务端
```
#### 消息流程:终端->服务端->终端
### 单播信令2006
#### 消息主体
### 单播信令client::unicast
```
# 请求
# 请求主体
{
"to": "接收终端标识",
// 主体信息
}
# 转发
# 响应主体
{
// 主体信息
}
# 消息流程:终端->服务端->终端
```
#### 消息流程:终端->服务端->终端
终端转发信令到指定的终端
### 广播信令(2007
#### 消息主体
### 广播信令(client::broadcast
```
# 请求
# 请求主体
{
// 主体信息
}
# 广播
# 响应主体
{
// 主体信息
}
# 消息流程:终端->服务端-)终端
```
#### 消息流程:终端->服务端-)终端
终端广播信令到所有的终端
### 重启终端信令(2997
#### 消息主体
### 重启终端信令(client::reboot
```
# 请求
# 响应主体
{
}
# 消息流程:服务器->终端
```
#### 消息流程:服务器->终端
重启终端
### 终端状态信令(2998
#### 消息主体
### 终端状态信令(client::status
```
# 请求
# 请求主体
{
"sn": "终端标识"
}
# 响应
# 响应主体
{
"sn": "终端标识",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
"battery": "电池电量",
"mediasoup": "媒体服务名称"
}
# 消息流程:终端->服务端->终端
```
#### 消息流程:终端->服务端->终端
响应指定终端状态(如果没有指定终端标识默认查询自己)
### 终端列表信令(2999
### 终端列表信令(client::list
#### 消息主体
```
# 请求
{}
# 响应
# 请求主体
{
}
# 响应主体
[
{
"sn": "终端标识",
"ip": "IP地址",
"mac": "MAC地址",
"signal": "信号强度",
"battery": "电池电量"
"battery": "电池电量",
"mediasoup": "媒体服务名称"
},
...
]
# 消息流程:终端->服务端->终端
```
#### 消息流程:终端->服务端->终端
响应所有终端状态列表
## 媒体信令
### 重启媒体信令media::reboot
```
# 请求主体:
{
}
# 响应主体:
{
}
# 消息流程:终端->信令服务+)终端
```
### 媒体注册信令media::register
```
# 请求主体:
{
"username": "媒体用户",
"password": "媒体密码"
}
# 响应主体:
{
}
# 消息流程:信令服务->媒体服务->信令服务
```
## 平台信令
### 异常信令platform::error
通知执行信令时发生的异常
```
# 响应主体:
{
}
# 消息流程:终端->信令服务->终端
```
### 关闭平台信令platform::reboot
```
# 请求主体:
{
}
# 广播主体:
{
}
# 消息流程:终端->信令服务+)终端
```
### 执行命令信令platform::script
```
# 请求主体
{
"script": "命令"
}
# 响应主体
{
"result": "结果"
}
# 消息流程:终端->服务端->终端
```
### 关闭平台信令platform::shutdown
```
# 请求主体:
{
}
# 广播主体:
{
}
# 消息流程:终端->信令服务+)终端
```
## 房间信令4000~4999
### 创建房间信令4000
@@ -341,55 +366,31 @@
### 房间列表信令4999
## 媒体信令5000~5999
## 系统信令
### 发布信令5000
控制终端推流(服务端拉流)
### 取消发布指令5001
控制终端暂停推流(服务端取消拉流)
### 订阅指令5002
订阅终端媒体流(终端拉流)
### 取消订阅指令5003
取消订阅终端媒体流(终端取消拉流)
### 暂停信令5004
终端->服务端
暂停发布、订阅(不关媒体流通道)
Moon模式有效
### 恢复信令5005
终端->服务端
暂停发布、订阅(不关媒体流通道)
Moon模式有效
### 开启录像信令5006
### 停止录像信令5007
### 配置媒体信令5008
配置订阅媒体:码率、帧率、分辨率等等
### 终端
#### 授权信息6000
### 重启系统信令system::reboot
```
# 请求主体:
{
}
# 广播主体:
{
}
# 消息流程:终端->信令服务+)终端
```
### 路由
### 传输
### 关闭系统信令system::shutdown
```
# 请求主体:
{
}
# 广播主体:
{
}
# 消息流程:终端->信令服务+)终端
```
## 测试