This section is designed to include a number of advanced configuration options available within Tigase, but may not have a relevant section yet to house them.
To reduce false or spam registrations to Tigase XMPP Server, there is now the ability to add CAPTCHA forms as a part of the in-band registration. The CAPTCHA will generate a random math equation and ask the user registering a new account to answer it. This may be enabled as a sub-option of enabling registration in config.tdsl:
'sess-man' { 'jabber:iq:register' { captchaRequired = 'true' } }
Because some clients do not refresh a registration form after an unsuccessful attempt, this option allows 3 retries with the same CAPTCHA.
3 unsuccessful attempts will result in the captcha being invalidated and a client will receive an error message.
Tigase can now support users with empty nicknames. This can be enabled by adding the following code in config.tdsl.
'sess-man' { 'jabber:iq:roster' { empty_name_enabled = 'true' } }
You can now have Tigase ignore packets delivered to unavailable resources to avoid having a packet bounce around and create unnecessary traffic. You may set this globally, within standard message handling only, or within the AMP component using the following settings:
Globally:
'sess-man' { 'silently-ignore-message' = 'true' }
Message Processing Only:
'sess-man' { message { 'silently-ignore-message' = 'true' } }
AMP Component:
'sess-man' { amp () { 'silently-ignore-message' = 'true' }
A new processor within statistics has been added to count the number of errors that Tigase returns. This processor, named error-counter
, will count all errors returned by Tigase, however by default the number is always zero if it is not enabled. It can be found as an MBean object in JMX under ErrorStatistics
and contains values for packets with ERROR
and grouped by type.
To enable counting of these errors, you must ensure the processor is included in your sess-man
configuration:
'sess-man' { 'error-counter' () {} }
Stream ERROR
packets are not included in the above counter by default as they are processed separately.
To enable this to be added to the counter, the following line must be in your config.tdsl
file.
c2s { 'stream-error-counter' () { active = true } }
SteamManagementIOProcessor
now has a setting that can be used to change the maximum timeout time it will wait for reconnection if a client does not send a time to wait. Two settings are now available:
c2s { 'urn:xmpp:sm:3' { 'resumption-timeout' = 90 } }
The above setting in config.tdsl
file will change the default timeout period to 90 seconds.
c2s { 'urn:xmpp:sm:3' { 'max-resumption-timeout' = 900 } }
This setting will set the maximum time allowed for stream resumption to 900 seconds. This can be handy if you expect a number of mobile phones to connect to your server and want to avoid duplicate messages being sent back and forth.
You may setup a server to automatically approve presence subscriptions or roster authorizations for all users. Say you were hosting bots and wanted to automate the process. This can be done with the following settings:
'sess-man' { 'jabber:iq:roster' { 'auto-authorize' = 'true' } presence { 'auto-authorize' = 'true' } }
Both of these settings are false by default, and you may use them together or separately. The following behavior is followed when they are both activated: