为 ejabberd STUN 添加 DNS 记录

Posted

技术标签:

【中文标题】为 ejabberd STUN 添加 DNS 记录【英文标题】:Add DNS records for ejabberd STUN 【发布时间】:2017-06-21 14:33:04 【问题描述】:

我正在使用 Ejabberd 服务器开发一个聊天应用程序。我想实现音频和视频通话。为此,我想使用 Jingle。

但是,jingle 需要一个 stun 服务器,所以我尝试将 Ejabberd 配置为一个。

在文档(https://docs.ejabberd.im/admin/configuration/#stun-and-turn)中,据说您必须添加 DNS 记录,如下所示: _stun._udp IN SRV 0 0 3478 stun.example.com. _stun._tcp IN SRV 0 0 3478 stun.example.com. _stuns._tcp IN SRV 0 0 5349 stun.example.com.

但是,我不知道在哪里进行此配置(我正在使用 Windows 机器)。 有人可以帮我吗?

谢谢

【问题讨论】:

【参考方案1】:

DNS 记录通常由您的域的注册商配置。除了注册域之外,大多数注册商还提供 DNS 服务,并有某种网页用于配置 DNS 以将主机名映射到 IP 地址。因此,如果您拥有yourdomain.com(例如),并且您的 stun 服务器位于 IP 地址1.2.3.4,那么您只需像您一样使用标准的"A" 记录类型注册stun.yourdomain.com 以指向1.2.3.4用于网络服务器或任何其他服务。

SRV records 是另一种类型的 DNS 条目。它不是将主机名映射到 IP 地址,而是将服务名映射到主机名和端口。这个想法是域可以具有客户端应用程序可以从电子邮件地址推断出的默认“sip”、“stun”或“turn”,而不是让用户或其他服务提供它。 SRV 记录本质上只是指向主机名的标准“A”记录(并提供端口)。 STUN 是少数可以为域指定的标准 SRV 记录之一。

但是,我不知道有哪个客户端或服务需要 STUN 的 SRV 记录。大多数需要 STUN(或 TURN)服务器的 P2P 或 VOIP 客户端软件都可以配置主机名或 IP 地址。也许 Jabber 有不同的要求,但我怀疑您可以跳过 DNS 注册步骤并使用服务器的 IP 地址进行后续配置步骤。

【讨论】:

感谢您的回答。我尝试使用服务器的 IP 地址,但仍然收到错误 503:服务不可用,没有模块正在处理此查询。你知道为什么吗? 这是一个单独的问题,需要有关您的设置(您使用的客户端、服务器软件等)的更多详细信息,应单独提出。

以上是关于为 ejabberd STUN 添加 DNS 记录的主要内容,如果未能解决你的问题,请参考以下文章

将动态主管添加到 ejabberd

XMPP 流量记录 (ejabberd 13.12)

在 ejabberd 中添加共享名册中的所有用户

如何记录通过 ejabberd 的消息

使用 ejabberd 进行限时聊天

创建主机A记录