Instant Messaging Services


This file lets you specify services and their attributes for your Instant Messaging server. As Services you can specify conferences, user databases, transports and other modules. You cannot specify user accounts. In order to use service (eg. ICQ gateway) you have to specify a standalone domain for the service. Such domain (eg. icq.icewarp.com) should have a DNS A record but should not be defined under the "Accounts" tab at all.

Formal Syntax:

serviceslist = *(serviceitem CRLF)  
serviceitem = servicename CRLF serviceparameters  
servicename = "[" servicedomain "]"  
serviceparameters = 1*(serviceparameter CRLF)  
serviceparameter = (category / type / name / ns / history / access / module)  
category = "category=" categoryvalue  
type = "type=" typevalue  
browse = "browse=" browsevalue  
name = "name=" namevalue  
formdata = "formdata=" formdatavalue  
ns = "ns=" 1*(namespace ";")  
history = "history=" roomname historyfilepath  
historyfilepath = pathname ; you can use these variables "yyyymmddhhnnss", "{name}", "{service}"  
access = "access=" filepath  
module = "module=" modulefilepath  
categoryvalue = ("service" / "conference" / ...)  
typevalue = ("private" / "public" / "icq" / "aim" / "yahoo" / "msn" / ...)  
browsevalue = ("private" / "public")  
namespace =   ; you can use any namespace defined within Jabber IM protocol
 

Visible Formal Syntax:

"[" servicedomain "]"      
"category="   category  
"type="   type  
"browse="   browsetype  
"name="   description  
"ns="   namespace;namespace  
"history="   roomname;filepath ; Enables history logging for rooms - path params ("yyyymmddhhnnss", {name}, {service})
"access="   filepath ; Sets the access rights file for the service. The file uses the privacy list format (XEP-0016).
Example:

  <list name='special'>
    <item type='jid'
          value='juliet@example.com'
          action='allow'
          order='6'/>
    <item type='jid'
          value='benvolio@example.org'
          action='allow'
          order='7'/>
    <item type='jid'
          value='mercutio@example.org'
          action='allow'
          order='42'/>
    <item action='deny' order='666'/>
  </list>

"module="   modulepath ; Specifies the module library for the service domain

"[" servicedomain "]"
...
     
 

Example:

Note: don't forget to setup appropriate DNS A record for each domain specified

[proxy.yourdomain.com]
category=proxy
type=bytestreams
name=Socks Bytestreams
ns=http://jabber.org/protocol/bytestreams

[icq.yourdomain.com]
category=gateway
type=icq
name=ICQ Transport
ns=jabber:iq:register;jabber:iq:gateway
module=modules/icq.dll

[aol.yourdomain.com]
category=gateway
type=aim
name=AOL Transport
ns=jabber:iq:register;jabber:iq:gateway
module=modules/aol.dll

[msn.yourdomain.com]
category=gateway
type=msn
name=MSN Transport
ns=jabber:iq:register;jabber:iq:gateway
module=modules/msn.dll

[yahoo.yourdomain.com]
category=gateway
type=yahoo
name=Yahoo Transport
ns=jabber:iq:register;jabber:iq:gateway
module=modules/yahoo.dll

[email.yourdomain.com]
category=gateway
type=service
name=E-mail Transport
ns=jabber:iq:register;jabber:iq:gateway
module=modules/email.dll

[monitor.yourdomain.com]
category=gateway
type=service
name=Service Monitor Gateway
ns=jabber:iq:register;jabber:iq:gateway
module=modules\service.dll

[chat.yourdomain.com]
category=conference
type=public
name=Public Chat