> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stmlink.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> 对外开放的服务端接口有两组前缀，都用同一套鉴权：`/server/v1/...`（SRTC 与 SMeeting 的主接口）和 `/stm/srvapi/v1/...`（SMeeting 的用户体系，服务端极简对接会用到）。鉴权是 app_id + nonce + timestamp + signature 四个请求头，用 app_key 做 HMAC-SHA256 签名，只能从业务方自己的后端调用。除这两组前缀外的接口均为内部接口，不要建议客户调用。 Public server APIs use two path prefixes with the same authentication: `/server/v1/...` (the main APIs of both SRTC and SMeeting) and `/stm/srvapi/v1/...` (the SMeeting user system, used by server-side low-code integration). Authenticate with four request headers, app_id + nonce + timestamp + signature, where signature is HMAC-SHA256 keyed with app_key; call these APIs only from the customer's own backend. Any other path is internal: never suggest calling it.
> app_key 是服务端密钥，绝不能出现在客户端代码、前端配置或移动 App 里。客户端加入频道用的 token 必须由业务方后端签发后下发（SRTC 走 `/server/v1/channel/grant`，SMeeting 走 `/stm/srvapi/v1/member/grant`）。 app_key is a server-side secret and must never appear in client code, frontend config, or a mobile app. The token a client uses to join must be issued by the customer's backend and passed down to the client (SRTC: `/server/v1/channel/grant`; SMeeting: `/stm/srvapi/v1/member/grant`).
> SRTC 与 SMeeting 是上下两层不同的产品，术语不通用：SRTC 是音视频底座，说「频道 channel」「加入 / 退出」；SMeeting 建在 SRTC 之上，说「房间 room」「会议 meeting」「进入 / 退出」。回答时按用户所在的层用对应术语，不要把「房间」「会议」安到 SRTC 的接口上，也不要用「频道」「加入 / 离开」描述 SMeeting 的概念（接口标识符原样保留）。 SRTC and SMeeting are two separate layers with different terminology. SRTC is the audio/video foundation: it has channels, and users join and leave a channel. SMeeting is built on top of SRTC: it has rooms and meetings, and members enter and exit a meeting. Answer in the terms of the layer the user is working with: never apply "room" or "meeting" to SRTC APIs, and never describe SMeeting concepts in prose with "channel", "join", or "leave" (API identifiers such as `force_join` keep their literal names).
> 同一能力在各端 SDK 里的包名、类名、方法名并不相同。写示例代码时请使用文档中该端自己的 API，不要把一个端的写法套到另一个端上。苹果平台每个产品都有两套 SDK（Swift 原生与 Objective-C），两套 API 不能混用。 Package, class, and method names differ between platform SDKs for the same capability. In sample code, use the API documented for that platform; never carry one platform's code over to another. On Apple platforms each product ships two SDKs (native Swift and Objective-C) whose APIs must not be mixed.

# 设备接入概览

> 会议室连接器能把哪些硬件拉进会议：SIP / H.323 会议终端、电话线路（SIP Trunk / IP-PBX）、GB28181 国标摄像头、RTSP 视频流。讲清工作原理、各协议能做什么、三种入会方式和部署前提，选型和售前沟通先读这页

会议室里已经有的硬件——华为、科达等品牌的视频会议终端，墙上的监控摄像头，NVR 里的一路视频流——
不用换设备、不用装 App，就能和手机、电脑上的参会人开同一场会。这项能力我们叫**会议室连接器**，
背后的服务叫**设备网关**。

***

## 能接什么

