Extensible Messaging and Presence Protocol

Extensible Messaging and Presence Protocol (XMPP) (en vidareutveckling av Jabber), betyder "utbyggbart meddelande- och närvaroprotokoll", och är en standard som ursprungligen skapades för att överföra snabbmeddelanden (chat, instant messaging) och statusinformation (presence information) som kan presenteras i chatprogrammets kontaktlista. Tillägg till protokollet har senare utvecklats för ett flertal andra realtidskommunikationstjänster. Protokollet möjliggör att oberoende XMPP-servrar fritt kan utbyta meddelanden, på liknande sätt som att e-postservrar anslutna till Internet kan utbyta information utan att vara beroende av en central server. Användarna adresseras på liknande sätt som vid e-post, baserat på serverns DNS-namn. 

Flera kommersiella chattjänster använder XMPP, exempelvis Google Talk och Google Wave. Chatfunktionen i det social nätverket Facebook öppnades i februari 2010 för åtkomst från tredjepartsklienter via XMPP, men har sedan 2015 avvecklats. Det finns idag hundratals XMPP-chatklienter för nästan alla operativsystem, för mobila plattformar såväl som konventionella datorer. Standardserverimplementationen jabberd och många klienter är baserade på öppen källkod, exempelvis JabberIM.

Historik
XMPP-standarden utvecklades av öppen källkodsprojektet Jabber, som startades 1998 av Jeremie Miller, och dess första publika version släpptes i maj 2000. Projektets huvudprodukt var jabberd, som är en server med öppen källkod. 

Detta tidiga Jabberprotokoll formaliserades och vidareutvecklades av IETF i standardiseringsförslaget Extensible Messaging and Presence Protocol, XMPP, publicerat år 2004 av XMPP working group  (bildad 2002) som RFC 3920, där det ursprungliga Jabberprotokollet beskrivs som "XMPP version 0.9". Senare versioner av serverprogramvaran Jabberrd utgör referensimplementation för XMPP och stödjer således XMPP fullt ut. 

Jabber Inc. köptes 2008 upp av Cisco.

XMPP-protokollet 
Till skillnad från de flesta snabbmeddelandeprotokoll är XMPP en öppen standard. Systemet är distribuerat, och vem som helst kan sätta upp en egen XMPP-server som kan skicka och ta emot meddelanden till användare på andra servrar, utan att vara beroende av en central server. Protokollet är XML-baserat.

Så kallade transports kan användas för att koppla ihop XMPP-system på servernivå med andra tjänster, både direktmeddelandetjänster och exempelvis SMS eller e-post. På detta sätt kan en användare med en XMPP-klient tala med till exempel en ICQ- eller Windows Live Messenger-användare.

Tillägg till protokollet 
XMPP är utformat för att vara utbyggbart. Tillägg har utvecklats för tillämpningar såsom IP-telefoni (VoIP), filöverföringar, meddelandeorienterad mellanprogramvara (message-oriented middleware, MOM), gruppvara, datorspel, samt nätverksdrift och -övervakning (network management) och annan fjärrövervakning av system. 
 
Google Waves så kallade federation protocol är ett öppet XMPP-tillägg. Det möjliggör för andra leverantörer än Google att utveckla och tillhandahålla egna kundanpassade Google wave-tjänster för realtidsgruppvara.

Exempel på meddelandeöverföring 
Anta att användare1 med XMPP-adressen användare1@företag.com vill skicka ett meddelande till användare2 med adressen användare2@universitet.se. När användare1 trycker på "skicka"-knappen i sin XMPP-klient händer följande:
 användare1 klient skickar meddelandet till XMPP-servern på företag.com
 Om en blockering av universitet.se finns på företag.com stoppas meddelandet.
 Servern företag.com öppnar en anslutning till universitet.se.
 XMPP-servern på universitet.se skickar meddelandet till användare2
 Om en blockering av företag.com finns på universitet.se stoppas meddelandet.
 Om inte användare2 är ansluten sparas meddelandet för senare leverans.

Klienter 
 Adium
 Centericq
 Exodus
 Gajim
 Google Talk
 Gossip
 Ichat 
 Miranda IM
 Pidgin
 Tkabber
 Trillian

Transport mellan MSN och ICQ 
 ICQ-transport
 Lysator kör en ICQ-transport (PyICQ-t) på icq.jabber.lysator.liu.se
 MSN-transport
 Lysator kör en MSN-transport (PyMSNt) på msn.jabber.lysator.liu.se

Referenser

Externa länkar 
 XMPP Standards Foundation
 XMPP Extensions
 XMPP Software: Clients
 XMPP Software: Servers
 Public XMPP Services
 Jabber.org (Free XMPP server of the XSF)

Nätverksprotokoll
Fria direktmeddelandeprogram