Jabber Server Module

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
(Created page with "This module implements main features needed for a jabber server. ===Minimum required configuration=== Set at least one domain serviced by the server Configure at lea...")
 
Line 3: Line 3:
 
===Minimum required configuration===
 
===Minimum required configuration===
  
    Set at least one domain serviced by the server
+
Set at least one domain serviced by the server<br>
    Configure at least one listener  
+
Configure at least one listener  
  
 
===Configuration===
 
===Configuration===
Line 11: Line 11:
  
 
  [general]
 
  [general]
 
 
  ; domains: string: Comma separated list of domains serviced by the server
 
  ; domains: string: Comma separated list of domains serviced by the server
 
  ; This parameter is required
 
  ; This parameter is required
 
  ;domains=
 
  ;domains=
 
+
 
  ; dialback_secret: string: Dialback key to be used when authenticating with foreign domains
 
  ; dialback_secret: string: Dialback key to be used when authenticating with foreign domains
 
  ; A random one will be generated if missing
 
  ; A random one will be generated if missing
 
  ;dialback_secret=
 
  ;dialback_secret=
 
+
 
  ; restricted_resources: string: Comma separated list of restricted resource names
 
  ; restricted_resources: string: Comma separated list of restricted resource names
 
  ; Users won't be allowed to use these resources or any other resource name starting
 
  ; Users won't be allowed to use these resources or any other resource name starting
 
  ;  with it
 
  ;  with it
 
  ;restricted_resources=
 
  ;restricted_resources=
 
+
 
  ; s2s_tlsrequired: boolean: Stream encryption is required on all server to server streams
 
  ; s2s_tlsrequired: boolean: Stream encryption is required on all server to server streams
 
  ; Defaults to no
 
  ; Defaults to no
 
  ;s2s_tlsrequired=
 
  ;s2s_tlsrequired=
 
+
 
  ; s2s_offerfeatures: boolean: Offer RFC 3920 version 1 and features on incoming
 
  ; s2s_offerfeatures: boolean: Offer RFC 3920 version 1 and features on incoming
 
  ;  server to server streams requesting it
 
  ;  server to server streams requesting it
Line 35: Line 34:
 
  ; Defaults to yes
 
  ; Defaults to yes
 
  ;s2s_offerfeatures=
 
  ;s2s_offerfeatures=
 
+
 
  ; c2s_tlsrequired: boolean: Stream encryption is required on all client to server streams
 
  ; c2s_tlsrequired: boolean: Stream encryption is required on all client to server streams
 
  ; Defaults to no
 
  ; Defaults to no
 
  ;c2s_tlsrequired=
 
  ;c2s_tlsrequired=
 
+
 
  ; c2s_allowunsecureplainauth: boolean: Allow user plain password authentication on
 
  ; c2s_allowunsecureplainauth: boolean: Allow user plain password authentication on
 
  ;  unsecured stream
 
  ;  unsecured stream
 
  ; Defaults to no
 
  ; Defaults to no
 
  ;c2s_allowunsecureplainauth=
 
  ;c2s_allowunsecureplainauth=
 
+
 
  ; c2s_oldstyleauth: boolean: Enable old style (XEP 0078) user authentication
 
  ; c2s_oldstyleauth: boolean: Enable old style (XEP 0078) user authentication
 
  ; Defaults to yes
 
  ; Defaults to yes
 
  ;c2s_oldstyleauth=
 
  ;c2s_oldstyleauth=
 
+
 
  ; stream_readbuffer: integer: The length of the stream read buffer
 
  ; stream_readbuffer: integer: The length of the stream read buffer
 
  ; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
 
  ; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
 
  ;stream_readbuffer=8192
 
  ;stream_readbuffer=8192
 
+
 
  ; stream_parsermaxbuffer: integer: The maximum length of an incomplete xml allowed
 
  ; stream_parsermaxbuffer: integer: The maximum length of an incomplete xml allowed
 
  ;  in a stream parser's buffer
 
  ;  in a stream parser's buffer
 
  ; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
 
  ; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
 
  ;stream_parsermaxbuffer=8192
 
  ;stream_parsermaxbuffer=8192
 
