Узел Twilio - браузер для вызова событий StatusCallback - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь вернуть события StatusCallback при наборе номера из браузера на телефонный звонок.

Когда пользователь нажимает на набор в браузере, я отправляю twilio следующий ответ:

  const dial = twiml.dial({
    callerId: Meteor.settings.private.twilio.TWILIO_CALLER_ID,
    answerOnBridge: true,
    record: "record-from-answer-dual",
    StatusCallbackEvent: ["initiated", "ringing", "answered", "completed"],
    StatusCallback,
    recordingStatusCallback: recordURLCallback,
  });
  dial.number(toNumber);

Я зарегистрировал webhook как на консоли twilio, так и на отправку через команду, но я не получаю «звонящие», «отвеченные» события от twilio

   WebApp.connectHandlers.use("/twilio-status-callback", function( req, res, next ) {
     console.log('***status url callback***');
     var body = "";
     req.on('data', Meteor.bindEnvironment(function (data) {
       body += data;
     }));
     req.on('end', Meteor.bindEnvironment(function () {
      body = qs.parse(body)
      console.log(body);

      res.end();
    }));
  });

Я получаю только событие completed, как получить другие статусы, чтобы я мог отображать пользовательский интерфейс вызова, когда он звонит, и кнопку зависания при ответе?

1 Ответ

0 голосов
/ 30 апреля 2018

Разработчик Twilio здесь.

В вашем примере кода вы не включаете опцию для StatusCallback, поэтому для Twilio нет веб-крюка для вызова, только recordingStatusCallback. Кроме того, библиотека Node фактически переводит ключи из нижнего верблюжьего регистра, поэтому ключи должны быть statusCallback. Попробуйте обновить код до чего-то вроде этого и дайте мне знать, как он работает:

const dial = twiml.dial({
  callerId: Meteor.settings.private.twilio.TWILIO_CALLER_ID,
  answerOnBridge: true,
  record: "record-from-answer-dual",
  statusCallbackEvent: ["initiated", "ringing", "answered", "completed"],
  statusCallback: statusURLCallback,
  recordingStatusCallback: recordURLCallback,
});
dial.number(toNumber);
...