Project

General

Profile

MUC Service Discovery Missing

Troy Mestler
Added about 5 years ago

Hi,

MUC seems to be missing from the list of discoverable features. I'm using Strophe with the disco plugin on the client and tigase 5.2.0-beta3 as the server with the MUC chat service set up. The service itself is actually working (I can create, join and message chatrooms) but it's just not listed as a feature. When I query available features, I get this list:

<?xml version="1.0" encoding="UTF-8"?>

  <query xmlns="http://jabber.org/protocol/disco#info">

     <identity category="component" type="im" name="Tigase ver. 5.2.0-beta3-b3269/2f52ffe1 (2013-08-26/19:07:14)" />

     <identity category="server" type="im" name="Tigase ver. 5.2.0-beta3-b3269/2f52ffe1 (2013-08-26/19:07:14)" />

     <feature var="http://jabber.org/protocol/commands" />

     <feature var="http://jabber.org/protocol/stats" />

     <feature var="http://jabber.org/protocol/commands" />

     <feature var="jabber:iq:version" />

     <feature var="jabber:iq:roster" />

     <feature var="jabber:iq:roster-dynamic" />

     <feature var="vcard-temp" />

     <feature var="urn:ietf:params:xml:ns:xmpp-sasl" />

     <feature var="urn:xmpp:ping" />

     <feature var="urn:ietf:params:xml:ns:xmpp-session" />

     <feature var="http://jabber.org/protocol/amp" />

     <feature var="msgoffline" />

     <feature var="http://jabber.org/protocol/disco#info" />

     <feature var="http://jabber.org/protocol/disco#items" />

     <feature var="jabber:iq:privacy" />

     <feature var="urn:ietf:params:xml:ns:xmpp-bind" />

     <feature var="jabber:iq:private" />

     <feature var="jabber:iq:auth" />

  </query>
  <query xmlns="http://jabber.org/protocol/disco#items">

     <item jid="muc.chat.openf.in" name="Multi User Chat" />

  </query>

As you can see, the query does return MUC in an item, but not as a feature. Using OpenFire, muc is returned as a feature. Which is correct here?

Here is my init.properties file:

config-type = --gen-config-def

--virt-hosts = loadtest,muc.chat.openf.in,chat.openf.in,conference.chat.openf.in

--debug = server,muc

--comp-name-1=muc

--comp-class-1=tigase.muc.MUCComponent

Thanks!


Replies (2)

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam about 5 years ago

To receive MUC features you have to send query disco#info to MUC component which has been sent to you as an item. In your case:

<iq type="get" to="muc.chat.openf.in" id="aac7a">
<query xmlns="http://jabber.org/protocol/disco#info"/>
</iq>

And a response should look like this:

<iq from="muc.chat.openf.in" type="result" id="aac7a" to="x@chat.openf.in/tigase-407">
<query xmlns="http://jabber.org/protocol/disco#info">
<identity category="conference" type="text" name="Multi User Chat"/>
<feature var="http://jabber.org/protocol/muc"/>
<feature var="http://jabber.org/protocol/commands"/>
<feature var="jabber:iq:version"/>
<feature var="urn:xmpp:ping"/>
</query>
</iq>

I do not know too much about OpenFire server implementation and their MUC but our Tigase behavior is in compliance with the MUC spec: http://xmpp.org/extensions/xep-0045.html

Added by Troy Mestler about 5 years ago

I found out what was going wrong here: in my config file, I had specified muc.chat.openf.in as a virtual host. When I remove that, everything works as expected.

    (1-2/2)