+
 
  ; stream_restartcount: integer: The maximum value for stream restart counter
 
  ; stream_restartcount: integer: The maximum value for stream restart counter
 
  ; Defaults to 2 if missing or invalid
 
  ; Defaults to 2 if missing or invalid
 
  ; Minimum allowed value is 1, maximum allowed value is 10
 
  ; Minimum allowed value is 1, maximum allowed value is 10
 
  ;stream_restartcount=2
 
  ;stream_restartcount=2
 
+
 
  ; stream_restartupdateinterval: integer: The interval, in milliseconds, to increase a
 
  ; stream_restartupdateinterval: integer: The interval, in milliseconds, to increase a
 
  ;  stream's current restart counter (not exceeding the stream_restartcount value)
 
  ;  stream's current restart counter (not exceeding the stream_restartcount value)
Line 68: Line 67:
 
  ; Minimum allowed value is 5000, maximum allowed value is 300000
 
  ; Minimum allowed value is 5000, maximum allowed value is 300000
 
  ;stream_restartupdateinterval=15000
 
  ;stream_restartupdateinterval=15000
 
+
 
  ; stream_starttimeout: integer: The interval, in milliseconds, allowed for a remote
 
  ; stream_starttimeout: integer: The interval, in milliseconds, allowed for a remote
 
  ;  party to send the stream start tag
 
  ;  party to send the stream start tag
Line 74: Line 73:
 
  ; Minimum allowed value is 10000, maximum allowed value is 60000
 
  ; Minimum allowed value is 10000, maximum allowed value is 60000
 
  ;stream_starttimeout=20000
 
  ;stream_starttimeout=20000
 
+
 
  ; stream_setuptimeout: integer: Overall stream setup interval in milliseconds. The timer
 
  ; stream_setuptimeout: integer: Overall stream setup interval in milliseconds. The timer
 
  ;  will stop when the stream is authenticated
 
  ;  will stop when the stream is authenticated
Line 80: Line 79:
 
  ; Minimum allowed value is 60000, maximum allowed value is 600000
 
  ; Minimum allowed value is 60000, maximum allowed value is 600000
 
  ;stream_setuptimeout=120000
 
  ;stream_setuptimeout=120000
 
+
 
  ; stream_connecttimeout: integer: The interval, in milliseconds, allowed for an
 
  ; stream_connecttimeout: integer: The interval, in milliseconds, allowed for an
 
  ;  outgoing stream to make a TCP connection to a remote host
 
  ;  outgoing stream to make a TCP connection to a remote host
Line 86: Line 85:
 
  ; Minimum allowed value is 1000, maximum allowed value is 120000
 
  ; Minimum allowed value is 1000, maximum allowed value is 120000
 
  ;stream_connecttimeout=60000
 
  ;stream_connecttimeout=60000
 
+
 
  ; stream_srvtimeout: integer: The timeout interval, in milliseconds, for SRV query
 
  ; stream_srvtimeout: integer: The timeout interval, in milliseconds, for SRV query
 
  ; Defaults to 30000 if missing or invalid
 
  ; Defaults to 30000 if missing or invalid
 
  ; Minimum allowed value is 10000, maximum allowed value is 120000
 
  ; Minimum allowed value is 10000, maximum allowed value is 120000
 
  ;stream_srvtimeout=30000
 
  ;stream_srvtimeout=30000
 
+
 
  ; stream_idletimeout: integer: The interval, in milliseconds, allowed for a
 
  ; stream_idletimeout: integer: The interval, in milliseconds, allowed for a
 
  ;  server to server stream to be idle
 
  ;  server to server stream to be idle
Line 97: Line 96:
 
  ; Minimum allowed value is 600000 (10min), maximum allowed value is 21600000 (6h)
 
  ; Minimum allowed value is 600000 (10min), maximum allowed value is 21600000 (6h)
 
  ;stream_idletimeout=3600000
 
  ;stream_idletimeout=3600000
 
