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

如何使用TwiML实现同振并要求被叫按键确认后Twilio再桥接通话

实现原理

Twilio 支持采集被叫侧的按键输入,可通过 <Number> 标签的 url 属性实现被叫接听后的预交互流程,只有被叫完成指定操作后才会桥接主叫通话,其余未确认的被叫呼叫会自动终止,符合同振业务的需求。

配置步骤

1. 修改主呼叫TwiML配置

给每个被叫号码的 <Number> 标签新增 url 参数,指向被叫确认流程的服务接口:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial>
        <Number url="/api/callee-confirm">+1800XXXXXXX</Number>
        <Number url="/api/callee-confirm">+1912XXXXXXX</Number>
    </Dial>
</Response>

2. 开发被叫确认接口TwiML

/api/callee-confirm 接口返回的TwiML负责播放提示音、采集被叫按键:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <!-- numDigits设置采集1位按键,timeout设置超时时间为10秒 -->
    <Gather action="/api/handle-confirm" method="POST" numDigits="1" timeout="10">
        <Say voice="alice">您好,有来电呼入,请按1接听,否则将自动挂断</Say>
    </Gather>
    <!-- 超时未按键直接挂断 -->
    <Hangup/>
</Response>

3. 开发按键结果处理接口

/api/handle-confirm 接口根据采集到的按键判断是否放行通话:

  • 若采集到的按键为1,返回空的Response即可触发主被叫桥接
  • 若采集到其他按键,返回挂断指令即可
<!-- 按键为1时返回的内容 -->
<Response>
    <Say voice="alice">正在为您接通,请稍候</Say>
</Response>

<!-- 按键不为1时返回的内容 -->
<Response>
    <Hangup/>
</Response>

注意事项

  • 所有自定义接口需要支持公网访问,Twilio才能正常发起请求
  • 如果需要针对不同号码展示差异化提示,可在url中追加被叫号码参数用于区分
  • 若需要屏蔽被叫的语音信箱自动应答,可额外增加answerOnBridge="true"参数到<Dial>标签中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:54:00