-
I implemented support for XEP-0215 External Service Discovery in component responsible for processing requests and XMPP processor for
SessionManager
responsible for forwarding requests to component.Component (which is implemented in class
tigase.server.extdisco.ExternalServiceDiscoveryComponent@) is by default registered under name @ext-disco
and disabled. To enable it you need to enable it in configuration.Example:
- in DSL format:
ext-disco () { }
- as properties:
ext-disco/active=true
Additionally you need to activate
urn:xmpp:extdisco:2
XMPP processor inSessionManager
by:- in DSL - enable subbean of @sess-man@:
sess-man { 'urn:xmpp:extdisco:2'() {} }
- properties file - add it's id to
sess-man/beans
property:
sess-man/beans=urn:xmpp:extdisco:2
List of external services returned by server is configurable in configuration file or using adhoc commands provided for this component (accessible only for server administrator).
Example of custom configuration with 2 services being registered in configuration file. Each service entry consists of internal id followed by
:
separated list of properties, in form @name=value@. Allowed properties are listed with description in XEP-0215: External Service Discovery - Section 2. Protocol in Table 1: Attributes :- in DSL:
sess-man { 'urn:xmpp:extdisco:2'() {} } ext-disco () { externalServiceDiscoveryRepository { items = [ "TURN server (TCP):host=turn.example.com:type=turn:name=TURN Server:transport=tcp", "FTP server:host=ftp.example.com:port=21:type=ftp:name=FTP Server:transport=tcp" ] } }
- as properties (should be in single line):
ext-disco/externalServiceDiscoveryRepository/items=TURN server (TCP):host=turn.example.com:type=turn: name=TURN Server:transport=tcp,FTP server:host=ftp.example.com:port=21:type=ftp:name=FTP Server:transport=tcp
Type |
New Feature
|
Priority |
Normal
|
Assignee | |
RedmineID |
4312
|
Version |
tigase-server-8.0.0
|
Spent time |
0
|
We should add support for "XEP-0215: External Service Discovery" to be able to advertise external services, ie. TURN servers, etc.