Twilio Voice API转接代码正确性、计费及来电显示咨询
关于Twilio Voice转接的问题解答
1. 你的Twilio Voice API代码是否正确?
这段代码的基础逻辑没问题,能生成Twiml指令让Twilio呼叫USER_B_NUMBER,但有几个关键细节得调整才能满足你的转接需求:
- Twilio处理来电回调默认用POST请求,你当前写的是
app.get,建议改成app.post,避免回调失败 - 要让用户B看到的来电显示是用户A的号码,必须在
dial方法里添加callerId参数,值取用户A的来电号码(可从Twilio回调参数req.body.From获取) - 目前代码是直接拨号,相当于把用户A的来电直接转接到B;如果需要先和用户A交互再转接,还得加额外逻辑(比如用
<Gather>收集按键)
修正后的代码示例:
app.post('/call', async (req, res) => { const twiml = new VoiceResponse(); // 设置来电显示为用户A的号码 twiml.dial({ callerId: req.body.From }, 'USER_B_NUMBER'); res.type('text/xml'); res.send(twiml.toString()); });
2. 通话费用由谁承担?
不管用户B看到的来电显示是不是用户A的号码,整个转接通话的费用都由你的Twilio账户承担:
- 用户A作为来电方,只会被自己的运营商收取常规接听费用(如果套餐有接听收费规则的话),不会承担Twilio端的通话费用
- 你需要支付Twilio的通话费率,包括从你的Twilio号码到用户B号码的通话费用,以及转接服务相关的费用
内容的提问来源于stack exchange,提问作者Jas P
相关产品推荐
相关产品推荐