+
 
  ; entitycaps: boolean: Enable entity capabilities cache.
 
  ; entitycaps: boolean: Enable entity capabilities cache.
 
  ; If enabled entity capabilities will be requested and cached each time a presence
 
  ; If enabled entity capabilities will be requested and cached each time a presence
Line 103: Line 102:
 
  ; Defaults to enable
 
  ; Defaults to enable
 
  ;entitycaps=enable
 
  ;entitycaps=enable
 
+
 
  ; entitycaps_file: string: Entity capabilities cache file
 
  ; entitycaps_file: string: Entity capabilities cache file
 
  ; This parameter is applied on reload
 
  ; This parameter is applied on reload
Line 110: Line 109:
 
  ; Defaults to 'jabberentitycaps.xml' located in current configuration directory
 
  ; Defaults to 'jabberentitycaps.xml' located in current configuration directory
 
  ;entitycaps_file=
 
  ;entitycaps_file=
 
+
 
  ; workers: integer: The number of worker threads processing stanzas received by streams
 
  ; workers: integer: The number of worker threads processing stanzas received by streams
 
  ; Minimum allowed value is 1, maximum allowed value is 10
 
  ; Minimum allowed value is 1, maximum allowed value is 10
 
  ; Defaults to 1
 
  ; Defaults to 1
 
  ;workers=1
 
  ;workers=1
 
+
 
  ; worker_priority: string: Worker threads priority
 
  ; worker_priority: string: Worker threads priority
 
  ; Allowed values: lowest, low, normal, high, highest
 
  ; Allowed values: lowest, low, normal, high, highest
 
  ; Defaults to normal
 
  ; Defaults to normal
 
  ;worker_priority=normal
 
  ;worker_priority=normal
 
+
 
  ; dump_iq: boolean: Dump the iq stanza in a 'data' parameter of dispatched jabber.iq messages
 
  ; dump_iq: boolean: Dump the iq stanza in a 'data' parameter of dispatched jabber.iq messages
 
  ; Defaults to no
 
  ; Defaults to no
 
  ;dump_iq=no
 
  ;dump_iq=no
 
+
 
  ; compression_formats: string: Comma separated list of supported compression formats
 
  ; compression_formats: string: Comma separated list of supported compression formats
 
  ; This parameter configures the formats to be offered on incoming streams
 
  ; This parameter configures the formats to be offered on incoming streams
Line 131: Line 130:
 
  ; Defaults to zlib if missing
 
  ; Defaults to zlib if missing
 
  ;compression_formats=zlib
 
  ;compression_formats=zlib
 
+
 
  ; authcluster: boolean: True to authenticate incoming cluster stream requests
 
  ; authcluster: boolean: True to authenticate incoming cluster stream requests
 
  ; If enabled, an user.auth message will be enqueued to request authentication
 
  ; If enabled, an user.auth message will be enqueued to request authentication
Line 137: Line 136:
 
  ; Defaults to disable
 
  ; Defaults to disable
 
  ;authcluster=disable
 
  ;authcluster=disable
 
+
 
  ; printxml: boolean/string: Print sent/received XML data to output if debug
 
  ; printxml: boolean/string: Print sent/received XML data to output if debug
 
  ;  level is at least 9
 
  ;  level is at least 9
Line 145: Line 144:
 
  ; Defaults to no
 
  ; Defaults to no
 
  ;printxml=no
 
  ;printxml=no
 
+
 
+
 
  ;[listener name]
 
  ;[listener name]
 
  ; This section configures a connection listener
 
  ; This section configures a connection listener
Line 152: Line 151:
 
  ; Section name must start with 'listener' keyword folowed by a space (not TAB) character
 
  ; Section name must start with 'listener' keyword folowed by a space (not TAB) character
 
  ;  E.g. for a listener named 'serverconn' the section name must be 'listener serverconn'
 
  ;  E.g. for a listener named 'serverconn' the section name must be 'listener serverconn'
 
+
 
  ; enable: boolean: Enable or disable this listener
 
  ; enable: boolean: Enable or disable this listener
 
  ; Defaults to false if missing or invalid
 
  ; Defaults to false if missing or invalid
 
  ;enable=
 
  ;enable=
 
