Ответ 1
Посмотрев на свои журналы, вы должным образом получаете событие 180 Ringing
от Twilio at 10:17:13
, после того, как вызов начался в 10:17:09
и на него был дан ответ в 10:17:19
, чтобы вы его заметили, проблема заключается не в том, что оператор выше по потоку не отправляет сигнальную информацию, а скорее из Asterisk или из внутреннего клиента WebRTC FreePBX.
Просто подумайте здесь, но если по какой-то причине ваш клиент WebRTC не готов обрабатывать звуковое событие, которое вызвало вызов (и звонок звонит), вы не услышите тональный сигнал обратного вызова. Такая ситуация может возникнуть, например, если ваш клиент WebRTC запускает вызов, не собрав всех своих кандидатов ICE (это режим подключения trickle ICE
, но это не должно быть так, как мне кажется, Asterisk его не поддерживает). К сожалению, в этом случае вы не можете сделать ничего, кроме изменения конфигурации или кода JavaScript клиента WebRTC.
Теперь, на стороне Asterisk, действительно, параметр r
должен выполнить задание. Я не уверен, что FreePBX позволяет вам управлять командами dialplan, но если это так, вы можете попытаться заставить Asterisk ответить на вызов, а затем воспроизвести мелодию во время набора номера. Функция PlayTones может быть тогда полезной.
exten => _44X.,1,Answer
exten => _44X.,n,Wait(1)
exten => _44X.,n,Playtones(ring)
exten => _44X.,n,Wait(3)
exten => _44X.,n,Dial(SIP/...)
Обратите внимание, что вам нужно будет правильно настроить файл indications.conf
, чтобы он работал. Я думаю, что другие функции, такие как Ringing, Progress, но я думаю, что идея ответа на вызов перед набором номера стоит попробовать. Конечно, это немного взломанно, так как путь должен обязательно использовать Dial
без опции r
.
Надеюсь, это поможет!