用途:通过 Telnyx Call Control API 以 curl 方式对通话音频做实时处理,包括将通话媒体分流到外部目标、将近实时音频推送到指定 WebSocket 或 Dialogflow,以及启动实时语音转写,适用于实时分析和 AI 集成场景。
主要能力:通话分流(fork_start/fork_stop,请求需指定 target 或 rx、tx 属性);媒体流启动与停止(streaming_start/streaming_stop,音频以 base64 编码 RTP 载荷封装在 JSON 中投递,目标为 WebSocket 地址或 Dialogflow 连接);实时转写(transcription_start/transcription_stop,可选引擎 Google、Telnyx、Deepgram、Azure、A、B,通话挂断时自动停止)。
用法:先设置环境变量 export TELNYX_API_KEY="YOUR_API_KEY_HERE",随后用 curl 携带 Authorization: Bearer $TELNYX_API_KEY 调用相应端点,例如 streaming_start 的请求体可包含 stream_url。调用可能遇到网络错误、限流(429)、校验错误(422)和认证错误(401),生产代码应处理:401 为无效 API 密钥,403 权限不足,404 资源不存在,422 校验错误,429 限流需指数退避重试。Webhook 使用 Ed25519 签名,每个请求带 telnyx-signature-ed25519 与 telnyx-timestamp 头,应用客户端 SDK 的 client.webhooks.unwrap 验证;时间戳超过 5 分钟应拒绝以防重放;端点须在 2 秒内返回 2xx,否则 Telnyx 最多重试 3 次,可在门户配置故障转移 URL。相关事件包括 callForkStarted、callForkStopped、callStreamingFailed、callStreamingStarted、callStreamingStopped、transcription。
限制:资料未提供定价、配额、各引擎配置细节及具体语言示例;各参数与字段语义以官方 API 文档为准。