Projects tigase _server server-core Issues #689
Add support for XEP-0215 External Service Discovery (#689)
Andrzej Wójcik (Tigase) opened 8 years ago
Due Date
2016-09-11

We should add support for "XEP-0215: External Service Discovery" to be able to advertise external services, ie. TURN servers, etc.

Andrzej Wójcik (Tigase) commented 8 years ago

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 in SessionManager 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
Andrzej Wójcik (Tigase) commented 8 years ago

Feature implemented and added documentation to Tigase XMPP Server project Admin Guide for 7.2.0

issue 1 of 1
Type
New Feature
Priority
Normal
Assignee
RedmineID
4312
Version
tigase-server-8.0.0
Spent time
30h
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#689
Please wait...
Page is in error, reload to recover