验证状态:已源码核验、未联调;适用基线:源码归纳 @ 2026-09-14
以 display=MQTT clientId 身份携 PIN 加入 AudioBridge 房间(房间号即 talkGroupId),成功后获得房间当前成员快照。本页是 mqtt-janus-audiobridge-join 的唯一操作正本。通道、transaction、中心转发公共口径见 会话生命周期正本。
| 页面/功能 | 角色或空间分支 |
|---|---|
对讲房间连接状态机在 joining 阶段发布 join(display=participantIdentity,codec 传入群组配置,非 opus/pcma 时强制 pcma) |
登录用户(机构/个人);会话与句柄已就绪 |
MQTT 发布 server/center-server/ptt/v1/forward/janus/to(回包按 transaction 首段 reply topic 回流)— 携 PIN 加入 AudioBridge 房间并取得成员快照(janus 动词 join)。
通道契约全量事实(直通白名单、消费方、转发与回包路由)见 MQTT 主题清单 · 静态 topic与动态下行(物理桥与 transaction 回包路由);字段级契约见 yaml 详解 · ptt forward-janus-to;janus 转发链的业务语义见设备业务 · mqtt-bridge 设备消息链。
请求报文 {janus:"message", session_id, handle_id, body:{request:"join", room:<talkGroupId>, pin:<roomPin>, display:<MQTT clientId>, codec, muted}}——pin 明文随信令传输。
Join room timed out)。joined 插件事件;媒体就绪另见 configure。ack 先到不算完成;sessionTerminal(458/timeout/destroyed)会终止在途 join 请求。| 失败 | 分类 | 处置 |
|---|---|---|
插件 489 unauthorized(PIN 错)、485 no such room |
不可自动重试类 | NON_RETRYABLE_AUDIOBRIDGE_CODES;进入失败态等待人工重试。注意 在房间未创建/已销毁时出现,App 应先确认房间链 |
插件 491 already joined |
可重试(不在不可重试集合) | 自动重试:退避 max(3,n)×1000ms,最多 99 次 |
核心 、timeout、destroyed |
会话终止 | 终止在途请求,重建会话(createSession 取消旧请求) |
| 中心丢弃(无回执) | 8 秒超时 | 同上自动重试 |
participants 元素的权威字段(id/display/muted/...)由 Janus 插件实现决定,源码不在本工作区;Web 仅按 unknown[] 透传,未做字段级消费核验。plugindata.data.id(参与者 ID)Web 未消费,本页不承诺其语义。