+
 
  ; type: string: The type of the expected incoming connection
 
  ; type: string: The type of the expected incoming connection
 
  ; This parameter is required
 
  ; This parameter is required
Line 164: Line 163:
 
  ;  comp External component connection
 
  ;  comp External component connection
 
  ;type=
 
  ;type=
 
+
 
  ; address: string: IP address to listen
 
  ; address: string: IP address to listen
 
  ; Listen on all available interfaces if empty or invalid
 
  ; Listen on all available interfaces if empty or invalid
 
  ;address=
 
  ;address=
 
+
 
  ; port: integer: The port to listen
 
  ; port: integer: The port to listen
 
  ; These are the default values for some known types (only if this parameter is missing)
 
  ; These are the default values for some known types (only if this parameter is missing)
Line 175: Line 174:
 
  ; There is no default value for external component listeners or c2s SSL listeners
 
  ; There is no default value for external component listeners or c2s SSL listeners
 
  ;port=
 
  ;port=
 
+
 
  ; backlog: integer: Maximum length of the queue of pending connections
 
  ; backlog: integer: Maximum length of the queue of pending connections
 
  ; Set it to 0 for system maximum
 
  ; Set it to 0 for system maximum
 
  ; Defaults to 5 if missing or invalid
 
  ; Defaults to 5 if missing or invalid
 
  ;backlog=5
 
  ;backlog=5
 
+
 
  ; sslcontext: string: The SSL context of a c2s listener using encryption
 
  ; sslcontext: string: The SSL context of a c2s listener using encryption
 
  ; The context will be used to encrypt the socket before starting a new stream
 
  ; The context will be used to encrypt the socket before starting a new stream
 
  ; This parameter is ignored if type is not c2s
 
  ; This parameter is ignored if type is not c2s
 
  ;sslcontext=
 
  ;sslcontext=

Revision as of 16:54, 16 October 2012

This module implements main features needed for a jabber server.

Minimum required configuration

Set at least one domain serviced by the server
Configure at least one listener

Configuration

File jabberserver.conf:

[general]
; domains: string: Comma separated list of domains serviced by the server
; This parameter is required
;domains=

; dialback_secret: string: Dialback key to be used when authenticating with foreign domains
; A random one will be generated if missing
;dialback_secret=

; restricted_resources: string: Comma separated list of restricted resource names
; Users won't be allowed to use these resources or any other resource name starting
;  with it
;restricted_resources=

; s2s_tlsrequired: boolean: Stream encryption is required on all server to server streams
; Defaults to no
;s2s_tlsrequired=

; s2s_offerfeatures: boolean: Offer RFC 3920 version 1 and features on incoming
;  server to server streams requesting it
; This option is ignored on streams not advertising version 1 in stream start
; If set to 'no' this parameter will override any other stream encryption option
; Defaults to yes
;s2s_offerfeatures=

; c2s_tlsrequired: boolean: Stream encryption is required on all client to server streams
; Defaults to no
;c2s_tlsrequired=

; c2s_allowunsecureplainauth: boolean: Allow user plain password authentication on
;  unsecured stream
; Defaults to no
;c2s_allowunsecureplainauth=

; c2s_oldstyleauth: boolean: Enable old style (XEP 0078) user authentication
; Defaults to yes
;c2s_oldstyleauth=

; stream_readbuffer: integer: The length of the stream read buffer
; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
;stream_readbuffer=8192

; stream_parsermaxbuffer: integer: The maximum length of an incomplete xml allowed
;  in a stream parser's buffer
; Defaults to 8192 if missing or invalid. Minimum allowed value is 1024
;stream_parsermaxbuffer=8192

; stream_restartcount: integer: The maximum value for stream restart counter
; Defaults to 2 if missing or invalid
; Minimum allowed value is 1, maximum allowed value is 10
;stream_restartcount=2

; stream_restartupdateinterval: integer: The interval, in milliseconds, to increase a
;  stream's current restart counter (not exceeding the stream_restartcount value)
; Defaults to 15000 if missing or invalid
; Minimum allowed value is 5000, maximum allowed value is 300000
;stream_restartupdateinterval=15000

