Так что мое приложение для звонков имеет функцию «группа звонков».Идея состоит в том, что определенные номера должны раздавать вызов нескольким членам группы вызова.У Twilio есть статья, которая описывает этот процесс здесь:
https://www.twilio.com/blog/2009/05/dialing-multiple-numbers-simultaneously-with-twilio.html
Я хочу сделать что-то подобное.Прокрутите список доступных членов моей кольцевой группы и наберите dial.number
каждому из них.Это создаст новый вызов для каждого из них, который попадет в наш обычный входящий вызов.Прекрасно работает, за исключением случаев, когда никто не отвечает, тогда вызов будет отправлен на голосовую почту случайных пользователей.
Я думал о паре стратегий, которые могли бы это исправить, но ни одна из них не работает:
- Управлять таймаутами.Установите время ожидания набора для группы звонков на что-то более короткое, чем время ожидания нашего входящего звонка.Я думал, что это может пропустить последующее действие на входящие вызовы и перейти к последующему действию в группе звонков - это ящик голосовой почты группы звонков.Но в этом случае установка времени ожидания на круговом групповом наборе ничего не делает.Только тайм-аут на входящем вызове webhook соблюдается.
- Передайте некоторый контекст.Если бы я мог передать дополнительные параметры из вызова группы вызова через метод
dial.number
, то я мог бы распознать в веб-крюке входящего вызова, что это происходит из группы вызова, и действовать соответственно.Но, видимо, вы не можете передавать пользовательские параметры.Казалось, единственное, что я мог изменить, - это callerId, который я мог использовать для указания номера группы звонков, но затем я теряю контекст, из которого поступает вызов. - Присоедините status_callback.Я мог бы поставить status_callback на
dial.number
в группе звонков.Как только вызов инициирован, он отправит мне сообщение с CallSid.Я мог бы использовать этот sid для просмотра вызовов, созданных моим контроллером входящих вызовов, и связать sid, тем самым идентифицируя, какие вызовы поступают из группы звонков.К сожалению, CallSid, который я получаю для status_callback для кольцевой группы dial.number
, не соответствует ни одному другому sid, который получает мое приложение.Sid на входящем вызове webhook различны - и если я раздуваю его с несколькими участниками, интересно, что каждый входящий вызов webhook получает другой sid.Сначала я подумал, что, поскольку к входящему звонку подключена только одна нога, все они будут использовать один и тот же sid ...
Интересно, есть ли у кого-нибудь еще идеи?