Trying to get MUC Working

Martin Atkins mart at
Fri Apr 13 07:01:56 UTC 2007

Gavin Mogan wrote:
> I've tried doing mu-conference external component with:
>   <Subdomain muc>
>       <Plugin DJabberd::Delivery::Local />
>       <Plugin DJabberd::Component::External>
>           ListenPort 5290
>           Secret     password
>       </Plugin>
>   </Subdomain>
> in my config file
> As well as the DJabberd plugin/component:
> <Plugin DJabberd::Component::MUC />
> <Plugin DJabberd::Plugin::MUC>
>    Subdomain muc
> </Plugin>
> Neither seem to show up properly in any jabber client's browse interface..
> Even when i try to explicitly say use " 
> <> " some clients end up just crashing, others say 
> the service is unresponsive.
> I can't seem to see any logging from Component::External.. Should there 
> be any?

The MUC component in djabberd is unfinished and probably doen't work. An 
external component is almost certainly a better idea right now.

In order to get the component to show up in service discovery, you need 
an additional line to register the component as a service:

ChildService Multi-user Conference Service

::Component::External normally generates a lot of log noise even before 
anything connects to it; it'll tell you on startup that it's starting up 
and that it's waiting for the component to connect, and then once the 
component connects it it'll tell you so. Until the component actually 
connects, messages to the component can sometimes seem to go into a 
black hole, although most of the time ::Component::External will respond 
with a "service unavailable" error.

It might be a good idea to remove the ::Delivery::Local plugin from that 
vhost, as I'm not sure if those two will interact well together; 
components themselves are handled as a delivery plugin.

More information about the Djabberd mailing list