0

我已经使用以下配置安装了 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 不起作用。

我是否必须配置特定于生产环境的任何内容?如果不是,那么可能的原因是什么以及如何继续进一步调试?任何帮助,将不胜感激。

4

1 回答 1

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。

于 2016-07-28T16:59:29.927 回答