Включить функцию STUN / TURN в ejabberd

Я установил ejabberd_stun со следующей конфигурацией:

  port: 3478
  transport: udp
  use_turn: true
  auth_type: user
  auth_realm: "X.X.X.X"
  turn_ip: "same as above(my public ejabberd ip)"
  module: ejabberd_stun

В процессе разработки (локально) все работает, как ожидалось, но когда мы переходим к производству, голосовой вызов, похоже, не работает.

Кажется, NAT не работает.

Нужно ли мне настраивать что-либо специально для производственной среды? Если нет, то в чем может быть возможная причина и как продолжить отладку? Любая помощь будет оценена по достоинству.


person Amin Bahiraei    schedule 13.06.2016    source источник


Ответы (1)


Ваш auth_realm должен быть настроен на домен, который должен обслуживать экземпляр TURN. Если на вашем сервере несколько доменов, которые необходимо обслуживать, вам необходимо настроить дополнительные экземпляры TURN на разных портах (по одному для каждого домена). Вам также необходимо настроить записи STUN / TURN SRV - https://wiki.xmpp.org/web/SRV_Records#STUN_SRV_records.

Кроме того, аутентификация TURN не будет работать с хранилищем паролей SCRAM или аутентификацией LDAP, потому что ejabberd необходимо отправить ваш пароль пользователя на сервер TURN для аутентификации. Для аутентификации LDAP можно использовать внешний скрипт аутентификации (https://www.ejabberd.im/files/contributions/check_pass_ldap_perl.pl.txt) и включите extauth_cache.

person Asha'man    schedule 28.07.2016