Twilio Node.js API - 使用“拨号”转发呼叫时遇到问题

时间:2016-09-17 20:55:14

标签: javascript node.js twilio twilio-api

我在使用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')
                })

我正在测试的这些数字是有效的数字,我也尝试过不同的格式。任何想法如何让这个工作?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

要转发呼叫,流程可能类似于

  1. 将Twilio号码的语音URL设置为端点,当此Twilio号码接收到呼叫时,该端点会返回TwiML响应。
  2. 在此端​​点中,TwiML响应应<Dial>您要将呼叫转接到的<Number>。这将桥接来电,即将其转发到您想要的号码。
  3. 我在下面提到了一个可以在

    中执行此操作的示例代码
    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转发呼叫。