用途
Telnyx Voice Conferencing 技能用于通过 curl 调用 Telnyx REST API,创建和管理电话会议、队列以及多方通话会话。它适合在构建呼叫中心或会议类应用时使用,提供会议生命周期管理、参与者控制、音频播放、录音、DTMF 交互和队列管理等能力。
主要能力
- 会议管理:列出会议、创建会议、检索会议、结束会议。会议按需创建,在所有参与者离开后或 4 小时后过期(无论活跃参与者数量)。会议列表按 expires_at 降序排列。
- 参与者管理:列出会议参与者、检索单个参与者、更新参与者(如 supervisor_role)。
- 参与者控制:加入会议、离开会议、静音、取消静音、保持、取消保持。
- 音频与语音:向参与者播放音频、停止播放、使用 TTS 向参与者朗读文本(支持 text 或 ssml 载荷及多种语言)。
- DTMF:向参与者发送 DTMF 音,以及在会议中通过音频提示采集 DTMF。
- 录音:开始录音、停止录音、暂停录音、恢复录音。
- 队列:将呼叫加入队列(enqueue)、将呼叫移出队列(leave_queue)。
使用方式
安装:curl 在 macOS、Linux 和 Windows 10+ 上已预装。
设置认证:
export TELNYX_API_KEY="YOUR_API_KEY_HERE"
所有示例使用 $TELNYX_API_KEY 进行认证。请求通过 Authorization: Bearer $TELNYX_API_KEY 头传递。
错误处理:所有 API 调用可能因网络错误、速率限制(429)、验证错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。示例:
response=$(curl -s -w "\n%{http_code}"
-X POST "https://api.telnyx.com/v2/messages"
-H "Authorization: Bearer $TELNYX_API_KEY"
-H "Content-Type: application/json"
-d '{"to": "+13125550001", "from": "+13125550002", "text": "Hello"}')
http_code=$(echo "$response" | tail -1) body=$(echo "$response" | sed '$d')
case $http_code in 2*) echo "Success: $body" ;; 422) echo "Validation error — check required fields and formats" ;; 429) echo "Rate limited — retry after delay"; sleep 1 ;; 401) echo "Authentication failed — check TELNYX_API_KEY" ;; *) echo "Error $http_code: $body" ;; esac
常见错误码:401 无效 API 密钥,403 权限不足,404 资源未找到,422 验证错误(检查字段格式),429 速率限制(使用指数退避重试)。
分页:列表端点返回分页结果。使用 page[number] 和 page[size] 查询参数导航页面。检查响应中的 meta.total_pages。
适用场景
- 构建呼叫中心,需要队列管理、参与者控制、录音和监控角色(barge、monitor、whisper)。
- 构建多方会议应用,需要创建会议、加入/离开、静音/保持、播放音频或 TTS 播报。
- 需要 DTMF 交互的场景,如通过音频提示采集用户按键输入。
- 需要会议录音及暂停/恢复控制的场景。
限制
- 会议在所有参与者离开后或 4 小时后过期,无论活跃参与者数量。
- 会议可容纳的活跃参与者数量受创建会议时 max_participants 参数限制。
- 部分操作有区域限制,region 可选值包括 Australia、Europe、Middle East、US。
- 具体收费、价格、平台支持范围等资料暂未提供。