Communication protocol | |
Purpose | Instant messaging |
---|---|
Introduction | 1999 |
OSI layer | Application layer |
Port(s) | TCP 5222, 5269, 8010 |
RFC(s) | RFC 6120 (Core), RFC 6121 (IM & Presence), RFC 7622 (Address Format), RFC 3922 (CPIM), RFC 3923 (Encryption) |
Website | xmpp |
Extensible Messaging and Presence Protocol (abbreviation XMPP, originally named Jabber[1]) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance.[2] Based on XML (Extensible Markup Language), it enables the near-real-time exchange of structured data between two or more network entities.[3] Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.
Unlike most commercial instant messaging protocols, XMPP is defined in an open standard in the application layer. The architecture of the XMPP network is similar to email; anyone can run their own XMPP server and there is no central master server. This federated open system approach allows users to interoperate with others on any server using a 'JID' user account, similar to an email address. XMPP implementations can be developed using any software license and many server, client, and library implementations are distributed as free and open-source software. Numerous freeware and commercial software implementations also exist.
Originally developed by the open-source community, the protocols were formalized as an approved instant messaging standard in 2004 and have been continuously developed with new extensions and features. Various XMPP client software are available on both desktop and mobile platforms and devices - by 2003 the protocol was used by over ten million people worldwide on the network, according to the XMPP Standards Foundation.[4][needs update]
Internet protocol suite |
---|
Application layer |
Transport layer |
Internet layer |
Link layer |