问题标签 [ejabberd-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
906 浏览

push-notification - 如何配置或连接 ejabberd 18 xmpp 服务器到 App 服务器以进行推送通知 ( XEP-0060 XEP-0357 )?

我使用 ejabberd 18 作为 xmpp 服务器,要使用实现 mod_push 的推送通知,我们需要将 ejabberd 服务器连接到扩展 ejabberd 18 的应用服务器,是否有可用的插件或扩展?启用推送通知的任何其他方式。

如果我错了,请纠正我。

0 投票
1 回答
546 浏览

ejabberd - 如何在 ejabberd 中直接将用户添加到 muc 房间

如何在不发送邀请的情况下直接将用户添加到 ejabberd 中的 muc 房间。将用户添加到 muc 房间仅由管理员完成。他们是使用 ejabberd rest api 的任何方法吗?请建议。提前致谢。

0 投票
2 回答
467 浏览

ejabberd - org.apache.xmlrpc.XmlRpcException: 错误 -118 {error,access_rules_unauthorized}

我正在尝试get_roster通过 XML-RPC 客户端获取 ejabberd 的响应,但我使用的是 ejabberd 18.9 版本,它向我显示此错误:

org.apache.xmlrpc.XmlRpcException: 错误 -118 执行带有参数 [{user,<<"admin">>},{server,<<"localhost">> 的命令 get_roster 时出现问题“{error,access_rules_unauthorized}” }]

有人可以建议我如何解决这个问题吗?

这是我的java客户端代码:

0 投票
1 回答
333 浏览

erlang - 用erlang解析ejabberd数据包

我正在使用 ejabberd18.09 进行 IM 应用程序。该应用程序几乎没有需要向 ejabberd(xmpp) 消息添加扩展的功能。

我在 offline_message_hook 上创建了一个自定义模块来捕获离线消息并将它们发送到我自己的 url 以进行进一步处理。

发送到 ejabberd 的消息有不同的情况,具体取决于消息的类型,如下所示

如果我要发送照片,消息将如下所示

发送文本时

发送位置时

我使用 .erl 代码读取正文和消息 ID,如下所示

我想要的是如何(在 erlang 中)读取mtype标记的属性,在(媒体、位置、测试)值上创建一个 switch 语句,以便我可以分别处理每条消息?

0 投票
0 回答
110 浏览

xmpp - 无法在 ejabberd-18-06 上处理自定义 iq

我在 ec2 实例上使用 ejabberd-18.06。当我将自定义 iq 节发送为

我收到如下回复:

在服务器上,我得到这些日志:

相同的节在 ejabberd-17.03 上运行良好。

请在这里帮助我。

0 投票
0 回答
282 浏览

erlang - 处理自定义 iq 节的模块不适用于 ejabberd-18.09

我正在尝试从 ejabberd-17.03 迁移到 ejabberd-18.09。我有这个模块,以便我可以将自定义 iq 节发送到 ejabberd。

该模块适用于ejabberd-17.03。但是当我将它与 ejabberd-18.09 一起使用时,我收到以下错误:

我已按照这些步骤注册自定义 iq https://github.com/processone/xmpp/issues/9但仍然没有运气。这是我在 xmpp/specs/xmpp_codec.spec 文件中添加的元素

我是否遗漏了什么,或者在 ejabberd-18.09 中应该做的方式有什么变化?

0 投票
2 回答
788 浏览

xmpp - 应用程序终止时的 Ejabberd 消息传递

我正在为 IOS 和 Android 使用 ejabberd 服务器开发一个聊天应用程序。我还为 ejabberd 编写了一个模块来获取发送到我自己的服务器 api 的离线消息。

我自己的服务器 api 将使用 FCM 向 IOS/Android 平台发送通知。

在客户端,如果应用程序在前台或后台,它将保持与 ejabberd 的连接,如果客户端收到消息,则 ejabberd 将发送消息传递状态。

我在应用程序终止(服务未运行)时遇到问题,这意味着它没有连接到 ejabberd(离线)。如果我在此应用程序未终止的情况下向它发送消息,它将收到通知,但消息仍未送达。在应用程序终止时收到通知时如何将消息标记为已送达。

为了进一步解释,whatsapp 可以正常使用相同的功能:

  • 设备 A 已安装 whatsapp 并且 whatsapp 已关闭(终止)
  • 设备 B 正在运行 whatsapp
  • 设备 B 向设备 A 发送消息
  • 设备 A 收到 whatsapp 通知
  • 在设备 A 上不做任何事情,设备 B 上的消息状态被标记为已传递。

如何使用 ejabberd 实现此场景?

0 投票
1 回答
64 浏览

ejabberd - 在 ejabberd 的 vcard 中添加字段时无法理解崩溃

我正在尝试在 vcard 中添加一个新字段作为“Abc”。为此,我在 xmpp_codec.spec 文件中为这个“Abc”字段添加了一个 xml。并在#vcard_temp 中引用了它。我将在“make spec”之后生成的xmpp_codec.erl、xmpp_codec.hrl、xep0054.erl文件放在它们各自的目录中。

但是当我尝试通过发送这个 iq 来添加这个字段的值时

我收到这个错误

在 mod_avtar.erl 中的第 320 行是这个函数

并且第 320 行在case VCard#vcard_temp.photo of这个函数里面。

而且我无法理解这个错误,因为我没有更改#vcard_photo记录,为什么它说这vcard_temp是一个坏记录?

编辑

这是添加xml并制定规范后生成的#vcard_temp记录

0 投票
1 回答
36 浏览

hbase - 使用 Ejabberd 配置 HBase

我打算将 HBase 用于我的 Ejabberd 服务器。我试图获取一些关于如何配置它的文档,但我不能,所以请任何人都可以通过提供一些文档链接来帮助我。

谢谢, 湿婆普拉萨德 G

0 投票
2 回答
355 浏览

xmpp - 从哪里获取 Ejabberd api url 和主机名

我将使用 ReactJs 使用 ejabberd 开发一个聊天应用程序。我在我们的服务器上安装了 ejabberd。我遵循了以下链接中的 API 文档。

https://docs.ejabberd.im/developer/ejabberd-api/admin-api/#registered-users

在实施之前,我想在邮递员中尝试任何 api。但是我没有从任何文档中获取 API URL 和主机名。

我的 ejabberd 服务器管理 URL 是http://192.168.5.242:5280/admin

另外,我希望使用https://www.npmjs.com/package/ejabberd。但是在那里我可以看到主机名的用法。

我尝试了很多端口而不是 5280。但不适合我。