- Jabber Identifier
-
Ein Jabber Identifier (kurz JID; auch Jabber-ID) ermöglicht die Adressierung einer „Entität“ (hier ein realer Benutzer, ein Bot, ein XMPP-Server, ein Dienst oder eine Mischung aus vorgenanntem) innerhalb eines XMPP-Netzwerkes.
Er hat die Form
alice@example.com/home
und erinnert dabei an eine E-Mail-Adresse:- Der erste Teil der Adresse ist der node (hier
alice
), der einen Benutzernamen angibt. Dieser ist optional, jedoch fehlt er i. d. R. nur bei Servern oder Diensten. - Darauf folgt durch ein „
@
“ getrennt, die Domain (hierexample.com
, alternativ auch IP-Adresse[1]), die den XMPP-Server bestimmt, auf dem der Account registriert ist. - Ebenfalls optional ist die Angabe einer Ressource (hier
home
), die nach einem „/
“ folgt. Diese Zeichenkette ist vom Benutzer frei wählbar.
Ressource
Eine Ressource ist eine frei wählbare Zeichenkette, mit der man beispielsweise angeben kann, von wo man gerade eingeloggt ist (z. B. „
pda
“ oder „office
“). Mit Hilfe dieser Ressource kann der Server eine Unterscheidung treffen, so dass ein Nutzer mit dem gleichen JID von mehreren Rechnern aus eingeloggt sein kann.Bei eintreffenden Nachrichten wird anhand eines Prioritätswerts festgelegt, an welchen Client die Nachricht ausgeliefert wird, falls das genaue Ziel durch die Ressource nicht bereits feststeht. Dieser Prioritätswert wird vom Benutzer der JID in den Clients festgelegt, wobei größere Zahlen vor kleineren Zahlen Vorrang haben. Der gültige Bereich geht von −128 bis +127. Negative Werte haben eine besondere Bedeutung: Clients mit negativer Priorität bekommen keine Nachrichten zugestellt, die nicht explizit über die Ressource-Kennung an sie adressiert sind. Auch erscheint der Nutzer des Accounts als offline, wenn kein Client mit nicht-negativer Ressource online ist. Dieses Verhalten ist beispielsweise für Bots nützlich.
URI-Schema
Zum Verlinken von JIDs existiert der Internet-Standard IRIs and URIs for XMPP, welcher als RFC 4622 bei der IETF vorliegt. Dem vorausgegangen ist das XMPP Extension Protocol 147.
Diese Links bieten ein enormes Potential zur Steuerung von Clients. Sie beginnen mit dem Präfix
xmpp:
worauf der JID folgt:xmpp:alice@example.com?message
Solch ein Link weist den Client an, ein Nachrichtenfenster zu „
alice@example.com
“ zu öffnen. Auf das?message
kann oft verzichtet werden, da dies die Standardaktion ist. Nicht zu verwechseln ist diese Angabe mitxmpp://bob@example.com
mit dem sich „
bob
“ auf dem Server „example.com
“ anmeldet.Die beiden vorgenannten kombiniert folgender Link, der „
bob@example.com
“ anmeldet und ein Nachrichtenfenster zu Alice öffnet:xmpp://bob@example.com/alice@example.com
Der XMPP Registrar definiert darüber hinaus eine große Anzahl an „Querys“, also durch ein „
?
“ getrennte Befehle, durch die Aktionen wie „Benutzer hinzufügen“, „Konferenz beitreten“ etc. verlinken lassen.Transport-Konventionen
Kommen XMPP-Transports zur Anwendung, so gibt es häufig Vorgaben wie der Namensraum des angesprochenen Protokolls auf den Nodeanteil der JID abgebildet wird. Während das @-Zeichen und die Domain in der JID ihre Funktion wie gewohnt erfüllen, und den gewünschten (Transport-)Server adressieren, wird der Node-Anteil der JID protokollspezifisch erweitert. Meist wird das @-Zeichen der Zieladresse des Legacy-Protokolls durch in %-Zeichen ausgetauscht um die Eindeutigkeit der URI-Komponenten zu wahren.
Ein Beispiel für das IRC-Protokoll[2]:
#lobby%irc.gentoo.org@jabber.co.uk conan%irc.gentoo.org@jabber.co.uk
Hier wird jabber.co.uk aufgefordert eine Nachricht an den Raum "#lobby" auf dem IRC-Server "irc.gentoo.org" zu versenden. In der folgenden Zeile findet sich eine Möglichkeit die bekannten "Querys", also Nutzer-zu-Nutzer-Nachrichten zu versenden.
Weitere gesichtete Kennungen
- Telefonnummern ergeben sich beim Empfang (möglicherweise auch beim Senden) von SMS über SMS2Jabber-Dienste so:
+4917234567890@aspsms.swissjabber.ch
- ICQ-Nummern werden direkt als Node angegeben.
Jabber-E-Mail-Header
Um in versendeten E-Mails eine Jabber-Adresse angeben zu können – sodass z. B. im Mail-Programm der Online-Status des Gegenübers angezeigt werden kann – wurde der Vorschlag zum Internet-Standard „The Jabber-ID Email Header“ eingereicht. Mit diesem reicht es z. B. für Alice aus
Jabber-ID: alice@example.com
als zusätzlichen E-Mail-Header einzufügen. Dies ist mit fast jedem E-Mail-Client einfach zu realisieren.
Dokumente & Weblinks
- XMPP Extension Protocol 147: XMPP URI Scheme Query Components (englisch)
- XMPP Registrar: XMPP URI/IRI Querytypes (englisch)
- RFC 4622 – Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP) (englisch)
- xmpp.org-Wiki: Implementationsstatus von XMPP-URIs (englisch)
- Internet-Draft The Jabber-ID Header Field (englisch)
- xmpp.org-Wiki: Implementationsstatus von Jabber-E-Mail-Headern (englisch)
- elektronik-projekt.de Wiki Artikel zu Jabber Ressourc mit Prioritäten der wichtigsten Clients (deutsch)
Quellen
- Der erste Teil der Adresse ist der node (hier
Wikimedia Foundation.