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 / params)  
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  
params = "params=" moduleparams  
categoryvalue = ("service" / "conference" / ...)  
typevalue = ("private" / "public" / "icq" / "aim" / "yahoo" / "msn" / ...)  
browsevalue = ("private" / "public")  
namespace =   ; you can use any namespace defined within XMPP 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='deny'
          order='7'/>
    <item type='jid'
          value='benvolio@example.org'
           action='allow'
           order='8'>
    <item type='jid'
          value='mercutio@example.org'
          action='allow'
          order='42'/>
    <item action='deny' order='666'/>
  </list>

"order" attribute must be included for all items, in increasing order. In the above example, benvolio@example.org wont be permitted access to the gateway where access is set as shown above, since deny (order 7) comes before allow (order 8). The last line indicates all other users are denied access to the gateway.

"module="   modulepath ; Specifies the module library for the service domain
"params="   moduleparams ; Specifies the module parameters

"[" 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/purple.dll
protocol=prpl-icq

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

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

[facebook.yourdomain.com]
category=gateway
type=facebook
name=Facebook Gateway
ns=jabber:iq:register;jabber:iq:gateway
module=modules/purple.dll
protocol=prpl-jabber&domain=chat.facebook.com

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

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

[sms.yourdomain.com]
category=gateway
type=service
name=SMS 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


[custom filter]
type=private
name=Custom Filter
module=modules\filter.dll

[gtalk.yourdomain.com]
category=gateway
type=xmpp
name=GTalk Gateway
ns=jabber:iq:register;jabber:iq:gateway
module=modules\purple.dll
params=protocol=prpl-jabber
history=
browse=
access=
formdata=