Группа звонков: связать последующие звонки с начальным звонком - PullRequest
0 голосов
/ 13 февраля 2019

Так что мое приложение для звонков имеет функцию «группа звонков».Идея состоит в том, что определенные номера должны раздавать вызов нескольким членам группы вызова.У Twilio есть статья, которая описывает этот процесс здесь:

https://www.twilio.com/blog/2009/05/dialing-multiple-numbers-simultaneously-with-twilio.html

Я хочу сделать что-то подобное.Прокрутите список доступных членов моей кольцевой группы и наберите dial.number каждому из них.Это создаст новый вызов для каждого из них, который попадет в наш обычный входящий вызов.Прекрасно работает, за исключением случаев, когда никто не отвечает, тогда вызов будет отправлен на голосовую почту случайных пользователей.

Я думал о паре стратегий, которые могли бы это исправить, но ни одна из них не работает:

  1. Управлять таймаутами.Установите время ожидания набора для группы звонков на что-то более короткое, чем время ожидания нашего входящего звонка.Я думал, что это может пропустить последующее действие на входящие вызовы и перейти к последующему действию в группе звонков - это ящик голосовой почты группы звонков.Но в этом случае установка времени ожидания на круговом групповом наборе ничего не делает.Только тайм-аут на входящем вызове webhook соблюдается.
  2. Передайте некоторый контекст.Если бы я мог передать дополнительные параметры из вызова группы вызова через метод dial.number, то я мог бы распознать в веб-крюке входящего вызова, что это происходит из группы вызова, и действовать соответственно.Но, видимо, вы не можете передавать пользовательские параметры.Казалось, единственное, что я мог изменить, - это callerId, который я мог использовать для указания номера группы звонков, но затем я теряю контекст, из которого поступает вызов.
  3. Присоедините status_callback.Я мог бы поставить status_callback на dial.number в группе звонков.Как только вызов инициирован, он отправит мне сообщение с CallSid.Я мог бы использовать этот sid для просмотра вызовов, созданных моим контроллером входящих вызовов, и связать sid, тем самым идентифицируя, какие вызовы поступают из группы звонков.К сожалению, CallSid, ​​который я получаю для status_callback для кольцевой группы dial.number, не соответствует ни одному другому sid, который получает мое приложение.Sid на входящем вызове webhook различны - и если я раздуваю его с несколькими участниками, интересно, что каждый входящий вызов webhook получает другой sid.Сначала я подумал, что, поскольку к входящему звонку подключена только одна нога, все они будут использовать один и тот же sid ...

Интересно, есть ли у кого-нибудь еще идеи?

...