Skip to content

通话控制 ​

这组端点作用于已经在进行中的通话,使用 LiveKit 房间名而不是 session id 来定位。因为在双方还在通话时,真正存在的是房间。

操作Route用途
保持POST /voice/calls/{roomName}/hold让对方进入保持,或恢复通话
模式POST /voice/calls/{roomName}/mode切换主管的监听模式
挂断POST /voice/calls/{roomName}/hangup结束通话并封存 session
锁定POST /voice/calls/{roomName}/lock阻止其他人再加入
移出成员DELETE /voice/calls/{roomName}/participants/{identity}移出一位参与者
强制关闭POST /voice/calls/{uuid}/force-close关闭房间已不存在的 session

API 密钥可以操作进行中的通话

在这组路由上,密钥携带的是所有者的权限。拿到密钥的人可以挂断甚至接管正在进行的通话。请只保存在服务端,一旦泄露立即重新签发。

保持与恢复 ​

保持会做两件事:将双方静音,并播放等待音。即使没有配置等待音,静音也依然生效,因此被保持的一方不会听到坐席这端的声音。

bash
curl -X POST "$ME_BASE/voice/calls/$ROOM/hold" \
  -H "API-Key: $ME_API_KEY" \
  -H "X-TenantID: $ME_TENANT" \
  -H "Content-Type: application/json" \
  -d '{"muted": true, "holder_identity": "agent-42"}'
json
{ "status": "ok", "held": true }

向同一 route 发送 "muted": false 即可恢复通话。