用途:基于 Telnyx Python SDK 对通话进行实时媒体处理,包括将通话音频流式推送到指定 WebSocket 地址或 Dialogflow 连接、把媒体分叉到外部目标,以及启动实时语音转写,用于实时分析、欺诈检测或生成 AI 音频响应等场景。
主要能力:提供通话分叉的启动与停止、流式传输的启动与停止、实时转写的启动与停止等 Call Control 操作;流式音频以 base64 编码的 RTP 负载(原始音频)封装在 JSON 中近实时投递;转写支持多种引擎(Google、Telnyx、Deepgram、Azure、xAI、AssemblyAI、Speechmatics、Soniox、Parakeet 等);支持指定编解码器、采样率、双向模式与目标通话腿等参数。
使用方式:先安装 pip install telnyx,并用 API Key 初始化客户端 client = Telnyx(api_key=os.environ.get("TELNYX_API_KEY"))。随后调用 client.calls.actions.start_forking、stop_forking、start_streaming、stop_streaming、start_transcription、stop_transcription 等方法,传入 call_control_id 等参数。Webhook 使用 Ed25519 签名,请求头包含 telnyx-signature-ed25519 与 telnyx-timestamp,需用 client.webhooks.unwrap(payload, headers=headers) 校验,且应使用原始请求体而非解析后的 JSON。
适用场景:实时音频分析、AI 语音交互、通话内容实时转写与合规审计等。
限制与注意事项:生产代码需处理网络错误、429 限流、422 校验错误与 401 认证错误,限流建议按 Retry-After 指数退避重试;分叉请求必须指定 target 或 rx/tx 属性;转写会在通话挂断时停止,也可主动停止。具体计费、价格与平台支持范围资料未提供。