xmppejabberdxmppframeworkmultiuserchat

Unable to send messages to a MUC room


When I try to send a message to an XMPP MUC Room such as:

<message to="room@conference.chat.example.com" type="groupchat">
    <body>TEST</body>
</message>

The message will not be delivered to other participants in the room and I get this response from the server:

<message
xmlns="jabber:client" lang="en" to="karim@chat.example.com/resource" from="room@conference.chat.example.com" type="error">
<error code="503" type="cancel">
    <service-unavailable
        xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">
    </service-unavailable>
    <text
        xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" lang="en">User session not found
    </text>
</error>
<body>TEST</body>

Im using ejabberd Community Server v20.07 installed into Docker using the official image.

The full ejabberd.yml configuration file that Im using can be found here.

The full server log can be found here.

The above error happen with different clients and not only one.


Solution

  • You have configured this, and this is completely wrong:

    hosts:
      - chat.example.com
      - conference.chat.example.com
    
    modules:
      mod_muc:
        ...
    

    I guess you didn't notice the option HOSTS in the MOD_MUC documentation: https://docs.ejabberd.im/admin/configuration/modules/#mod-muc

    Try something like this:

    hosts:
      - chat.example.com
    
    modules:
      mod_muc:
        hosts:
          - conference.@HOST@
        ...