| 设备 | 协议 | 典型场景 | 会中能做什么 |
| - | - | - | - |
| **视频会议终端** | SIP、H.323 | 会议室硬终端、指挥中心大屏、话机 | **双向**：终端的画面和声音进会，会里的画面和声音回到终端 |
| **电话线路** | SIP | 运营商 SIP Trunk、IP-PBX，AI 电话客服、AI 外呼、电话入会 | **双向语音**：来电进频道和 AI 或真人对话，见[接入电话线路](https://docs.stmlink.com/zh/product/device-access/phone-lines.md) |
| **国标监控摄像头 / NVR** | GB28181 | 公安、应急、园区监控接入会商 | **单向**：摄像头画面进会，可遥控云台 |
| **网络摄像头 / 视频流** | RTSP | 任意能出 RTSP 地址的摄像头、编码器、流媒体服务器 | **单向**：视频流进会 |

设备进会后，在会里就是一名普通成员：名字是你登记时填的「显示名称」，和其他人一样出现在成员列表、
画面布局和录制里。

***

## 工作原理

```mermaid theme={null}
flowchart LR
    T["会议终端<br/>SIP / H.323"]
    C["国标摄像头<br/>GB28181"]
    R["网络摄像头<br/>RTSP"]
    GW["设备网关"]
    P["音视频平台"]
    M["MCU<br/>画面合成"]
    U["手机 / 电脑 / 网页<br/>参会人"]

    T <-- "信令 + 音视频" --> GW
    C -- "注册 + 视频" --> GW
    GW -- "拉流" --> R
    GW <--> P
    P <--> U
    P --> M
    M -- "合成画面" --> GW
```

* 设备只和**设备网关**打交道，网关负责协议转换（SIP / H.323 / GB28181 / RTSP ↔ WebRTC），
  再以普通成员的身份进会
* 会议终端看到的是 **MCU 合成的整场画面**（按会议布局排好的多宫格），听到的是**整场混音**。
  所以要让终端看到画面，平台必须部署 MCU（云录制网关）——终端入会时平台会自动为该会议启动合成，不用手动开
* 摄像头和视频流只往会里送画面，不接收会里的音视频

***

## 各协议能力

| | SIP 终端 | H.323 终端 | GB28181 | RTSP |
| - | - | - | - | - |
| 设备主动呼入会议 | ✅ | ✅ | — | — |
| 平台邀请设备入会 | ✅ | ✅ | ✅ | ✅ |
| 设备注册到平台 | ✅ 可选 | ✅ 可选（网关内置网守） | ✅ 必须 | — |
| 画面进会 | ✅ | ✅ | ✅ | ✅ |
| 声音进会 | ✅ | ✅ | ✅（设备带音频时） | ✅（流里带音频时） |
| 接收会里的画面和声音 | ✅ | ✅ | — | — |
| 视频编码 | H.264 | H.264 | H.264（PS 封装） | H.264；H.265 自动转成 H.264 |
| 音频编码 | G.711A | G.711A | G.711A | 常见编码均可，网关会转码 |
| 云台 / 预置位 | — | — | ✅（通过服务端接口） | — |

> [!NOTE]
>
> 暂不支持终端的**双流（辅流）内容共享**：终端用辅流共享的电脑画面不会进会。要共享内容，请在会议客户端里共享屏幕。

***

## 三种入会方式

**1. 设备主动呼入**——在终端上像打电话一样拨会议号：

* 终端已注册到平台：直接拨**会议号**
* 终端没注册：拨 **`会议号@设备网关IP`**，例如 `30332718@192.168.10.5`

**2. 平台邀请设备入会**——平台主动呼叫设备，终端会像来电一样响铃（可设置自动应答）：

* 在**管理后台**的会议详情里点「邀请 → 邀请设备」
* 在**会议客户端**里，主持人点「邀请 → 邀请设备」
* 业务系统调用**服务端接口**邀请，见[设备接入指南](https://docs.stmlink.com/zh/rtc/server-api/guides/agents.md)

**3. 注册还是 IP 直连？** 这决定了平台怎么找到设备：

| | 终端注册 | IP 直连 |
| - | - | - |
| 做法 | 在后台建一个账号，终端用这个账号注册到设备网关 | 在后台登记终端的 IP 和端口 |
| 平台能看到在线状态 | ✅ | ❌ |
| 设备呼入 | 只拨会议号 | 要拨 `会议号@网关IP` |
| 网络要求 | **设备能访问到网关**即可，适合设备在 NAT 后面 | **网关要能访问到设备的 IP** |
| 推荐 | ✅ 优先用 | 设备不支持注册、或固定 IP 的场景 |

国标摄像头只有注册一种方式，RTSP 流只有平台拉流一种方式。

***

## 部署前提

| 项目 | 说明 |
| - | - |
| **设备网关** | 私有化部署时按需安装，可装多台。设备登记时要选择它挂在哪个网关下 |
| **MCU** | SIP / H.323 终端要看到会里的画面，需要部署 MCU。只接摄像头、视频流可以不装 |
| **授权** | 设备网关需要单独的授权文件；**每台入会的设备同时占用一个用户并发和一个设备并发**名额 |
| **网络** | 设备与设备网关之间要放通 SIP / H.323 / GB28181 信令端口和 RTP 端口段，见[网络与端口要求](https://docs.stmlink.com/zh/product/deploy/ports.md) |
| **设备呼入落到哪个应用** | 部署时配置一个默认应用；网关 1.3.5 起可按被叫号码前缀分到不同应用，见[接入电话线路](https://docs.stmlink.com/zh/product/device-access/phone-lines.md#来电进哪个应用) |

> [!TIP]
>
> 「会议号」指 SMeeting 会议的会议号。只用 SRTC 音视频层、没有会议层时，设备呼入拨的是**频道名**，
> 所以频道名最好用终端能输入的纯数字。

***

## 下一步

| 我要接 | 看这篇 |
| - | - |
| 会议室视频终端 | [SIP / H.323 终端](https://docs.stmlink.com/zh/product/device-access/sip-h323.md) |
| 电话线路（SIP Trunk / IP-PBX） | [接入电话线路](https://docs.stmlink.com/zh/product/device-access/phone-lines.md) |
| 国标监控摄像头 | [GB28181 摄像头](https://docs.stmlink.com/zh/product/device-access/gb28181.md) |
| 网络摄像头、视频流 | [RTSP 视频流](https://docs.stmlink.com/zh/product/device-access/rtsp.md) |
| 接不通、没画面 | [常见问题](https://docs.stmlink.com/zh/product/device-access/faq.md) |
| 用业务系统调接口接设备 | [设备接入指南](https://docs.stmlink.com/zh/rtc/server-api/guides/agents.md) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.