mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-12-20 17:47:57 +01:00
710948c8f7
SMACK-682
11 KiB
11 KiB
Smack Extensions User Manual
The XMPP protocol includes a base protocol and many optional extensions typically documented as "XEP's". Smack provides the org.jivesoftware.smack package for the core XMPP protocol, and the org.jivesoftware.smackx package for many of the protocol extensions.
This manual provides details about each of the "smackx" extensions, including what it is, how to use it, and some simple example code.
Currently supported XEPs of Smack (all subprojects)
Name | XEP | Description |
---|---|---|
Nonzas | XEP-0360 | Defines the term "Nonza", describing every top level stream element that is not a Stanza. |
Currently supported XEPs of smack-tcp
Name | XEP | Description |
---|---|---|
Stream Management | XEP-0198 | Allows active management of an XML Stream between two XMPP entities (stanza acknowledgement, stream resumption). |
Smack Extensions and currently supported XEPs of smack-extensions
Name | XEP | Description |
---|---|---|
Data Forms | XEP-0004 | Allows to gather data using Forms. |
Last Activity | XEP-0012 | Communicating information about the last activity associated with an XMPP entity. |
Flexible Offline Message Retrieval | XEP-0013 | Extension for flexible, POP3-like handling of offline messages. |
Privacy Lists | XEP-0016 | Enabling or disabling communication with other entities. |
Service Discovery | XEP-0030 | Allows to discover services in XMPP entities. |
Extended Stanza Addressing | XEP-0033 | Allows to include headers in stanzas in order to specifiy multiple recipients or sub-addresses. |
Multi User Chat | XEP-0045 | Allows configuration of, participation in, and administration of individual text-based conference rooms. |
In-Band Bytestreams | XEP-0047 | Enables any two entities to establish a one-to-one bytestream between themselves using plain XMPP. |
Bookmarks | XEP-0048 | Bookmarks, for e.g. MUC and web pages. |
Private Data | XEP-0049 | Manages private data. |
Ad-Hoc Commands | XEP-0050 | Advertising and executing application-specific commands. |
vcard-temp | XEP-0054 | The vCard-XML format currently in use. |
Jabber Search | XEP-0055 | Search information repositories on the XMPP network. |
Result Set Management | XEP-0059 | Page through and otherwise manage the receipt of large result sets |
PubSub | XEP-0060 | Generic publish and subscribe functionality. |
SOCKS5 Bytestrams | XEP-0065 | Out-of-band bytestream between any two XMPP entities. |
XHTML-IM | XEP-0071 | Allows send and receiving formatted messages using XHTML. |
In-Band Registration | XEP-0077 | In-band registration with XMPP services. |
Advanced Message Processing | XEP-0079 | Enables entities to request, and servers to perform, advanced processing of XMPP message stanzas. |
User Location | XEP-0080 | Enabled communicating information about the current geographical or physical location of an entity. |
XMPP Date Time Profiles | XEP-0082 | Standardization of Date and Time representation in XMPP. |
Chat State Notifications | XEP-0085 | Communicating the status of a user in a chat session. |
Time Exchange | XEP-0090 | Allows local time information to be shared between users. |
Software Version | XEP-0092 | Retrieve and announce the software application of an XMPP entity. |
Stream Initation | XEP-0095 | Initiating a data stream between any two XMPP entities. |
SI File Transfer | XEP-0096 | Transfer files between two users over XMPP. |
Entity Capabilities | XEP-0115 | Broadcasting and dynamic discovery of entity capabilities. |
Data Forms Validation | XEP-0122 | Enables an application to specify additional validation guidelines . |
Stream Compression | XEP-0138 | Support for optional compression of the XMPP stream. |
Data Forms Layout | XEP-0141 | Enables an application to specify form layouts. |
Personal Eventing Protocol | XEP-0163 | Using the XMPP publish-subscribe protocol to broadcast state change events associated with an XMPP account. |
Message Delivery Receipts | XEP-0184 | Extension for message delivery receipts. The sender can request notification that the message has been delivered. |
XMPP Ping | XEP-0199 | Sending application-level pings over XML streams. |
Entity Time | XEP-0202 | Allows entities to communicate their local time |
Delayed Delivery | XEP-0203 | Extension for communicating the fact that an XML stanza has been delivered with a delay. |
XMPP Over BOSH | XEP-0206 | Use Bidirectional-streams Over Synchronous HTTP (BOSH) to transport XMPP stanzas. |
Attention | XEP-0224 | Getting attention of another user. |
Group Chat Invitations | n/a | Send invitations to other users to join a group chat room. |
Jive Properties | n/a | TODO |
Experimental Smack Extensions and currently supported XEPs of smack-experimental
Name | XEP | Description |
---|---|---|
Message Carbons | XEP-0280 | Keep all IM clients for a user engaged in a conversation, by carbon-copy outbound messages to all interested resources. |
HTTP over XMPP transport | XEP-0332 | Allows to transport HTTP communication over XMPP peer-to-peer networks. |
JSON Containers | XEP-0335 | Encapsulation of JSON data within XMPP Stanzas. |
Google GCM JSON payload | n/a | Semantically the same as XEP-0335: JSON Containers |
Client State Indication | XEP-0352 | A way for the client to indicate its active/inactive state. |
Legacy Smack Extensions and currently supported XEPs of smack-legacy
If a XEP becomes 'Deprecated' or 'Obsolete' the code will be moved to the smack-legacy subproject.
Name | XEP | Description |
---|---|---|
Message Events | XEP-0022 | Requests and responds to message events. |
| Roster Item Exchange | XEP-0093 | Allows roster data to be shared between users. |