我已使用以下配置安装了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无法正常工作。
我是否必须配置特定于生产环境的任何内容?如果不是那么可能的原因是什么呢?如何进一步调试呢?任何帮助,将不胜感激。
答案 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。