Jabber Server Module
From Yate Documentation
(Difference between revisions)
(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...") |
(→Configuration) |
||
(4 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
===Minimum required configuration=== | ===Minimum required configuration=== | ||
− | + | * Set at least one domain serviced by the server<br> | |
− | + | * 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= | ||
+ | |||
+ | |||
+ | '''See also''' | ||
+ | |||
+ | * [[Jbfeatures|Features for Jabber Server]] | ||
+ | |||
+ | [[Category:Jabber]] [[Category:Server]] |
Latest revision as of 11:21, 4 November 2013
This module implements main features needed for a jabber server.
[edit] Minimum required configuration
- Set at least one domain serviced by the server
- Configure at least one listener
[edit] 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=
See also