SuperAPI AI 工具集

telnyx-voice-advanced-go

编程与开发

查看项目

更新于 10-16 05:36

技能介绍

用途

Telnyx Voice Advanced - Go 是 Telnyx 面向 Go 开发者的语音高级呼叫控制技能,基于官方 Go SDK(github.com/team-telnyx/telnyx-go),用于在 Go 应用中实现进阶的呼叫控制与语音处理能力。它面向需要以编程方式操作通话的开发者,例如构建呼叫中心、智能语音助手、通话录音与质检、坐席监控等系统。

主要能力

该技能提供以下呼叫控制操作:

  • 发送 DTMF:通过 POST /calls/{call_control_id}/actions/send_dtmf 从当前通话腿发送 DTMF 音,对端可听到。必填参数 digits,可选 client_state、command_id、duration_millis。
  • SIPREC 录音:启动 SIPREC 会话(POST /calls/{call_control_id}/actions/siprec_start),将通话录音发送到 SIPREC 连接器配置的 SRS;可配置 connector_name、include_metadata_custom_headers、secure、session_timeout_secs、sip_transport(udp/tcp/tls)、siprec_track(inbound_track/outbound_track/both_tracks)。停止会话使用 POST /calls/{call_control_id}/actions/siprec_stop。
  • 噪声抑制(BETA):启动(POST /calls/{call_control_id}/actions/suppression_start)与停止(POST /calls/{call_control_id}/actions/suppression_stop)噪声抑制,可选 direction(inbound/outbound/both)与 noise_suppression_engine(Denoiser、DeepFilterNet、Krisp、AiCoustics)及引擎配置对象。
  • 客户端状态更新:通过 PUT /calls/{call_control_id}/actions/client_state_update 更新 client_state,必填 client_state。
  • 加入 AI 助手会话:通过 POST /calls/{call_control_id}/actions/ai_assistant_join 将额外通话腿加入正在运行的 AI 助手会话,必填 conversation_id 与 participant(含 ID、Role),可选 client_state、command_id。
  • 切换主管角色:通过 POST /calls/{call_control_id}/actions/switch_supervisor_role 在通话中切换主管模式,必填 role。

使用方式

安装:

go get github.com/team-telnyx/telnyx-go

初始化客户端:

import ( "context" "fmt" "os"

"github.com/team-telnyx/telnyx-go" "github.com/team-telnyx/telnyx-go/option" )

client := telnyx.NewClient( option.WithAPIKey(os.Getenv("TELNYX_API_KEY")), )

所有示例均假设 client 已按上述方式初始化。调用示例(发送 DTMF):

response, err := client.Calls.Actions.SendDtmf( context.Background(), "call_control_id", telnyx.CallActionSendDtmfParams{ Digits: "1www2WABCDw9", }, ) if err != nil { log.Fatal(err) } fmt.Printf("%+v\n", response.Data)

错误处理:所有 API 调用可能因网络错误、限流(429)、校验错误(422)或认证错误(401)失败。生产代码应始终处理错误,常见错误码包括 401 无效 API Key、403 权限不足、404 资源不存在、422 校验错误、429 限流(建议指数退避重试)。

Webhook 验证:Telnyx 使用 Ed25519 签名 Webhook,每个请求包含 telnyx-signature-ed25519 与 telnyx-timestamp 头。生产环境应始终验证签名,可使用 client.Webhooks.Unwrap(body, r.Header) 解析并校验事件。

适用场景

  • 呼叫中心与坐席管理:主管角色切换、通话监控。
  • 智能语音交互:将通话腿加入 AI 助手会话,结合语音识别与合成。
  • 通话录音与质检:通过 SIPREC 启停录音会话,配合事件回调处理录音状态。
  • 语音质量优化:启用噪声抑制引擎改善通话体验。
  • 交互式语音应答:发送 DTMF 与接收 DTMF 事件。

限制

  • 噪声抑制功能标注为 BETA。
  • 部分操作依赖已配置的 SIPREC 连接器与 SRS。
  • 具体计费、价格、平台支持范围与配额等资料暂未提供。
  • Webhook 事件类型包括 callConversationEnded、callConversationInsightsGenerated、callDtmfReceived、callMachineDetectionEnded、callMachineGreetingEnded、callMachinePremiumDetectionEnded、callMachinePremiumGreetingEnded、callReferCompleted、callReferFailed、callReferStarted、callSiprecFailed、callSiprecStarted、callSiprecStopped 等,各事件字段详见官方文档。