You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twilio与Amazon Connect集成:PSTN重定向及成本咨询

实现Twilio WebSocket通话重定向至Amazon Connect队列的方案

一、能否通过Twilio Python客户端实现PSTN重定向?

可以。由于你是直接通过WebSocket处理通话(而非依赖TwiML/webhook路由),核心是用Twilio的Call Resource API主动操作正在进行的通话,不需要依赖外部webhook服务。

二、具体实现步骤

  1. 保存通话SID:WebSocket连接建立时,Twilio会通过初始消息发送callSid,务必把这个SID存在你的应用存储(内存、Redis、数据库都可以),后续API操作必须用到它。
  2. 触发重定向并调用API:当你的应用满足重定向条件时,调用Twilio Python客户端的calls.update()方法,将通话转接到目标Amazon Connect的PSTN号码(这个号码必须是Amazon Connect已配置好、能接收PSTN呼叫且关联目标队列的号码)。
    示例代码:
    from twilio.rest import Client
    
    # 初始化Twilio客户端(替换成你的账号SID和Auth Token)
    account_sid = 'YOUR_ACCOUNT_SID'
    auth_token = 'YOUR_AUTH_TOKEN'
    client = Client(account_sid, auth_token)
    
    # 从WebSocket初始消息中获取的活跃通话SID
    call_sid = 'ACTIVE_CALL_SID'
    
    # 目标Amazon Connect的PSTN接入号码
    target_connect_number = '+1234567890'
    
    # 通过API更新通话,执行转接
    call = client.calls(call_sid).update(
        twiml='<Response><Dial>{}</Dial></Response>'.format(target_connect_number)
    )
    
    print(f"通话已发起重定向,当前状态:{call.status}")
    
    这里用到的TwiML是直接通过API提交给Twilio的,不需要对外暴露webhook,完全在你的Python应用内部完成逻辑。
  3. 音频格式兼容:Twilio和Amazon Connect都原生支持8000Hz ulaw格式,转接时不需要额外做音频编码转换,Twilio会自动处理PSTN链路的编码适配。

三、成本相关问题

  • 额外成本:会产生Twilio出站通话费用,费用按你使用的Twilio号码所属地区的PSTN出站费率计算,属于额外的转接链路成本。
  • Twilio计费终止:转接成功后,Twilio的计费会持续到其侧的通话链路断开。如果你的应用在转接完成后立即关闭WebSocket连接,Twilio会终止当前通话的计费,此时用户通话会直接在Amazon Connect的PSTN链路中继续,Twilio不再收取后续费用。

四、关键注意事项

  • 通话状态校验:转接后建议通过Twilio API轮询或配置状态通知webhook(可选),确认转接是否成功,避免出现通话中断。
  • Amazon Connect配置:确保目标PSTN号码在Amazon Connect中已正确配置入流规则,关联到目标队列,并且允许来自你的Twilio号码的呼叫。
  • 异常处理:调用Twilio API时要捕获异常(如无效通话SID、权限错误、号码不可用等),避免因API失败导致通话异常。
  • 替代低成本方案:如果想降低PSTN费用,可考虑用Twilio SIP Trunking连接Amazon Connect,绕开公共PSTN链路,但配置复杂度更高,需要在双方平台配置SIP trunk参数。

内容的提问来源于stack exchange,提问作者user60108

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:35:08