我在使用Twilio Node.js库让“拨号”转发呼叫时遇到了一些麻烦。这个库的文档很少,使用“拨号”的唯一例子是电话会议:
.dial({
action:'http://example.com/something.php'
}, function(node) {
node.conference('waitingRoom', {
beep:'false'
});
});
使用此功能,我可以使用以下内容生成与Dial Documentation中类似的XML:
.dial('number', {
action: 'http://url'
hangupOnStar: true
}, (err, respData) => {
console.log(err);
console.log(respData);
})
这会导致呼叫立即转发到action
网址。
我也尝试在他们的文档Example 3: Dial to a phone number from Twilio Client
上使用第三个示例,它生成以下XML:
<Response>
<Dial hangupOnStar="true" callerId="number">
<Number>number to call</Number>
</Dial>
</Response>
通过以下代码:
resp.dial({
hangupOnStar: true,
callerId: 'number'
}, (node) => {
node.number('number')
})
我正在测试的这些数字是有效的数字,我也尝试过不同的格式。任何想法如何让这个工作?任何帮助表示赞赏。
答案 0 :(得分:0)
要转发呼叫,流程可能类似于
<Dial>
您要将呼叫转接到的<Number>
。这将桥接来电,即将其转发到您想要的号码。我在下面提到了一个可以在
中执行此操作的示例代码app.get("/forwardToMyMobile",function(i_Req,o_Res)
{
var ivrTwilRes = new twilio.TwimlResponse();
var numberToForwardCallTo=i_Req.query.toNumber;
/*In case you want to pass this number as querystring ,
else if its a fixed number you can just hardcode it */
ivrTwilRes.dial({callerId:'+44xxxxxxxx'},
function()
{
this.number(numberToForwardCallTo);
}
)
.record();
o_Res.set('Content-Type','text/xml');
o_Res.send(ivrTwilRes.toString());
});
当您的Twilio号码立即收到呼叫时,它将在您的nodejs服务器应用程序上webhook到“/ forwardToMyMobile”并指示Twilio转发呼叫。