> ## 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 / H.323 硬终端）接进会议：后台登记账号或 IP、终端侧怎么填、终端拨号呼入、平台邀请终端入会，附管理后台与终端配置截图

本篇以华为 CloudLink 终端为例，其他品牌菜单名不同，但要填的东西是一样的。动手前先看一眼
[设备接入概览](https://docs.stmlink.com/zh/product/device-access/overview.md)，弄清「终端注册」和「IP 直连」该选哪个。

**准备好这些信息**：

| 信息 | 从哪拿 | 示例 |
| - | - | - |
| 设备网关地址 | 部署时填的「设备访问网关 IP」，问部署人员 | `192.168.10.5` |
| SIP 端口 | 默认 5060 | `5060` |
| H.323 网守端口 | 默认 1719 | `1719` |
| 管理后台账号 | 平台管理员 | — |

***

## 方式一：终端注册（推荐）

终端用一个账号注册到设备网关，平台就能看到它在不在线，拨号也只需要会议号。

### 1. 在管理后台建账号

打开管理后台 **设备管理**，选 **SIP**（或 **H323**）标签 → **终端注册** → **添加账号**：

![添加 SIP 账号](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/admin-sip-reg-add.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=d929d3208672bf249f4c531e7842809f)

| 字段 | 填什么 |
| - | - |
| 用户名 | 终端注册用的账号。**H.323 只能填数字**（就是终端的 E.164 短号），SIP 不能含冒号 |
| 密码 | 终端注册时的认证密码 |
| 显示名称 | 终端进会后显示的名字，比如「1 号会议室」 |
| 设备网关 | 终端注册到哪个网关。只有一个网关就选它 |

H.323 的弹窗字段相同：

![添加 H.323 账号](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/admin-h323-reg-add.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=81e2b97d6bf2dfa963f87be2dcdd9544)

### 2. 在终端上填注册信息

**SIP 终端**：找到 SIP 服务器（注册服务器）配置，启用注册，填：

| 终端上的字段 | 填什么 |
| - | - |
| 服务器地址 / 注册服务器 | 设备网关地址 |
| 端口 | 5060 |
| URI / 用户名、认证用户名 | 后台建的「用户名」 |
| 认证密码 | 后台建的「密码」 |
| 传输类型 | UDP 或 TCP 均可 |

![华为终端 SIP 注册配置](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/terminal-sip-register.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=ac4ecd1f4137046e77ea32e610904edb)

**H.323 终端**：找到网守（GK）配置，启用注册，填：

| 终端上的字段 | 填什么 |
| - | - |
| GK 地址 | 设备网关地址（端口 1719） |
| E.164 号码 | 后台建的「用户名」（数字） |
| 认证用户名 / 密码 | 后台建的「用户名」和「密码」 |

![华为终端 H.323 注册配置](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/terminal-h323-register.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=b4180fbd7a5063da99a7c4b8edd85b6f)

### 3. 确认在线

终端一般会提示「注册成功」。回到管理后台，账号状态变成 **在线** 就说明注册上了：

![终端注册列表](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/admin-sip-reg-list.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=bd65cff99916b2c227c15205870fda60)

注册不上？见[常见问题](https://docs.stmlink.com/zh/product/device-access/faq.md#终端注册不上)。

***

## 方式二：IP 直连

终端不支持注册、或者有固定 IP 时用这种方式。平台要能直接访问到终端的 IP。

在 **设备管理** → **SIP**（或 **H323**）→ **IP 直连** → **添加设备**：

![添加 IP 直连设备](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/admin-sip-ip-add.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=d7d689b9e63f4da3ac29a8647d1e4cac)

| 字段 | 填什么 |
| - | - |
| IP 地址和端口号 | 终端的 `IP:端口`。SIP 一般是 `:5060`，H.323 一般是 `:1720` |
| 显示名称 | 终端进会后显示的名字 |
| 设备网关 | 由哪个网关去呼叫这台终端 |

IP 直连的设备没有在线状态，列表里显示 `--` 是正常的。

***

## 让终端进会

### 终端主动拨号

在终端的呼叫界面里输入号码，像打电话一样呼叫：

**已注册的终端**：只拨**会议号**。

![已注册终端拨会议号](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/terminal-dial-number.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=89d66ed20b2c9bdd25ce8ab9557a2d68)

**未注册的终端**：拨 **`会议号@设备网关地址`**。

![未注册终端拨会议号@网关地址](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/terminal-dial-ip.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=2eb7fd9704a2d945420bf5e98290e6de)

呼通后终端直接进入会议，看到的是整场会议的合成画面。

> [!NOTE]
>
> 设备网关可以开启**来电 IP 白名单**，开启后只有名单里的终端能呼入。部署时按需配置，呼入被拒可以先问问部署人员是否开了白名单。

### 平台邀请终端

终端会收到来电，接听后进会（终端设置了自动应答则直接进会）。三个入口：

**管理后台**：**会议管理** → 进入会议详情 → **邀请** → **邀请设备** → **会议终端**，勾选后确定。

![管理后台邀请设备](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/admin-meeting-invite-device.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=a42acd550fb9d2bc3e6381a9ca5259ff)

**会议客户端**：主持人在会中点 **邀请** → **邀请设备**，勾选终端后发起邀请。

![会议客户端邀请设备](https://mintcdn.com/freewind/EF59QLb6N-9opFfC/zh/product/device-access/images/client-invite-device.png?fit=max\&auto=format\&n=EF59QLb6N-9opFfC\&q=85\&s=5db3bc8b1f25decd3b3d24ffaf2211ea)

**业务系统调接口**：调用[邀请设备入会](https://docs.stmlink.com/zh/rtc/server-api/agent.md#邀请设备入会)，接法见[设备接入指南](https://docs.stmlink.com/zh/rtc/server-api/guides/agents.md)。
会议 SDK 的主持人端也有对应方法（如 Web 的 `adminInviteAgent`）。

***

## 会中

* 终端是会里的一名成员，名字就是「显示名称」
* 终端看到的是 **MCU 合成的整场画面**，听到的是整场混音
* 主持人可以在会议客户端或后台**开关终端的麦克风和摄像头**、把终端**移出会议**；移出会议即挂断终端
* 终端自己挂断，就是离开会议

***

## 终端注册到第三方平台

如果客户已经有自己的 SIP 服务器或 H.323 网守，设备网关也可以**作为一个终端注册上去**，
和那边的设备互相呼叫。这需要在部署时配置，请联系我们。


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