FreeSWITCH: невозможно подключиться из браузера (WebRTC) за корпоративным брандмауэром

Я использую сервер FreeSWITCH в общедоступном домене. Я могу позвонить из своего браузера (WebRTC с sipjs) на сервер FreeSWITCH через прямое подключение к Интернету.

Я тестирую его на брандмауэре, который разрешает только TCP на порт 443. Я использую отдельный сервер TURN. Я пытаюсь подключиться из своего браузера, указав сервер TURN с учетными данными. Я не могу заставить его работать. PeerConnection закрывается.

  1. Сервер FreeSWTICH НЕ находится за брандмауэром
  2. Клиент (браузер) находится за брандмауэром
  3. TURN сервер доступен

Есть ли какая-то конфигурация, которую мне нужно выполнить на сервере FreeSWITCH или на стороне клиента (javascript), чтобы заставить его работать?


person Senthil Ganesh    schedule 11.08.2016    source источник
comment
Мой сервер TURN прослушивает порт 443. Ниже приводится ошибка, которую я получаю на сервере FreeSWITCH. [INFO] mod_dialplan_xml.c:637 Processing anonymous <anonymous>->7500 in context default [WARNING] switch_core_media.c:3465 NO candidate ACL defined, Defaulting to wan.auto [NOTICE] switch_channel.c:3809 Hangup sofia/internal/anonymous@<my_domain_name> [CS_EXECUTE] [INCOMPATIBLE_DESTINATION] switch_core_session.c:1665 Session 1 (sofia/internal/anonymous@<my_domain_name>) Ended switch_core_session.c:1669 Close Channel sofia/internal/anonymous@<my_domain_name> [CS_DESTROY]   -  person Senthil Ganesh    schedule 11.08.2016


Ответы (2)


Вам нужно открыть порты UDP, потому что сигнализация будет идти через WSS, а медиа - через порты UDP:

mod_sofia to serve SIP signaling via WSS and media via SRTP/DTLS.

https://www.packtpub.com/books/content/configuring-freeswitch-webrtc

person os11k    schedule 11.08.2016
comment
UDP-порты заблокированы брандмауэром. Разрешены только исходящие TCP-соединения через порт 443. Я надеюсь, что сервер TURN справится со своей задачей. Я предполагаю, что TURN будет принимать мультимедийные данные через TCP-соединения на порт 443 и ретранслировать их как UDP на сервер FreeSWITCH. - person Senthil Ganesh; 11.08.2016

Да, вы можете использовать TURN-сервер. Вам нужно будет настроить его для прослушивания порта 443 с помощью TCP, потому что по умолчанию сервер TURN прослушивает порт 3478.

Однако, если брандмауэр проверяет наличие TLS-соединения (например, HTTPS), вам придется настроить TURN-сервер как TURNS (TURN over TLS).

person Antonin M.    schedule 11.08.2016
comment
Мой сервер TURN прослушивает порт 443. Ниже приводится ошибка, которую я получаю на сервере FreeSWITCH. [WARNING] switch_core_media.c:3465 NO candidate ACL defined, Defaulting to wan.auto [NOTICE] switch_channel.c:3809 Hangup sofia/internal/anonymous@<my_domain_name> [CS_EXECUTE] [INCOMPATIBLE_DESTINATION] switch_core_session.c:1665 Session 1 (sofia/internal/anonymous@<my_domain_name>) Ended switch_core_session.c:1669 Close Channel sofia/internal/anonymous@<my_domain_name> [CS_DESTROY] - person Senthil Ganesh; 11.08.2016