Twilio: проходите через Simulring, пока люди не ответят

Я хотел бы, чтобы мой номер Twilio одновременно набирал несколько внешних технических специалистов в моей компании и соединял только звонящего с человеком (иначе говоря, блокировал голосовую почту от приема звонка).

У меня Simulring работает отлично, но проблема в том, что когда один из моих техников находится вне зоны действия сотовой связи / телефон выключен, его голосовая почта отвечает немедленно, а DIAL отключается от всех других техников (существительные NUMBER).

Моя первая мысль заключалась в том, чтобы настроить его так, чтобы существительные NUMBER попадали в другой TwiML Bin, который выполняет GATHER, запрашивая, чтобы они нажимали любую клавишу для принятия вызова (что гарантирует, что это человек, а не виртуальная машина). Это работает для обнаружения человека, но при получении голосовой почты все остальные вызовы сбрасываются.

Итак, как мне продолжить перезапуск Simulring после того, как эта голосовая почта не удастся GATHER, и пропустить номер голосовой почты, чтобы он не перехватил вызов снова?

В этом сообщении упоминается точно то, что мне нужно, но ответ был теоретическим и не предлагал решения. Теперь, когда я пробую то, что предлагает Девин, я не могу найти способ сделать это.

Это моя начальная корзина TwiML:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial method="GET" action="/retry-simulring">
  <Number url='/human-check' method="GET">
    8885551111
  </Number>
  <Number url='/human-check' method="GET">
    8885551112
  </Number>
  </Dial>
  <Hangup></Hangup>
</Response>

Это / human-check TwiML Bin:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Gather numDigits="1" timeout="5" method="GET" action="/human-check-result">
    <Say voice="alice">You are receiving a work call, press any key to accept</Say>
  </Gather>
</Response>

И / human-check-result просто отправляет HANGUP, если GATHER терпит неудачу, или соединяет Tech и вызывающий, если он проходит.

Мне известно о findme Twimlet, но для удобства пользователей я хочу, чтобы всех технических специалистов вызывали одновременно.

Спасибо за вашу помощь ... Я потратил большую часть дня, пытаясь понять это, но при этом не было подходящего решения.


person sdpetersen    schedule 22.05.2017    source источник


Ответы (1)


Проповедник разработчиков Twilio здесь.

Прежде всего, отметив, что вы указали на ответ, который ссылался на наше старое экспериментальное обнаружение автоответчика, теперь у нас есть новый расширенное обнаружение автоответчика, которое вы можете попробовать с этим.

Но если вы хотите продолжить использование метода <Gather>, вы можете попробовать следующий.

Когда вы получаете результат от <Gather>, вы в данный момент просто кладете трубку. Вместо этого вы можете перенаправить обратно на симуляцию <Dial>.

Это было бы здорово, только бы он снова набрал тот же номер. Итак, что вы можете сделать, так это сохранить номер / голосовую почту, которая ответила на вызов, по идентификатору вызова в базе данных, это будет параметр To в веб-перехватчике для _ 5_ url. Затем вы можете снова перенаправить на симуляцию, а затем перечислить все номера, которые были сохранены как опробованные для текущего SID вызова, и удалить их из списка номеров, которые вы пытаетесь вызвать.

Я не уверен, как привести вам пример этого, так как я не знаю, на чем написано ваше приложение. Дайте мне знать, если я могу чем-нибудь еще помочь.

person philnash    schedule 25.05.2017