用途:该技能面向 Python 开发者,用于在 Telnyx 通话中采集呼叫者的 DTMF 按键输入或语音,构建交互式语音菜单(IVR)与 AI 语音助手。核心依赖 Telnyx Python SDK 的 Call Control API,针对某个 call_control_id 下发指令。
主要能力:
- 标准 Gather:POST /calls/{call_control_id}/actions/gather 采集 DTMF,可配置有效按键(valid_digits)、最少/最多位数、各类超时参数;注意必须先执行 Answer 命令再 Gather。
- Gather using speak:用文本转语音播放提示并采集 DTMF,必填 voice 与 payload,支持语言枚举(en-US、cmn-CN 等)、SSML 等。
- Gather using audio:播放音频文件提示并采集 DTMF,可配置无效输入的 invalid_audio_url。
- Gather using AI:借助语音助手按 JSON Schema 参数采集信息,parameters 为必填,可返回 conversation_id。
- AI 助手控制:启动/停止 AI 助手、向 AI 助手会话添加消息,返回 conversation_id 或 result。
- Gather stop:停止当前采集。
使用方式:pip install telnyx 安装;通过 TELNYX_API_KEY 初始化客户端 client = Telnyx(...);各动作以 client.calls.actions.* 方法调用。建议处理 API 异常(APIConnectionError、RateLimitError、APIStatusError),注意 401/403/404/422/429 等状态码。Webhook 使用 Ed25519 签名,请求包含 telnyx-signature-ed25519 与 telnyx-timestamp 头,需用原始请求体调用 client.webhooks.unwrap() 验证。
适用场景:电话 IVR 菜单、按键收集(如账号、菜单选择)、AI 语音助手对话与结构化信息采集。相关事件包括 CallAIGatherEnded、CallAIGatherMessageHistoryUpdated、CallAIGatherPartialResults、callGatherEnded。
限制:资料未提供收费、价格、平台或性能数据;资料未说明除上述动作外的额外能力。所有采集动作依赖有效的 call_control_id 与已配置的通话连接。