在ejabberd中启用STUN / TURN功能

时间:2016-06-13 09:14:59

标签: ejabberd stun turn

我已使用以下配置安装了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无法正常工作。

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

1 个答案:

答案 0 :(得分: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。