如何使用Twilio功能将呼叫转移到带有分机的电话号码?

时间:2018-10-27 13:07:59

标签: twilio twilio-functions

我正在尝试使用Twilio函数将呼叫转移到带有分机的电话号码。

从Twilio流中调用Twilio函数。

现在,呼叫转移到电话号码。但是,永远不会调用该扩展名。

我在“ sendDigits”中添加了一些用于暂停的“ w”字符...但没有任何改变。

Here is my Twilio flow

Here is my Twilio function widget with the parameter

这是twilio函数的代码

exports.handler = function(context, event, callback) {
  // set-up the variables that this Function will use to forward a phone call using TwiML

  // REQUIRED - you must set this
  let phoneNumber = event.PhoneNumber || "NUMBER TO FORWARD TO";    
  // OPTIONAL
  let callerId =  event.CallerId || null;
  // OPTIONAL
  let timeout = event.Timeout || null;
  // OPTIONAL
  let allowedCallers = event.allowedCallers || [];

  // generate the TwiML to tell Twilio how to forward this call
  let twiml = new Twilio.twiml.VoiceResponse();

  let allowedThrough = true;
  if (allowedCallers.length > 0) {
    if (allowedCallers.indexOf(event.From) === -1) {
      allowedThrough = false;    
    }
  }

  let sendDigits = event.sendDigits;
  let dialParams = {};
  dialParams.sendDigits = sendDigits

  if (callerId) {
    dialParams.callerId = callerId;
  }
  if (timeout) {
    dialParams.timeout = timeout;
  }

  if (allowedThrough) {
    twiml.dial(dialParams, phoneNumber);
  }
  else {
    twiml.say('Sorry, you are calling from a restricted number. Good bye.');
  }

  // return the TwiML
  callback(null, twiml);
};

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Dial谓词没有sendDigits属性,但是REST API有。

您可以将数字名词与拨号动词https://www.twilio.com/docs/voice/twiml/number及其关联的URL参数一起使用,以引用具有播放https://www.twilio.com/docs/voice/twiml/play及其数字属性的TwiML Bin,以在之后播放DTMF。被拨方接听电话,但在对方彼此通信之前。