You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ejabberd+WebRTC实现音视频聊天时发送Jingle会话初始化stanza遇模块未找到错误

解决Ejabberd返回"module not found"错误的Jingle会话初始化问题

听起来你遇到的这个错误大概率是Ejabberd没有启用处理Jingle相关逻辑的模块,或者你的Stanza请求格式有不符合规范的地方,我来一步步帮你排查:

1. 确认Ejabberd已启用Jingle相关模块

Ejabberd默认可能不会自动加载Jingle模块,你需要手动在配置文件里开启:

  • 找到你的ejabberd.yml配置文件(通常在/etc/ejabberd/或者Ejabberd安装目录下)
  • 找到modules配置段,确保添加了mod_jingle和mod_jingle_ice_udp模块:
    modules:
      # 其他已启用的模块...
      mod_jingle: {}
      mod_jingle_ice_udp: {}
      # 其他模块...
    
  • 保存配置后,重启Ejabberd服务生效:ejabberdctl restart

你可以用Ejabberd的命令行工具验证模块是否加载成功:

ejabberdctl modules

在输出列表里应该能看到mod_jingle和mod_jingle_ice_udp。

2. 检查Stanza发送的会话初始化请求格式

确保你的session-initiate stanza完全符合XEP-0166和XEP-0176的规范,特别是命名空间部分:

  • Jingle的根元素必须使用命名空间urn:xmpp:jingle:1
  • ICE-UDP传输部分的命名空间必须是urn:xmpp:jingle:transports:ice-udp:1

举个符合规范的请求示例:

<iq from='user1@yourdomain.com' to='user2@yourdomain.com' type='set' id='jingle-sess-1'>
  <jingle xmlns='urn:xmpp:jingle:1' action='session-initiate' initiator='user1@yourdomain.com' sid='unique-session-id'>
    <content creator='initiator' name='audio'>
      <description xmlns='urn:xmpp:jingle:apps:rtp:1' media='audio'>
        <payload-type id='0' name='PCMU' clockrate='8000'/>
      </description>
      <transport xmlns='urn:xmpp:jingle:transports:ice-udp:1' pwd='ice-password' ufrag='ice-ufrag'>
        <candidate component='1' foundation='1' generation='0' id='c1' ip='192.168.1.100' network='1' port='5000' priority='2130706431' protocol='udp' type='host'/>
      </transport>
    </content>
    <!-- 如果需要视频,添加类似的content元素 -->
  </jingle>
</iq>

你可以对比Stanza库生成的实际XML,看看有没有命名空间遗漏或者字段错误。

3. 查看Ejabberd日志获取详细错误信息

如果上面两步都没问题,去查看Ejabberd的错误日志(默认路径是/var/log/ejabberd/ejabberd.log),里面会有更具体的错误细节,比如到底是哪个模块没找到,或者请求的哪个部分不符合要求,这能帮你更快定位问题。

4. 检查版本兼容性

确保你使用的Stanza库版本和Ejabberd版本是兼容的,比如某些旧版本的Ejabberd可能对Jingle的实现有差异,或者Stanza库的API更新导致请求格式变化。可以尝试升级/降级其中一方来测试兼容性。

内容的提问来源于stack exchange,提问作者sherlaimov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:08:49