Итак, я установил Freeswitch на Raspberry PI 3, и он сбрасывает звонки через 32 секунды. Я много гуглил, и это, похоже, обычная проблема, но у всех людей с этой проблемой были сложные настройки с внешними шлюзами, VPN, NAT, несколькими подсетями и т. Д. В моем случае я использую почти конфиг, единственный изменение, которое я сделал, - это удалить профили IPv6 из конфигурации. Я даже не изменил пароль по умолчанию. Я использую все в домашней сети с подсетью / 24 и всеми внутренними телефонами. Сначала я подумал, что это сеть отбрасывает пакеты, но это происходит только с некоторыми телефонами. Два телефона - это версия Zoiper для Android и более старая версия Zoiper на моем ПК. У меня на том же компьютере установлена более новая версия Zoiper, и никаких проблем. Все, что я нахожу, относится к NAT, STUN, VPN, брандмауэрам и т. Д. У меня ничего этого нет, брандмауэр отключен на ПК и PI. Трафик не проходит через мой маршрутизатор. Один экземпляр, который не работает, использует UDP, другой - TCP. Все рабочие - TCP. Это болото из коробки. Любые идеи?
Итак, я решил это. Я захватил пакеты для звонков, которые работали, и звонков, которые не работали. Оказалось, что Freeswitch на самом деле просил клиентов ответить по IP-адресу, который был похож на мой общедоступный IP, но не был таким же. Казалось, что работавшие клиенты проигнорировали это и просто ответили локально. Некоторые клиенты будут выполнять инструкции и отправлять ACK на указанный IP-адрес. После этого Freeswitch продолжал запрашивать ACK и в конце концов вешал трубку. Почему Freeswitch делает это, я не уверен, но, похоже, это поведение по умолчанию для новой установки. Чтобы решить эту проблему, я изменил настройки ниже, и мне пришлось полностью перезапустить Freeswitch. Reloadxml не работал.
Файл был:
/etc/freeswitch/sip_profiles/internal.xml
Настройки были (настройки по умолчанию закомментированы):
<!-- param name="ext-rtp-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-rtp-ip" value="$${local_ip_v4}"/>
<!-- param name="ext-sip-ip" value="$${external_rtp_ip}"/ -->
<param name="ext-sip-ip" value="$${local_ip_v4}"/>