Jabber Identifier
A Jabber Identifier ( JID for short ; also Jabber ID ) enables the addressing of an " entity " (here a real user , a bot , an XMPP server , a service or a mixture of the above) within an XMPP network.
It has the shape alice@example.com/home
and is reminiscent of an email address :
- The first part of the address is the node (here
alice
), which specifies a user name. This is optional, but it is missing i. d. Usually only for servers or services. - This is followed by
@
the domain (hereexample.com
, alternatively also IP address ), which determines the XMPP server on which the account is registered. - Also optional is the specification of a resource (here
home
) that/
follows a. This character string is freely selectable by the user.
resource
A resource is a freely selectable character string with which you can, for example, specify where you are currently logged in from (e.g. pda
or office
). With the help of this resource, the server can make a distinction so that a user with the same JID can be logged in from several computers.
In the case of incoming messages, a priority value is used to determine which client the message is to be delivered to, if the exact destination is not already determined by the resource. This priority value is set by the user of the JID in the clients , with larger numbers having priority over smaller numbers. The valid range is from −128 to +127. Negative values have a special meaning: Clients with negative priority do not receive any messages that are not explicitly addressed to them via the resource ID. The user of the account also appears offline if no client with a non-negative resource is online. This behavior is useful for bots , for example .
URI scheme
The Internet standard IRIs and URIs for XMPP exists for linking JIDs , which is available from the IETF as RFC 4622 . This was preceded by the XMPP Extension Protocol 147.
These links offer enormous potential for controlling clients . They start with the prefix xmpp:
followed by the JID:
xmpp:alice@example.com?message
Such a link instructs the client alice@example.com
to open a message window. This ?message
can often be dispensed with as this is the standard action. This information is not to be confused with
xmpp://bob@example.com/
with which logs bob
on to the server example.com
.
The following link combines the two above, which bob@example.com
logs in and opens a message window to Alice:
xmpp://bob@example.com/alice@example.com
The XMPP registrar also defines a large number of "queries" - that is, by means of ?
separate commands - through which actions such as "add user", "join conference" etc. can be linked.
Transport conventions
If XMPP transports are used, there are often specifications for how the namespace of the addressed protocol is mapped to the node part of the JID. While the @ sign and the domain in the JID fulfill their function as usual and address the desired (transport) server, the node portion of the JID is extended protocol-specifically. Usually the @ -sign of the target address of the legacy protocol is replaced by a% -sign in order to preserve the uniqueness of the URI components.
An example of the IRC protocol:
#lobby%irc.gentoo.org@jabber.co.uk conan%irc.gentoo.org@jabber.co.uk
Here jabber.co.uk is asked to send a message to the room #lobby
on the IRC server irc.gentoo.org
. In the following line there is a possibility to send the known "queries" - that is, user-to-user messages.
Other identified identifiers
- Telephone numbers result when receiving (possibly also when sending) SMS via SMS2Jabber services as follows:
+4917234567890@aspsms.swissjabber.ch
- ICQ numbers are specified directly as a node.
Jabber email headers
In order to be able to specify a Jabber address in sent e-mails - so that e.g. For example, the online status of the other party can be displayed in the mail program - the proposal for the Internet standard "The Jabber-ID Email Header" was submitted. With this it is enough z. B. for Alice
Jabber-ID: alice@example.com
to be inserted as an additional email header . This is easy to do with almost any email client.
Web links
- XMPP URI Scheme Query Components . XMPP Extension Protocol 147 (English)
- XMPP URI / IRI query types . XMPP Registrar (English)
- RFC 4622 - Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP )
- Implementation status of XMPP URIs. xmpp.org Wiki (English)
- The Jabber-ID Header Field . Internet Draft
- Implementation status of Jabber email headers. xmpp.org Wiki (English)
- Jabber resources . elektronik-projekt.de Wiki, with priorities of the most important clients (German)