Задержка подключения к конференции Twilio - PullRequest
0 голосов
/ 04 февраля 2019

Я использую Twilio для настройки центра входящих вызовов.Я использую софтфоны SIP в качестве своих конечных точек.У меня практически все работает так, как я хочу, но есть серьезная проблема при попытке начать «конференцию» с одной из моих конечных точек sip.

Представитель службы не слышит слова вызывающих абонентов примерно до 7 секундв вызов.Входящий абонент может слышать представителя службы просто отлично.Это только проблема с «Конференцией».Приведенный ниже код также иллюстрирует прямое соединение посредством набора добавочного номера, где задержка соединения вообще не возникает.

// Inbound Call to Twilio Number
routes.post('/twilio/phone/inbound', (req, res) => {
  const twilioVoice = new VoiceResponse();
  const gather = twilioVoice.gather({
    action: '/twilio/phone/enqueue',
    numDigits: 3,
    timeout: 2
  });
  gather.say('For general inquiries, press 1. If you know the extension of the person you are trying to reach, please enter it now.', {
    loop: 5
  });
  twilioVoice.say('Sorry, I did not get a response. Good bye.');
  twilioVoice.hangup();
  res.type('text/xml');
  res.send(twilioVoice.toString());
});

// Second endpoint to process response from above
routes.post('/twilio/phone/enqueue', (req, res) => {
  var pressedKeys = req.body.Digits;
  var twilioVoice = new VoiceResponse();
  if (pressedKeys.length === 3) {
    console.log("Direct call via extension.")
    twilioVoice.say(`Please hold while we attempt to connect you to extension`);
    twilioVoice.dial().sip('sip:employee@businessname.sip.us1.twilio.com');
    // Once connected, both parties can hear each other immediately.
    res.send(twilioVoice.toString());
  } else {
    twilioVoice.enqueue({
      workflowSid: process.env.WORKFLOW_SID,
    });
    res.type('text/xml');
    res.send(twilioVoice.toString());
  }
});


// Workflow AssignmentCallbackUrl
routes.post('/twilio/phone/assignworker', (req, res) => {
  res.type('application/json');
  // The service rep does not hear the callers words until about 7 seconds into the call
  res.send({
    instruction: "conference",
    to: "sip:employee@businessname.sip.us1.twilio.com"
  });
});
...