Я пытаюсь заставить Gigaset C470 IP работать на моем интернет-соединении. Я выяснил правильную конфигурацию устройства и моего маршрутизатора (pfSense между модемом DSL и локальной сетью) до такой степени, что я могу совершать исходящие вызовы и принимать входящие вызовы.
Исходящие звонки работают без проблем. Однако при входящих вызовах звук работает только в течение первой секунды вызова - по истечении oe secod звук в любом направлении отсутствует. Звонок остается до тех пор, пока один конец не повесит трубку.
Захват пакета на внешнем интерфейсе pfSense показывает, что происходит следующее:
- Я получаю SIP
INVITE
- Gigaset отвечает
100 Trying
и180 Ringing
- Я принимаю звонок, Gigaset отвечает
200 OK
- Существует RTP трафик в обоих направлениях
- Через секунду после вызова Gigaset отвечает новым
INVITE
вызывающей стороне. - Больше двунаправленного RTP-трафика еще на 0,1 с
- После этих 0,1 с SIP-провайдер отвечает
100 Trying
а затем200 OK
- После
100 Trying
больше нет входящего RTP-трафика. Все еще существует исходящий RTP-трафик, но ни одна из сторон не может услышать другую.
Рассматривая используемые кодеки, обе стороны соглашаются на G.711 после первого INVITE
. Насколько я могу судить по трассировке, трафик RDP действительно использует G.711. Re- INVITE
предлагает набор кодеков, который немного отличается от исходного INVITE
но обе стороны, очевидно, соглашаются продолжать использовать G.711.
Однако повторное INVITE
видимому, заставляет удаленный конец перестать отправлять или принимать какой-либо дополнительный RTP для этого вызова - но почему? И что я могу с этим поделать?