用途:通过 Telnyx Python SDK 对通话进行实时音频处理,包括媒体分叉、流式传输和实时语音转写,可用于欺诈检测、实时音频分析或生成 AI 音频回复等场景。
安装与初始化:pip install telnyx;使用 from telnyx import Telnyx,通过 client = Telnyx(api_key=os.environ.get("TELNYX_API_KEY")) 初始化。
主要能力:
- 呼叫分叉:client.calls.actions.start_forking(call_control_id=...) 与 stop_forking 将通话媒体实时分叉到指定目标;请求须指定 target 或 rx/tx 属性;返回 result。
- 流式传输:start_streaming 将媒体近实时推送到指定 WebSocket 地址或 Dialogflow,音频以 base64 编码 RTP 负载(原始音频)包裹在 JSON 中;可选 stream_url、stream_codec、stream_track、双向编解码与采样率等参数;stop_streaming 停止并返回 result。
- 实时转写:start_transcription 与 stop_transcription,可选 transcription_engine(Google、Telnyx、Deepgram、Azure、A、B)与引擎配置;挂断时自动停止。
Webhook:Telnyx 使用 Ed25519 签名,请求含 telnyx-signature-ed25519 与 telnyx-timestamp 头,须用原始请求体调用 client.webhooks.unwrap(payload, headers=headers) 校验。相关事件包括 call.fork.started/stopped、streaming.started/stopped/failed、call.transcription。
限制:所有 API 调用可能因网络、限流(429)、验证(422)、鉴权(401)失败,生产代码应处理 telnyx.APIConnectionError、RateLimitError、APIStatusError,429 需退避重试;媒体流消息规范与定价、SLA 等本资料暂未提供。