Tech pages/Multi-User Chat

XMPP Technologies: MUC Table of Contents

1. Overview 2. Specifications 3. Implementations 1. Servers 2. Server Components 3. Clients 4. Libraries 4. Discussion Venues

1. Overview

MUC is Multi-User Chat, an XMPP extension for multi-party information exchange similar to Internet Relay Chat (IRC), whereby multiple XMPP users can exchange messages in the context of a room or channel. In addition to standard chatroom features such as room topics and invitations, the protocol defines a strong room control model, including the ability to kick and ban users, to name room moderators and administrators, to require membership or passwords in order to join the room, etc. Because MUC rooms are based on XMPP, they can be used to exchange not only plaintext message bodies but a wide variety of XML payloads.

2. Specifications

MUC is defined in one primary specification (XEP-0045) and several ancillary specifications:


 * XEP-0045: Multi-User Chat
 * XEP-0249: Direct MUC Invitations
 * XEP-0272: Multiparty Jingle

3. Implementations 3.1 Servers

The following XMPP servers include built-in support for MUC:


 * ejabberd
 * Jabber XCP
 * Openfire
 * Tigase
 * Tigase

3.2 External Components

The following standalone components can be used with a wide variety of XMPP servers:


 * mu-conference
 * palaver

3.3 Clients


 * Adium
 * Gajim
 * JWChat
 * mcabber
 * Pidgin
 * Psi

3.4 Libraries


 * AnyEvent:XMPP (Perl)
 * gloox (C++)
 * jabber-net (.Net)
 * libpurple (C)
 * Smack (Java)
 * XMPP4R (Ruby)

4. Discussion Venues

The XMPP Standards Foundation maintains a dedicated email list ("muc@xmpp.org") about MUC, intended as a low-volume venue for discussion of MUC implementation and protocol issues. As with all XSF technology lists, the muc@xmpp.org list is open to all interested individuals.


 * Info page and subscription information
 * Subscribe via email
 * Discussion archives