> ## 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 endpoints

> Step-by-step guide to bringing Huawei, Kedacom, and other SIP / H.323 meeting-room endpoints into meetings: register an account or IP in the admin console, configure the endpoint, dial in, or invite it from the platform, with console and endpoint screenshots.

This guide uses a Huawei CloudLink endpoint as the example. Other brands use different menu names, but you fill in the same information. Before you start, read the
[Room Connector overview](https://docs.stmlink.com/en/product/device-access/overview.md) to decide between "endpoint registration" and "direct IP".

**Have this information ready**:

| Information | Where to get it | Example |
| - | - | - |
| Device gateway address | The "device access gateway IP" set at deployment; ask the deployment team | `192.168.10.5` |
| SIP port | Default 5060 | `5060` |
| H.323 gatekeeper port | Default 1719 | `1719` |
| Admin console account | Platform administrator | — |

***

## Option 1: Endpoint registration (recommended)

The endpoint registers to the device gateway with an account, so the platform can see whether it's online and dialing needs only the meeting ID.

### 1. Create an account in the admin console

Open **Device management** in the admin console, choose the **SIP** (or **H323**) tab → **Endpoint registration** → **Add account**:

![Add a SIP account](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)

| Field | What to enter |
| - | - |
| Username | The account the endpoint registers with. **For H.323, digits only** (the endpoint's E.164 short number); for SIP, no colons |
| Password | The authentication password the endpoint uses to register |
| Display name | The name shown after the endpoint enters the meeting, for example "Meeting Room 1" |
| Device gateway | Which gateway the endpoint registers to. If there's only one, choose it |

The H.323 dialog has the same fields:

![Add an H.323 account](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. Enter the registration details on the endpoint

**SIP endpoint**: find the SIP server (registrar) settings, enable registration, and enter:

| Field on the endpoint | What to enter |
| - | - |
| Server address / registrar | Device gateway address |
| Port | 5060 |
| URI / username, authentication username | The "Username" created in the console |
| Authentication password | The "Password" created in the console |
| Transport | UDP or TCP |

![Huawei endpoint SIP registration settings](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 endpoint**: find the gatekeeper (GK) settings, enable registration, and enter:

| Field on the endpoint | What to enter |
| - | - |
| GK address | Device gateway address (port 1719) |
| E.164 number | The "Username" created in the console (digits) |
| Authentication username / password | The "Username" and "Password" created in the console |

![Huawei endpoint H.323 registration settings](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. Confirm it's online

The endpoint usually shows "Registered". Back in the admin console, when the account status changes to **Online**, registration has succeeded:

![Endpoint registration list](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)

Can't register? See the [FAQ](https://docs.stmlink.com/en/product/device-access/faq.md#endpoint-cant-register).

***

## Option 2: Direct IP

Use this when the endpoint doesn't support registration or has a fixed IP. The platform must be able to reach the endpoint's IP directly.

Go to **Device management** → **SIP** (or **H323**) → **Direct IP** → **Add device**:

![Add a direct IP device](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)

| Field | What to enter |
| - | - |
| IP address and port | The endpoint's `IP:port`. Usually `:5060` for SIP and `:1720` for H.323 |
| Display name | The name shown after the endpoint enters the meeting |
| Device gateway | Which gateway calls this endpoint |

Direct IP devices have no online status, so `--` in the list is normal.

***

## Bring the endpoint into the meeting

### The endpoint dials in

On the endpoint's call screen, enter the number and call it like a phone call:

**Registered endpoints**: dial only the **meeting ID**.

![Registered endpoint dialing the meeting ID](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)

**Unregistered endpoints**: dial **`meetingID@deviceGatewayAddress`**.

![Unregistered endpoint dialing meetingID@gatewayAddress](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)

Once the call connects, the endpoint enters the meeting directly and sees the composite video of the whole meeting.

> [!NOTE]
>
> The device gateway can enable an **incoming-call IP allowlist**; when it's on, only endpoints on the list can dial in. It's configured at deployment as needed. If dial-in is rejected, first ask the deployment team whether the allowlist is on.

### The platform invites the endpoint

The endpoint receives an incoming call and enters the meeting when answered (or directly, if the endpoint is set to auto-answer). There are three entry points:

**Admin console**: **Meeting management** → open the meeting details → **Invite** → **Invite device** → **Conferencing endpoints**, select the endpoints, and confirm.

![Inviting a device from the admin console](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)

**Meeting client**: during the meeting, the host clicks **Invite** → **Invite device**, selects the endpoints, and sends the invitation.

![Inviting a device from the meeting client](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)

**Business system via API**: call [Invite devices to the channel](https://docs.stmlink.com/en/rtc/server-api/agent.md#invite-devices-to-the-channel); see the [Device integration guide](https://docs.stmlink.com/en/rtc/server-api/guides/agents.md) for how.
The host side of the conferencing SDK also has a corresponding method (such as `adminInviteAgent` on Web).

***

## During the meeting

* The endpoint is a member of the meeting, named by its "Display name"
* The endpoint sees the **whole meeting composited by the MCU** and hears the mixed audio of the whole meeting
* The host can **turn the endpoint's microphone and camera on or off** and **remove the endpoint from the meeting** from the meeting client or the console; removing it hangs up the endpoint
* If the endpoint hangs up, it exits the meeting

***

## Registering endpoints to a third-party platform

If the customer already has its own SIP server or H.323 gatekeeper, the device gateway can also **register to it as an endpoint**
and call devices there. This must be configured at deployment; contact us.


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