/** * * Copyright 2015-2023 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Smack's API for XMPP extensions. *

* The XMPP protocol includes a base protocol and many optional extensions typically documented as "XEPs". Smack * provides the {@link org.jivesoftware.smack} package for the core XMPP protocol and the {@link org.jivesoftware.smackx * package} for many of the protocol extensions. *

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
XEPs supported by Smack
NameXEPSmack APIDescription
Data FormsXEP-0004{@link org.jivesoftware.smackx.xdata}Allows to gather data using Forms.
Last ActivityXEP-0012Communicating information about the last activity associated with an XMPP entity.
Flexible Offline Message RetrievalXEP-0013Extension for flexible, POP3-like handling of offline messages.
Privacy ListsXEP-0016{@link org.jivesoftware.smackx.privacy}Enabling or disabling communication with other entities.
Message EventsXEP-0022Requests and responds to message events.
Service DiscoveryXEP-0030Allows to discover services in XMPP entities.
Extended Stanza AddressingXEP-0033Allows to include headers in stanzas in order to specifiy multiple recipients or sub-addresses.
Multi User ChatXEP-0045{@link org.jivesoftware.smackx.muc}Allows configuration of, participation in, and administration of individual text-based conference rooms.
In-Band BytestreamsXEP-0047Enables any two entities to establish a one-to-one bytestream between themselves using plain XMPP.
BookmarksXEP-0048Bookmarks, for e.g. MUC and web pages.
Private DataXEP-0049Manages private data.
Ad-Hoc CommandsXEP-0050Advertising and executing application-specific commands.
vcard-tempXEP-0054The vCard-XML format currently in use.
Jabber SearchXEP-0055Search information repositories on the XMPP network.
Result Set ManagementXEP-0059Page through and otherwise manage the receipt of large result sets
PubSubXEP-0060Generic publish and subscribe functionality.
SOCKS5 BytestreamsXEP-0065Out-of-band bytestream between any two XMPP entities.
Field Standardization for Data FormsXEP-0068Standardized field variables used in the context of jabber:x:data forms.
XHTML-IMXEP-0071Allows send and receiving formatted messages using XHTML.
In-Band RegistrationXEP-0077In-band registration with XMPP services.
Advanced Message ProcessingXEP-0079Enables entities to request, and servers to perform, advanced processing of XMPP message stanzas.
User LocationXEP-0080Enabled communicating information about the current geographical or physical location of an entity.
XMPP Date Time ProfilesXEP-0082Standardization of Date and Time representation in XMPP.
Chat State NotificationsXEP-0085Communicating the status of a user in a chat session.
Time ExchangeXEP-0090Allows local time information to be shared between users.
Software VersionXEP-0092Retrieve and announce the software application of an XMPP entity.
Roster Item ExchangeXEP-0093Allows roster data to be shared between users.
Stream InitiationXEP-0095Initiating a data stream between any two XMPP entities.
SI File TransferXEP-0096Transfer files between two users over XMPP.
URL Address InformationXEP-0103{@link org.jivesoftware.smackx.urldata.element}Provide information about an Uniform Resource Locator (URL), and a protocol signaling retrieval states.
HTTP Scheme for URL DataXEP-0104A schema description for detailed information about HTTP URLs.
User MoodXEP-0107Communicate the users current mood.
Entity CapabilitiesXEP-0115{@link org.jivesoftware.smackx.caps.EntityCapsManager}Broadcasting and dynamic discovery of entity capabilities.
User TuneXEP-0118Defines a payload format for communicating information about music to which a user is listening.
Data Forms ValidationXEP-0122Enables an application to specify additional validation guidelines.
Stanza Headers and Internet Metadata (SHIM)XEP-0131Add Metadata Headers to Stanzas.
Service AdministrationXEP-0133Recommended best practices for service-level administration of servers and components using Ad-Hoc Commands.
Stream CompressionXEP-0138Support for optional compression of the XMPP stream.
Data Forms LayoutXEP-0141Enables an application to specify form layouts.
Discovering Alternative XMPP Connection MethodsXEP-0156Defines ways to discover alternative connection methods.
Personal Eventing ProtocolXEP-0163Using the XMPP publish-subscribe protocol to broadcast state change events associated with an XMPP account.
JingleXEP-0166Initiate and manage sessions between two XMPP entities.
User NicknameXEP-0172Communicate user nicknames.
Message Delivery ReceiptsXEP-0184Extension for message delivery receipts. The sender can request notification that the message has been * delivered.
Blocking CommandXEP-0191{@link org.jivesoftware.smackx.blocking.BlockingCommandManager}Communications blocking that is intended to be simpler than privacy lists (XEP-0016).
Stream ManagementXEP-0198Allows active management of an XML Stream between two XMPP entities (stanza acknowledgement, stream * resumption).
XMPP PingXEP-0199Sending application-level pings over XML streams.
Entity TimeXEP-0202Allows entities to communicate their local time
Delayed DeliveryXEP-0203Extension for communicating the fact that an XML stanza has been delivered with a delay.
XMPP Over BOSHXEP-0206Use Bidirectional-streams Over Synchronous HTTP (BOSH) to transport XMPP stanzas.
Data Forms Media ElementXEP-0221Allows to include media data in XEP-0004 data forms.
AttentionXEP-0224Getting attention of another user.
Bits of BinaryXEP-0231Including or referring to small bits of binary data in an XML stanza.
Software InformationXEP-0232Allows an entity to provide detailed data about itself in Service Discovery responses.
Roster VersioningXEP-0237Efficient roster synchronization.
Direct MUC InvitationsXEP-0249Allows sending a MUC invitation directly from the user to the contact with mediation by the room.
Message CarbonsXEP-0280{@link org.jivesoftware.smackx.carbons}Keep all IM clients for a user engaged in a conversation, by carbon-copy outbound messages to all interested * resources.
Best Practices for Resource LockingXEP-0296Specifies best practices to be followed by Jabber/XMPP clients about when to lock into, and unlock away from, * resources.
Stanza ForwardingXEP-0297Allows forwarding of Stanzas.
Last Message CorrectionXEP-0308Provides a method for indicating that a message is a correction of the last sent message.
Message Archive ManagementXEP-0313Query and control an archive of messages stored on a server.
Data Forms XML ElementXEP-0315Allows to include XML-data in XEP-0004 data forms.
Last User Interaction in PresenceXEP-0319Communicate time of last user interaction via XMPP presence notifications.
Internet of Things - Sensor DataXEP-0323Sensor data interchange over XMPP.
Internet of Things - ProvisioningXEP-0324Provisioning, access rights and user privileges for the Internet of Things.
Internet of Things - ControlXEP-0325Describes how to control devices or actuators in an XMPP-based sensor network.
Jid PrepXEP-0328Describes a way for an XMPP client to request an XMPP server to prep and normalize a given JID.
HTTP over XMPP transportXEP-0332{@link org.jivesoftware.smackx.hoxt}Allows to transport HTTP communication over XMPP peer-to-peer networks.
Chat MarkersXEP-0333A solution of marking the last received, displayed and acknowledged message in a chat.
Message Processing HintsXEP-0334Hints to entities routing or receiving a message.
JSON ContainersXEP-0335Encapsulation of JSON data within XMPP Stanzas.
Internet of Things - DiscoveryXEP-0347Describes how Things can be installed and discovered by their owners.
Data Forms Geolocation ElementXEP-0350Allows to include XEP-0080 gelocation data in XEP-0004 data forms.
Client State IndicationXEP-0352A way for the client to indicate its active/inactive state.
Push NotificationsXEP-0357Defines a way to manage push notifications from an XMPP Server.
Stable and Unique Stanza IDsXEP-0359This specification describes unique and stable IDs for messages.
NonzasXEP-0360{@link org.jivesoftware.smack.packet.Nonza}Defines the term “Nonza”, describing every top level stream element that is not a Stanza.
HTTP File UploadXEP-0363Protocol to request permissions to upload a file to an HTTP server and get a shareable URL.
ReferencesXEP-0372Add references like mentions or external data to stanzas.
Explicit Message EncryptionXEP-0380Mark a message as explicitly encrypted.
OpenPGP for XMPPXEP-0373Utilize OpenPGP to exchange encrypted and signed content.
OpenPGP for XMPP: Instant MessagingXEP-0374OpenPGP encrypted Instant Messaging.
Spoiler MessagesXEP-0382Indicate that the body of a message should be treated as a spoiler.
OMEMO Multi End Message and Object EncryptionXEP-0384Encrypt messages using OMEMO encryption (currently only with smack-omemo-signal -> GPLv3).
Consistent Color GenerationXEP-0392{@link org.jivesoftware.smackx.colors.ConsistentColor}Generate consistent colors for identifiers like usernames to provide a consistent user experience.
Message MarkupXEP-0394{@link org.jivesoftware.smackx.message_markup.element}Style message bodies while keeping body and markup information separated.
DNS Queries over XMPP (DoX)XEP-0418Send DNS queries and responses over XMPP.
Stanza Content EncryptionXEP-0420End-to-end encryption of arbitrary extension elements. Smack provides elements and providers to be used by * encryption mechanisms.
Message FasteningXEP-0422Mark payloads on a message to be logistically fastened to a previous message.
Message RetractionXEP-0424Mark messages as retracted.
Fallback IndicationXEP-0428Declare body elements of a message as ignorable fallback for naive legacy clients.
Google GCM JSON payloadSemantically the same as XEP-0335: JSON Containers.
Multi-User Chat LightXEP-MUCLIGHTMulti-User Chats for mobile XMPP applications and specific environment.
Jive PropertiesTODO
*/ package org.jivesoftware.smackx;