Тема: SIP-CDA2 не видит что абонент положил трубку
Подключил SIP-CDA2 к Vizit БУД-430M + Vizit БВД-343, всё отлично работает, но есть одна шероховатость.
Все вызовы с домофона переадресуются на обычные телефоны через сервер Asterisk. Однако ежели абонент заканчивает разговор (кладёт трубку), вызывная панель домофона продолжает висеть в состоянии “SAY”, выходит из этого состояния через пару минут. Нельзя ли как-то настроить чтобы разговор заканчивался когда абонент кладёт трубку? В веб-интерфейсе SIP-CDA2 видно что вызов как бы ещё подключен, есть кнопочка “Завершить” (скриншот прилагается). Проверял как с вызовами с переадресацией на обычные телефоны, так и с вызовом абонента на том же сервере. Всегда зависает в состоянии “Say”.
Что посоветуете?
Не проходит команда окончания разговора bye от asterisk. Как правило это из-за того, что устройство неверно сообщает свои IP адрес и порт. Если связь с asterisk происходит через интернет, в настройках sip - nat нужно выбрать stun, если в одной локальной сети, то автоматически. Странно, что при этом есть звук в сторону домофона. Есть вариант, что asterisk вообще не присылает bye, исходя из какого-то сценария. Еще настораживает, что при этом разговор не завершается через 15 сек. по таймауту RTP. Получается, что от asterisk продолжает идти какой-то звук, т.е. опять же соединение он не завершает. Та же проблема может проявляться со стороны IP телефона №500, на который пришел вызов. Все может прояснить лог wireshark со стороны asterisk, отражающий весь процесс вызова и завершения.
Спасибо за подсказку, установил вот такое значение (NAT: Получение внешнего IP адреса от STUN сервера) в настройках и вроде бы всё заработало как надо, в SAY больше не висит.
Настройки SIP => Настройки SIP/RTP устройства => NAT: установка значения “Получение внешнего IP адреса от STUN сервера” решает проблему.