; stream_starttimeout: integer: The interval, in milliseconds, allowed for a remote
;  party to send the stream start tag
; Defaults to 20000 if missing or invalid
; Minimum allowed value is 10000, maximum allowed value is 60000
;stream_starttimeout=20000

; stream_setuptimeout: integer: Overall stream setup interval in milliseconds. The timer
;  will stop when the stream is authenticated
; Defaults to 120000 if missing or invalid
; Minimum allowed value is 60000, maximum allowed value is 600000
;stream_setuptimeout=120000

; stream_connecttimeout: integer: The interval, in milliseconds, allowed for an
;  outgoing stream to make a TCP connection to a remote host
; Defaults to 60000 if missing or invalid
; Minimum allowed value is 1000, maximum allowed value is 120000
;stream_connecttimeout=60000

; stream_srvtimeout: integer: The timeout interval, in milliseconds, for SRV query
; Defaults to 30000 if missing or invalid
; Minimum allowed value is 10000, maximum allowed value is 120000
;stream_srvtimeout=30000

; stream_idletimeout: integer: The interval, in milliseconds, allowed for a
;  server to server stream to be idle
; Defaults to 3600000 (1h) if missing or invalid
; Minimum allowed value is 600000 (10min), maximum allowed value is 21600000 (6h)
;stream_idletimeout=3600000

; entitycaps: boolean: Enable entity capabilities cache.
; If enabled entity capabilities will be requested and cached each time a presence
;  stanza is received
; Defaults to enable
;entitycaps=enable

; entitycaps_file: string: Entity capabilities cache file
; This parameter is applied on reload
; If the file changes on reload entity capabilities will be saved in the new
;  location, the old file will not be deleted
; Defaults to 'jabberentitycaps.xml' located in current configuration directory
;entitycaps_file=

; workers: integer: The number of worker threads processing stanzas received by streams
; Minimum allowed value is 1, maximum allowed value is 10
; Defaults to 1
;workers=1

; worker_priority: string: Worker threads priority
; Allowed values: lowest, low, normal, high, highest
; Defaults to normal
;worker_priority=normal

; dump_iq: boolean: Dump the iq stanza in a 'data' parameter of dispatched jabber.iq messages
; Defaults to no
;dump_iq=no

; compression_formats: string: Comma separated list of supported compression formats
; This parameter configures the formats to be offered on incoming streams
; This parameter is not applied on reload
; Set it to empty string to disable stream compression on incoming streams
; Defaults to zlib if missing
;compression_formats=zlib

; authcluster: boolean: True to authenticate incoming cluster stream requests
; If enabled, an user.auth message will be enqueued to request authentication
; If disabled, cluster streams will be automatically accepted
; Defaults to disable
;authcluster=disable

; printxml: boolean/string: Print sent/received XML data to output if debug
;  level is at least 9
; Allowed values are boolean values or 'verbose' string
; If verbose is specified, XML elements' children, attributes or text will be
;  shown on separate lines
; Defaults to no
;printxml=no


;[listener name]
; This section configures a connection listener
; This section may repeat to configure more listeners
; Section name must start with 'listener' keyword folowed by a space (not TAB) character
;  E.g. for a listener named 'serverconn' the section name must be 'listener serverconn'

; enable: boolean: Enable or disable this listener
; Defaults to false if missing or invalid
;enable=

; type: string: The type of the expected incoming connection
; This parameter is required
; Allowed values:
;  c2s Client to server connection
;  s2s Server to server connection
;  comp External component connection
;type=

; address: string: IP address to listen
; Listen on all available interfaces if empty or invalid
;address=

; port: integer: The port to listen
; These are the default values for some known types (only if this parameter is missing)
;  c2s 5222
;  s2s 5269
; There is no default value for external component listeners or c2s SSL listeners
;port=

; backlog: integer: Maximum length of the queue of pending connections
; Set it to 0 for system maximum
; Defaults to 5 if missing or invalid
;backlog=5

; sslcontext: string: The SSL context of a c2s listener using encryption
; The context will be used to encrypt the socket before starting a new stream
; This parameter is ignored if type is not c2s
;sslcontext=
Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers