У меня проблема с соединением между моим программным телефоном X-Lite и FreeSwitch. Приложение X-Lite для программного телефона установлено на моей виртуальной машине с Windows 10. FreeSwitch установлен на моей виртуальной машине Centos7. Обе виртуальные машины находятся в одной сети.
Я могу отключить firewalld на Centos, и вызовы проходят успешно, так что это определенно проблема конфигурации межсетевого экрана.
Вот что я пробовал: 1. Я создал специальный сервис freeswitch для firewalld, чтобы он открывал 2 порта для внешнего и внутреннего профилей по умолчанию, но по-прежнему получаю ту же ошибку. 2. Я установил iptraf на Centos для отслеживания трафика. Я заметил следующее сообщение: «ICMP dest unrch (host comm denied) (576 bytes) from CENTOS_IP to WINDOWS10_IP on eth0».
Не совсем уверен, что еще я могу сделать для отладки этого. Любая помощь приветствуется. Спасибо!
Мне пришлось отредактировать свой файл службы firewalld, чтобы разрешить udp-трафик. Раньше он разрешал только tcp-трафик. Итак, мой служебный файл теперь выглядит так:
FreeSwitch Это услуга, которая обрабатывает различные функциональные возможности телефонии
Просто замените EXTERNAL_PROFILE_PORT и INTERNAL_PROFILE_PORT на порты профиля true. По умолчанию это 5080 и 5060 соответственно.
Побочное примечание: Возможно, вы захотите открыть диапазон портов для rtp-трафика, в противном случае вы сможете вызывать, но не будете слышать никаких звуков. По умолчанию диапазон портов rtp для freeswitch 16384-32768 и он использует протокол udp. Таким образом, вы можете открыть диапазон портов следующим образом: sudo firewall-cmd --zone=home --add-port=16384-32789/udp. Просто убедитесь, что вы хотите изменить зону. В команде выше установлена "домашняя" зона. Проверьте, работает ли она, а затем выполните ту же команду с аргументом "постоянно", чтобы изменение стало постоянным: sudo firewall-cmd --zone=home --permanent --add-port=16384-32789/udp.
.