XMPP Quiz GSOC
- Atul
- Programming
- March 25, 2023
Table of Contents
1. What does XMPP stand for?
eXtensible Messaging and Presence Protocol
2. Is XMPP just another name for Jabber?
In a way Yes! but Jabber is an old name of XMPP.
3. What is federation?
When a single central system/authority/entity is divided into smaller systems which perform their tasks accordingly, that’s called federation. Federation is process where one system/module is dependent on other system/module for the task to be done.
Federation is a process where one system is responsible for the authentication of a user. That system then sends a message to a second system, announcing who the user is, and verifying that they were properly authenticated.Read more
4. What can you do with XMPP apart from chatting?
- Internet of things.
- Online gaming
- Social network
- Movim
- WebRTC with XMPP
- Jitsi
5. Do you know examples/implementations for XMPP usage in a centralized service, as a federated service, as a serverless service?
Centralized service:
Federated service:
- Movim: As for authentication user can be authenticated by the server they’re signed in and can use Movim(Social network).
Serverless service:
Public MUCs(Multi User Chat), there are public channels where XMPP is used as serverless service.
6. What is a XEP?
XMPP is the protocol approved by IETF(Internet Engineering Task Force). New protocols which can be said as extensions to XMPP are documented in XEPs(XMPP Extensions Protocols). XEPs are protocol specifications which are maintained by XSF(XMPP Standards Foundation).
IETF –> XMPP –> RFC
XSF –> Extensions –> XEP
7. What is a stanza?
XMPP stanza is block of XML code which is used to share data on a XMPP stream between nodes. By recieving and sending XMPP stanzas communication is done. XMPP uses stanzas to stream XML data.
There are 3 types of stanzas:
<presence/>
-> For sending the connection status(online, offline, typing etc)<message/>
-> For sending the actual message<iq/>
-> Information query for retrieval of information
8. Describe the core RFCs and XEPs.
Core RFCs:
These are the specifications approved by IETF(Internet Engineering Task Force).
Some of the core RFCs are:
- RFC 6120 (XMPP Core):
- RFC 6121 (XMPP IM):
- RFC 7622 (XMPP Address Format):
XEPs:
These are the specifications documented by XSF(XMPP Standards Foundation).
9. Does XMPP run on IoT devices?
Yes, XMPP can also be used in IoT devices. There are many XEPs defined for IoT. Like,
- XEP-0322: Efficient XML Interchange(EXI)
- XEP-0323, XEP-0324, there is still working going on these XEPs are retracted.
10. What is OMEMO?
OMEMO Multi-End Message and Object Encryption is an XMPP XEP, XEP-0384 which defines the protocol for end-to-end encryption betweens clients who further may have multiple devices connected with same JID(Jabber ID).
As OpenPgP and OTR(Off the Record) protocols didn’t had the ability to encrypt and synce messages across other clients with same JID, OMEMO was created to eliminate this issue.
OMEMO encrypts the message and no other that the intended person is able to decrypt it.