EUG:Introduction to XMPP
Introduction to XMPP
XMPP stands for eXtensible Messaging and Presence Protocol. It is an open XML based network protocol standard for instant messaging and presence notification. The XMPP protocol is used by many applications under which Google Talk.
When two users want to talk to each other the protocol takes the following form:
Suppose email@example.com wants to chat with firstname.lastname@example.org. Juliet and Romeo, respectively, have an account on the servers capulet.com and montague.net. If Juliet wants to send a message to Romeo the following occurs:
- Juliet XMPP client sends the message to the XMPP server capulet.com.
- If montague.net is blocked on capulet.com, then the message is discarded.
- The capulet.com XMPP server opens a connection to the XMPP server montague.net.
- The montague.net server sends the message to Romeo's XMPP client.
- If capulet.com is blocked on montague.net, then the message is removed.
- If Romeo is not connected, then the message is stored until Romeo comes back online. (Assuming that the server allows offline messages.)
- Romeo receives the message.
The XMPP specifications are publicly available. The IETF has also formally adopted the basic protocols as instant messaging and presence technology and published these as RFC3920 and RFC3921.
The specification of XMPP exist since 1998 and are more and more stabilized. Meanwhile, millions of users use it.
The protocol uses XML namespaces. This way everyone can extend the protocol without disturbing existing applications.
A large number of servers can be woven together into one large network.
Robust security with SASL and TLS are supported.