Tigase MUC component is included in all Tigase distributions, to enable MUCs have the following lines in your init.properties file:
--comp-name-4 = muc --comp-class-4 = tigase.muc.MUCComponent
muc/room-log-directory=/var/log/muc/
muc/message-filter-enabled[B]=false
For example, this allows users to send XHTML stanzas through MUC chatrooms on your server.
muc/presence-filter-enabled[B]=false
muc/search-ghosts-every-minute[B]=true
muc/ghostbuster-enabled[B]=false
muc/muc-allow-chat-states[B]=true
muc/muc-lock-new-room[B]=false
By default new room will be locked until owner submit room configuration.
muc/muc-multi-item-allowed[B]=false
muc/history-db=none
muc/history-db-uri=jdbc:derby:/database/tigasedbmuc
muc/muc-logger-class=com.example.CustomLogger
Class must implment interface tigase.muc.logger.MucLogger.
Each module can be configured to use custom implementation by including it in the init.properties, the defaults are as follows:
muc/modules/jabber:iq:version[S]=tigase.component.modules.impl.JabberVersionModule muc/modules/owner[S]=tigase.muc.modules.RoomConfigurationModule muc/modules/presences[S]=tigase.muc.modules.PresenceModuleImpl muc/modules/groupchat[S]=tigase.muc.modules.GroupchatMessageModule muc/modules/invitations[S]=tigase.muc.modules.MediatedInvitationModule muc/modules/urn:xmpp:ping[S]=tigase.component.modules.impl.XmppPingModule muc/modules/unique[S]=tigase.muc.modules.UniqueRoomNameModule muc/modules/disco[S]=tigase.muc.modules.DiscoveryModule muc/modules/iqforwarder[S]=tigase.muc.modules.IqStanzaForwarderModule muc/modules/admin[S]=tigase.muc.modules.ModeratorModule muc/modules/privatemessages[S]=tigase.muc.modules.PrivateMessageModule muc/modules/commands[S]=tigase.component.modules.impl.AdHocCommandModule
In addition to the default Room configuration options defined in the MUC specification Tigase offers following as well:
tigase#presence_delivery_logic - allows configuring logic determining which presence should be used by occupant in the room while using multiple-resource connections under one nickname, following options are available:
tigase#presence_filtered_affiliations - when enabled tigase#presence_filtering is enabled one can select affiliation which should receive presences, following are possible to select from:
muc/default_room_config/<option>=<value>
for example:
muc/default_room_config/tigase#presence_delivery_logic=PREFERE_LAST
<iq type="set" to="roomname@muc.domain" id="config1"> <query xmlns="http://jabber.org/protocol/muc#owner"> <x xmlns="jabber:x:data" type="submit"> <field type="boolean" var="tigase#presence_filtering"> <value>1</value> </field> <field type="list-multi" var="tigase#presence_filtered_affiliations"> <value>owner</value> </field> </x> </query> </iq>