diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index bdff39867..ef0e49d4a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -2,7 +2,7 @@ PR check list: - [ ] Document your code - [ ] Add `\since QXmpp 1.X`, `QXMPP_EXPORT` - [ ] Fix doxygen warnings (see log when building with `-DBUILD_DOCUMENTATION=ON`) -- [ ] Update `doc/xep.doc` +- [ ] Update `doc/doap.xml` - [ ] Add unit tests - [ ] Format the code: Run `clang-format -i src/ tests/` diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 7173e5de2..fb4d0a434 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -9,7 +9,10 @@ INPUT = @PROJECT_SOURCE_DIR@/doc/index.doc \ @PROJECT_SOURCE_DIR@/doc/xep.doc \ @CMAKE_BINARY_DIR@/src/base/QXmppBuildConstants.h \ @PROJECT_SOURCE_DIR@/src - +HTML_EXTRA_FILES = @PROJECT_SOURCE_DIR@/doc/doap.xml \ + @PROJECT_SOURCE_DIR@/doc/doap-rendering/doap.xsl \ + @PROJECT_SOURCE_DIR@/doc/doap-rendering/xeplist.xml \ + @PROJECT_SOURCE_DIR@/doc/doap-rendering/doap.css ALIASES = "xep{1}=XEP-\1" \ "xep{2}=XEP-\1: \2" ALPHABETICAL_INDEX = NO diff --git a/doc/doap-rendering/README.md b/doc/doap-rendering/README.md new file mode 100644 index 000000000..7f09af51d --- /dev/null +++ b/doc/doap-rendering/README.md @@ -0,0 +1,11 @@ + + +# DOAP rendering + +Run `doc/doap-rendering/update-xeplist.sh` to get the latest XEP metadata +before building the documentation. + diff --git a/doc/doap-rendering/doap.css b/doc/doap-rendering/doap.css new file mode 100644 index 000000000..3b30e35f0 --- /dev/null +++ b/doc/doap-rendering/doap.css @@ -0,0 +1,272 @@ +/* + * SPDX-FileCopyrightText: 2019 Adrien Destugues + * + * SPDX-License-Identifier: CC0-1.0 + */ + +:root { + /* Primary color in HSL: Change this to customize all colored elements */ + --color-h: 210; + --color-s: 13%; + --color-l: 50%; +} +body { + font-family: sans-serif; +} +img { + margin-right: 1.7rem; + vertical-align: middle; +} +a { + text-decoration: none; + padding: 5px; + color: hsl( + var(--color-h), + calc(var(--color-s) + 15%), + calc(var(--color-l) - 10%) + ); +} +a:hover { + text-decoration: none; + filter: brightness(110%); +} +a.button { + text-align: center; + text-decoration: none; + font-size: medium; + color: hsl(0, 0%, 100%); + background-color: hsl( + var(--color-h), + var(--color-s), + var(--color-l) + ); + display: inline-block; + cursor: pointer; + border: none; + border-radius: 4px; + padding: 12px 24px; + margin: 4px 12px 4px 0; +} +a.button:hover { + filter: brightness(110%); +} +.header { + padding: 40px; + text-align: center; + background: linear-gradient( + 40deg, + hsl( + var(--color-h), var(--color-s), calc(var(--color-l) + 30%) + ) 0%, + hsl(0, 0%, 90%) 60% + ); + color: hsl(0, 0%, 27%); + font-size: xx-large; + margin-bottom: 15px; +} +.shortdesc { + font-size: x-large; + font-weight: 300; + opacity: 0.8; +} +.description { + font-size: medium; + opacity: 0.9; +} +.os { + margin: auto; + margin-bottom: 30px; + width: 75%; + text-align: center; + opacity: 0.7; +} +.chip { + display: inline-block; + padding: 3px 10px; + margin: 3px 5px 3px 0; + height: 20px; + font-size: small; + font-weight: 700; + line-height: 20px; + border-radius: 12px; + color:hsl(0, 0%, 100%); + background-color: hsl( + var(--color-h), + var(--color-s), + calc(var(--color-l) - 20%) + ); +} + +/* XEP table */ +table { + width: 100%; + border-collapse: collapse; + clear: both; +} +th { + border: 1px solid hsl( + var(--color-h), + var(--color-s), + calc(var(--color-l) + 15%) + ); + background-color: hsl( + var(--color-h), + var(--color-s), + var(--color-l) + ); + color: hsl(0, 0%, 100%); + padding: 10px; +} +th:nth-child(1) { + padding-left: 2.5rem; + padding-right: 2.5rem; +} +th:nth-child(5) { + text-align: left; +} +tr { + border: 1px solid hsl(0, 0%, 91%); +} +tr:nth-child(odd) { + background-color: hsl(0, 0%, 97%); +} +tr:hover { + background-color: hsl(0, 0%, 94%); +} +td { + padding: 10px; + color: hsl(0, 0%, 11%); +} +td:nth-child(2) { + text-align: end; +} +td:nth-child(3) { + text-align: center; +} +td:nth-child(4) { + text-align: end; +} + +.xep-implementation-status { + font-size: small; + padding: 5px; +} +.complete { + color: hsl(120, 25%, 42%); + background-color: hsl(103, 46%, 90%); +} +.partial { + color: hsl(36, 66%, 43%); + background-color: hsl(56, 62%, 86%); +} +.planned { + color: hsl(208, 41%, 39%); + background-color: hsl(197, 62%, 86%); +} +.removed, +.deprecated, +.wontfix { + color:hsl(0, 0%, 25%); + background-color: hsl(0, 0%, 91%); +} +.version { + font-family: monospace; + margin: 1px; +} +.version-outdated { + color: hsl(36, 66%, 43%); + background-color: hsl(56, 62%, 86%); +} +.small { + font-size: small; +} +.no-info { + text-align: center; + opacity: 0.5; + margin: 20px; +} + +@media (prefers-color-scheme: dark) { + body { + background-color: hsl(0, 0%, 9%); + color: hsl(0, 0%, 90%); + } + a { + color: hsl( + var(--color-h), + calc(var(--color-s) + 15%), + calc(var(--color-l) + 15%) + ); + } + a.button { + color: hsl(0, 0%, 91%); + background-color: hsl( + var(--color-h), + var(--color-s), + calc(var(--color-l) - 20%) + ); + } + .header { + color: hsl(0, 0%, 91%); + background: linear-gradient( + 40deg, + hsl( + var(--color-h), var(--color-s), calc(var(--color-l) - 30%) + ) 0%, + hsl(0, 0%, 10%) 60% + ); + } + .chip { + color:hsl(0, 0%, 100%); + background-color: hsl(0, 0%, 22%); + } + + /* XEP table */ + th { + border: 1px solid hsl( + var(--color-h), + var(--color-s), + calc(var(--color-l) - 20%) + ); + background-color: hsl( + var(--color-h), + var(--color-s), + calc(var(--color-l) - 30%) + ); + color: hsl(0, 0%, 90%); + } + tr { + border: 1px solid hsl(0, 0%, 14%); + } + tr:nth-child(odd) { + background-color: hsl(0, 0%, 11%); + } + tr:hover { + background-color: hsl(0, 0%, 9%); + } + td { + color: hsl(0, 0%, 93%); + } + .complete { + color: hsl(120, 54%, 81%); + background-color: hsl(105, 23%, 17%); + } + .partial { + color: hsl(36, 100%, 92%); + background-color: hsl(55, 45%, 16%); + } + .planned { + color: hsl(205, 80%, 76%); + background-color: hsl(191, 52%, 17%); + } + .removed, + .deprecated, + .wontfix { + color: hsl(0, 0%, 100%); + background-color: hsl(0, 0%, 31%); + } + .version-outdated { + color: hsl(36, 100%, 92%); + background-color: hsl(55, 45%, 16%); + } +} diff --git a/doc/doap-rendering/doap.xsl b/doc/doap-rendering/doap.xsl new file mode 100644 index 000000000..f1ccc4ee4 --- /dev/null +++ b/doc/doap-rendering/doap.xsl @@ -0,0 +1,120 @@ + + + + + + + + + + + <xsl:value-of select="doap:name"/> - XMPP implementation support + + + + + + + + + + + + + +
XMPP ExtensionImplemented VersionStatusSinceNotes
+
+ +

No info about supported extensions available.

+
+
+ + +
+ + + logo + + + + Website + + + + Download + + + + Documentation + + + +
+ +
+
+ + + + + + + + + + XEP- + + : + + + + + + + + + + +

+ + latest: + + + +
+ + + + + + + + + + + +
+
diff --git a/doc/doap-rendering/update-xeplist.sh b/doc/doap-rendering/update-xeplist.sh new file mode 100755 index 000000000..0d93c3b31 --- /dev/null +++ b/doc/doap-rendering/update-xeplist.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2022 Melvin Keskin +# +# SPDX-License-Identifier: CC0-1.0 + +# +# This script updates the list that contains XEP metadata used by "doap.xsl". +# +# It should be run before generating the Doxygen documentation. +# + +SCRIPT_DIR=$(dirname "$(readlink -f "${0}")") + +# The list is generated by "https://github.com/xsf/xeps/blob/master/tools/extract-metadata.py". +curl -L https://xmpp.org/extensions/xeplist.xml > "${SCRIPT_DIR}/xeplist.xml" diff --git a/doc/doap-rendering/xeplist.xml b/doc/doap-rendering/xeplist.xml new file mode 100644 index 000000000..a523021ec --- /dev/null +++ b/doc/doap-rendering/xeplist.xml @@ -0,0 +1,102 @@ +130Waiting ListsThis document defines an XMPP protocol extension that enables a user to add a non-IM user to a waiting list and be informed when the contact creates an IM account.HistoricalDeprecatedCouncilwaitinglist2021-03-041.4.1mwCross-document editorial adjustments for inclusive language.Standards223Persistent Storage of Private Data via PubSubThis specification defines best practices for using the XMPP publish-subscribe extension to persistently store private information such as bookmarks and client configuration options.InformationalActiveCouncil2018-03-281.1jwiMake discovery of support mandatory, add security considerations (in reaction to CVE-2018-6591).Standards JIG233XMPP Server Registration for use with Kerberos V5This specification defines the Kerberos principal name of an XMPP server. It also details a method by which a connecting client can determine this Kerberos principal name when authenticating using the "GSSAPI" SASL mechanism.Standards TrackDraftCouncilkerberos52017-03-161.0.0XEP Editor (ssw)Move to draft by order of the XMPP Council.Standards2017-03-01257Client Certificate Management for SASL EXTERNALThis specification defines a method to manage client certificates that can be used with SASL External to allow clients to log in without a password.Standards TrackDeferredCouncil2012-07-180.3tpa* Removed the dependency on . +* Placed the certificate data directly in the <append/> element. +* Clarified up the usage of the certificate's name. +* Increased the version to 'urn:xmpp:saslcert:1'. +* Added a section on discovering support. +* Added the possibility for the server to send a list of currently used certificates. +* Updated the relation with to match the current version.Standards414Cryptographic Hash Function Recommendations for XMPPThis document provides recommendations for the use of cryptographic hash functions in XMPP protocol extensions.InformationalDeferredCouncilhashrecs2020-05-230.4.0rionMake Blake2b-256 SHOULD and Blake2b 512 MUSTStandards330Pubsub SubscriptionThis specification describe a method that allow a user to share a list of nodes on which it is Pubsub registeredStandards TrackDeferredCouncil2013-06-110.1psaInitial published version approved by the XMPP Council.Standards94Agent InformationThis specification provides canonical documentation of the obsolete Agent Information namespace. Note: This document has been superseded by XEP-0030: Service Discovery.HistoricalObsoleteCounciliq-agents2003-10-080.3psaPer a vote of the Jabber Council, changed status to Obsolete. The protocol described herein is accurately defined but actively deprecated in favor of Service Discovery (XEP-0030).Standards13Flexible Offline Message RetrievalThis specification defines an XMPP protocol extension for flexible, POP3-like handling of offline messages. The protocol enables a connecting client to retrieve its offline messages on login in a controlled fashion, without receiving a flood of messages. Messages can also be left on the server for later retrieval.Standards TrackDeprecatedCounciloffline2021-05-041.3XEP Editor (jsc)Deprecate after council vote of 2021-03-31Standards402PEP Native BookmarksThis specification defines a syntax and storage profile for keeping a list of chatroom bookmarks on the server.Standards TrackDraftCouncilbookmarks22021-12-271.1.3egpAdd missing <supersedes/> for XEP-0411Standards2020-03-03164vCard FilteringThis document specifies a mechanism for requesting specific sections of a vCard.Standards TrackDeferredCouncilvcard-temp-filter2005-11-160.1psaInitial version.Standards212XMPP Basic Server 2008This document defines the XMPP Basic Server 2008 compliance level.Standards TrackObsoleteCouncil2007-07-111.0psaPer a vote of the XMPP Council, advanced to Draft.Standards18Invisible PresenceDocumentation of invisible presence.InformationalRejectedCouncil2003-09-260.2bsUpdated to focus solely on <presence type='invisible'/>.Standards138Stream CompressionThis document defines an XMPP protocol extension for negotiating compression of XML streams, especially in situations where standard TLS compression cannot be negotiated. The protocol provides a modular framework that can accommodate a wide range of compression algorithms; the ZLIB compression algorithm is mandatory-to-implement, but implementations may support other algorithms in addition.Standards TrackObsoleteCouncilcompress2022-02-102.1tjbObsolete due to security vulnerability.Standards96SI File TransferThis specification defines a profile of the XMPP stream initiation extension for transferring files between two entities. The protocol provides a modular framework that enables the exchange of information about the file to be transferred as well as the negotiation of parameters such as the transport to be used.Standards TrackDeprecatedCouncilsi-filetransfer2022-03-221.3.1glFix incorrect reference to sipub namespaceStandards390Entity Capabilities 2.0This document overhauls the XMPP protocol extension Entity Capabilities (XEP-0115). It defines an XMPP protocol extension for broadcasting and dynamically discovering client, device, or generic entity capabilities. In order to minimize network impact, the transport mechanism is standard XMPP presence broadcast (thus forestalling the need for polling related to service discovery data), the capabilities information can be cached either within a session or across sessions, and the format has been kept as small as possible.Standards TrackDeferredCouncilecaps22018-03-050.3.2fsExplain that ASCII Seperators are only invalid in XML 1.0, but not in XML 1.1.Standards467XMPP over QUICThis specification defines a procedure to make both c2s and s2s XMPP connections over the QUIC protocol instead of TCP+TLS.Standards TrackExperimentalCouncil2022-07-130.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-06-22.Standards190Best Practice for Closing Idle StreamsThis document specifies a best practice for closing an XML stream that is perceived to be idle.InformationalObsoleteCouncil2012-03-061.1psaChanged status to Obsolete because it is superseded by RFC 6120.Standards140Shared GroupsThis document defines a protocol profile for centrally defined and administered roster groups; the protocol described herein has been retracted in favor of XEP-0144: Roster Item Exchange.InformationalRetractedCouncilgroups2004-10-270.2psaRetracted in favor of XEP-0144.Standards262Use of ZRTP in Jingle RTP SessionsThis specification defines how to use ZRTP (RFC 6189) in the Jingle application type for the Real-time Transport Protocol (RTP) as a way to negotiate media path key agreement for secure RTP in one-to-one media sessions.Standards TrackDraftCounciljingle-zrtp2011-06-151.0psaPer a vote of the XMPP Council, advanced specification to Draft.Standards363HTTP File UploadThis specification defines a protocol to request permissions from another entity to upload a file to a specific path on an HTTP server and at the same time receive a URL from which that file can later be downloaded again.Standards TrackDraftCouncil2022-01-041.1.0egp, mb* Filename size in bytes. +* Headers MUST be included in the PUT request. +* Headers considered opaque. +* Servers may want to sign headers, in security implications. +* Allow header case insensitivity, multiple times the same header, and preserve the order in the HTTP request.Standards2020-01-2828No Such XEPThis document was removed from the XSF website and source control at the request of the author.InformationalRetractedCouncil2001-08-200.1noneNo such specification.Standards46DTCPDirect TCP connection between two Jabber entities.Standards TrackRetractedCouncil2003-04-110.8psaAt the request of the author, changed status to Retracted.Standards227Portable Import/Export Format for XMPP-IM ServersThis document specifies a file format for importing and exporting user data to and from XMPP-IM servers.Standards TrackDraftCouncilpie2021-06-021.1mwDiscourage use of 'password', provide a way to include SCRAM credentials, PEP nodes and message archives.Standards336Data Forms - Dynamic FormsThis specification provides extensions to the data forms model defined in previous XEPs that permit enhanced end-user interaction and a better user experience. These extensions permit forms to react on user input by permitting the addition, updating or removal of fields in the form and server-side validation of fields. The extension also defines new states making it possible to display disabled controls, controls with undefined values or error messages, while still being backwards compatible with the existing data form model with available extensions.Standards TrackDeferredCouncildynamic-forms2015-11-090.2pwUpdated contact information. +Updated example JIDs to example.orgStandards2Special Interest Groups (SIGs)A definition of Special Interest Groups within the XMPP Standards Foundation.ProceduralActiveBoard2002-01-111.1psaClarified some details and added information about cut-offs for inactivity.None132Presence Obtained via Kinesthetic Excitation (POKE)This document defines an XMPP protocol extension that enables probing for presence via physical rather than electronic means.HumorousActiveCouncilpoke2004-04-011.0psaApril Fools!None32Jabber URI SchemeA URI scheme for Jabber communications.Standards TrackRetractedCouncil2003-09-020.4psaRetracted the document, since it is superseded by draft-ietf-xmpp-uri, an Internet-Draft produced by the IETF's XMPP WG.Standards37DSPS - Data Stream Proxy ServiceA proposal for proxy support in Jabber.Standards TrackRejectedCouncil2016-10-040.8.1egpMade the revision’s version element include only the actual version.Standards73Basic IM Protocol SuiteThis document defines a recommended suite of Jabber/XMPP protocols to be supported by basic instant messaging and presence applications. Note: This protocol suite has been obsoleted by XEP-0211 and XEP-0212.Standards TrackObsoleteCouncil2021-03-041.2.1mwCross-document editorial adjustments for inclusive language.Standards334Message Processing HintsThis document defines a way to include hints to entities routing or receiving a message.Standards TrackDeferredCouncilhints2018-01-250.3.0XEP Editor (jwi)Defer due to lack of activity.Standards2017-03-01308Last Message CorrectionThis specification defines a method for indicating that a message is a correction of the last sent message.Standards TrackDraftCouncilmessage-correct2022-05-171.2.1gh/deuillFix disco#info example to use correct addresses.Standards38Icon StylesA protocol for specifying exchangeable styles of emoticons and genicons within Jabber IM clients.Standards TrackObsoleteCouncil2022-03-080.5.1egpObsolete due to the omnipresence of Unicode emoji, as well as Bits of Binary stickers.Standards442Pubsub Message Archive ManagementThis document defines a protocol to query and control a pubsub node's message archive.Standards TrackExperimentalCouncilpubsub-mam2020-08-250.2.0XEP Editor (jsc)Accepted by vote of Council on 2020-08-19.Standards387XMPP Compliance Suites 2018This document defines XMPP protocol compliance levels.Standards TrackObsoleteCouncilCS20182018-01-251.0.0XEP Editor (jwi)Move to Draft as per Council vote on 2018-01-24.Standards2017-12-2187Stream InitiationA common method to initiate a stream with meta informationStandards TrackRetractedCouncilsi2022-03-220.1.1glFix incorrect URL to SI namespace.Standards448Encryption for stateless file sharingThis specification provides a protocol for sharing encrypted files using the stateless file sharing protocol (XEP-0447).Standards TrackExperimentalCouncilesfs2022-07-170.2.0lmw* Replace the ProtoXEP reference with a reference to the published XEP. +* Add urn:xmpp:ciphers:aes-256-cbc-pkcs7:0 (same as used in XEP-0384).Standards98Enhanced Private XML StorageStandardizes "private" XML data storage.Standards TrackDeferredCouncilprivate-xml2003-06-250.1issInitial version.Standards200Stanza EncryptionThis document specifies an XMPP protocol extension for session-based stanza encryption.Standards TrackDeferredCouncil2007-05-300.2ipAdded reference to Simplified Encrypted Session Negotiation; modified namespaces to reflect XMPP Registrar procedures regarding URN issuance.Standards254PubSub QueueingThis specification defines an extension to XMPP publish-subscribe for queueing information at a node.Standards TrackDeferredCouncil2008-11-130.1psaInitial published version.Standards412XMPP Compliance Suites 2019This document defines XMPP protocol compliance levels.Standards TrackObsoleteCouncilCS20192020-01-281.0.1XEP Editor (jsc)Deprecate and Obsolete per Council vote on 2020-01-22Standards2019-02-29171Language TranslationThis specification defines an XMPP protocol extension for providing language translation facilities over XMPP. It supports human, machine, client-based, and server-based translations.Standards TrackDraftCouncillangtrans2015-10-151.1.1XEP Editor (mam)Corrected XML schema to note a number of constructs are optional not required (Christian Schudt).Standards40Jabber Robust Publish-SubscribeNote: This proposal has been superseded by XEP-0060; please refer to that document for the successor protocol.Standards TrackRetractedCouncil2004-07-260.2psaFormally retracted this proposal in favor of XEP-0060: Publish-Subscribe.Standards148Instant Messaging Intelligence Quotient (IM IQ)This specification provides canonical documentation of the jabber:iq:iq namespace.HumorousActiveCounciliq-iq2005-04-011.0psaApril Fools!Standards102Security ExtensionsSecurity extensions for Jabber/XMPP.Standards TrackDeferredCouncil2003-06-250.1jlsInitial version.Standards50Ad-Hoc CommandsThis document defines an XMPP protocol extension for advertising and executing application-specific commands, such as those related to a configuration workflow. Typically the commands contain data forms (XEP-0004) in order to structure the information exchange.Standards TrackDraftCouncilcommands2020-06-091.3.0kisClarify illegal uses of 'execute'.Standards224AttentionThis document defines an XMPP protocol extension for getting the attention of another user.Standards TrackDraftCouncilattention2008-11-131.0psaPer a vote of the XMPP Council, advanced specification to Draft.Standards149Time PeriodsThis document defines a method to specify the valid time periods for states, events, and activities communicated via Jabber/XMPP protocols.InformationalActiveCouncil2006-01-241.0psaPer a vote of the Jabber Council, advanced status to Active.Standards45Multi-User ChatThis specification defines an XMPP protocol extension for multi-user text chat, whereby multiple XMPP users can exchange messages in the context of a room or channel, similar to Internet Relay Chat (IRC). In addition to standard chatroom features such as room topics and invitations, the protocol defines a strong room control model, including the ability to kick and ban users, to name room moderators and administrators, to require membership or passwords in order to join the room, etc.Standards TrackDraftCouncilmuc2022-03-081.34.3egpRemove more mentions of Group Chat 1.0.Standards296Best Practices for Resource LockingThis document specifies best practices to be followed by Jabber/XMPP clients about when to lock into, and unlock away from, resources.InformationalDeferredCouncil2011-08-180.2mamExpanded intro with a short problem description; moved chat states considerations to their own section; tightened requirement regarding a message from different resource from MAY to SHOULD; loosened requirement regarding a message with 'gone' from MUST to SHOULD; added missing but required sectionsStandards2011-08-05199XMPP PingThis specification defines an XMPP protocol extension for sending application-level pings over XML streams. Such pings can be sent from a client to a server, from one server to another, or end-to-end.Standards TrackFinalCouncilping2019-03-262.0.1o01egFix incorrect IQ type in example (result => error)Standards116Encrypted Session NegotiationThis document specifies an XMPP protocol extension for negotiating an end-to-end encrypted session.Standards TrackDeferredCouncil2007-05-300.16ipSplit pubkey field into init_pubkey and resp_pubkey fields; modified namespaces to reflect XMPP Registrar procedures regarding URN issuance.Standards8IQ-Based AvatarsThis specification provides historical documentation of an IQ-based protocol for exchanging user avatars.HistoricalObsoleteCouncil2022-03-080.3.1egp* Move from deferred to obsolete. +* Add the two superseding specifications.Standards373OpenPGP for XMPPSpecifies end-to-end encryption and authentication of data with the help of OpenPGP, announcement, discovery and retrieval of public keys and a mechanism to synchronize secret keys over multiple devices.Standards TrackExperimentalCouncilox2021-05-040.7.0psRecommend PubSub access model 'open' for public key data node and metadata node.Standards123Entity MetadataNOTE: This proposal was retracted by the author on 2004-02-19.Standards TrackRetractedCouncil2003-12-160.3psaIncorporated infobits changes and vCard infobit mappings; metadata about relationships to be moved to forthcoming specification.Standards272Multiparty Jingle (Muji)This specification defines an XMPP protocol extension for initiating and managing multiparty voice and video conferences within an XMPP MUCStandards TrackDeferredCouncilmuji2022-08-060.1.2melvoFix typos / grammar / examples and use 'Muji' instead of 'muji' consistentlyStandards44Full Namespace Support for XML StreamsA description of the use of namespaces within Jabber.Standards TrackDeferredCouncil2002-08-260.1rnInitial version.Standards339Source-Specific Media Attributes in JingleThis specification provides an XML mapping for translating the RFC 5766 Source-Specific Media Attributes from SDP to JingleStandards TrackDraftCouncil2021-10-231.0.1egpAdd a XML Schema, and fix an example lacking a namespace.Standards2020-05-19309Service DirectoriesThis specification shows how to combine and extend a number of existing XMPP protocols for improved sharing of information about XMPP servers.Standards TrackDeferredCouncil2012-05-290.3psaCorrected a number of details in the text, examples, and XMPP Registrar considerations; removed an extraneous section that is better contained in XEP-0267.Standards195User BrowsingThis document defines an XMPP protocol extension for communicating information about the web pages a user visits.Standards TrackDeferredCouncil2008-09-250.3psaModified namespace in accordance with protocol versioning policies.Standards139Security SIGThis document proposes the formation of a Special Interest Group devoted to the analysis of security threats related to Jabber technologies.SIG FormationRetractedCouncil2004-09-150.2psaChanged status to Retracted since it now appears unnecessary to form a SIG in order to complete this work; rather, it should be sufficient to write a XEP and solicit feedback from appropriate security experts before the Last Call. However, such a XEP should use the process described herein.None307Unique Room Names for Multi-User ChatThis specification defines an XMPP protocol extension for requesting a unique room ID from a multi-user chat service.Standards TrackDeferredCouncilmuc-unique2011-11-100.1psaInitial published version.Standards185Dialback Key Generation and ValidationThis document provides a recommended method for generating and validating the keys used in the XMPP server dialback protocol.InformationalActiveCouncil2007-02-151.0psaPer a vote of the XMPP Council, advanced specification to Active.Standards377Spam ReportingThis document specifies a mechanism by which users can report spam and other abuse to a server operator or other spam service.Standards TrackExperimentalCouncil2021-06-210.3sswRework based on list feedback.Standards174Serverless MessagingThis specification defines how to communicate over local or wide-area networks using the principles of zero-configuration networking for endpoint discovery and the syntax of XML streams and XMPP messaging for real-time communication. This method uses DNS-based Service Discovery and Multicast DNS to discover entities that support the protocol, including their IP addresses and preferred ports. Any two entities can then negotiate a serverless connection using XML streams in order to exchange XMPP message and IQ stanzas.Standards TrackFinalCouncillinklocal2018-02-082.0.1csFix incorrect STARTTLS examples.Standards10Whiteboarding SIGA proposal to form a SIG to develop a protocol for whiteboarding over Jabber.SIG FormationObsoleteBoard2002-05-081.1psaChanged Status to Obsolete per approval of XEP-0019.None145AnnotationsThis document defines a protocol for making annotations about roster items and other entities.HistoricalActiveCouncilrosternotes2006-03-231.0psaPer a vote of the Jabber Council, advanced to Active.Standards213XMPP Intermediate IM Client 2008This document defines the XMPP Intermediate IM Client 2008 compliance level.Standards TrackObsoleteCouncil2007-07-111.0psaPer a vote of the XMPP Council, advanced to Draft.Standards455Service Outage StatusThis document defines an XMPP protocol extension that enables server administrators to communicate issues with the server to all users in a semantic manner.Standards TrackExperimentalCouncil2021-02-090.2.0Evolve the standard: Editorial restructuring, add business rules and security considerations and clarify some wording.Standards91Legacy Delayed DeliveryThis specification provides historical documentation of the legacy jabber:x:delay namespace, which has been deprecated in favor the urn:xmpp:delay namespace defined in XEP-0203.HistoricalObsoleteCouncilx-delay2009-05-271.4psaPer a vote of the XMPP Council, changed status to Obsolete.Standards226Message Stanza ProfilesThis document specifies best practices for generating and handling extended content in XMPP message stanzas.InformationalDeferredCouncilprofiles2008-11-050.3psaFor consistency, defined Metadata Profile; specified that the registrar shall create a registry for message stanza profiles.Standards9Jabber-RPCThis specification defines an XMPP protocol extension for transporting XML-RPC encoded requests and responses between two XMPP entities. The protocol supports all syntax and semantics of XML-RPC except that it uses XMPP instead of HTTP as the underlying transport.Standards TrackFinalCounciljabber-rpc2021-03-042.2.1mwCross-document editorial adjustments for inclusive language.Standards461Message RepliesThis document defines a way to indicate that a message is a reply to a previous message.Standards TrackExperimentalCouncilreply2022-01-250.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-01-05.Standards225Component ConnectionsThis document specifies a standards-track XMPP protocol extension that enables server components to connect to XMPP servers.Standards TrackDeferredCouncilcomponent2008-10-060.2psaModified namespace to incorporate namespace versioning; clarified that the value of the <hostname/> element can be either <domain> or <domain/resource>.Standards264Jingle Content ThumbnailsThis specification defines a way for a client to supply a preview image for Jingle content.Standards TrackDeferredCouncilthumbs2015-08-260.4ljtsChanged format to use generic 'uri' attribute to allow for 'https:' and 'http:' URIs in addition to BoB 'cid:' URIs. +Indicated that multiple thumbnails may be present. +Expanded scope of use cases to be Jingle content in general, not just file transfer.Standards170Recommended Order of Stream Feature NegotiationThis document specifies a recommended order for negotiation of XMPP stream features.InformationalActiveCouncil2007-01-041.0psaPer a vote of the XMPP Council, advanced status to Active.Standards317HatsThis specification defines a more extensible model for roles and affiliations in Multi-User Chat rooms.Standards TrackDeferredCouncil2013-01-030.1psaInitial published version approved for publication by the XMPP Council; clarified ad-hoc commands logic and syntax.Standards239Binary XMPPThis specification defines Binary XMPP, an obviously superior representation of the Extensible Messaging and Presence Protocol (XMPP).HumorousActiveCouncil2008-04-011.0pm/psa/ffApril Fools!Standards180Jingle Video via RTPNote: This specification has been retracted in favor of XEP-0167, which now consolidates both audio and video chat via RTP and therefore contains the content originally published in this specification; please refer to XEP-0167 for the most up-to-date definition of XMPP video chat. This specification defines a Jingle application type for negotiating a video chat or other video session. The application type uses the Real-time Transport Protocol (RTP) for the underlying media exchange and provides a straightforward mapping to Session Description Protocol (SDP) for interworking with SIP media endpoints.Standards TrackRetractedCouncil2008-06-040.13psaRetracted in favor of XEP-0167, which now consolidates both audio and video chat via RTP and therefore contains the content originally published in this specification.Standards297Stanza ForwardingThis document defines a protocol to forward a stanza from one entity to another.Standards TrackDraftCouncilforward2013-10-021.0psaPer a vote of the XMPP Council, advanced status to Draft.Standards400Multi-Factor Authentication with TOTPThis specification defines support for multi-factor authentication in terms of SASL2 Tasks based around the Time-based One Time Password mechanism.Standards TrackDeferredCouncilmfa2018-01-250.1.0XEP Editor (jwi)Accepted by vote of Council on 2018-01-10.Standards241Encryption of Archived MessagesThis specification defines methods for encrypting messages that are archived at an XMPP server.Standards TrackDeferredCouncil2008-04-300.1psaInitial version, split off from XEP-0136 per XMPP Council consensus.Standards418DNS Queries over XMPP (DoX)This specification defines an XMPP protocol extension for sending DNS queries and getting DNS responses over XML streams. Each DNS query-response pair is mapped into an IQ exchange.Standards TrackDeferredCouncildox2019-03-290.1.0XEP Editor (jsc)Accepted by vote of Council on 2019-03-13.Standards255Location QueryThis specification defines an XMPP protocol extension for querying a compliant server or service for information about the geographical or physical location of an entity.Standards TrackDeferredCouncil2018-11-030.6.1pepFix a bunch of typos, batch-style.Standards463MUC Affiliations VersioningThis specification provides a way to reduce the amount of queries necessary to stay up-to-date with affiliations in a MUC room.Standards TrackExperimentalCouncil2022-03-080.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-02-16.Standards203Delayed DeliveryThis specification defines an XMPP protocol extension for communicating the fact that an XML stanza has been delivered with a delay, for example because a message has been stored on a server while the intended recipient was offline or because a message is contained in the history of a multi-user chat room.Standards TrackFinalCouncildelay2009-09-152.0psaPer a vote of the XMPP Council, advanced specification from Draft to Final; also addressed a security concern about forged timestamps that was provided during the Call for Experience.Standards375XMPP Compliance Suites 2016This document defines XMPP protocol compliance levels for 2016.Standards TrackRetractedCouncilCS20162016-07-200.3sswDon't require both BOSH and Websockets.Standards378OTR DiscoveryThis document provides a mechanism by which OTR encryption support can be discovered in XMPP, without relying on OTRs protocol agnostic discovery mechanism.Standards TrackDeferredCouncilOTR-DISCO2017-09-110.1XEP Editor (jwi)Defer due to lack of activity.Standards419Improving Baseline Security in XMPPThis document describes a number of concrete and effective mechanisms for offering significant security enhancements to XMPP, with broad applicability.HumorousActiveEditorsecurity-theatre2019-04-011.0.0XEP Editor (jsc)Acceptance as XEP-0419; Light editing.Standards348Signing FormsThis specification describes a method whereby a client can sign a form using credentials not related to the current connection.Standards TrackDeferredCouncilsigning-forms2017-09-110.3XEP Editor (jwi)Defer due to lack of activity.Standards57Extended RosterThis document defines a way to handle extended roster items.Standards TrackRetractedCouncil2003-04-280.2psaChanged the status to Retracted at the request of the author, since the proposed protocol was incompatible with XMPP and clients have begun using jabber:iq:private for this kind of functionality.Standards311MUC Fast ReconnectThis document provides a protocol that can be used for limiting the amount of presence history needed when rejoining a MUC room.Standards TrackDeferredCouncilMFR2012-01-250.1psaVersion approved for publication by the XMPP Council.Standards133Service AdministrationThis document defines recommended best practices for service-level administration of servers and components using Ad-Hoc Commands.InformationalActiveCounciladmin2017-07-151.2XEP Editor: sswFix broken node value in example.Standards466Ephemeral MessagesThis specification encourages a shift in privacy settings wrt. logging policies.Standards TrackExperimentalCouncil2022-05-170.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-05-03.Standards451Stanza MultiplexingThis spec provides a mechanism for multiplexing multiple virtual hosts over a single XMPP session.Standards TrackExperimentalCouncilmux2021-01-190.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-12-09.Standards14Message ToneA proposal for including the sender's tone in messages.Standards TrackRejectedCouncil2002-01-160.2psaFirst release to CVS, including editorial changes and assignment of number.Standards219Hop CheckThis document defines an XMPP protocol extension that enables an entity to check the security of client-to-server and server-to-server hops between it and another entity. Note: This specification has been retracted by the author because the problem is not compelling and a real solution would be too complicated.Standards TrackRetractedCouncil2008-06-120.3psaRetracted by the author because the problem is not compelling and a real solution would be too complicated.Standards406Mediated Information eXchange (MIX): MIX AdministrationThis document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. This specification defines a framework for MIX administration and administration operations.Standards TrackDeferredCouncilMIX-ADMIN2022-03-220.3.1glFix reference to PubSub namespaceStandards346Form Discovery and PublishingThis specification describes a series of conventions that allow the management of form templates and publishing of completed forms.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards404Mediated Information eXchange (MIX): JID Hidden Channels.This document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. This specification extends MIX to provide a number of privacy control options and in particular JID Hidden Channels.Standards TrackDeferredCouncilMIX-ANON2020-12-010.3.1gh/@mathieuiVarious XML example cleanup and fixesStandards332HTTP over XMPP transportThis specification defines how XMPP can be used to transport HTTP communication over peer-to-peer networks.Standards TrackDeferredCouncil2020-03-310.5.1@sonnypFix spelling errorStandards2014-10-21162Best Practices for Roster and Subscription ManagementThis document specifies best practices for roster and subscription management in Jabber/XMPP clients.InformationalDeferredCouncil2020-06-250.2.1psFixed small typosStandards292vCard4 Over XMPPThis document specifies an XMPP extension for use of the vCard4 XML format in XMPP systems, with the intent of obsoleting the vcard-temp format.Standards TrackDeferredCouncil2020-06-080.11kaRecommend use of contact bare JIDs for item IDsStandards2019-02-19352Client State IndicationThis document defines a way for the client to indicate its active/inactive state.Standards TrackDraftCouncilcsi2020-10-141.0.0XEP Editor (jsc)Accepted as Draft as per Council vote from 2020-08-26.Standards2020-08-18104HTTP Scheme for URL DataThis document provides a schema description for detailed information about HTTP URLs.Standards TrackDeferredCouncil2020-12-300.3.1psAdd missing 'http:' prefix in example elementsStandards347Internet of Things - DiscoveryThis specification describes an architecture based on the XMPP protocol whereby Things can be installed and safely discovered by their owners and connected into networks of Things.Standards TrackDeferredCounciliot-discovery2018-11-030.5.1pepFix a bunch of typos, batch-style.Standards244IO DataThis specification defines an XMPP protocol extension for handling the input to and output from a remote entity.Standards TrackDeferredCouncil2008-06-180.1psaInitial published version.Standards25Jabber HTTP PollingThis document defines an XMPP protocol extension that enables access to a Jabber server from behind firewalls which do not allow outgoing sockets on port 5222, via HTTP requests.HistoricalObsoleteCouncilhttppoll2009-06-031.2psaPer a vote of the XMPP Council, changed status to Obsolete.Standards398User Avatar to vCard-Based Avatars ConversionThis specification describes a method for using PEP based avatars and vCard based avatars in parallel by having the user’s server do a conversion between the two.Standards TrackDeferredCouncilpep-vcard-conversion2018-08-270.2.1egpAdd missing article "the".Standards2020-02-26243XMPP Server Compliance 2009This document defines XMPP server compliance levels for 2009.Standards TrackObsoleteCouncil2008-09-081.0psaPer a vote of the XMPP Council, advanced specification to Draft.Standards361Zero Handshake Server to Server ProtocolThis specification defines an approach for a pair of servers to eliminate initial handshakes and associated data transfer when using the XMPP S2S Protocol. This approach may only be used with a priori agreement and configuration of the two servers involved. This is of significant benefit in high latency environments.InformationalDeferredCouncilX2X2017-09-110.3XEP Editor (jwi)Defer due to lack of activity.Standards124Bidirectional-streams Over Synchronous HTTP (BOSH)This specification defines a transport protocol that emulates the semantics of a long-lived, bidirectional TCP connection between two entities (such as a client and a server) by efficiently using multiple synchronous HTTP request/response pairs without requiring the use of frequent polling or chunked responses.Standards TrackDraftCouncilbosh2021-05-221.11.2mwFix incorrect attribute name in text (from vs. to)Standards186Invisible CommandThis document specifies an XMPP protocol extension for user invisibility.Standards TrackDeferredCouncilinvisible2018-12-060.14.0XEP Editor (jsc)Defer due to lack of activity.Standards2017-12-21437Room Activity IndicatorsThis specification describes a lightweight mechanism for activity notifications in MUCsStandards TrackDeferredCouncil2020-05-050.2.0XEP Editor (jsc)Assign urn:xmpp namespace instead of xmpp:prosody.im namespace (this was missed during acceptance)Standards29Definition of Jabber Identifiers (JIDs)Note well: this document was superseded by RFC 3920, which in turn has been superseded by RFC 6122. This document defines the exact nature of a Jabber Identifier (JID).Standards TrackRetractedCouncil2003-10-031.1psaChanged status to Retracted. This document is superseded by the XMPP Core memo defined by the IETF's XMPP Working Group.Standards369Mediated Information eXchange (MIX)This document defines Mediated Information eXchange (MIX), an XMPP protocol extension for the exchange of information among multiple users through a mediating service. The protocol can be used to provide human group communication and communication between non-human entities using channels, although with greater flexibility and extensibility than existing groupchat technologies such as Multi-User Chat (MUC). MIX uses Publish-Subscribe to provide flexible access and publication, and uses Message Archive Management (MAM) to provide storage and archiving.Standards TrackExperimentalCouncilMIX-CORE2020-12-010.14.6gh/@mathieuiFix minor typoStandards436MUC presence versioningThis specification defines a versioning mechanism which reduces the amount of presence traffic in a XEP-0045 MUCStandards TrackDeferredCouncilomnipresent-muc-affiliates2020-05-100.2.0jcbIncorporate feedback from the standards list +* Create a separate tag for sending the version number. +* Include a reset token. +* Remove the "Additional measures" section and merge parts into "Requirements". +* Mandate that presences are always sent for affiliated users.Standards54vcard-tempThis specification provides canonical documentation of the vCard-XML format currently in use within the Jabber community.HistoricalActiveCouncilvcard-temp2008-07-161.2psaMore fully specified error cases; added section on determining support.Standards379Pre-Authenticated Roster SubscriptionThis document defines a protocol and URI scheme for pre-authenticated roster links that allow a third party to automatically obtain the user's presence subscription. The goal of this is to make onboarding of new XMPP IM contacts as easy as possible.Standards TrackProposedCouncilpars2021-03-040.3.3mwCross-document editorial adjustments for inclusive language.Standards2021-10-20247Jingle XML StreamsThis specification defines a Jingle application type for establishing direct or mediated XML streams between two entities over any streaming transport. This technology thus enables two entities to establish a trusted connection for end-to-end encryption or for bypassing server limits on large volumes of XMPP traffic.Standards TrackDeferredCouncil2009-02-200.2dm/psaAdjusted text and examples to reflect Jingle-XTLS, Jingle-IBB, and Jingle-S5B; moved stream security to Jingle-XTLS; moved basic stream setup from XEP-0246 to this document; changed examples to use Jingle-IBB as the transport; clarified stream opening and closing as well as session termination.Standards206XMPP Over BOSHThis specification defines how the Bidirectional-streams Over Synchronous HTTP (BOSH) technology can be used to transport XMPP stanzas. The result is an HTTP binding for XMPP communications that is useful in situations where a device or client is unable to maintain a long-lived TCP connection to an XMPP server.Standards TrackDraftCouncilxbosh2014-04-091.4ls/wtIncorporated patches from community review.Standards181Jingle DTMFThis specification defines an XML format for encapsulating Dual Tone Multi-Frequency (DTMF) events in informational messages sent within the context of Jingle audio sessions, e.g. to be used in the context of Interactive Voice Response (IVR) systems. Note well that this format is not to be used in the context of RTP sessions, where native RTP methods are to be used instead.Standards TrackDeferredCouncil2009-10-020.12psaCorrected definitions and schema to make it clear that the code attribute contains one and only one character representing a DTMF tone.Standards282DMUC2: Distributed MUCMulti-User Chats, distributed over several nodes in the XMPP network, using a primary/replica architectureStandards TrackDeferredCouncil2021-03-040.1.1mwCross-document editorial adjustments for inclusive language.Standards261Jingle In-Band Bytestreams Transport MethodThis specification defines a Jingle transport method that results in sending data via the In-Band Bytestreams (IBB) protocol defined in XEP-0047. Essentially this transport method reuses XEP-0047 semantics for sending the data and defines native Jingle methods for starting and ending an IBB session.Standards TrackDraftCounciljingle-ibb2011-09-231.0psaPer a vote of the XMPP Council, advanced specification from Experimental to Draft.Standards70Verifying HTTP Requests via XMPPThis specification defines an XMPP protocol extension that enables verification of an HTTP request via XMPP.Standards TrackDraftCouncilhttp-auth2016-12-091.0.1mp (XEP Editor: ssw)Mention a plaintext fallback.Standards327RayoThis specification defines an XMPP protocol extension for the third-party control of telephone calls and other similar media sessions. The protocol includes support for session management/signaling, as well as advanced media resources such as speech recognizers, speech synthesizers and audio/video recorders. The protocol serves a different purpose from that of first-party protocols such as Jingle or SIP, and is compatible with those protocols.Standards TrackDeferredCouncil2018-11-030.8.1pepFix a bunch of typos, batch-style.Standards271XMPP NodesThis specification more clearly defines the nature of nodes as used in the Service Discovery and Publish-Subscribe extensions to the Extensible Messaging and Presence Protocol (XMPP).InformationalDeferredCouncil2009-06-260.1psaInitial published version; per Council discussion changed local to localpart.Standards290Encapsulated Digital Signatures in XMPPThis document provides a technical specification for Encapsulated Digital Signatures in the Extensible Messaging and Presence Protocol (XMPP).Standards TrackDeferredCouncil2011-01-280.2kdzMerge manifest and schema-desc objects.Standards269Jingle Early MediaThis specification describes methods for exchanging early media in the context of Jingle RTP sessions.Standards TrackDeferredCouncil2009-05-190.1dc/psaInitial version, copied from XEP-0167.Standards22Message EventsThis document defines an XMPP protocol extension used to request and respond to events relating to the delivery, display, and composition of messages. Note: This specification has been obsoleted in favor of XEP-0085 and XEP-0184.HistoricalObsoleteCouncilx-event2009-05-271.4psaPer a vote of the XMPP Council, changed status to Obsolete.Standards237Roster VersioningThis specification defines a proposed modification to the XMPP roster protocol that enables versioning of rosters such that the server will not send the roster to the client if the roster has not been modified, thus saving bandwidth during session establishment.Standards TrackObsoleteCouncil2012-02-081.3psaPer a vote of the XMPP Council, changed status to Obsolete since roster versioning was folded into RFC 6121.Standards16Privacy ListsThis specification defines an XMPP protocol extension for enabling or disabling communication with other entities on a network. The protocol, which was first standardized in Section 10 of RFC 3921, can be used to block communication with unknown or undesirable entities. Blocking can be based on Jabber Identifier, subscription state, or roster group. The blocked stanzas can be messages, IQs, inbound or outbound presence stanzas, or all stanzas. The protocol also enables an entity to create, modify, or delete its privacy lists, apply different lists to different connected resources, define a default list, and decline the use of any privacy list during a particular communications session.Standards TrackDeprecatedCouncilprivacy2017-05-201.7XEP Editor: sswDeprecating by vote of the council.Standards121Dublin Core Infobits MappingNOTE: This proposal was retracted by the author on 2004-02-19.InformationalRetractedCouncil2003-12-150.6psaConfined proposal to Dublin Core only.Standards438Best practices for password hashing and storageThis document outlines best practices for handling user passwords on the public Jabber network for both clients and servers.InformationalExperimentalCouncilpasswords2020-10-300.2.0sswUpdate to match draft-ietf-kitten-password-storage-01.Standards43Jabber Database AccessExpose RDBM systems directly to the jabber networkStandards TrackRetractedCouncil2003-10-200.2psaAt the request of the author, changed status to Retracted.Standards424Message RetractionThis specification defines a method for indicating that a message should be retracted.Standards TrackProposedCouncilmessage-retract2020-05-170.3.0jcb* Clarify when a service must advertise support via disco. +* Add another service discovery URN for tombstones.Standards2022-01-04234Jingle File TransferThis specification defines a Jingle application type for transferring a file from one entity to another. The protocol provides a modular framework that enables the exchange of information about the file to be transferred as well as the negotiation of parameters such as the transport to be used.Standards TrackDeferredCounciljingle-ft2019-06-190.19.1ri0nFix use of hash elements from XEP—0300.Standards2017-12-12337Event Logging over XMPPThis specification provides a common framework for sending events to event logs over XMPP networks.Standards TrackDeferredCouncileventlogging2017-09-110.3XEP Editor (jwi)Defer due to lack of activity.Standards364Current Off-the-Record Messaging UsageThis document outlines the current usage of Off-the-Record messaging in XMPP, its drawbacks, its strengths, and recommendations for improving the end user experience.InformationalDeferredCouncil2019-08-200.3.2jublahFix broken link to Daniels articleStandards62Packet FilteringA framework for packet filtering rules.InformationalDeferredCouncil2021-03-040.2.2mwCross-document editorial adjustments for inclusive language.Standards51Connection TransferThis specification defines an XMPP protocol extension that enables a server to redirect connections from one connection manager or server node to another.Standards TrackObsoleteCouncil2022-03-080.2.1egpObsolete because this feature has been merged into XMPP core, see RFC6120 section 4.9.3.19, which describes the <see-other-host/> stream error.Standards55Jabber SearchThis specification provides canonical documentation of the jabber:iq:search namespace currently in use within the Jabber community.HistoricalActiveCounciliq-search2009-09-151.3psaClarified that <first/> and <last/> elements in fact always represent given name and family name, respectively.Standards388Extensible SASL ProfileThis document describes a replacement for the SASL profile documented in RFC 6120 which allows for greater extensibility.Standards TrackDeferredCouncilsasl22018-10-010.3.0XEP Editor (jsc)Defer due to lack of activity.Standards420Stanza Content EncryptionThe Stanza Content Encryption (SCE) protocol is intended as a way to allow clients to securely exchange arbitrary extension elements using different end-to-end encryption schemes.Standards TrackExperimentalCouncilSCE2021-11-180.4.1melvoClarify bare JID usage and improve sentences: +* Clarify usage of bare JIDs for affix elements +* Improve and correct sentences about affix elementsStandards177Jingle Raw UDP Transport MethodThis specification defines a Jingle transport method that results in sending media data using raw datagram associations via the User Datagram Protocol (UDP). This simple transport method does not provide NAT traversal, and the ICE-UDP transport method should be used if NAT traversal is required.Standards TrackDraftCounciljingle-raw-udp2020-12-101.1.1egpMade type optional in the schema (it’s a MAY in section 4.2), unlike in XEP-0176.Standards187Offline Encrypted SessionsThis document specifies an end-to-end encryption protocol for offline XMPP communication sessions.Standards TrackDeferredCouncil2007-05-300.5ip/psaAdded reference to Requirements for Encrypted Sessions; modified namespaces to reflect XMPP Registrar procedures regarding URN issuance.Standards101HTTP Authentication using Jabber TicketsThis document defines a protocol for authenticating HTTP requests using Jabber Tickets.Standards TrackDeferredCouncil2018-11-030.2.1pepFix a bunch of typos, batch-style.Standards260Jingle SOCKS5 Bytestreams Transport MethodThis specification defines a Jingle transport method that results in sending data via the SOCKS5 Bytestreams (S5B) protocol defined in XEP-0065. Essentially this transport method reuses XEP-0065 semantics for sending the data and defines native Jingle methods for starting and ending an S5B session.Standards TrackDraftCounciljingle-s5b2018-05-151.0.3fsReplace broken link using archive.orgStandards431Full Text Search in MAMThis specification proposes a field in the MAM form for full text searching.Standards TrackDeferredCouncilfulltextmam2020-01-290.2.0dwd* No More Beer +* Quasi-normative language around syntactic implementationStandards281DMUC1: Distributed Multi-User ChatThis document defines methods for distributing Multi-User Chat (MUC) rooms across multiple chat services.Standards TrackRetractedCouncil2010-07-200.2psaAdded protocol flows for finding and joining shadow rooms, thus removing dependency on communication with firsthost; changed examples to mimic XEP-0045.Standards457Message FancyingThis specification defines a Unicode-formatted fancy text syntax for use in instant messages.HumorousActiveEditorfancying2021-04-011.0.0XEP Editor (jsc)Initial published version.None150Use of Entity Tags in XMPP ExtensionsThis document defines best practices for the use of Entity Tags in XMPP extensions.InformationalDeferredCouncil2005-08-090.2psaAdded security considerations.Standards426Character counting in message bodiesThis document describes how to correctly count characters in message bodies. This is required when referencing a position in the body.InformationalDeferredCouncilcharcount2020-01-020.2.0mwInclude feedback/clarifications from list.Standards370Jingle HTTP Transport MethodThis specification defines two Jingle transport methods for establishing HTTP connections for either uploading or downloading data.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards240Auto-Discovery of JabberIDsThis specification defines a recommended best practice for linking to JabberIDs from documents hosted on the World Wide Web.Standards TrackDeferredCouncil2008-04-300.1psaInitial published version.Standards188Cryptographic Design of Encrypted SessionsThis document describes the cryptographic design that underpins the XMPP protocol extensions Encrypted Session Negotiation, Offline Encrypted Sessions and Stanza Encryption.InformationalDeferredCouncil2007-05-300.6ipSIGMA-R negotiates both isPKA and isPKB fieldsStandards245The /me CommandThis specification defines recommended handling of the /me command in XMPP instant messaging clients.InformationalActiveCouncil2009-01-211.0psaPer a vote of the XMPP Council, advanced specification to Active and changed type from Historical to Informational.Standards350Data Forms Geolocation ElementThis specification defines an XMPP protocol extension for including geolocation data in XEP-0004 data forms.Standards TrackDeferredCouncilgeolocation-element2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards5Jabber Interest GroupsThis is the official list and summary information of the Jabber Interest Groups.InformationalObsoleteCouncil2002-05-081.1psaChanged Status to Obsolete per approval of XEP-0019.None214File Repository and SharingWhile a protocol has been described for initiating a file transfer from one user to another, there is not yet a defined way for users to designate a set of files as available for retrieval by other users of their choosing. This extension defines a common syntax for this purpose which is based on PubSub Collections.Standards TrackDeferredCouncil2022-03-220.3.1glFix incorrect reference to sipub namespace.Standards115Entity CapabilitiesThis document defines an XMPP protocol extension for broadcasting and dynamically discovering client, device, or generic entity capabilities. In order to minimize network impact, the transport mechanism is standard XMPP presence broadcast (thus forestalling the need for polling related to service discovery data), the capabilities information can be cached either within a session or across sessions, and the format has been kept as small as possible.Standards TrackDraftCouncilcaps2022-03-081.6.0sswMention preimage attacks explicitlyStandards357Push NotificationsThis specification defines a way for an XMPP servers to deliver information for use in push notifications to mobile and other devices.Standards TrackDeferredCouncilpush2020-02-110.4.1@sonnypFix document-internal linkStandards2020-04-15100Gateway InteractionThis document specifies best practices for interactions between Jabber clients and client proxy gateways to legacy IM services.InformationalActiveCouncilgateway2005-10-051.0psaPer a vote of the Jabber Council, advanced status to Active.Standards326Internet of Things - ConcentratorsNote: This specification has been retracted by the author; new implementations are not recommended. This specification describes how to manage and get information from concentrators of devices over XMPP networks.Standards TrackRetractedCouncilsensor-network-concentrators2017-05-200.4XEP Editor: sswMark XEP as retracted by the author.Standards382Spoiler messagesThis specification defines an XMPP protocol extension that provides a method for indicating a message is a spoiler and should be displayed as such.Standards TrackDeferredCouncilspoilers2018-01-250.2.0XEP Editor (jwi)Defer due to lack of activity.Standards274Design Considerations for Digital Signatures in XMPPThis document discusses considerations for the design of Digital Signatures in XMPP, including use cases and requirements. The document also discusses various ways XML Digital Signatures could be used in XMPP.InformationalDeferredCouncil2018-11-030.4.1pepFix a bunch of typos, batch-style.Standards460Pubsub Caching HintsThis specification provides a way to get caching information from a Pubsub nodeStandards TrackExperimentalCouncilpubsub-caching2021-08-100.1.0XEP Editor (jsc)Accepted by vote of Council on 2021-07-21.Standards141Data Forms LayoutThis specification defines a backwards-compatible extension to the XMPP Data Forms protocol that enables an application to specify form layouts, including the layout of form fields, sections within pages, and subsections within sections.Standards TrackDraftCouncilxdata-layout2005-05-121.0psaPer a vote of the Jabber Council, advanced status to Draft.Standards231Bits of BinaryThis specification defines an XMPP protocol extension for including or referring to small bits of binary data in an XML stanza.Standards TrackDraftCouncilbob2022-07-251.1sswMention where to get textual names of hash functions.Standards111A Transport for Initiating and Negotiating Sessions (TINS)This document defined a SIP-compatible transport for initiating and negotiating sessions using SDP over XMPP.Standards TrackRetractedCounciltins2005-12-210.8psa/jjhRetracted in favor of Jingle (XEP-0166).Standards380Explicit Message EncryptionThis specification provides a way to mark encrypted messages so the recipient can discover how to decrypt it.Standards TrackDeferredCouncilEME2021-11-180.4.0melvoAdd new OMEMO namespaces: +* Add 'urn:xmpp:omemo:1' for OMEMO versions since 0.4.0 +* Add 'urn:xmpp:omemo:2' for OMEMO versions since 0.8.0Standards242XMPP Client Compliance 2009This document defines XMPP client compliance levels for 2009.Standards TrackObsoleteCouncil2008-09-081.0psaPer a vote of the XMPP Council, advanced specification to Draft.Standards112User Physical LocationThis document defines a protocol for communicating information about the current physical location of a Jabber entity. NOTE WELL: The protocol defined herein has been folded into XEP-0080.Standards TrackObsoleteCouncilphysloc2004-10-121.0psaPer a vote of the Jabber Council, advanced status to Draft.Standards291Service DelegationThis specification defines an approach for users to delegate certain services (e.g. pubsub) to alternative JIDs.Standards TrackDeferredCouncil2011-01-260.1psaInitial published version.Standards21Jabber Event Notification Service (ENS)A generic publish-and-subscribe service for Jabber.Standards TrackRetractedCouncil2003-04-220.2psaAt the request of the author, the status of this document has been changed to Retracted since it has been superseded by XEP-0060.Standards64XPath FilteringA module that provides an XPath matching condition for packet filtering.InformationalDeferredCouncil2003-09-300.2psaAt the request of the author, changed the status of this document to Deferred pending development of an implementation; also changed the type to Informational.Standards151Virtual PresenceThis document proposes extensions to the Jabber groupchat protocol for virtual presence on Web pages.Standards TrackDeferredCouncil2005-07-050.2hwSimplified VPI file and rule syntax, basically omitting the rule/search/replace tags.Standards189Public Key PublishingThis specification defines a method by which an entity can publish its public keys over XMPP.Standards TrackDeferredCouncil2010-07-150.14psaDefined an RSA-specific child element of the pubkey element to contain the modulus, public exponent, and fingerprint directly (rather than a DER-encoded format that depends on ASN.1); specified that the public exponent should be 65537; clarified the fingerprint generation method and updated all of the fingerprint formats to enable hash agility; incremented namespaces from version 1 to version 2.Standards304Whitespace Keepalive NegotiationThis specification defines a method for negotiating how to send keepalives in XMPP.Standards TrackDeferredCouncil2011-08-180.1psaInitial published version.Standards135File SharingThis document specifies a simple extension to existing protocols for file sharing over Jabber/XMPP.Standards TrackDeferredCouncilfiles2004-06-040.1psaInitial version.Standards7Conferencing SIGA proposal for a Jabber Interest Group that will discuss the protocol for implementing many-to-many communications.SIG ProposalObsoleteBoard2002-05-081.1psaChanged Status to Obsolete per approval of XEP-0019.Conferencing172User NicknameThis specification defines a protocol for communicating user nicknames, either in XMPP presence subscription requests or in XMPP messages.Standards TrackDraftCouncilnick2012-03-211.1psaBased on implementation and deployment experience, discouraged use in Multi-User Chat; also removed text about Waiting Lists because of lack of deployment.Standards366Entity VersioningA method by which lists of items may be versioned so that servers will not need to send the entire list if it has not been modified, saving bandwidth and time with minimal state being stored by the server and client.Standards TrackDeferredCouncilEV2016-12-210.1.2sswSpelling, tone, and grammar.Standards450Automatic Trust Management (ATM)This document specifies a way to automatically manage the trust in public long-term keys used by end-to-end encryption protocols.Standards TrackExperimentalCouncilATM2021-10-040.4.0melvoUpdate to XEP-0434 version 0.6.0 and XEP-0384 version 0.8.0: +* Use Base64-encoded key identifiers in examples +* Update TM's namespace to 'urn:xmpp:tm:1' +* Update OMEMO's namespace to 'urn:xmpp:omemo:2'Standards343Signaling WebRTC datachannels in JingleThis specification defines how to use the ICE-UDP Jingle transport method to send media data using WebRTC DataChannels, so technically uses DTLS/SCTP on top of the Interactive Connectivity Establishment (ICE) methodology, which provides robust NAT traversal for media traffic.Standards TrackDeferredCounciljingle-webrtc-datachannels2020-03-200.3.1ri0nFix attribute name (xmlns) in exampleStandards340COnferences with LIghtweight BRIdging (COLIBRI)This specification defines an XMPP extension that allows real-time communications clients to discover and interact with conference bridges that provide conference mixing or relaying capabilities.Standards TrackDeferredCouncilcolibri2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards285Encapsulating Digital Signatures in XMPPThis document provides a technical specification for Encapsulating Digital Signatures in the Extensible Messaging and Presence Protocol (XMPP).Standards TrackDeferredCouncil2011-01-120.3kdzChange title, and clarify in text, that this is an encapulating digital + signature approach, an alternative to the encapulated digitial signatures proposal.Standards355Namespace DelegationThis specification provides a way for XMPP server to delegate treatments for a namespace to an other entityStandards TrackExperimentalCouncil2021-10-150.5jp* delegation of +* delegation of +* about disco requests +* namespace bump +* typosStandards72SOAP Over XMPPThis specification defines methods for transporting SOAP messages over XMPP. Although the protocol supports only the request-response message exchange pattern, the protocol is formally defined as a SOAP Protocol Binding in accordance with version 1.2 of the W3C SOAP specification. In addition, a WSDL definition is defined for the purpose of advertising the availability of this protocol binding.Standards TrackDraftCouncilsoap2022-03-221.0.1glFix incorrect reference to sipub namespace.Standards63Basic Filtering OperationsA module that provides basic conditions and actions for packet filtering.InformationalDeferredCouncil2003-09-300.2psaAt the request of the author, changed the status of this document to Deferred pending development of an implementation; also changed the type to Informational.Standards194User ChattingThis specification defines an XMPP protocol extension for communicating information about the chatrooms a user visits.Standards TrackDeferredCouncil2008-09-250.3psaModified namespace in accordance with protocol versioning policies.Standards97iCal EnvelopeA simple mechanism to transport iCal data over the jabber protocolStandards TrackDeferredCouncilice2003-06-100.1jkInitial draft (jk).Standards92Software VersionThis specification defines an XMPP protocol extension for retrieving information about the software application associated with an XMPP entity. The protocol enables one entity to explicitly query another entity, where the response can include the name of the software application, the version of the software application, and the operating system on which the application is running.Standards TrackDraftCounciliq-version2007-02-151.1psaPer a vote of the XMPP Council, changed from Historical and Active to Standards Track and Draft; recommended use of Entity Capabilities instead of Software Version when presence information is available; added proviso to security considerations regarding disclosure of operating system information; added section on Service Discovery.Standards52File TransferA protocol for transferring a file between two Jabber IDs.Standards TrackRetractedCouncil2018-11-030.2.1pepFix a bunch of typos, batch-style.Standards66Out of Band DataThis specification defines two XMPP protocol extensions for communicating URIs, one for use in XMPP message stanzas and the other for use in a structured request-response interaction via XMPP IQ stanzas. Among other things, this enables one entity to inform another entity about a file that is available at an HTTP URL.Standards TrackDraftCounciloob2006-08-161.5psaPer a vote of the Jabber Council, converted to Standards Track.Standards299Codecs for Jingle VideoThis document describes implementation considerations related to video codecs for use in Jingle RTP sessions.Standards TrackDeferredCouncil2011-06-120.1psaInitial published version, split from XEP-0266.Standards429Special Interests Group End to End EncryptionThis document proposes the formation of a Special Interest Group (SIG) within the XSF devoted to the development of end-to-end encryption within the context of XMPP.ProceduralActiveCouncilSIG-E2EE2021-08-101.1.0mwAdd discussion venue after creation by the Infrastructure Team.None2020-12-15107User MoodThis specification defines a payload format for communicating information about user moods, such as whether a person is currently happy, sad, angy, or annoyed. The payload format is typically transported using the personal eventing protocol, a profile of XMPP publish-subscribe specified in XEP-0163.Standards TrackDraftCouncilmood2018-03-131.2.1egpChanged the namespace of an example of proprietary extensibility.Standards95Stream InitiationThis specification defines an XMPP protocol extension for initiating a data stream between any two XMPP entities. The protocol includes the ability to include metadata about the stream and provides a pluggable framework so that various profiles of stream initiation can be defined for particular use cases (such as file transfer).Standards TrackDeprecatedCouncilsi2017-11-291.2XEP Editor (ssw)Deprecated by vote of the council.Standards302XMPP Compliance Suites 2012This document defines XMPP protocol compliance levels for 2012.Standards TrackObsoleteCouncil2011-07-210.1psaInitial published version.Standards409IM Routing-NGThis specification provides a new set of routing rules for modern instant messaging.Standards TrackDeferredCouncilIM-NG2018-06-050.1.0XEP Editor (jwi)Accepted by vote of Council on 2018-04-11.Standards61Shared NotesA simplistic mechanism for shared notes, modeled after common stickie note applications.InformationalDeferredCouncil2003-09-300.2psaAt the request of the author, changed the status of this document to Deferred pending development of an implementation; also changed the type to Informational.Standards232Software InformationThis document specifies an extended data format whereby XMPP service discovery responses can include detailed information about the software application that powers a given XMPP entity for includion in service discovery responses.Standards TrackDeferredCouncil2009-02-260.3psaPer Last Call feedback, removed icons for presence states; redefined the icon field to use media element per XEP-0221.Standards120InfobitsNOTE: This proposal was retracted by the author on 2004-02-19.Standards TrackRetractedCouncilinfobits2004-01-220.5psaClarified rationale for not using namespaces; added bundles; added dataype attribute for <bit/> elements; added Matt Miller as co-author.Standards267Server BuddiesThis specification defines a convention for presence subscriptions between XMPP servers.Standards TrackDeferredCouncil2012-05-290.5psaCorrected several examples and points in the text.Standards447Stateless file sharingThis specification describes a protocol for stateless asynchronous file sharing with integrity and transport flexibility. It allows clients to provide a good interoperable user experience in combination with Carbons and MAM.Standards TrackExperimentalCouncilsfs2022-08-030.2.0lmwAdd disposition attribute to signal when inlining is desired.Standards230Service Discovery NotificationsThis specification defines a method for requesting and receiving notifications regarding XMPP service discovery items.Standards TrackDeferredCouncil2018-09-080.1.2fsAdd forgotten node attribute in example 2.Standards49Private XML StorageThis specification provides canonical documentation of the 'jabber:iq:private' namespace currently in common usage.HistoricalActiveCounciliq-private2004-03-011.2psaCorrected several errors in the text; specified security considerations.Standards210Requirements for Encrypted SessionsThis document describes the requirements for an XMPP end-to-end encrypted session protocol.Standards TrackDeferredCouncil2007-05-300.2ipClarified introduction.Standards248PubSub Collection NodesThis specification defines the nature and handling of collection nodes in the XMPP publish-subscribe extension.Standards TrackDeferredCouncil2021-08-030.3.0rmRevert change from version 0.2.1 which changed meta-data to metadata in wire protocol. That was an unintended breaking change which has now been reverted.Standards129WebDAV File TransfersThis document specifies a method for completing file transfers between XMPP entities using WebDAV.Standards TrackDeferredCouncil2007-04-190.3psaCorrected to reflect changes to XEP-0070; incorporated WedDAV feedback.Standards119Extended Presence Protocol SuiteThis document specifies a set of XMPP extensions that provide support for extended presence information.Standards TrackRetractedCouncil2006-08-080.8psaRetracted: superseded by Personal Eventing via Pubsub (XEP-0163).Standards324Internet of Things - ProvisioningNote: This specification has been retracted by the author; new implementations are not recommended. This specification describes an architecture for efficient provisioning of services, access rights and user privileges in for the Internet of Things, where communication between Things is done using the XMPP protocol.Standards TrackRetractedCouncilsensor-network-provisioning2021-03-040.5.1mwCross-document editorial adjustments for inclusive language.Standards42Jabber OOB Broadcast Service (JOBS)A protocol for enabling uni-directional multicast data transfers out of band.Standards TrackRetractedCouncilJOBS2003-04-110.5psaAt the request of the author, changed status to Retracted.Standards283MovedThis document defines an XMPP protocol extension that enables a user to inform its contacts about a change in JID.Standards TrackExperimentalCouncilmoved2021-07-200.2.0mwRe-write the flow with a more focused approach.Standards444Message ReactionsThis specification defines a way for adding reactions to a message.Standards TrackExperimentalCouncilreactions2020-10-130.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-10-07.Standards127Common Alerting Protocol (CAP) Over XMPPThis document specifies a method for sending Common Alerting Protocol (CAP) data over XMPP.InformationalActiveCouncil2004-12-091.0psaPer a vote of the Jabber Council, advanced status to Active.Standards143Guidelines for Authors of XMPP Extension ProtocolsThis document provides information intended to assist authors of XMPP Extension Protocols.ProceduralActiveCouncil2016-12-021.1.2psaReflect preference for GitHub pull requests to maintain existing XEPs; update terminology to refer to XMPP Extensions Editor team.Standards265Out-of-Band Stream DataThis specification defines how to send parts of an XML stream over a direct connection between peers. This allows to send large stanzas or binary data without blocking the XML stream for other stanzas.Standards TrackDeferredCouncil2009-04-020.1psaInitial published version.Standards27Current Jabber OpenPGP UsageThis document outlines the current usage of OpenPGP for messaging and presence.HistoricalObsoleteCouncilopenpgp2014-03-141.4editor (mam)Per a vote of the XMPP Council, changed status from Active to Deprecated to Obsolete.Standards48BookmarksThis specification defines an XML data format for use by XMPP clients in storing bookmarks to mult-user chatrooms and web pages. The chatroom bookmarking function includes the ability to auto-join rooms on login.Standards TrackDeprecatedCouncilbookmarks2020-08-041.2XEP Editor (jsc)Deprecate in favour of XEP-0402Standards193Proposed Resource Binding ImprovementsThis document proposes improvements to the definition of resource binding for inclusion in the specification that supersedes RFC 3920.Standards TrackObsoleteCouncil2012-02-081.2psaPer a vote of the XMPP Council, changed status from Deprecated to Obsolete.Standards356Privileged EntityThis specification provides a way for XMPP entities to have a privileged access to some other entities dataStandards TrackExperimentalCouncil2022-04-010.4jp* Add "iq" privilege (necessary to implement XEPs such as ). +* Roster pushes are now transmitted to privileged entity with "roster" permission of "get" or "both". This can be disabled. +* Reformulate to specify than only initial stanza and "unavailable" stanzas are transmitted with "presence" pemission. +* Namespace bump.Standards108User ActivityThis specification defines a payload format for communicating information about user activities, such as whether a person is currently working, travelling, or relaxing. The payload format is typically transported using the personal eventing protocol, a profile of XMPP publish-subscribe specified in XEP-0163.Standards TrackDraftCouncilactivity2008-10-291.3psaAllowed empty activity element to signify a pause in publishing; added undefined element to handle any unspecified activity; also added more activities: dancing, fishing, hiding, praying, smoking, thinking.Standards183Jingle Telepathy TransportThis document defines a telepathic transport method for establishing Extra-Sensory Perception (ESP) streams.HumorousActiveCounciltelepathy2006-04-011.0psaApril Fools!Standards35SSL/TLS IntegrationNOTE WELL: this specification was retracted on 2003-11-05 since the topic is addressed definitively in XMPP Core. Please refer to XMPP Core for further information.Standards TrackRetractedCouncil2003-11-050.2psaThe status of this specification has been changed to Retracted since it has been superseded by XMPP Core.Standards263ECO-XMPPThis specification defines best practices and protocol modifications that will reduce the energy consumption of XMPP systems and thereby help to save the planet.HumorousActiveCouncileco-xmpp2009-04-011.0psa/ffApril Fools!Standards329File Information SharingThis document specifies a simple extension to existing protocols that allows an entity to request information about files.Standards TrackDeferredCouncilfis2020-06-140.4.1fsFix example 7, remove superfluous 'node' attributeStandards88Client WebtabsA protocol for displaying web-based tabs in clients.InformationalDeferredCouncilwebtab2004-03-140.4redAdded Terminology section and associated alterations and added clarification about what the webtabs are.Standards34SASL IntegrationNOTE WELL: this specification was retracted on 2003-11-05 since the topic is addressed definitively in XMPP Core. Please refer to XMPP Core for further information.Standards TrackRetractedCouncil2003-11-051.1psaThe status of this specification has been changed to Retracted since it has been superseded by XMPP Core.Standards84User AvatarThis document defines an XMPP protocol extension for exchanging user avatars, which are small images or icons associated with human users. The protocol specifies payload formats for both avatar metadata and the image data itself. The payload formats are typically transported using the personal eventing profile of XMPP publish-subscribe as specified in XEP-0163.Standards TrackDraftCouncilavatar2019-09-201.1.4egpUse xs:unsignedInt for bytes, the previous revision introduced xs:unsignedInteger which isn’t a valid XML Schema data type.Standards407Mediated Information eXchange (MIX): Miscellaneous CapabilitiesThis document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. It specifies a number of independent optional capabilities that MAY be used with MIX.Standards TrackDeferredCouncilMIX-MISC2020-11-030.1.2gh/@melvoFix various typosStandards41Reliable Entity LinkProtocol for linking a bytestream between two Jabber entities.Standards TrackRetractedCouncilrel2003-09-300.2psaAt the request of the author, the status of this specification has been changed to Retracted since it has been superseded by XEP-0065.Standards392Consistent Color GenerationThis specification provides a set of algorithms to consistently generate colors given a string. The string can be a nickname, a JID or any other piece of information. All entities adhering to this specification generate the same color for the same string, which provides a consistent user experience across platforms.Standards TrackExperimentalCouncilcolors2021-10-260.8.0jscRemove Color Vision Deficiency correction algorithms and substitute + them with a better recommendation.Standards31A Framework For Securing Jabber ConversationsAlthough the value and utility of contemporary instant messaging systems, like Jabber, are now indisputable, current security features to protect message data are generally inadequate for many deployments; this is particularly true in security conscious environments like large, commercial enterprises and government agencies. These current features suffer from issues of scalability, usability, and supported features. Furthermore, there is a lack of standardization. We present a protocol to allow communities of Jabber users to apply cryptographic protection to selected conversation data.Standards TrackDeferredCouncil2002-07-090.2PCL +updated to reflect group consensus to incorporate XML Encryption, as well +as other group comments from Draft 0.9. +Standards342Rayo FaxThis specification defines an extension to the Rayo protocol (XEP-0327) to provide provision for sending and receiving faxcimilies via a call under the control of a Rayo client.Standards TrackDeferredCouncil2018-11-030.3.1pepFix a bunch of typos, batch-style.Standards439Quick ResponseQuickly respond to automated messages.Standards TrackDeferredCouncil2020-05-050.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-04-22.Standards74Simple Access ControlA simple protocol for querying information for permissions.Standards TrackRetractedCouncilsac2003-10-200.2psaAt the request of the author, changed status to Retracted.Standards168Resource Application PriorityThis document defines an XMPP protocol extension to indicate the presence priority of XMPP resources for applications other than standard XMPP messaging.Standards TrackDeferredCouncil2008-09-260.7psa* More clearly defined the meaning of "application type". +* Modified namespaces to incorporate namespace versioning.Standards367Message AttachingThis specification defines a method for indicating that a message contains content which describes an earlier message in the conversation and should be grouped with the earlier message.Standards TrackDeferredCouncilmessage-attaching2018-08-180.3mwUpdate to use unique stanza ids.Standards385Stateless Inline Media Sharing (SIMS)This specification describes a protocol for stateless asynchronous media sharing with integrity and transport flexibility. It allows clients to provide a good interoperable user experience in combination with Carbons and MAM.Standards TrackDeferredCouncilsims2018-01-250.2.1vvFix reference to XEP-0234.Standards428Fallback IndicationThis specification proposes a mechanism by which message bodies can be marked as being purely for fallback purposes, and therefore to be ignored by intermediaries and anything that understands the remainder of the message.Standards TrackDeferredCouncilfallback2020-03-030.1.1psMinor editorial fixesStandards207XMPP Eventing via PubsubThis document specifies semantics for using the XMPP publish-subscribe protocol to handle generic XMPP events (including presence, one-to-one messaging, and groupchat).HumorousActiveCouncil2007-04-011.0psaApril Fools!Standards JIG235OAuth Over XMPPThis specification defines an XMPP extension for delegating access to protected resources over XMPP, using the OAuth protocol.Standards TrackDeferredCouncil2009-03-240.7psaChanged protocol namespace from urn:xmpp:tmp:oauth to urn:xmpp:oauth:0 to conform to XMPP Registrar policies; clarified protocol flow and error handling; corrected examples.Standards105Tree Transfer Stream Initiation ProfileA profile describing metadata for transferring trees of files using stream inititation.Standards TrackDeferredCouncilsi-treetransfer2018-11-030.3.1pepFix a bunch of typos, batch-style.Standards30Service DiscoveryThis specification defines an XMPP protocol extension for discovering information about other XMPP entities. Two kinds of information can be discovered: (1) the identity and capabilities of an entity, including the protocols and features it supports; and (2) the items associated with an entity, such as the list of rooms hosted at a multi-user chat service.Standards TrackFinalCouncildisco2017-10-032.5rc3thXML schema modified so that no ordering is required between disco#info children.Standards300Use of Cryptographic Hash Functions in XMPPThis document provides a common wire format for the transport of cryptographic hash function references and hash function values in XMPP protocol extensions.Standards TrackDraftCouncilhashes2019-11-131.0.0mbAdvance to Draft as per 2019-09-19 Council voteStandards159Spim-Blocking ControlThis document defines an XMPP protocol extension that enables clients to control how their servers may block spim that is addressed to them. It specifies a default privacy list fall-through action.Standards TrackDeferredCouncil2006-07-110.3psaUpdated to reflect move of privacy rules to XEP-0016; modified provisional namespaces to adhere to XMPP Registrar policies; completed editorial review.Standards47In-Band BytestreamsThis specification defines an XMPP protocol extension that enables any two entities to establish a one-to-one bytestream between themselves, where the data is broken down into smaller chunks and transported in-band over XMPP.Standards TrackFinalCouncilibb2021-01-122.0.1swFix incorrect max sequence number in the text; it was given as one less than two to the power of 15, but in reality it is one less than two to the power of 16, which is clear from the context).Standards394Message MarkupThis specification provides an alternative to XHTML-IM with rigid separation of content and markup information, improving the resilience against spoofing and injection attacks.Standards TrackDeferredCouncilmarkup2019-01-050.2.1kksAdopt deferred XEP.Standards256Last Activity in PresenceThis specification defines a way to use the Last Activity extension in XMPP presence notifications.Standards TrackDeprecatedCouncil2009-09-151.1psaAdded use case for initial presence.Standards351Recipient Server Side Notifications FilteringThis specification defines a modern efficient way to deliver PubSub notifications.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards175Best Practices for Use of SASL ANONYMOUSThis document specifies best practices for use of the SASL ANONYMOUS mechanism in the context of client authentication with an XMPP server.InformationalActiveCouncil2009-09-301.2psaProvided more detailed recommendations regarding usage restrictions for anonymous users, including the concept of different deployment types; added note about the account/anonymous service discovery identity.Standards425Message ModerationThis specification defines a method for groupchat moderators to moderate messages.Standards TrackProposedCouncilmessage-moderation2020-01-280.2.1vanitasvitaeTypographical fixStandards2022-01-04391Jingle Encrypted TransportsThis specification defines a method that allows to use established encryption schemes for end-to-end encryption of Jingle transports.Standards TrackDeferredCounciljet2018-07-310.1.2vvReplace TI with IVStandards280Message CarbonsIn order to keep all IM clients for a user engaged in a conversation, outbound messages are carbon-copied to all interested resources.Standards TrackDraftCouncilcarbons2021-12-261.0.1egpFix indentation in examples.Standards2021-04-06301In-Band Real Time TextThis is a specification for real-time text transmitted in-band over an XMPP session. Real-time text is text transmitted instantly while it is being typed or created.Standards TrackDraftCouncilrtt2013-10-081.0psaPer a vote of the XMPP Council, advanced status to Draft.Standards408Mediated Information eXchange (MIX): Co-existence with MUCThis document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. It specifies how MIX and MUC can be operated together.Standards TrackDeferredCouncilMIX-MUC2021-03-090.2.0@mathieuiFix reference to MIX-CORE namespacesStandards131Stanza Headers and Internet MetadataThis specification defines an XMPP protocol extension for representing non-address-related headers in an XML format that is appropriate for use in XMPP. While the protocol provides a flexible mechanism for representing many kinds of standard Internet metadata, a registry of values is defined to structure the possible range of headers, and the inital registration includes headers from email, HTTP, MIME, and SIP.Standards TrackDraftCouncilshim2006-07-121.2psaAdded Urgency header from registry.Standards288Bidirectional Server-to-Server ConnectionsThis specification defines a protocol for using server-to-server connections in a bidirectional way such that stanzas are sent and received on the same TCP connection.Standards TrackDraftCouncilbidi2016-10-171.0.1sswFix syntax highlighting and tweak example formatting.Standards446File metadata elementThis specification defines a generic file metadata element to be used in other specifications.Standards TrackExperimentalCouncilfile-metadata2022-07-170.2.0lmwUse height/width instead of dimensionsStandards125vCard Infobits MappingNOTE: This proposal was retracted by the author on 2004-02-19.InformationalRetractedCouncil2003-12-150.1psaInitial version, split off from version 0.5 of XEP-0121 (with revisions to more clearly map vCard elements); further mapping and description required.Standards144Roster Item ExchangeThis specification defines an XMPP protocol extension for exchanging contact list items, including the ability to suggest whether the item is to be added, deleted, or modified in the contact list of the recipient, as well as the suggested roster group for the item.Standards TrackDraftCouncilrosterx2017-11-281.1.1dtr (XEP Editor: jwi)Fix JID exampleStandards33Extended Stanza AddressingThis specification defines an XMPP protocol extension that enables entities to include RFC822-style address headers within XMPP stanzas in order to specify multiple recipients or sub-addresses.Standards TrackDraftCounciladdress2017-01-111.2.1cs (XEP Editor: ssw)Clarify Reply Handling, add 'ofrom' type and fix examplesStandards238XMPP Protocol Flows for Inter-Domain FederationThis specification provides detailed protocol flows for the establishment of communication between domains that provide XMPP services, including permutations for a wide variety of possible federation policies.InformationalDeferredCouncil2008-03-310.1psaInitial published version.Standards163Personal Eventing ProtocolThis specification defines semantics for using the XMPP publish-subscribe protocol to broadcast state change events associated with an instant messaging and presence account. This profile of pubsub therefore enables a standard XMPP user account to function as a virtual pubsub service, easing the discovery of syndicated data and event notifications associated with such an account.Standards TrackDraftCouncilpep2022-02-161.2.2melvoAdd comma and fix typoStandards JIG323Internet of Things - Sensor DataNote: This specification has been retracted by the author; new implementations are not recommended. This specification provides the common framework for sensor data interchange over XMPP networks.Standards TrackRetractedCouncilsensor-data2017-05-200.6XEP Editor: sswMark XEP as retracted by the author.Standards60Publish-SubscribeThis specification defines an XMPP protocol extension for generic publish-subscribe functionality. The protocol enables XMPP entities to create nodes (topics) at a pubsub service and publish information at those nodes; an event notification (with or without payload) is then broadcasted to all entities that have subscribed to the node. Pubsub therefore adheres to the classic Observer design pattern and can serve as the foundation for a wide variety of applications, including news feeds, content syndication, rich presence, geolocation, workflow systems, network management systems, and any other application that requires event notifications.Standards TrackDraftCouncilpubsub2022-01-211.24.1melvoAdd hint for processing incomplete submission formsStandards279Server IP CheckThis specification defines a simple XMPP extension that enables a client to discover its external IP address.Standards TrackDeferredCouncilsic2013-04-170.2psaModified XML format so server can return port as well as IP address; incremented protocol version from 0 to 1.Standards284Shared XML EditingThis specification defines a protocol that enables two or more endpoints to collaboratively edit an XML object. The protocol is intended for use mainly over the Extensible Messaging and Presence Protocol (XMPP), either by existing instant messaging clients or by specialized editing clients. However, the protocol could also be used over a direct TCP connection rather than over XMPP.Standards TrackDeferredCouncil2021-03-040.1.3mwCross-document editorial adjustments for inclusive language.Standards137Publishing Stream Initiation RequestsThis specification defines an XMPP protocol extension that enables an XMPP entity to advertise the fact that it is willing accept a particular Stream Initiation request. The protocol is used mainly to inform other entities that a particular file is available for transfer via the File Transfer protocol defined in XEP-0096.Standards TrackDeprecatedCouncilsipub2018-02-281.1XEP Editor (ssw)Deprecated per a vote of the XMPP Council.Standards333Chat MarkersThis specification describes a solution of marking the last received, displayed and acknowledged message in a chat.Standards TrackDeferredCouncil2020-04-150.4mwAdd notes about usage within MUCs.Standards2017-03-01266Codecs for Jingle AudioThis document describes implementation considerations related to audio codecs for use in Jingle RTP sessions.Standards TrackDraftCouncil2013-03-011.1rc1psaUpdated to reflect standardization of the Opus codec; changed client conformance to also recommend (but not require) support for Opus.Standards71XHTML-IMThis specification defines an XHTML 1.0 Integration Set for use in exchanging instant messages that contain lightweight text markup. The protocol enables an XMPP entity to format a message using a small range of commonly-used HTML elements, attributes, and style properties that are suitable for use in instant messaging. The protocol also excludes HTML constructs that may introduce malware and other vulnerabilities (such as scripts and objects) for improved security.Standards TrackDeprecatedCouncilxhtml-im2018-03-081.5.4XEP Editor (jwi)Correction: Council voted to Deprecate, not Obsolete.Standards423XMPP Compliance Suites 2020This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.Standards TrackObsoleteCouncilCS20202022-02-151.0.1glAdd supersededbyStandards36Pub-Sub SubscriptionsA proposal for the subscribe half of a publish-subscribe protocol within Jabber.Standards TrackRetractedCouncil2003-04-220.2psaAt the request of the authors, the status of this specification has been changed to Retracted since it has been superseded by XEP-0060.Standards468WebSocket S2SThis specification defines a procedure to make s2s XMPP connections over WebSocket.Standards TrackExperimentalCouncil2022-07-130.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-06-22.Standards81Jabber MIME TypeThis document specifies a MIME type for launching a Jabber client as a helper application from most modern web browsers, and for completing basic use cases once the client is launched.Standards TrackRetractedCouncilmimetype2005-07-190.5psaRetracted the proposal (again) in favor of draft-saintandre-xmpp-iri.Standards322Efficient XML Interchange (EXI) FormatThis specification describes how EXI compression can be used in XMPP networks.Standards TrackDeferredCouncilexi2018-01-250.6.0XEP Editor (jwi)Defer due to lack of activity.Standards383Burner JIDsA mechanism by which users may request anonymous, ephemeral "burner" JIDs.Standards TrackExperimentalCouncilburner2021-07-100.2.0sswImprove security considerations and add listing JIDs.Standards432Simple JSON MessagingThis specification proposes a simple mechanism by which applications can transfer data safely, without needing additional protocol design work. It is intended to provide a protocol that is trivial to implement and can be driven with a simple API.Standards TrackDeferredCounciludt2022-04-120.1.1fsDeclare missing dependency on XEP-0335.Standards435RemindersThis specification provides a way to set up reminders.Standards TrackDeferredCouncil2020-03-310.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-03-04.Standards24Publish/SubscribeA publish-subscribe protocol for Jabber.Standards TrackRetractedCouncil2003-04-220.2psaAt the request of the authors, the status of this document has been changed to Retracted since it has been superseded by XEP-0060.Standards12Last ActivityThis specification defines an XMPP protocol extension for communicating information about the last activity associated with an XMPP entity. It is typically used by an IM client to retrieve the most recent presence information from an offline contact by sending a last activity request to the server that hosts the account controlled by the contact.Standards TrackFinalCounciliq-last2008-11-262.0psaPer a vote of the XMPP Council, advanced specification to Final; clarified a few small points in the text; added a reference to XEP-0115.Standards469Bookmark PinningThis document defines an XMPP protocol extension to allow users to pin PEP Native Bookmarks.Standards TrackExperimentalCouncilbookmarkspinning2022-08-230.1.0XEP Editor (jsc)Accepted by vote of Council on 2022-07-27.Standards178Best Practices for Use of SASL EXTERNAL with CertificatesThis document specifies best practices for XMPP usage of the SASL EXTERNAL mechanism in the context of PKIX certificates.InformationalActiveCouncil2020-08-191.2@woj-tekAdd fallback to dialback if EXTERNAL authentication fails due to practical experience.Standards372ReferencesThis document defines a method for one XMPP stanza to provide references to another entity, such as mentioning users, HTTP resources, or other XMPP resources.Standards TrackExperimentalCouncilRefs2020-12-090.5.0kisSpecify counting should be of code points.Standards58Multi-User Text EditingThis document defines how several people may simultaneously edit text.Standards TrackDeferredCouncil2002-11-120.1asInitial version.Standards197User ViewingThis document defines an XMPP protocol extension for communicating information about the television shows, movies, or other videos that a user watches.Standards TrackDeferredCouncil2008-09-250.3psaModified namespace in accordance with protocol versioning policies.Standards277Microblogging over XMPPThis specification defines a method for microblogging over XMPP.Standards TrackDeferredCouncilmicroblog2022-02-150.6.5gh/@Yuubi-sanFix incorrect double-escaping of entities in examplesNone458Community Code of ConductThis document describes the XMPP Standard Foundation's Code of ConductProceduralExperimentalBoard2021-06-290.2.0dwdIntegrate various comments from various sourcesNone303CommentingThis specification defines a method for commenting.Standards TrackDeferredCouncil2011-07-280.1psaInitial published version.Standards313Message Archive ManagementThis document defines a protocol to query and control an archive of messages stored on a server.Standards TrackDraftCouncilmam2022-02-161.0.1egp* Fix inconsistency in example namespaces. +* Fix indentation, especially in examples.Standards2021-03-30443XMPP Compliance Suites 2021This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.Standards TrackObsoleteCouncilCS20212020-11-241.0.0XEP Editor (jsc)Accept as Draft as per Council vote from 2020-11-11.Standards2020-11-03278Jingle Relay NodesThis documents specifies how Jingle Clients can interact with Jingle Relay Nodes Services and how XMPP entities can provide, search and list available Jingle Relay Nodes.Standards TrackDeferredCounciljinglenodes2021-03-040.4.1mwCross-document editorial adjustments for inclusive language.Standards427MAM Fastening CollationThis specification proposes a mechanism by which MAM results containing fastenings can be collated effectively.Standards TrackDeferredCouncilmamfc2020-01-280.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-01-02.Standards110Generic MapsA protocol for transport of generic maps (graphical displays of specific subsets of buddies).Standards TrackDeferredCouncil2003-07-280.1jkInitial version.Standards155Stanza Session NegotiationThis specification defines a method for formally negotiating the exchange of XML stanzas between two XMPP entities. The method uses feature negotiation forms sent via XMPP message stanzas to enable session initiation between entities that do not share presence information or have knowledge of full JabberIDs and therefore is also suitable for use across gateways to SIP-based systems. A wide range of session parameters can be negotiated, including the use of end-to-end encryption, chat state notifications, XHTML-IM formatting, and message archiving.Standards TrackDraftCouncilssn2016-01-201.2XEP Editor (mam)Update missing 'xmppsipim' reference to RFC 7572.Standards287Spim Markers and ReportsThis document defines an XMPP protocol extension that enables XMPP entities to interact with spim filters by marking unsolicited or suspicious XMPP stanzas.Standards TrackDeferredCouncil2010-10-040.1psaInitial published version.Standards215External Service DiscoveryThis document specifies an XMPP protocol extension for discovering services external to the XMPP network.Standards TrackDraftCouncilextdisco2022-08-231.0.0XEP Editor (jsc)Accept as Stable as per Council Vote from 2022-08-03.Standards2022-07-27452MUC Mention NotificationsThis specification documents how a user may be informed when they're mentioned in a MUC which they're not currently joined to.Standards TrackExperimentalCouncil2022-01-110.2.2gh/@xnamedFix addresses in exampleStandards286Mobile Considerations on LTE NetworksThis document provides background information for XMPP implementors concerned with mobile devices operating on an LTE cellular network.InformationalActiveCouncil2018-01-251.0.0XEP Editor (jwi)Advance to Active as per Council vote on 2018-01-10.Standards2017-11-15106JID EscapingThis specification defines a mechanism that enables the display in Jabber Identifiers (JIDs) of characters normally disallowed in localparts. Although these characters spaces, double quote, ampersand, single quote, forward slash, colon, less than, greater than, and at-sign cannot be included in XMPP localparts, JID Escaping provides a native XMPP escaping mechanism for these characters so that the displayed version of a Jabber Identifier can appear to include these characters. This mechanism can also be used to translate non-XMPP addreses into XMPP syntax, for example when gatewaying between XMPP and a non-XMPP communications technology such as email.Standards TrackDraftCounciljid\20escaping2016-07-081.1.1sswUpdate references to the node identifier to localpart, replace stringprep references with PRECIS, and update JID RFC references.Standards17Naive Packet Framing ProtocolAn intermediate method for more efficient framing of the Jabber XML Stream.InformationalRejectedCouncil2002-02-190.3mflContinued improvement and specification.Standards109Out-of-Office MessagesThis document defines an XMPP protocol extension for communicating out-of-office status.Standards TrackDeferredCouncilooo2022-03-220.3.2glFix not well-formed XML in example.Standards83Nested Roster GroupsThis document defines an XMPP protocol extension that enables nested sub-groups to exist within the Jabber roster, while retaining backwards compatibility and ensuring that the roster remains usable by all clients.InformationalActiveCouncilnestedgroups2004-10-111.0psaPer a vote of the Jabber Council, advanced to a status of Active.Standards114Jabber Component ProtocolThis specification documents the existing protocol used for communication between servers and "external" components over the Jabber network.HistoricalActiveCouncilcomponent2012-01-251.6psaRemoved unnecessary and unimplemented requirement to escape predefined XML entities.Standards128Service Discovery ExtensionsThis document specifies best practices for including extended information in Service Discovery results.InformationalActiveCouncil2019-07-301.0.1gdkRemove now-incorrect informational statement about the likelihood of multiple forms in a single disco#info reply.Standards82XMPP Date and Time ProfilesThis document specifies a standardization of ISO 8601 profiles and their lexical representation for use in XMPP protocol extensions.InformationalActiveCouncil2021-08-311.1.1@YquasFix typosStandards19Streamlining the SIGsThis document proposes to streamline the existing Special Interest Groups (SIGs).ProceduralActiveBoard2002-03-201.0psaChanged status to Active.None449StickersThis specification provides a protocol to send stickers and to create and share sticker packs.Standards TrackExperimentalCouncilstickers2022-02-100.1.1egp* Replace ProtoXEP references with actual XEP references. +* Use XEP-0446’s instead of the typo’d .Standards166JingleThis specification defines an XMPP protocol extension for initiating and managing peer-to-peer media sessions between two XMPP entities in a way that is interoperable with existing Internet standards. The protocol provides a pluggable model that enables the core session management semantics (compatible with SIP) to be used for a wide variety of application types (e.g., voice chat, video chat, file transfer) and with a wide variety of transport methods (e.g., TCP, UDP, ICE, application-specific transports).Standards TrackDraftCounciljingle2018-09-191.1.2egpAdd missing security-info in section 5.1, forgotten in version 0.35.Standards374OpenPGP for XMPP Instant MessagingSpecifies a OpenPGP for XMPP (XEP-0373) profile for the Instant Messaging (IM) use case.Standards TrackDeferredCounciloxim2018-01-250.2.0XEP Editor (jwi)Defer due to lack of activity.Standards202Entity TimeThis specification defines an XMPP protocol extension for communicating the local time of an entity, including the time in UTC according to the entity as well as the offset from UTC. The time format itself conforms to the dateTime profile of ISO 8601 defined in XEP-0082.Standards TrackFinalCounciltime2009-09-112.0psaPer a vote of the XMPP Council, advanced specification from Draft to Final.Standards89Generic AlertsA protocol for generic alerts (similar to .NET Alerts service).Standards TrackDeferredCouncil2003-05-160.2redChanged element from x to alert.Standards275Entity ReputationThis specification defines an XMPP protocol extension for communicating the reputation of any entity on the network.Standards TrackDeferredCouncilreputation2021-03-040.2.1mwCross-document editorial adjustments for inclusive language.Standards273Stanza Interception and Filtering Technology (SIFT)This specification defines an XMPP protocol extension that enables a client to exercise control over the XML stanzas it will receive from the server by instructing the server to intercept and filter inbound stanzas.Standards TrackDeferredCouncilsift2011-06-270.4psaMade it clear that presence means presence notifications; added support for subscription-related presence stanzas; described payload matching in greater detail; added use case for allowing only core XMPP child elements; increased protocol version number from 1 to 2.Standards15Account TransferA proposal for enabling the ability to transfer an account from one Jabber server to another.Standards TrackRejectedCouncil2002-04-180.4cwcCleaned up the open issues and concerns section.Standards176Jingle ICE-UDP Transport MethodThis specification defines a Jingle transport method that results in sending media data using raw datagram associations via the User Datagram Protocol (UDP). This transport method is negotiated via the Interactive Connectivity Establishment (ICE) methodology, which provides robust NAT traversal for media traffic.Standards TrackDraftCounciljingle-ice-udp2021-03-041.1.1mwCross-document editorial adjustments for inclusive language.Standards85Chat State NotificationsThis document defines an XMPP protocol extension for communicating the status of a user in a chat session, thus indicating whether a chat partner is actively engaged in the chat, composing a message, temporarily paused, inactive, or gone. The protocol can be used in the context of a one-to-one chat session or a multi-user chat room.Standards TrackFinalCouncilchatstates2009-09-232.1psaClarified that any state change is allowed.Standards253PubSub ChainingThis specification defines a method for chaining pubsub nodes together, resulting in lightweight repeaters for pubsub notifications.Standards TrackDeferredCouncil2009-11-180.2psaSpecifed protocol flow for the chained subscription.Standards209MetacontactsThis document specifies an XMPP protocol extension for defining metacontacts and grouping member JIDs.Standards TrackDeferredCouncil2007-04-100.1psaInitial published version.Standards JIG440SASL Channel-Binding Type CapabilityThis specification allows servers to annouce their supported SASL channel-binding types to clients.Standards TrackExperimentalCouncilsasl-cb-types2022-08-290.3.0tm + Make implementation of tls-server-end-point a MUST for servers. + Standards353Jingle Message InitiationThis specification provides a way for the initiator of a Jingle session to propose sending an invitation in an XMPP message stanza, thus taking advantage of message delivery semantics instead of sending IQ stanzas to all of the responder's online resources or choosing a particular online resource.Standards TrackExperimentalCounciljingle-message2021-11-270.4.0tm* Rework whole spec, namespace bump +* Add new <finish/> message +* Add dependency on , and +* Add <reason/> to some messagesStandards2019-08-13306Extensible Status Conditions for Multi-User ChatThis document defines an extensible format for status conditions in Multi-User Chat, similar to the error format used in the core of XMPP.Standards TrackDeferredCouncil2016-06-070.2.1mp (XEP Editor: ssw)Fix broken example XML.Standards165Best Practices to Discourage JID MimickingThis document recommends best practices to discourage mimicking of Jabber IDs.InformationalDeferredCouncil2007-12-130.6psaAdded security consideration about storage of handle in the roster.Standards157Contact Addresses for XMPP ServicesThis document defines a method for specifying contact addresses related to an XMPP service.InformationalActiveCouncil2021-03-041.1.1mwCross-document editorial adjustments for inclusive language.Standards228Requirements for Shared EditingThis document defines requirements for the design of XMPP-based shared editing protocols.Standards TrackDeferredCouncil2007-08-220.1psaFirst draft.Standards393Message StylingThis specification defines a formatted text syntax for use in instant messages with simple text styling.Standards TrackDraftCouncilstyling2021-04-041.1.1ssw + General readability changes: + Copy part of span definition from glossary to business rules and remove + parenthesis for marking spans and blocks which was used inconsistently. + Also merge two lists of examples. + Standards2020-05-26413Order-ByThis specification allows to change order of items retrieval in a Pubsub or MAM queryStandards TrackExperimentalCouncil2021-07-210.2jpAdd a way to discover on which protocols Order-By applies +Remove references to SQL (except in implementation notes) +Specify that order-by operate on the whole item set and inside a RSM result set +Explicitly says that creation and modification dates are set by Pubsub service itself +Specify that Clark notation should be used for extensions +Add a full example with Pubsub and RSM +Add hint for SQL based implementations +removed XEP-0060 and XEP-0313 as dependencies, they are mentioned as use cases, but are not mandatory +better wording following feedback +Namespace bumpStandards358Publishing Available Jingle SessionsThis specification defines an XMPP protocol extension that enables an XMPP entity to advertise the fact that it is willing accept a particular Jingle session request. The protocol is used mainly to inform other entities that a particular file is available for transfer via the Jingle File Transfer protocol defined in XEP-0234.Standards TrackDeferredCounciljinglepub2017-09-110.4XEP Editor (jwi)Defer due to lack of activity.Standards459XMPP Compliance Suites 2022This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.Standards TrackDraftCouncilCS20222021-12-011.1.0egpReplace deprecated XEP-0411 with XEP-0402 in Advanced Group Chat.Standards2021-09-21411Bookmarks ConversionThis specification describes a method to migrate to PEP based bookmarks without loosing compatibility with client that still use Private XML.Standards TrackDeprecatedCouncilbookmarks-conversion2021-10-191.1.0XEP Editor (jsc)Deprecated by vote of Council on 2021-10-06.Standards2020-10-14154User ProfileThis document specifies how to represent and manage profile data about IM users and other XMPP entities using the XMPP Data Forms extension.Standards TrackDeferredCouncil2021-03-040.6.1mwCross-document editorial adjustments for inclusive language.Standards405Mediated Information eXchange (MIX): Participant Server RequirementsThis document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369. It specifies behaviour of an XMPP server to which MIX Clients connect in order to enable correct operation of these clients in conjunction with a MIX server.Standards TrackExperimentalCouncilMIX-PAM2022-07-150.5.3lnjClarify that later roster requests reset the state of the annotation settingStandards59Result Set ManagementThis specification defines an XMPP protocol extension that enables an entity to page through and otherwise manage the receipt of large result sets. The protocol can be used in the context of any XMPP protocol that might send large result sets (such as service discovery, multi-user chat, and publish-subscribe). While the requesting entity in such an interaction can explicitly request the use of result set management, an indication that result set management is in use can also be proactively included by the responding entity when returning a limited result set in response to a query.Standards TrackDraftCouncilrsm2006-09-201.0psaPer a vote of the Jabber Council, advanced status to Draft.Standards359Unique and Stable Stanza IDsThis specification describes unique and stable IDs for messages.Standards TrackDeferredCouncilstanza-id2020-11-030.6.1gh/@melvoCorrect example captionStandards2018-11-03158CAPTCHA FormsThis document specifies an XMPP protocol extension that entities may use to discover whether the sender of an XML stanza is a human user or a robot.Standards TrackDraftCouncilcaptcha2019-11-071.0.1egp, mbUse the correct FORM_TYPE for extended IBR, and use a proper MUC join as an example. Also fix typos.Standards415XMPP Over RELOAD (XOR)This specification defines an XMPP Usage of REsource LOcation And Discovery (RELOAD). The XMPP usage provides an ability for XMPP clients to discover other peers' location through the peer-to-peer overlay. Once a peer location is determined, the RELOAD AppAttach method is used to establish a direct connection between peers through which XMPP streams are exchanged.Standards TrackDeferredCouncil2019-03-060.1.0XEP Editor (jsc)Accepted by vote of Council on 2019-02-27.Standards53XMPP Registrar FunctionThis document defines the roles and processes of the XMPP Registrar function within the XMPP Standards Foundation.ProceduralActiveBoard2016-12-011.7psaModify registration status names to be consistent with IANA terminology (Provisional, Permanent, Historical).None316MUC Eventing ProtocolThis specification defines semantics for using the XMPP publish-subscribe protocol to broadcast state change events associated with a Multi-User Chat (MUC) room. This profile of pubsub therefore enables a chatroom to function as a virtual pubsub service, easing the discovery of syndicated data and event notifications associated with such a room.Standards TrackDeferredCouncilmep2013-01-030.1psaInitial published version approved for publication by the XMPP Council.Standards JIG360Nonzas (are not Stanzas)This specification defines the term "Nonza", describing every top level stream element that is not a Stanza.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards396Jingle Encrypted Transports - OMEMOExtension for JET introducing OMEMO End-to-End Encrypted Jingle Transports.Standards TrackDeferredCounciljet-omemo2018-12-060.2.0XEP Editor (jsc)Defer due to lack of activity.Standards236Abuse ReportingThis specification defines an XMPP protocol extension for reporting abusive traffic sent over an XMPP network. Note: This specification has been retracted in favor of XEP-0161, which now contains the content originally published in this specification.Standards TrackRetractedCouncil2008-05-090.2psaRetracted in favor of XEP-0161, which now contains the content originally published in this specification.Standards69Compliance SIGA proposal to form a SIG devoted to issues related to protocol compliance.SIG FormationDeferredCouncil2003-01-290.1psaInitial releaseNone184Message Delivery ReceiptsThis specification defines an XMPP protocol extension for message delivery receipts, whereby the sender of a message can request notification that the message has been delivered to a client controlled by the intended recipient.Standards TrackDraftCouncilreceipts2018-08-021.4.0egpMake the 'id' attribute required, this extension makes no sense otherwise.Standards198Stream ManagementThis specification defines an XMPP protocol extension for active management of an XML stream between two XMPP entities, including features for stanza acknowledgements and stream resumption.Standards TrackDraftCouncilsm2018-07-251.6gdkSpecify error conditions.Standards229Stream Compression with LZWThis document specifies how to use the LZW algorithm in XML stream compression.Standards TrackObsoleteCouncil2022-02-101.1tjbObsolete due to security vulnerability.Standards344Impact of TLS and DNSSEC on DialbackThis specification provides documentation how Server Dialback is used together with Transport Layer Security, and discusses how the security considerations of Dialback are changed by the introduction of TLS and/or DNSSEC.Standards TrackDeferredCouncil2017-09-110.4XEP Editor (jwi)Defer due to lack of activity.Standards80User LocationThis specification defines an XMPP protocol extension for communicating information about the current geographical or physical location of an entity.Standards TrackDraftCouncilgeoloc2015-12-011.9lsAdded <altaccuracy/> element.Standards4Data FormsThis specification defines an XMPP protocol extension for data forms that can be used in workflows such as service configuration as well as for application-specific data description and reporting. The protocol includes lightweight semantics for forms processing (such as request, response, submit, and cancel), defines several common field types (boolean, list options with single or multiple choice, text with single line or multiple lines, single or multiple JabberIDs, hidden fields, etc.), provides extensibility for future data types, and can be embedded in a wide range of applications. The protocol is not intended to provide complete forms-processing functionality as is provided in the W3C XForms technology, but instead provides a basic subset of such functionality for use by XMPP entities.Standards TrackFinalCouncilx-data2022-01-212.13.0melvoAdd incomplete submission form handlingStandards1XMPP Extension ProtocolsThis document defines the standards process followed by the XMPP Standards Foundation.ProceduralActiveBoard2021-08-241.24.0sswChange "Draft" to "Stable".None454OMEMO Media sharingAn informal way of sharing media files despite limitations in the OMEMO encryptionHistoricalExperimentalCouncil2021-01-260.1.0XEP Editor (jsc)Accepted by vote of Council on 2021-01-13.Standards421Anonymous unique occupant identifiers for MUCsThis specification defines a method that allows clients to identify a MUC participant across reconnects and renames. It thus prevents impersonification of anonymous users.Standards TrackDeferredCounciloccupant-id2019-08-200.1.0XEP Editor (jsc)Accepted by vote of Council on 2019-07-17.Standards268Incident HandlingThis specification defines methods for incident reporting among XMPP server deployments using the IODEF format produced by the IETF's INCH Working Group.Standards TrackDeferredCouncil2012-05-290.6psaAligned document with the IETF guidelines for defining extensions to IODEF; defined several more IODEF NodeRole categories; added schema for the JID element; noted that the JID element might be moved to a separate specification.Standards156Discovering Alternative XMPP Connection MethodsThis document defines an XMPP Extension Protocol for discovering alternative methods of connecting to an XMPP server via Web Host Metadata Link format.Standards TrackDraftCouncilalt-connections2022-02-101.4.0tjbRemove DNS _xmppconnect method due to security vulnerability.Standards113Simple WhiteboardingA proposal for an extremely simple whiteboarding protocol over Jabber.InformationalDeferredCouncil2003-09-070.2hjiAdded optional stroke, stroke-width and id attributes to the path element; added move and delete elements; added remark on Coccinella protocol and tkabber to introduction; added explanation about text-drawing and clear-screen discussion to implementation notes.Standards146Remote Controlling ClientsThis document specifies recommended best practices for remote controlling clients using Ad-Hoc Commands.InformationalObsoleteCouncilrc2017-11-071.1XEP Editor (ssw)Per a vote of the XMPP Council, advanced to Obsolete.Standards362Raft over XMPPThis specification provides a means for transporting messages from the Raft consensus algorithm over XMPP.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards293Jingle RTP Feedback NegotiationThis specification defines an XMPP extension to negotiate the use of the Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF) with Jingle RTP sessionsStandards TrackDraftCouncil2022-08-261.0.2melvoFix attribute name of 'parameter' element as specified by XML schemaStandards376Pubsub Account ManagementThis specification describes a new model for handling remote pubsub services and a protocol for doing so.Standards TrackDeferredCouncilpam2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards67Stock Data TransmissionThis document specifies a data format for stock data distribution in the Jabber community.Standards TrackDeferredCouncil2003-07-190.3ulsAdded transmission in messagesStandards126InvisibilityThis specification defines best practices regarding implementation of invisible presence by means of XMPP privacy lists.InformationalDeprecatedCouncil2005-08-191.1psaCorrected order of presence and IQ stanzas to ensure proper processing by server.Standards142Workgroup QueuesThis document defines an XMPP protocol extension that enables a user to communicate with a representative of an organization, department, or workgroup.Standards TrackDeferredCouncil2018-11-030.3.1pepFix a bunch of typos, batch-style.Standards65SOCKS5 BytestreamsThis document defines an XMPP protocol extension for establishing an out-of-band bytestream between any two XMPP users, mainly for the purpose of file transfer. The bytestream can be either direct (peer-to-peer) or mediated (though a special-purpose proxy server). The typical transport protocol used is TCP, although UDP can optionally be supported as well.Standards TrackDraftCouncilbytestreams2021-03-041.8.2mwCross-document editorial adjustments for inclusive language.Standards78Non-SASL AuthenticationThis document specifies a protocol for authentication with Jabber servers and services using the jabber:iq:auth namespace. Note Well: The protocol specified herein has been superseded in favor of SASL authentication as specified in RFC 3920 / RFC 6120, and is now obsolete.Standards TrackObsoleteCounciliq-auth2008-10-292.5psaPer a vote of the XMPP Council, changed status to Obsolete.Standards314Security Labels in PubSubThis specification defines an extension to XEP-0258 (Security Labels) to allow for the use of security labels in XEP-0060 (Publish-Subscribe). This document describes how security label metadata can be applied to the various elements within Publish-Subscribe, including nodes and items.Standards TrackDeferredCouncil2012-07-270.1psaInitial published version.Standards445Pre-Authenticated In-Band RegistrationThis document extends the In-Band-Registration protocol to use invitation tokens, e.g. for registering accounts on non-public servers.Standards TrackProposedCouncilibr-token2020-11-240.2.0XEP Editor (jsc)Accepted by vote of Council on 2020-11-04.Standards2021-10-2086Error Condition MappingsA mapping to enable legacy entities to correctly handle errors from XMPP-aware entities.InformationalDeprecatedCouncil2004-02-171.0psaPer a vote of the Jabber Council, advanced status to Active.Standards381Internet of Things Special Interest Group (IoT SIG)This document proposes the formation of a Special Interest Group SIG) within the XSF devoted to the application of XMPP technologies to the Internet of Things (IoT).ProceduralActiveCouncil2021-07-271.0.0XEP Editor: jscAccepted by CouncilNone2020-12-15417E2E Authentication in XMPP: Certificate Issuance and RevocationThis specification defines a way for a certificate authority to serve certificate signing requests via XMPP in order to issue X.509 certificates for the use in end-to-end and c2s SASL EXTERNAL authentication.Standards TrackDeferredCouncil2019-03-290.1.0XEP Editor (jsc)Accepted by vote of Council on 2019-03-13.Standards222Persistent Storage of Public Data via PubSubThis specification defines best practices for using the XMPP publish-subscribe extension to persistently store semi-public data objects such as public keys and personal profiles.InformationalActiveCouncil2008-09-081.0psaPer a vote of the XMPP Council, advanced specification to Active.Standards JIG270XMPP Compliance Suites 2010This document defines XMPP protocol compliance levels for 2010.Standards TrackObsoleteCouncil2017-01-281.1sswPer a vote of the XMPP Council, move specification from Draft to Obsolete.Standards182Application-Specific Error ConditionsThis document defines a registry of application-specific error conditions.ProceduralActiveCouncilerrors2008-03-051.1psaChanged namespace from http://jabber.org/protocol/errors to urn:xmpp:errors.Standards204Collaborative Data ObjectsThis document specifies an XMPP protocol extension that supports the exchange of structured data objects.Standards TrackDeferredCouncil2007-01-170.1psaInitial published version; modified namespaces to adhere to XSF policy.Standards430InboxThis specification proposes a mechanism by which clients can find a list of ongoing conversations and their state.Standards TrackDeferredCouncilinbox2020-02-030.2.0Standards11Jabber BrowsingThis document defines a way to describe information about Jabber entities and the relationships between entities. Note: This document is superseded by XEP-0030: Service Discovery.HistoricalObsoleteCounciliq-browse2021-03-041.3.1mwCross-document editorial adjustments for inclusive language.Standards217Simplified Encrypted Session NegotiationThis document specifies a minimal subset of the Encrypted Session Negotiation protocol sufficent for negotiating an end-to-end encrypted session.Standards TrackDeferredCouncil2007-05-300.1psaInitial published version; modified namespaces to reflect XMPP Registrar procedures regarding URN issuance.Standards169Twas The Night Before Christmas (Jabber Version)The classic Christmas poem annotated with XMPP protocols.HumorousActiveCouncil2021-03-041.1.1mwCross-document editorial adjustments for inclusive language.Standards410MUC Self-Ping (Schrödinger's Chat)This protocol extension for XEP-0045 Multi User Chat allows clients to check whether they are still joined to a chatroom.Standards TrackDraftCouncilmuc-selfping2019-09-251.1.0jscTreat remote-server-not-found and remote-server-timeout like timeout errors (i.e. undecided).Standards2019-01-22251Jingle Session TransferThis specification defines an extension to XMPP Jingle for transferring a session (such as a voice call) from one person to another.Standards TrackDeferredCouncil2009-10-050.2psaUpdated examples; added reference to RFC 5359; added security considerations regarding unattended transfer.Standards295JSON Encodings for XMPPThis specification defines an alternative JSON encoding for XMPP stanzas and other elements.HumorousActiveCouncil2011-04-011.0ks, mwApril Fools!Standards371Jingle ICE Transport MethodThis specification defines a Jingle transport method that results in sending media data using datagram associations via the User Datagram Protocol (UDP) or using end-to-end connections via the Transport Control Protocol (TCP). This transport method is negotiated via the Interactive Connectivity Establishment (ICE) methodology (which provides robust NAT traversal for media traffic) and also supports the ability to exchange candidates throughout the life of the session, consistent with so-called "Trickle ICE" (draft-ietf-ice-trickle).Standards TrackDeferredCounciljingle-ice2021-03-040.3.1mwCross-document editorial adjustments for inclusive language.Standards318Best Practices for Client Initiated Presence ProbesThis specification defines a way to determine the time when a XMPP entity has last changed its presence. Using client initiated presence probes the current presence of subscribed XMPP users can be requested. In addition a protocol to request the uptime of servers and components is defined herein.InformationalDeferredCouncillast-presence2013-08-060.2tobiasFix issues raised in XMPP Council meeting.Standards218Bootstrapping Implementation of Encrypted SessionsThis document provides guidelines to client and library developers for bootstrapping implementation of the encrypted sessions technology.InformationalDeferredCouncil2007-05-300.1psaInitial published version.Standards345Form of Membership ApplicationsThis specification outlines the form and mandatory content of membership applications.ProceduralActiveBoard2020-02-181.0.0XEP Editor (jsc)Voted to Active by Board on 2019-03-07. Sorry for the delay in the editor queue.None2018-01-27211XMPP Basic Client 2008This document defines the XMPP Basic Client 2008 compliance level.Standards TrackObsoleteCouncil2007-07-111.0psaPer a vote of the XMPP Council, advanced to Draft.Standards167Jingle RTP SessionsThis specification defines a Jingle application type for negotiating one or more sessions that use the Real-time Transport Protocol (RTP) to exchange media such as voice or video. The application type includes a straightforward mapping to Session Description Protocol (SDP) for interworking with SIP media endpoints.Standards TrackDraftCounciljingle-rtp2020-09-291.2.1mar-v-inAdd missing required attribute in schema for encryption elementStandards252BOSH Script SyntaxThis specification provides historical documentation regarding the "alternative script syntax" first defined in Version 1.6 of XEP-0124.HistoricalDeferredCouncil2008-10-310.1psaInitial published version.Standards319Last User Interaction in PresenceThis specification defines a way to communicate time of last user interaction with her system using XMPP presence notifications.Standards TrackDraftCouncilidle2017-07-171.0.2egpMake the schema more precise about a date being a xs:dateTime.Standards365Server to Server communication over STANAG 5066 ARQThis specification defines operation over XMPP over the NATO STANAG 5066 data link service for point to point links (ARQ). This enables optimized XMPP performance over HF Radio (which STANAG 5066 was designed for) and over other data links using STANAG 5066.Standards TrackExperimentalCouncilS50662022-03-280.3sekMake use of SLEP Streaming service, which was not available for 0.1. This provides a better service mapping than direct use of 5066 and provides compression.Standards122Data Forms ValidationThis specification defines a backwards-compatible extension to the XMPP Data Forms protocol that enables applications to specify additional validation guidelines related to a form, such as validation of standard XML datatypes, application-specific datatypes, value ranges, and regular expressions.Standards TrackDraftCouncilxdata-validate2018-03-211.0.2fsRemove text about element emptiness.Standards389Extensible In-Band RegistrationThis specification defines an XMPP protocol extension for in-band registration with instant messaging servers and other services with which an XMPP entity may initiate a stream. It aims to improve upon the state of the art and replace XEP-0077: In-Band Registration by allowing multi-factor registration mechanisms, and account recovery.Standards TrackExperimentalCouncilibr22020-11-170.6.0sswError out if a client selects an invalid flowStandards249Direct MUC InvitationsThis specification defines a method for inviting a contact to a multi-user chat room directly, instead of sending the invitation through the chat room.Standards TrackDraftCouncilx-conference2011-09-221.2psaAdded continue and thread attributes for feature parity with mediated invitations when converting a one-to-one chat to a groupchat.Standards220Server DialbackThis specification defines the Server Dialback protocol, which is used between XMPP servers to provide identity verification. Server Dialback uses the Domain Name System (DNS) as the basis for verifying identity; the basic approach is that when a receiving server accepts a server-to-server connection from an initiating server, it does not process XMPP stanzas over the connection until it has verified the initiating server's identity. Additionally, the protocol is used to negotiate whether the receiving server is accepting stanzas for the target domain. Although Server Dialback does not provide strong authentication and is subject to DNS poisoning attacks, it has effectively prevented most address spoofing on the XMPP network since its development in the year 2000.Standards TrackDraftCouncildialback2015-03-121.1.1sswUpdate DNA framework reference to RFC 7712.Standards470Pubsub AttachmentsThis specification provides a way to attach elements to a pubsub item.Standards TrackExperimentalCouncilpubsub-attachments2022-08-250.2.0jp* + Update reactions to be similar to + +* + Namespace bump + Standards250C2C Authentication Using TLSThis document describes how to negotiate TLS extensions when using TLS for end-to-end XML streams between two clients. It covers X.509 certificates with an without CA, the use of OpenPGP, Shared Remote Passwords (SRP) and how to use one extension to bootstrap a trust relationship.Standards TrackDeferredCouncil2008-09-080.2dmUse keyinfo from version 0.8 of XEP-0189.Standards395Atomically Compare-And-Publish PubSub ItemsThis specification provides a mechanism to atomically Compare-And-Publish items to a PubSub node.Standards TrackDeferredCouncilcap2018-12-060.2.0XEP Editor (jsc)Defer due to lack of activity.Standards462PubSub Type FilteringThis specification provides a way to filter PubSub nodes in a disco query.Standards TrackExperimentalCouncil2022-04-220.1.1pepWording, typos.Standards335JSON ContainersThis specification defines an element to be used for encapsulating JSON data in XMPP.Standards TrackDeferredCouncil2018-09-260.1.1pepFix XEP number in schema descriptionStandards2019-02-193Proxy Accept Socket Service (PASS)This document defines a method for relaying media via proxies on the Jabber/XMPP network.HistoricalObsoleteCouncilpass2009-06-031.4psaPer a vote of the XMPP Council, changed status to Obsolete.Standards153vCard-Based AvatarsThis document provides historical documentation of a vCard-based protocol for exchanging user avatars.HistoricalActiveCouncilvcard-avatar2018-02-261.1jwiClarify encoding of the photo hash in the presence update.Standards441Message Archive Management PreferencesThis document defines a protocol to control a user's archiving preferences.Standards TrackExperimentalCouncilmamprefs2020-08-250.2.0XEP Editor (jsc)Accepted by vote of Council on 2020-08-19.Standards221Data Forms Media ElementThis specification defines an XMPP protocol extension for including media data in XEP-0004 data forms.Standards TrackDraftCouncilmedia-element2008-09-031.0psaPer a vote of the XMPP Council, advanced status to Draft; concurrently, the XMPP Registrar issued the urn:xmpp:media-element namespace.Standards401Ad-hoc Account Invitation GenerationThis document defines a protocol and URI scheme for user invitation in order to allow a third party to register on a server. The goal of this is to make onboarding for XMPP IM newcomers as easy as possible.Standards TrackProposedCouncil2021-10-060.5.0glFactor out XEP-0445Standards2021-10-20191Blocking CommandThis document specifies an XMPP protocol extension for communications blocking.Standards TrackDraftCouncilblocking2015-03-121.3sswClarify that arbitrary JIDs may be blocked to match current usage of this spec in the wild.Standards464CookiesThis document defines an XMPP protocol extension for setting and sending cookies.HumorousActiveCouncilcookies2022-04-011.0tjbPublish initial version via fast track (XEP Editor: jsc).Standards26Internationalization (I18N)NOTE WELL: this document was retracted on 2003-11-05 since the topic is addressed definitively in XMPP Core. Please refer to XMPP Core for further information.Standards TrackRetractedCouncil2003-11-050.2psaThe status of this document has been changed to Retracted since it has been superseded by XMPP Core.Standards134XMPP Design GuidelinesThis document defines best practices for the intelligent design of Jabber protocols and other XMPP extensions.InformationalActiveCouncil2004-12-091.1psaRevised text regarding recommended stanza sizes.Standards161Abuse ReportingThis document specifies an XMPP protocol extension for reporting abusive XMPP stanzas.Standards TrackDeferredCouncil2007-05-060.4psaGeneralized text and protocol to handle all kinds of abuse and folded in content from XEP-0236.Standards173Pubsub Subscription StorageThis document defines an XMPP protocol extension for storing subscriptions to Pubsub nodes.HistoricalDeferredCouncilpubsubs2006-02-090.1psaInitial version; changed title to Pubsub Subscription Storage; changed namespace to storage:pubsubs for consistency with other storage XEPs.Standards160Best Practices for Handling Offline MessagesThis document specifies best practices to be followed by Jabber/XMPP servers in handling messages sent to recipients who are offline.InformationalActiveCouncilmsgoffline2016-10-071.0.1egpUse the correct namespace in the Service Discovery examples; fix some formatting.Standards354Customizable Message RoutingThis specification specifies customizable behavior of RFC 6121 section 8.5.2.1.1 to allow various message routing algorithms (e.g., for load balancing).Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards349Rayo ClusteringThis specification describes an extension to the Rayo protocol to support clustering of Rayo servers and their presentation as a unified service.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards99IQ Query Action ProtocolStandardizes behavior of actions for generic query behavior.Standards TrackDeferredCouncil2018-11-030.1.1pepFix a bunch of typos, batch-style.Standards416E2E Authentication in XMPPThis specification describes how X.509 certificates can be used for end-to-end authentication in XMPP.Standards TrackDeferredCouncil2019-03-060.1.0XEP Editor (jsc)Accepted by vote of Council on 2019-02-27.Standards205Best Practices to Discourage Denial of Service AttacksThis document recommends a number of practices that can help discourage denial of service attacks on XMPP-based networks.InformationalActiveCouncil2021-03-041.0.2mwCross-document editorial adjustments for inclusive language.Standards147XMPP URI Scheme Query ComponentsThis document defines a registry of query components to be used in the context of XMPP IRIs/URIs and also specifies an initial submission of values to that registry.InformationalActiveCouncilquerytypes2006-09-131.2psaRemoved probe action.Standards79Advanced Message ProcessingThis specification defines an XMPP protocol extension that enables entities to request, and servers to perform, advanced processing of XMPP message stanzas, including reliable data transport, time-sensitive delivery, and expiration of transient messages.Standards TrackDraftCouncilamp2005-11-301.2psaConsolidated and generalized security considerations.Standards399Client Key SupportThis specification defines an XMPP binding of the supporting functions for the CLIENT-KEY SASL mechanism.Standards TrackDeferredCouncilclient-key2018-01-250.1.0XEP Editor (jwi)Accepted by vote of Council on 2018-01-10.Standards39Statistics GatheringA protocol to enable gathering statistics from Jabber servers and components.Standards TrackDeferredCouncil2002-11-050.6.0rkd + Corrected David Sutton's JID and email. + It has been pointed out to me by amoungst others Rob Norris that things + such as lists of JIDs and lists in general are really the province of + disco and browse and that at least one of the suggested 'core' + statistics doesn't make sense for all components so removed these from + the document. + This namespace was starting to become a generic data gathering namespace + and we already have one of those, so I've reworked yet again hopefully + for the final time it should now be simpler to implement and more + consistent in all cases. + Standards76Malicious StanzasThis document defines an XMPP protocol extension for flagging malicious stanzas.HumorousActiveCouncilevil2019-10-091.0.1fsFix example.Standards152Reachability AddressesThis document defines an XMPP protocol extension for communicating information about how an entity can be reached temporarily using methods other than the entity's normal JID.Standards TrackDraftCouncilreach2014-02-251.0XEP Editor (mm)Per a vote of the XMPP Council, advanced specification from Experimental to Draft.Standards328JID Preparation and Validation ServiceThis specification defines a way for an XMPP entity to request another entity to prepare and validate a given JID.Standards TrackDeferredCounciljid-prep2019-12-160.2.1nvTypographical fix.Standards321Remote Roster ManagementThis document defines a way remote entities may manage user's roster to provide a simple way to keep rosters in sync.Standards TrackDeferredCouncil2018-11-030.1.1pepFix a bunch of typos, batch-style.Standards196User GamingThis document defines an XMPP protocol extension for communicating information about the games a user plays.Standards TrackDeferredCouncil2008-09-250.3psaModified namespace in accordance with protocol versioning policies.Standards136Message ArchivingThis document defines mechanisms and preferences for the server-side archiving and retrieval of XMPP messages.Standards TrackDeprecatedCouncilarchive2021-03-041.3.1mwCross-document editorial adjustments for inclusive language.Standards201Best Practices for Message ThreadsThis specification defines recommended handling of XMPP message threads.InformationalActiveCouncil2010-11-291.0psaPer a vote of the XMPP Council, advanced specification to Active.Standards68Field Standardization for Data FormsThis document specifies how to standardize field variables used in the context of jabber:x:data forms.InformationalActiveCouncilformtypes2020-05-051.3.0fsClarify field type handling of the FORM_TYPE field on submission forms.Standards179Jingle IAX Transport MethodThis document defines a Jingle transport method that results in using the Inter-Asterisk eXchange protocol (IAX) for the final communication.Standards TrackDeferredCounciljingle-iax2006-03-230.2psaRecommended use of IAX-native methods for DTMF.Standards310Presence State AnnotationsThis document provides a protocol using which a server is able to provide information to clients indicating that previously received presence data may be stale.Standards TrackDeferredCouncilPSA2012-01-100.1psaInitial published version.Standards276Presence DecloakingThis specification defines an XMPP protocol extension that enables a user to send directed presence with a request for the target to also share presence information for the duration of a communications session.Standards TrackDeferredCouncil2012-07-130.3psaTweaked the security considerations.None103URL Address InformationThis document defines a structure for providing information about an Uniform Resource Locator (URL), and a protocol signaling retrieval states.Standards TrackDeferredCouncilurl-data2018-11-030.4.1pepFix a bunch of typos, batch-style.Standards315Data Forms XML ElementThis specification defines an XMPP protocol extension for including XML-data in XEP-0004 data forms.Standards TrackDeferredCouncilxml-element2019-06-190.1.1fsFix shortname and section heading to avoid collision with XEP-0221Standards453DOAP usage in XMPPThis specification defines how XMPP projects can provide a machine-readable description of their abilities, and how external entities can interact with it.InformationalExperimentalCouncil2022-08-100.1.1egpFix link, broken with the xmpp.org move to Hugo (thanks nav!).Standards90Legacy Entity TimeThis specification provides historical documentation of the legacy jabber:iq:time namespace, which has been deprecated in favor the urn:xmpp:time namespace defined in XEP-0202.HistoricalObsoleteCounciliq-time2009-05-271.2psaPer a vote of the XMPP Council, changed status to Obsolete.Standards456Content Rating LabelsThis specification provides a wire format in the form of a Service Discovery extension to allow services of various kinds to publish information about the kind of content they allow and/or endorse on their platform.Standards TrackExperimentalCouncilcrl2021-03-280.2.0jscDescribe the conversion algorithm.Standards216XMPP Intermediate IM Server 2008This document defines the XMPP Intermedate IM Server 2008 compliance level.Standards TrackObsoleteCouncil2007-07-111.0psaPer a vote of the XMPP Council, advanced to Draft.Standards118User TuneThis specification defines a payload format for communicating information about music to which a user is listening, including the title, track number, collection, performer, composer, length, and user rating. The payload format is typically transported using the personal eventing protocol, a profile of XMPP publish-subscribe specified in XEP-0163.Standards TrackDraftCounciltune2020-10-201.3.0mwbAdd further tags for non-pop musicStandards320Use of DTLS-SRTP in Jingle SessionsThis specification defines how to use DTLS-SRTP (RFC 5763) in the Jingle application type for the Real-time Transport Protocol (RTP) as a way to negotiate media path key agreement for secure RTP in one-to-one media sessions.Standards TrackDraftCouncil2020-05-261.0.0XEP Editor (jsc)Move to Draft as per Council vote from 2020-05-20.Standards2020-05-19434Trust Messages (TM)This document specifies a way to communicate the trust in public long-term keys used by end-to-end encryption protocols from one endpoint to another.Standards TrackExperimentalCouncilTM2021-10-040.6.0melvoSpecify key identifier encoding, improve glossary and update to XEP-0384 version 0.8.0: +* Specify usage of Base64 encoding for key identifiers within trust messages +* Specify usage of Base16 encoding for key identifiers within Trust Message URIs +* Use Base64-encoded key identifiers in examples +* Add 'hash value' as example of key identifier +* Update OMEMO's namespace to 'urn:xmpp:omemo:2' +* Update namespace to 'urn:xmpp:tm:1'Standards312PubSub SinceThis specification defines a publish-subscribe feature that enables a subscriber to automatically receive pubsub and PEP notifications since the last logout time of a specific resource.Standards TrackDeferredCouncil2012-05-290.3psaCorrected namespace to use namespace versioning; tweaked some of the delivery rules.Standards246End-to-End XML StreamsThis specification defines methods for communicating via end-to-end XML streams over a logical or physical connection that provides a reliable transport between two endpoints.Standards TrackDeferredCouncil2016-01-200.1.1XEP Editor (mam)Updated missing 'ice-tcp' reference to RFC 6544.Standards289Federated MUC for Constrained EnvironmentsThis document provides a protocol for federating MUC rooms together in order to reduce the effects of constrained network (e.g. unreliability, severely limited bandwidth) on the room occupants.Standards TrackDeferredCouncilFMUC2021-03-040.2.1mwCross-document editorial adjustments for inclusive language.Standards422Message FasteningThis specification defines a way for payloads on a message to be marked as being logically fastened to a previous message.Standards TrackDeferredCouncilfasten2019-12-300.2.0ks/dwdPreparation for extending MAMStandards397Instant Stream ResumptionThis specification introduces a mechanism for instant stream resumption, based on Stream Management (XEP-0198), allowing XMPP entities to instantaneously resume an XMPP stream.Standards TrackDeferredCouncilisr2018-11-030.1.1fsMinor fixes and clarificationsStandards6ProfilesA proposal for a more powerful and extensible protocol for the management of personal information within Jabber.SIG FormationObsoleteBoard2002-05-081.1psaChanged Status to Obsolete per approval of XEP-0019.Forms, Security298Delivering Conference Information to Jingle Participants (Coin)This specification defines an XMPP extension for tightly coupled conference calls. It allows users who participate in multiparty Jingle calls via a focus agent (mixer) to retrieve information and receive notifications about the state of the call and the other participants. This extension is also meant to provide a straightforward way of connecting SIP and XMPP clients to the same conference room.Standards TrackDeferredCouncilcoin2015-07-020.2sicCorrecting errors in grammar and examples; aligning closer to dependent specifications.Standards208Bootstrapping Implementation of JingleThis document provides guidelines to XMPP client developers for bootstrapping implementation of Jingle technologies.InformationalRetractedCouncil2009-01-060.4psaRetracted because unnecessary given the wide implementation of Jingle.Standards368SRV records for XMPP over TLSThis specification defines a procedure to look up xmpps-client/xmpps-server SRV records (for direct TLS connections) in addition to xmpp-client/xmpp-server and mix weights/priorities.Standards TrackDraftCouncil2019-08-201.1.0jscDescribe how to fall back if _xmpps-server/_xmpps-client records cannot be found.Standards2017-02-2220Feature NegotiationThis specification defines an XMPP protocol extension that enables two entities to mutually negotiate feature options, such as parameters related to a file transfer or a communications session.Standards TrackDeprecatedCouncilfeature-neg2018-03-071.6jwi (Editor)Deprecated as per Council vote on 2018-03-07.Standards259Message Mine-ingIn servers that deliver messages intended for the bare JID to all resources, the resource that claims a conversation notifies all of the other resources of that claim.Standards TrackDeferredCouncilmine2009-01-210.1psaInitial published version.Standards75Jabber Object Access Protocol (JOAP)The Jabber Object Access Protocol, or JOAP, defines a mechanism for creating Jabber-accessible object servers, and manipulating objects provided by those servers. It is intended for development of business applications with Jabber.Standards TrackDeferredCouncil2003-05-220.3espFor consistency, renamed hyphenated elements + 'new-address' and 'return-type' to 'newAddress' and 'returnType' + respectively. Added 'desc' element for human-readable + descriptions to object servers and classes. Changed the + 'writeable' [sic] attribute to the more correct + 'writable'. Added experimental namespace recommendation in + XMPP Registrar section.Standards56Business Data InterchangeThis document defines a way to transmit ebXML messages, ANSI X.11, EDIFACT/UN, and SAP iDoc over Jabber/XMPP.Standards TrackDeferredCouncil2018-11-030.3.1pepFix a bunch of typos, batch-style.Standards258Security Labels in XMPPThis document describes the use of security labels in XMPP. The document specifies how security label metadata is carried in XMPP, when this metadata should or should not be provided, and how the metadata is to be processed.Standards TrackDraftCouncilsec-label2018-11-031.1.1pepFix a bunch of typos, batch-style.Standards403Mediated Information eXchange (MIX): Presence Support.This document defines an extension to Mediated Information eXchange (MIX) specified in XEP-0369 to provide presence information for MIX clients to MIX channel participants. It also specifies relay of IQ stanzas through a MIX channel.Standards TrackDeferredCouncilMIX-PRESENCE2020-12-010.3.2gh/@mathieuiFix incorrect namespacesStandards341Rayo CPAThis specification defines an extension to the Rayo protocol (XEP-0327) to provide provision for performing Call Progress Analysis on a call under the control of a Rayo client.Standards TrackDeferredCouncil2017-09-110.2XEP Editor (jwi)Defer due to lack of activity.Standards384OMEMO EncryptionThis specification defines a protocol for end-to-end encryption in one-to-one chats, as well as group chats where each participant may have multiple clients per account.Standards TrackExperimentalCouncilOMEMO2022-01-180.8.3gh/@6k27fFix broken linksStandards77In-Band RegistrationThis specification defines an XMPP protocol extension for in-band registration with XMPP-based instant messaging servers and other services hosted on an XMPP network (such as groupchat rooms and gateways to non-XMPP IM services). The protocol is extensible via use of data forms, thus enabling services to gather a wide range of information during the registration process. The protocol also supports in-band password changes and cancellation of an existing registration.Standards TrackFinalCounciliq-register2012-01-252.4psaDefined service discovery support.Standards294Jingle RTP Header Extensions NegotiationThis specification defines an XMPP extension to negotiate the use of the use of RTP Header Extension as defined by RFC 8285 with Jingle RTP sessionsStandards TrackDraftCouncil2022-08-271.1.2melvoFix example description and attribute name of 'parameter' element as specified by XML schemaStandards325Internet of Things - ControlNote: This specification has been retracted by the author; new implementations are not recommended. This specification describes how to control devices or actuators in an XMPP-based sensor network.Standards TrackRetractedCouncilsensor-network-control2021-03-040.5.1mwCross-document editorial adjustments for inclusive language.Standards23Message ExpirationThis specification documents an historical protocol that was used to specify expiration dates for messages; this protocol has been deprecated in favor of XEP-0079: Advanced Message Processing.HistoricalObsoleteCouncilx-expire2009-06-031.3psaPer a vote of the XMPP Council, changed status to Obsolete.Standards93Roster Item ExchangeThis specification provides canonical documentation of the jabber:x:roster namespace historically used within the Jabber community. NOTE WELL: This specification has been superseded by XEP-0144.HistoricalDeprecatedCouncilx-roster2005-08-261.2psaPer advancement of XEP-0144 by the Jabber Council, changed status to Deprecated.Standards117Intermediate IM Protocol SuiteThis document defines a recommended suite of Jabber/XMPP protocols to be supported by intermediate instant messaging and presence applications. Note: This protocol suite has been obsoleted by XEP-0213 and XEP-0216.Standards TrackObsoleteCouncil2007-10-301.1psaPer a vote of the XMPP Council, changed status to Obsolete and referred implementors to XEP-0213 and XEP-0216.Standards465Pubsub Public SubscriptionsThis specification provides a way to make subscriptions to a node publicStandards TrackExperimentalCouncilpps2022-07-250.1.1Jérôme Poisson (jp)Update Security Considerations according to council feedback.Standards331Data Forms - Color Field TypesThis specification defines how to publish fields in data forms that take color values. Color values are best edited using a color picker dialog, rather than manual input.Standards TrackDeferredCouncilcolor-parameter2015-11-090.3pwUpdated contact information. +Updated example JIDs to example.orgStandards305XMPP QuickstartThis document defines methods for speeding the process of connecting or reconnecting to an XMPP server.Standards TrackDeferredCouncil2013-03-010.3psaClarified the text in several places.Standards386Bind 2.0This specification provides a single-request replacement for several activities an XMPP client needs to do at startup.Standards TrackDeferredCouncilbind22019-01-310.3.0kisBegrudingly allow non-unread-tracking servers, mention SASL2.Standards338Jingle Grouping FrameworkThis specification provides an XML mapping for translating the RFC 5888 SDP Grouping Framework to JingleStandards TrackDraftCouncil2020-07-211.0.0XEP Editor (jsc)Advance to Draft as per Council vote from 2020-07-01Standards2020-06-30433Extended Channel SearchThis specification provides a standardised protocol to search for public group chats. In contrast to XEP-0030 (Service Discovery), it works across multiple domains and in contrast to XEP-0055 (Jabber Search) it more clearly handles extensibility.Standards TrackDeferredCouncilECS2020-02-270.1.0XEP Editor (jsc)Accepted by vote of Council on 2020-02-26.Standards192Proposed Stream Feature ImprovementsThis document proposes improvements to the XML stream features definition for inclusion in the specification that supersedes RFC 3920.Standards TrackObsoleteCouncil2012-02-081.2psaPer a vote of the XMPP Council, changed status from Deprecated to Obsolete.StandardsxxxxImplicit XMPP WebSocket EndpointsThis document specifies implicit connection endpoints for XMPP over WebSocket (RFC 7395).Standards TrackProtoXEPCounciliwe2020-01-280.0.1fsFirst draft.Standardsxep-iwexxxxXMPP Transport Layer SecurityThis document specifies the XMPP Transport Layer Security (XTLS) protocol. XTLS, which provides communications privacy for the Extensible Messaging and Presence Protocol (XMPP), enables XMPP applications to communicate in a way that is designed to prevent eavesdropping, tampering, and forgery of XML stanzas. XTLS is based on Transport Layer Security (TLS) and integrated as security layer into Jingle. The protocol can be used for secure end-to-end messages as well as any other Jingle application like file file transfer.Standards TrackProtoXEPCouncil2009-02-210.0.4dmImproved the documentation about exchanging passwords and certificates.Standardsjingle-xtlsxxxxFull Text Search in MAMThis specification proposes a field in the MAM form for full text searching.Standards TrackProtoXEPCouncilfulltextmam2020-01-210.0.1dwd* Initial RevisionStandardsfulltextxxxxSASL Channel-Binding Type CapabilityThis specification allows servers to annouce their supported SASL channel-binding types to clients.Standards TrackProtoXEPCouncilsasl-cb-types2020-05-200.0.1fsFirst draft.Standardsxep-sasl-cb-typesxxxxService Outage StatusThis document defines an XMPP protocol extension that enables a server to communicate issues with the server to all users in a semantic manner.Standards TrackProtoXEPCouncil2021-01-180.0.1mpFirst draft.Standardsservice-outage-statusxxxxInternet of Things - EventsThis specification describes an architecture based on the XMPP protocol whereby Things can subscribe to events from other Things based on sensor data available.Standards TrackProtoXEPCounciliot-events2014-08-130.0.1pwFirst draft.Standardsiot-eventsxxxxIM Routing-NGThis specification provides a new set of routing rules for modern instant messaging.Standards TrackProtoXEPCouncilIM-NG2018-03-290.0.2kisFix various slips, mention reflection.Standardsim-ngxxxxAtomically Compare-And-Publish PubSub ItemsThis specification provides a mechanism to atomically Compare-And-Publish items to a PubSub node.Standards TrackProtoXEPCouncilcap2017-10-060.0.3fsUse a custom item value (CAP-V).StandardscapxxxxBest practices for password hashing and storageThis document outlines best practices for handling user passwords on the public Jabber network for both clients and servers.InformationalProtoXEPCouncilpasswords2020-04-190.0.1sswFirst draft.Standardspassword-storagexxxxBookmarks ConversionThis specification describes a method to migrate to PEP based bookmarks without loosing compatibility with client that still use Private XML.Standards TrackProtoXEPCouncilbookmarks-conversion2018-09-180.1.0dgFirst draft.Standardsbookmarks-conversionxxxxCodecs for Jingle RTP SessionsThis document describes implementation considerations related to voice and video codecs for use in Jingle RTP sessions.InformationalProtoXEPCouncil2009-04-040.0.4psaClarified status of H.264.Standardsjingle-rtp-codecsxxxxPre-Authenticated In-Band RegistrationThis document extends the In-Band-Registration protocol to use invitation tokens, e.g. for registering accounts on non-public servers.Standards TrackProtoXEPCouncilibr-token2020-10-280.1.0glFirst version based on XEP-0401.Standardsibr-tokenxxxxPubSub NamespacesThis extension defines a new PubSub node attribute to specify the type of payload.Standards TrackProtoXEPCouncilpubsub-ns2021-12-250.0.1mbFirst draft.Standardspubsub-nsxxxxContent Types in MessagesThis specification describes a generic method whereby content in messages can be tagged as having a specific Internet Content Type. It also provides a method for sending the same content using different content types, as a fall-back mechanism when communicating between clients having different content type support.Standards TrackProtoXEPCouncilcontent2016-01-150.0.1pwFirst draft.Standardscontent-typesxxxxCryptographic Hash Function Recommendations for XMPPThis document provides recommendations for the use of cryptographic hash functions in XMPP protocol extensions.InformationalProtoXEPCouncilhashrecs2019-01-130.0.1psaSplit from XEP-0300.Standardshash-recommendationsxxxxMediated Information eXchange (MIX)This document defines Mediated Information eXchange (MIX), an XMPP protocol extension for the exchange of information among multiple participants through a mediating service. The protocol can be used to model group communication applications such as chatrooms, although with greater flexibility and extensibility than existing groupchat technologies such as Multi-User Chat (MUC). Although MIX supports standard groupchat features such as discussion topics and invitations, and also defines a strong access control model similar to that of MUC, it enables users to participate without sharing presence, allows communication of any structured data (not only textual messages), reuses Publish-Subscribe so that users can receive only the information formats in which they are interested, and reuses Message Archive Management (MAM) to provide more robust storage and archiving.Standards TrackProtoXEPCouncilMIX2015-10-120.0.1kis/psaFirst draft.StandardsmixxxxxTerms of ServicesThis specification provides an in-band, unauthenticated way to request the Terms of Service of an XMPP service.Standards TrackProtoXEPCouncilTOS2018-05-220.0.1jwiFirst draft.StandardstosxxxxXMPP Transport Layer SecurityThis document specifies the XMPP Transport Layer Security (XTLS) protocol. XTLS, which provides communications privacy for the Extensible Messaging and Presence Protocol (XMPP), enables XMPP applications to communicate in a way that is designed to prevent eavesdropping, tampering, and forgery of XMPP stanzas. XTLS is based on Transport Layer Security (TLS) and provides equivalent security guarantees. The protocol sends standard TLS handshake and application data encoded as Base64, similar to the XMPP In-Band Bytestreams (IBB) extension but qualified by a dedicated namespace.Standards TrackProtoXEPCouncil2008-12-110.0.5dm/psa* By popular demand, resurrected the proposal. +* Removed IBB dependency and replaced it with a similar method in the XTLS namespace. +* Added explicit proceed and closed elements in the IQ-result stanzas. +* Removed seq attribute. +* Moved offer semantics from XEP-0250 to this specification.StandardsxtlsxxxxSpecial Interests Group End to End EncryptionThis document proposes the formation of a Special Interest Group (SIG) within the XSF devoted to the development of end-to-end encryption within the context of XMPP.ProceduralProtoXEPCouncilSIG-E2EE2019-12-300.0.1psInitial published version.Nonesige2eexxxxImproving Baseline Security in XMPPThis document describes a number of concrete and effective mechanisms for offering significant security enhancements to XMPP, with broad applicability.HumorousProtoXEPEditorsecurity-theatre2019-04-010.0.1cd/lg* Initial RevisionStandardsbaseline-securityxxxxAutomatic Trust Transfer (ATT)ATT specifies an automatic transfer of trust in public identity keys used by the end-to-end encryption protocol OMEMO.Standards TrackProtoXEPCouncil2019-03-220.0.1mkFirst draft.Standardsautomatic-trust-transferxxxxMovedThis document defines an XMPP protocol extension that enables a user to inform its contacts about a change in JID.Standards TrackProtoXEPCouncilmoved2010-06-090.0.7tpModified syntax to use 'old' and 'new' attributes.StandardsmovedxxxxFile Transfer MetadataAn extension to XEP-0096 and XEP-0234 to design a way of adding arbitrary data to file transfer offers.Standards TrackProtoXEPCouncil2011-11-110.0.1jlInitial version.Standardsft-metadataxxxxStanza Interception and Filtering TechnologyThis specification defines an XMPP protocol extension that enables a client to exercise control over the XML stanzas it will receive from the server by instructing the server to intercept and filter inbound stanzas.Standards TrackProtoXEPCouncil2009-08-140.0.8psaClarified service and feature discovery processes, error flows, and other small matters in the text.StandardssiftxxxxNotification InboxThis document defines a protocol to manage a notification inbox for pending events.Standards TrackProtoXEPCouncilinbox2015-12-090.0.2XEP Editor (mam)Updated contact information for Valerian Saliou.Standardsnotification-inboxxxxxMulti-stage IBRThis specification defines an augmentation of In-Band Registration to allow for multiple stages of user input.Standards TrackProtoXEPCouncil2016-02-030.0.1spwFirst draft.Standardsmultistage-ibrxxxxTrust MessagesThis document specifies a way to communicate the trust in public long-term keys used by end-to-end encryption protocols from one endpoint to another.Standards TrackProtoXEPCouncil2020-02-150.0.1mkFirst draft.Standardstrust-messagesxxxxUser Time ZoneThis specification defines a payload format for communicating information about a user's time zone. The payload format is typically transported using the personal eventing protocol, a profile of XMPP publish-subscribe specified in XEP-0163.Standards TrackProtoXEPCouncil2013-10-280.1lanceInitial version.StandardspeptzoxxxxClient State IndicationThis document defines a way for the client to indicate its active/inactive state.Standards TrackProtoXEPCouncil2014-08-140.0.1mwFirst draft.Standardsclient-state-notificationxxxxInstant Stream ResumptionThis specification introduces a mechanism for instant stream resumption, based on Stream Management (XEP-0198), allowing XMPP entities to instantaneously resume an XMPP stream.Standards TrackProtoXEPCouncilisr2016-03-110.0.2fsSecond draft.StandardsisrxxxxOMEMO Encrypted Jingle File TransferThis specification defines a Jingle application for transfering encrypted files from one entity to another. The protocol is based on the regular Jingle File Transfer specification and diverges from that only in the description of the file.Standards TrackProtoXEPCouncil2015-09-020.0.1dgFirst draft.Standardsomemo-filetransferxxxxCall InvitesThis document defines how to invite someone to a call and how to respond to the invite.Standards TrackProtoXEPCouncilcall-invites2022-01-010.0.1nw/mwFirst draft.Standardscall-invitesxxxxPubsub AttachmentsThis specification provides a way to attach elements to a pubsub item.Standards TrackProtoXEPCouncilpubsub-attachments2022-07-110.0.1jpFirst draft.Standardspubsub-attachmentsxxxxMessage ReactionsThis specification defines a way for adding reactions to a message.Standards TrackProtoXEPCouncilreactions2019-07-140.0.1nw/mwFirst draft.StandardsreactionsxxxxAutomatic Trust Management (ATM)This document specifies a way to automatically manage the trust in public long-term keys used by end-to-end encryption protocols.Standards TrackProtoXEPCouncilATM2020-11-050.0.1melvoFirst draft.Standardsautomatic-trust-managementxxxxMandatory-to-Implement Technologies for Jingle RTP SessionsThis specification defines mandatory-to-implement technologies for Jingle RTP sessions, in particular codecs for voice and video chat.Standards TrackProtoXEPCouncil2009-03-040.0.2psaAdded more information about video codecs.Standardsjingle-rtp-mtixxxxInboxThis specification proposes a mechanism by which clients can find a list of ongoing conversations and their state.Standards TrackProtoXEPCouncilinbox2019-12-300.0.1dwd* Initial RevisionStandardsinboxxxxxExtended Channel SearchThis specification provides a standardised protocol to search for public group chats. In contrast to XEP-0030 (Service Discovery), it works across multiple domains and in contrast to XEP-0055 (Jabber Search) it more clearly handles extensibility.Standards TrackProtoXEPCouncilECS2020-02-190.0.1jscFirst draft.Standardsextended-channel-searchxxxxFile metadata elementThis specification defines a generic file metadata element to be used in other specifications.Standards TrackProtoXEPCouncilfile-metadata2020-11-030.0.1lmwFirst draft.Standardsfile-metadataxxxxE2E Authentication in XMPPThis specification describes how X.509 certificates can be used for end-to-end authentication in XMPP.Standards TrackProtoXEPCouncil2019-02-080.0.1evkFirst draft.StandardseaxxxxxXMPP on Mobile DevicesThis document provides background information for XMPP implementors concerned with mobile devices operating in a cellular network such as 3G.InformationalProtoXEPCouncil2010-07-130.0.1dwdFirst draft. Also John's birthday.StandardsmobilexxxxXMPP Compliance Suites 2021This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.Standards TrackProtoXEPCouncilCS20212020-09-020.0.1glFirst draft based on XEP-0423.Standardscs-2021xxxxQuick ResponseQuickly respond to automated messages.Standards TrackProtoXEPCouncil2020-04-200.0.1thInitial versionStandardsquick-responsexxxxJingle SOCKS5 Bytestreams Transport MethodThis specification defines a Jingle transport method that results in sending data via the SOCKS5 Bytestreams (S5B) protocol defined in XEP-0065. Essentially this transport method reuses XEP-0065 semantics for sending the data and defines native Jingle methods for starting and ending an S5B session.Standards TrackProtoXEPCounciljingle-s5b2009-02-180.0.3psaClarified order of events to be consistent with raw-udp and ice-udp.Standardsjingle-s5bxxxxPubSub SinceThis specification defines a publish-subscribe feature that enables a subscriber to automatically receive pubsub and PEP notifications since its last logout time.Standards TrackProtoXEPCouncil2012-02-290.0.2psaAddressed some feedback from the XMPP Council.Standardspubsub-sincexxxxEntity ReputationThis specification defines an XMPP protocol extension for communicating the reputation of any entity on the network.Standards TrackProtoXEPCouncil2010-01-110.0.1psaFirst draft.StandardsreputationxxxxShared XML EditingThis specification defines a protocol that enables two or more endpoints to collaboratively edit an XML object. The protocol is intended for use mainly over the Extensible Messaging and Presence Protocol (XMPP), either by existing instant messaging clients or by specialized editing clients. However, the protocol could also be used over a direct TCP connection rather than over XMPP.Standards TrackProtoXEPCouncil2010-06-080.0.10tp/psaUpdated Jingle namespaces, transport definitions, reason codes, and other syntax; improved feature discovery and session advertisement; updated namespace to be urn:xmpp:sxe:0 for future-compatibility.StandardssxexxxxBookmark PinningThis document defines an XMPP protocol extension to allow users to pin PEP Native Bookmarks.Standards TrackProtoXEPCouncilbookmarkspinning2020-05-170.0.1amInitial version.Standardsbookmark-pinningxxxxLinked Process ProtocolLinked Process is a protocol for distributed computing that facilitates the creation of an Internet-scale, general-purpose compute cloud. Any computing device with an Internet connection can consume and/or provide computing resources in a Linked Process cloud. Resource consumption occurs when a device migrates arbitrary code to another device for execution. Linked Process is applicable where it is necessary for a resource consumer to define the means by which a provider's resources are utilized.Standards TrackProtoXEPCouncil2009-09-180.0.1psaFirst draft.StandardslopxxxxUse of ZRTP in Jingle RTP SessionsThis specification defines a Jingle application type for negotiating one or more sessions that use the Real-time Transport Protocol (RTP) to exchange media such as voice or video. The application type includes a straightforward mapping to Session Description Protocol (SDP) for interworking with SIP media endpoints.Standards TrackProtoXEPCouncil2009-02-240.0.2psaDefined dedicated namespace for the zrtp-hash element to improve service discovery and handling of session-info message; clarified protocol flow and security considerations.Standardsjingle-zrtpxxxxXMPP Compliance Suites 2019This document defines XMPP protocol compliance levels.Standards TrackProtoXEPCouncilCS20192018-12-080.0.1jscFirst draft based on XEP-0378.Standardscs-2019xxxxPre-auth Registration Key Generation and ValidationThis specification updates XEP-0401 and XEP-0445 by specifying a shared format for the pre-authenticated registration token.Standards TrackProtoXEPCouncilpreauth-token2021-06-060.0.1sswFirst draft.Standardspreauth-ibrxxxxJingle Relay NodesThis documents specifies how Jingle Clients can interact with Jingle Relay Nodes Services and how XMPP entities can provide, search and list available Jingle Relay Nodes.Standards TrackProtoXEPCouncilJingle Nodes2009-12-170.0.1psaFirst draft.Standardsjingle-nodesxxxxFallback IndicationThis specification proposes a mechanism by which message bodies can be marked as being purely for fallback purposes, and therefore to be ignored by intermediaries and anything that understands the remainder of the message.Standards TrackProtoXEPCouncilfallback2019-12-300.0.1dwd* Initial RevisionStandardsfallbackxxxxPubSub Type FilteringThis specification provides a way to filter PubSub nodes in a disco query.Standards TrackProtoXEPCouncil2022-02-010.0.1edhelas, pepFirst draft.Standardspubsub-filterxxxxAccount ManagementThis specification provides a collection of stream features meant to manage one's account, in particular for account registration, deletion and change of password.Standards TrackProtoXEPCouncil2011-07-170.0.1jpFirst draft.Standardsaccount-managementxxxxRemindersThis specification provides a way to set up reminders.Standards TrackProtoXEPCouncil2020-02-170.0.1mdvpInitial versionStandardsremindersxxxxInstant Stream ResumptionThis specification introduces a mechanism for instant stream resumption, based on Stream Management (XEP-0198), allowing XMPP entities to instantaneously resume an XMPP stream.Standards TrackProtoXEPCouncilisr2017-11-300.0.5fsMinor changesStandardsisr-sasl2xxxxXMPP Resources AvatarsThis specification describes how to publish and retrieve avatars from XMPP resources.Standard TrackProtoXEPCouncil2018-11-030.0.2tjGeneralise to non-MUC resources.Standardsmuc-avatarsxxxxSIP/SDP Over XMPP (SoX)This specification defines an XMPP protocol extension for communicating Session Description Protocol (SDP) data, along with relevant Session Initiation Protocol (SIP) headers. The SoX protocol is designed for use by XMPP-only endpoints that need to communicate raw SDP information (e.g., in WebRTC scenarios), not as a general-purpose replacement for the XMPP Jingle extensions.Standards TrackProtoXEPCouncil2013-12-020.0.2psaClarified scope and intent of the protocol.StandardssoxxxxxS2S ComponentsThis document describes a modernized method of connecting 'components' to a server, expressed as a profile of the existing standard server-to-server protocol.Standards TrackProtoXEPCouncilcomp-s2s2015-01-200.0.1dwd* Initial RevisionStandardss2s-componentsxxxxSpim Markers and ReportsThis document defines an XMPP protocol extension that enables XMPP entities to interact with spim filters by marking unsolicited or suspicious XMPP stanzas.Standards TrackProtoXEPCouncil2010-09-130.1evkInitial version.StandardsspimxxxxSimple ButtonsThis specification provides a way to send simple buttons.Standards TrackProtoXEPCouncil2018-09-300.0.2kaPolishing preparing for submissionStandardsbuttonsxxxxMessage CarbonsIn order to keep all IM clients for a user engaged in a conversation, outbound messages are carbon-copied to all interested resources.Standards TrackProtoXEPCouncilcarbons2010-02-250.0.1jjhFirst draft.StandardscarbonsxxxxBuddycloud ChannelsThis document describes a profile and conventions for usage of the PubSub protocol in the context of a new type of communication.Standards TrackProtoXEPCouncil2014-04-290.0.2sdtFirst draft.Standardsbuddycloud-channelsxxxxRecipient Server Side Notifications FilteringThis specification defines a modern efficient way to deliver PubSub notifications.Standards TrackProtoXEPCouncil2014-07-200.0.2sdUpdated based on Council feedback.StandardsrsfxxxxWebSocket S2SThis specification defines a procedure to make s2s XMPP connections over WebSocket.Standards TrackProtoXEPCouncil2022-06-130.0.1tjbFirst draft.Standardswebsocket-s2sxxxxExtensible SASL ProfileThis document describes a replacement for the SASL profile documented in RFC 6120 which allows for greater extensibility.Standards TrackProtoXEPCouncilsasl22017-02-070.0.1dwd* Initial RevisionStandardssasl2xxxxCustomizable Message RoutingThis specification specifies customizable behavior of RFC 6121 section 8.5.2.1.1 to allow various message routing algorithms (e.g. for load balancing).Standards TrackProtoXEPCouncil2014-09-220.0.1fsFirst draft.StandardscmrxxxxBody Markup HintsThis document specifies hints about the markup language used in elements.Standards TrackProtoXEPCouncilbmh2017-10-140.0.1fsFirst draft.StandardsbmhxxxxStanza ForwardingThis specification defines best practices for delivery of XMPP stanzas that are forwarded from one address to another.Standards TrackProtoXEPCouncilforwarding2009-04-100.0.5psaChanged service discovery feature to urn:xmpp:forwarding:0 in compliance with XMPP Registrar processes.Standardsforwarding-deliveryxxxxMUC Affiliations VersioningThis specification provides a way to reduce the amount of queries necessary to stay up-to-date with affiliations in a MUC room.Standards TrackProtoXEPCouncil2022-02-120.0.1pepFirst draft.Standardsmuc-affiliations-versioningxxxxMessage FasteningThis specification defines a way for payloads on a message to be marked as being logically fastened to a previous message.Standards TrackProtoXEPCouncilfasten2019-09-040.0.1ksFirst draft.StandardsfastenxxxxTwo-factor user authentication with a shared secretThis document specifies a two-factor authentication mechanism to check if a XMPP account exists and if it is trying to use or access services or resources of certain device, application or service. Authentication mechanism is based on transmitting a password using Ad-Hoc Commands. Password is calculated from shared secret.Standards StrackProtoXEPCouncil2013-12-190.0.1tuvFirst draft.Standardsuser-authxxxxInstant GamingThis document defines an XMPP protocol extension for serverless instant gaming in a one-to-one context.Standards TrackProtoXEPCouncil2009-03-140.0.1tgFirst draft.Standardsinstant-gamingxxxxStanza MultiplexingThis spec provides a mechanism for multiplexing multiple virtual hosts over a single XMPP session.Standards TrackProtoXEPCouncilmux2020-12-030.0.1sswFirst draft.StandardsmuxxxxxRoom Activity IndicatorsThis specification describes a lightweight mechanism for activity notifications in MUCsStandards TrackProtoXEPCouncil2020-04-130.0.1mwFirst draft.Standardsroom-activity-indicatorsxxxxDigital Signatures in XMPPThis document provides a technical specification for Digital Signatures in the Extensible Messaging and Presence Protocol (XMPP).Technical SpecificationProtoCouncil2010-03-100.0kdzProto-XEP draft.StandardsdsigxxxxFile Transfer ThumbnailsThis specification defines a way for a client supply a preview image for a file transfer.Standards TrackProtoXEPCouncilthumbs2009-03-100.0.3mlSplit use-case section into "Introduction", "Requirements", and "Use case".StandardsthumbsxxxxPubsub Caching HintsThis specification provides a way to get caching information from a Pubsub nodeStandards TrackProtoXEPCouncilpubsub-caching2021-07-190.0.1jpFirst draft.Standardspubsub-caching-hintsxxxxJSON Content Type supportThis specification defines JavaScript Object Notation (JSON) use in XMPP service.Standards TrackProtoXEPCouncil2010-05-070.0.1MiHFirst draft.StandardsjsonxxxxStateless file sharingThis specification describes a protocol for stateless asynchronous file sharing with integrity and transport flexibility. It allows clients to provide a good interoperable user experience in combination with Carbons and MAM.Standards TrackProtoXEPCouncilsfs2020-11-100.0.1lmwFirst draft.StandardssfsxxxxAnonymous unique occupant identifiers for MUCsThis specification defines a method that allows clients to identify a MUC participant across reconnects and renames. It thus prevents impersonification of anonymous users.Standards TrackProtoXEPCounciloccupant-id2019-07-130.0.1mwFirst draft.Standardsoccupant-idxxxxSensor-Over-XMPPThis specification defines a payload format for communicating sensor and actuation information. The payload format is transported using the publish-subscribe mechanism described in XEP-0060.Standards TrackProtoXEPCouncilsox2011-04-080.0.18cssAdd data element to enclose transducerValue and transducerSetValue.StandardssensorsxxxxMulti-User Chat AdministrationThis specification defines how to administer Multi-User Chat rooms and services using Ad-Hoc Commands.Standards TrackProtoXEPCouncil2012-09-250.0.1psaFirst draft.Standardsmuc-adminxxxxJID MentionThis specification provides a way for an entity to mention a jidStandards TrackProtoXEPCouncil2016-01-160.0.1jpFirst draft.Standardsjid-mentionxxxxPresence DecloakingThis specification defines an XMPP protocol extension that enables a user to send directed presence with a request for the target to reciprocate.Standards trackProtoXEPCouncil2010-01-170.0.2psaRewrote the introduction, clarified the security considerations, requested issuance of an appropriate URN from the XMPP Registrar.NonedecloakxxxxIncident ReportingThis specification defines methods for incident reporting among XMPP server deployments.Standards TrackProtoXEPCouncil2009-04-300.0.3psaPer Council feedback, moved server rosters to a separate specification.Standardsincident-reportingxxxxE2E Authentication in XMPP: CA RequirementsThis specification defines requirements for certificate authorities issuing X.509 certificates for e2e authentication in XMPP.ProceduralProtoXEPBoard2019-02-080.0.1evkFirst draft.Standardseax-carxxxxMessage RepliesThis document defines a way to indicate that a message is a reply to a previous message.Standards TrackProtoXEPCouncilreply2022-01-010.0.1nw/mwFirst draft.StandardsrepliesxxxxDNS Queries over XMPP (DoX)This specification defines an XMPP protocol extension for sending DNS queries and getting DNS responses over XML streams. Each DNS query-response pair is mapped into an IQ exchange.Standards TrackProtoXEPCouncildox2019-03-110.0.1tjbFirst draft.StandardsdoxxxxxOrder-ByThis specification allows to change order of items retrieval in a Pubsub or MAM queryStandards TrackProtoXEPCouncil2019-01-050.0.1jpFirst draft.Standardsorder-byxxxxProblem ReportingThis specification defines methods for reporting of network problems between XMPP server deployments.Standards TrackProtoXEPCouncil2009-04-130.0.1psaFirst draft.Standardsproblem-reportingxxxxJingle SDP ContentThis specification defines a Jingle application type for transport the Session Description Protocol (SDP) over Jingle.Standards TrackProtoXEPCounciljingle-sdp2013-09-050.0.1phFirst draft.Standardsjingle-sdpxxxxREST with XMPPThis specification defines how the Representational State Transfer (REST) architectural style can be applied to an XMPP overlay network. It specifies an XMPP protocol extension for accessing resources and transporting resource metadata and XML-REST encoded requests and responses between two XMPP entities.Standards TrackProtoXEPCouncil2015-05-110.0.1asFirst draft.StandardsrestxxxxMUC Self-Ping (Schrödinger's Chat)This protocol extension for XEP-0045 Multi User Chat allows clients to check whether they are still joined to a chatroom.Standards TrackProtoXEPCouncilmuc-selfping2018-08-060.0.2glAdd handling for another corner case, change title to Council’s likingStandardsmuc-selfpingxxxxServer IP CheckThis specification defines a simple XMPP extension that enables a client to discover its external IP address.Standards TrackProtoXEPCouncilsic2009-03-100.0.2psaRemoved client inclusion of its IP address; added IPv6 example.StandardssicxxxxServer-based Tic-tac-toeThis document defines how to play a Tic-tac-toe game over XMPPStandards TrackProtoXEPCouncil2009-03-140.0.1akFirst Draft.Standardstictactoe-mugxxxxMujiThis specification defines an XMPP protocol extension for initiating and managing multiparty voice and video conferences within an XMPP MUCExtensionProtoXepTelepathy projectmuji2009-06-090.0.0.2sjoerdSecond rough draft.StandardsmujixxxxOut-of-Band Stream DataThis specification defines how to send parts of an XML stream over a direct connection between peers. This allows to send large stanzas or binary data without blocking the XML stream for other stanzas.Standards TrackProtoXEPCouncil2009-03-300.0.2dmSimplify Example; Restrict Usage; Add abortStandardsoutofbandxxxxEphemeral MessagesThis specification encourages a shift in privacy settings wrt. logging policies.Standards TrackProtoXEPCouncil2022-04-160.0.2pepResubmit with some changes.Standardsephemeral-messages-v2xxxxFile Sharing NotificationsThis specification provides a notification protocol for information about ongoing file uploads and media creation by the user.Standards TrackProtoXEPCouncil2018-08-210.0.4lnjAdd upload-finished state, minor improvements.StandardsfsnxxxxMUC presence versioningThis specification defines a versioning mechanism which reduces the amount of presence traffic in a XEP-0045 MUCStandards TrackProtoXEPCouncilomnipresent-muc-affiliates2020-03-300.0.1jcbFirst draftStandardsmuc-presence-versioningxxxxTic-tac-toeThis document defines how to play a Tic-tac-toe game over XMPPStandards TrackProtoXEPCouncil2009-03-140.0.1tgFirst Draft.StandardstictactoexxxxMoved 2.0This specification details a way for a user to notify their contacts about an account move.Standards TrackProtoXEPCouncil2021-06-050.0.1mwFirst draft.Standardsmoved2xxxxDMUC3: Distributed MUCThis document provides a protocol for reducing the bandwidth cost of local users contributing to a remote MUC over a constrained link through a local mirror of the MUC room.Standards TrackProtoXEPCouncilDMUC2011-01-250.0.1wafFirst draft.Standardsdmuc3xxxxSimple JSON MessagingThis specification proposes a simple mechanism by which applications can transfer data safely, without needing additional protocol design work. It is intended to provide a protocol that is trivial to implement and can be driven with a simple API.Standards TrackProtoXEPCounciludt2020-02-130.0.2dwdHave another crack at getting this through Council. +* Rename to a more obvious name +* Remove IQ +* Remove API, instead describe API requirementsStandardsudtxxxxFederated MUC for constrained environmentsThis document provides a protocol for reducing the bandwidth cost of local users contributing to a remote MUC over a constrained link through local proxying of the MUC room.Standards TrackProtoXEPCouncilFMUC2010-05-240.0.1kisFirst draft.StandardsfmucxxxxOMEMO Media sharingAn informal way of sharing media files despite limitations in the OMEMO encryptionHistoricalProtoXEPCouncil2021-01-100.0.2egp* Resubmitted on the Historical track. +* Added a section on IANA considerations.Standardsomemo-media-sharingxxxxDistributed Multi-User ChatThis document defines methods for distributing Multi-User Chat (MUC) rooms across multiple services.Standards TrackProtoXEPCouncildmuc2010-02-050.0.2psaSimplified the protocol to use a master-slave approach; modified terminology.StandardsdistributedmucxxxxThe 'xmpp.pubsub' URI SchemeThis document defines the format of Uniform Resource Identifiers (URIs) to identify nodes in the context of Publish-Subscribe services as well as items within the scope of such nodes.Standards TrackProtoXEPCouncil2012-01-140.0.1khInitial draft.Standardspubsub-urixxxxDisco Feature AttachmentThis specification provides a way to indicate that a feature is implemented for a specific namespaceStandards TrackProtoXEPCouncildfa2021-07-220.0.1jpFirst draft.Standardsdisco-feature-attachmentxxxxToken-based reconnectionThis specification defines a token-based session authentication mechanism.Standards TrackProtoXEPCouncil2016-02-160.0.2mpRemoved mention of OAuth from Abstract; removed mention of DIGEST-MD5.Standardstoken-reconnectionxxxxMulti-Factor Authentication with TOTPThis specification defines support for multi-factor authentication in terms of SASL2 Tasks based around the Time-based One Time Password mechanism.Standards TrackProtoXEPCouncilmfa2018-01-080.0.2dwdSo ABNF isn't well-formed XML, of course...Standardstotp-2faxxxxMulti-User GamingThis document defines an XMPP protocol extension for multi-user gaming.Standards TrackProtoXEPCouncilmug2009-04-200.0.3gnAdded sections about entering non-anonymous, semi-anonymous and fully-anonymous rooms.Standardsmulti-user_gamingxxxxUser RatingThis specification provides for the rating element.Standards TrackProtoXEPCouncil2016-05-210.0.1dswFirst draft.StandardsuserratingxxxxNamespace Versioning in urn:xmppThis document describes the common practise of namespace versioning for the urn:xmpp URN namespace, and how this affects (and does not affect) the protocols which have such namespaces.InformationalExperimentalCouncilnamespace2015-04-070.0.2dcNoticed two conversations in two weeks. Must be time to reify this one. Added two new misconceptions; the author vs registrar one was mine.StandardsnsverxxxxStanza Content EncryptionThe Stanza Content Encryption (SCE) protocol is intended as a way to allow clients to securely exchange arbitrary extension elements using different end-to-end encryption schemes.Standards TrackProtoXEPCouncilSCE2019-06-030.0.1psFirst draft.Standardsxep-scexxxxContent Rating LabelsThis specification provides a wire format in the form of a Service Discovery extension to allow services of various kinds to publish information about the kind of content they allow and/or endorse on their platform.Standards TrackProtoXEPCouncilcrl2021-03-030.0.1jscFirst draft.Standardscontent-ratingsxxxxClient Key SupportThis specification defines an XMPP binding of the supporting functions for the CLIENT-KEY SASL mechanism.Standards TrackProtoXEPCouncilclient-key2018-01-080.0.1dwdFirst draftStandardsclient-keyxxxxDesign Considerations for Digital Signatures in XMPPThis document discusses considerations for the design of Digital Signatures in XMPP, including use cases and requirements. The document also discusses various ways XML Digital Signatures could be used in XMPP.InformationalProtoXEPCouncilxmpp-dsig-design2009-08-200.0.090820kdzProto-XEP draft.Standardsdsig-designxxxxXMPP over QUICThis specification defines a procedure to make both c2s and s2s XMPP connections over the QUIC protocol instead of TCP+TLS.Standards TrackProtoXEPCouncil2022-06-130.0.1tjbFirst draft.Standardsxmpp-over-quicxxxxBidirectional Server-to-Server ConnectionsThis specification defines a protocol for using server-to-server connections in a bidirectional way such that stanzas are sent and received on the same TCP connection.Standards TrackProtoXEPCouncil2010-09-130.0.2dwdbelated run-over pre-publication +Added notes on authenticationStandardsbidixxxxUser Avatar to vCard-Based Avatars ConversionThis specification describes a method for using PEP based avatars and vCard based avatars in parallel by having the user’s server do a conversion between the two.Standards TrackProtoXEPCouncilpep-vcard-conversion2017-12-180.1.0dgFirst draft.Standardspep-vcard-conversionxxxxCalendaring Extensions to Publish-SubscribeThis specification defines calendaring extensions to Publish-Subscribe for the purposes of group calendaring and scheduling between "Calendar Users" (CUs), accessing, managing, and sharing calendaring and scheduling information on a Calendar Server, and a mechanism for alarm notifications.Standards TrackProtoXEPCouncil2009-02-140.0.3.1khAdded XML schema; fixed a number of minor issues.StandardscalendaringxxxxCompatibility FallbacksThis document defines a way to indicate that a specific part of the body only serves as fallback and which specification the fallback is for.Standards TrackProtoXEPCouncilcompat2022-01-010.0.1nw/mwFirst draft.Standardscompatibility-fallbackxxxxDOAP usage in XMPPThis specification defines how XMPP projects can provide a machine-readable description of their abilities, and how external entities can interact with it.InformationalProtoXEPCouncil2021-01-100.0.1egpFirst draft.Standardsdoap-usage-in-xmppxxxxQuality of ServiceThis specification describes a generic method whereby messages can be sent between clients using a predefined Quality of Service level.Standards TrackProtoXEPCouncilqos2015-11-120.0.1pwFirst draft.StandardsqosxxxxXMPP Compliance Suites 2020This document defines XMPP protocol compliance levels.Standards TrackProtoXEPCouncilCS20202018-12-080.0.1jscFirst draft based on XEP-0412. Non-editorial Changes: +* Added "Future Development" sectionStandardscs-2020xxxxChannel Binding PseudomechanismsA method for advertising and negotiating types of channel binding supported by SCRAM based SASL mechanisms.Standards TrackProtoXEPCouncilpseudomechanisms2020-05-010.0.1sswFirst draft.Standardscb-pseudomechanismsxxxxPubsub Public SubscriptionsThis specification provides a way to make subscriptions to a node publicStandards TrackProtoXEPCouncilpps2022-03-300.0.1jpFirst draft.Standardspubsub-public-subscriptionsxxxxXMPP Compliance Suites 2022This document defines XMPP application categories for different use cases (Core, Web, IM, and Mobile), and specifies the required XEPs that client and server software needs to implement for compliance with the use cases.Standards TrackProtoXEPCouncilCS20222021-02-030.0.1spFirst draft based on XEP-0443.Standardscs-2022xxxxMUC Mention NotificationsThis specification documents how a user may be informed when they're mentioned in a MUC which they're not currently joined to.Standards TrackProtoXEPCouncil2020-12-170.0.1jcbFirst draft.Standardsmuc-mention-notificationsxxxxE2E Authentication in XMPP: Certificate Issuance and RevocationThis specification defines a way for a certificate authority to serve certificate signing requests via XMPP in order to issue X.509 certificates for the use in end-to-end and c2s SASL EXTERNAL authentication.Standards TrackProtoXEPCouncil2019-03-110.0.1evkFirst draft.Standardseax-cirxxxxAuthorization TokensThis document defines an XMPP protocol extension for issuing authentication tokens to client applications and provides methods for managing сlient connections.Standards TrackProtoXEPCouncilxabber-tokens2019-09-110.0.1ag/anFirst draft.Standardsauth-tokensxxxxMAM Fastening CollationThis specification proposes a mechanism by which MAM results containing fastenings can be collated effectively.Standards TrackProtoXEPCouncilmamfc2019-12-190.0.1dwd* Initial RevisionStandardsmamfcxxxxStickersThis specification provides a protocol to send stickers and to create and share sticker packs.Standards TrackProtoXEPCouncilstickers2020-11-030.0.1lmwFirst draft.StandardsstickersxxxxEncryption for stateless file sharingThis specification provides a protocol for sharing encrypted files using the stateless file sharing protocol (XEP-xxxx).Standards TrackProtoXEPCouncilesfs2020-11-100.0.1lmwFirst draft.StandardsesfsxxxxBest practices for GDPR compliant deployment of XMPPThis informational XEP provides information on deploying XMPP in way that is compliant with the General Data Protection Regulation (GDPR) of the European Union.InformationalProtoXEPCouncil2018-05-220.0.1wtFirst draft.StandardsgdprxxxxXMPP Over RELOAD (XOR)This specification defines an XMPP Usage of REsource LOcation And Discovery (RELOAD). The XMPP usage provides an ability for XMPP clients to discover other peers' location through the peer-to-peer overlay. Once a peer location is determined, the RELOAD AppAttach method is used to establish a direct connection between peers through which XMPP streams are exchanged.Standards TrackProtoXEPCouncil2019-02-080.0.1evkFirst draft.StandardsxorxxxxJingle In-Band Bytestreams TransportThis specification defines a Jingle transport method that results in sending data via the In-Band Bytestreams (IBB) protocol defined in XEP-0047. Essentially this transport method reuses XEP-0047 semantics for sending the data and defines native Jingle methods for starting and ending an IBB session.Standards TrackProtoXEPCounciljingle-ibb2009-02-100.0.1psaRough draft.Standardsjingle-ibbxxxxServer RostersThis specification defines a convention for trust between XMPP server deployments.Standards TrackProtoXEPCouncil2009-04-300.0.1ah/fj/psa/mr/mwFirst draft, split from the incident reporting proposal.Standardsserver-rostersxxxxShared BOSHThis specification defines an extension to BOSH that allows multiple clients to share the same underlying XMPP connection.Standards TrackProtoXEPCouncil2009-05-130.0.1JackFirst draft.Standardsshared-boshxxxxMulti-User Chat LightThis specification provides a presence-less standard for Multi-User Chats. Its feature set is a response to mobile XMPP applications needs and specific environment.Standards TrackProtoXEPCouncil2015-10-290.0.1PNFirst full version.Standardsmuc-lightxxxxXMPP Connections across HTTPS (HACX)This specification defines a procedure to look up various connection methods for an XMPP server over HTTPS, with a focus on censorship resistance.Standards TrackProtoXEPCouncil2018-05-160.0.2tjbFix requirements, editing, add alternatives.StandardshacxxxxxDomain Name AssertionsAn application-level approach to asserting and proving the delegated ownership of a domain name for server-to-server XMPP federation.Standards TrackProtoXEPCouncildna2009-07-270.0.1jjhFirst draft.Standardsdna \ No newline at end of file diff --git a/doc/doap-rendering/xeplist.xml.license b/doc/doap-rendering/xeplist.xml.license new file mode 100644 index 000000000..ddd29c635 --- /dev/null +++ b/doc/doap-rendering/xeplist.xml.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2004 XMPP Standards Foundation + +SPDX-License-Identifier: CC0-1.0 diff --git a/doc/doap.xml b/doc/doap.xml new file mode 100644 index 000000000..82f6e0fc0 --- /dev/null +++ b/doc/doap.xml @@ -0,0 +1,806 @@ + + + + + + + + QXmpp + 2008-12-01 + Cross-platform C++ / Qt XMPP client and server library + QXmpp is a cross-platform XMPP client and server library written in C++ and using the Qt framework. + + + + + + + + en + C++ + Android + iOS + Linux + macOS + tvOS + Universal Windows Platform (UWP) + watchOS + WebAssembly + Windows + + + + + + + + + + + + + complete + 2.9 + 0.2 + + + + + + partial + 2.2 + 0.2 + API not finalized yet + + + + + + complete + 2.4 + 0.2 + Manager since 0.3 + + + + + + complete + 1.1 + 0.7 + + + + + + complete + 1.25 + 0.2 + + + + + + complete + 1.2 + 0.2 + + + + + + complete + 1.2 + 0.4 + + + + + + complete + 1.2 + 0.2 + + + + + + complete + 1.0 + 0.5 + + + + + + partial + 1.24 + 1.5 + + + + + + complete + 1.7 + 0.2 + + + + + + complete + 1.5 + 1.0 + + + + + + complete + 1.4 + 0.6.2 + + + + + + complete + 2.4 + 0.6 + Manager since 1.2 + + + + + + complete + 2.5 + 0.2 + + + + + + complete + 1.9 + 1.5 + Missing some attributes of the PEP items + + + + + + complete + 1.1 + 0.2 + + + + + + complete + 2.1 + 0.2 + + + + + + complete + 1.4 + 0.2 + + + + + + complete + 1.1 + 0.2 + + + + + + complete + 1.2 + 0.2 + + + + + + complete + 1.3 + 0.2 + + + + + + complete + 1.6 + 0.2 + + + + + + complete + 1.3 + 1.4 + + + + + + complete + 1.0 + 0.2 + + + + + + complete + 1.3 + 0.2 + + + + + + complete + 1.0 + 0.3 + + + + + + complete + 1.2 + 1.5 + + + + + + complete + 1.1 + 0.2 + + + + + + partial + 1.1 + 0.2 + Missing 'rtcp-mux' of https://xmpp.org/extensions/xep-0167.html#format, 'encryption' of https://xmpp.org/extensions/xep-0167.html#srtp, https://xmpp.org/extensions/xep-0167.html#info-active, https://xmpp.org/extensions/xep-0167.html#info-hold, https://xmpp.org/extensions/xep-0167.html#info-mute + + + + + + complete + 1.0 + 0.2 + + + + + + complete + 1.2 + 0.4 + + + + + + complete + 1.5 + 1.0 + + + + + + complete + 2.0 + 0.2 + + + + + + complete + 2.0 + 0.3 + + + + + + complete + 2.0 + 0.4 + + + + + + complete + 1.0 + 0.6 + + + + + + complete + 1.0 + 0.4 + + + + + + complete + 1.0 + 1.2 + + + + + + partial + 1.3 + 1.0 + + + + + + complete + 1.0 + 1.3 + + + + + + complete + 1.2 + 0.5 + + + + + + complete + 0.4 + 1.5 + + + + + + complete + 0.10 + 1.0 + + + + + + complete + 1.0 + 1.5 + + + + + + complete + 1.0 + 1.0 + + + + + + complete + 0.5 + 1.0 + + + + + + complete + 1.0 + 1.0 + + + + + + complete + 0.8.1 + + + + + + complete + 0.3 + 1.1 + + + + + + complete + 1.0 + 1.0 + + + + + + complete + 0.4 + 1.3 + + + + + + complete + 0.6 + 1.3 + + + + + + complete + 1.0 + 1.1 + + + + + + complete + 0.3 + 1.1 + + + + + + partial + 0.14 + 1.1 + Only IQ queries implemented + + + + + + complete + 0.4 + 1.1 + + + + + + complete + 0.2 + 1.1 + + + + + + complete + 0.8 + 1.5 + + + + + + partial + 0.5 + 1.3 + Only IQ queries implemented + + + + + + partial + 0.1 + Only invitations implemented + 1.4 + + + + + + complete + 0.4 + 1.5 + + + + + + complete + 0.1 + 1.3 + + + + + + complete + 0.6 + 1.5 + + + + + + complete + 0.2 + 1.5 + + + + + + complete + 0.4 + 1.5 + + + + + 1.4.0 + 2021-03-15 + + + + + + 1.3.2 + 2021-01-09 + + + + + + 1.3.1 + 2020-07-20 + + + + + + 1.3.0 + 2020-04-06 + + + + + + 1.2.1 + 2020-04-01 + + + + + + 1.2.0 + 2020-02-06 + + + + + + 1.1.0 + 2019-10-23 + + + + + + 1.0.1 + 2019-10-14 + + + + + + 1.0.0 + 2019-01-08 + + + + + + 0.9.3 + 2015-12-03 + + + + + + 0.9.2 + 2015-09-02 + + + + + + 0.9.1 + 2015-08-30 + + + + + + 0.9.0 + 2015-08-28 + + + + + + 0.8.3 + 2015-03-13 + + + + + + 0.8.2 + 2015-01-07 + + + + + + 0.8.1 + 2014-12-19 + + + + + + 0.8.0 + 2014-03-26 + + + + + + 0.7.6 + 2013-03-09 + + + + + + 0.7.5 + 2013-01-11 + + + + + + 0.7.4 + 2012-10-01 + + + + + + 0.7.3 + 2012-09-07 + + + + + + 0.7.2 + 2012-09-06 + + + + + + 0.7.1 + 2012-09-03 + + + + + + 0.7.0 + 2012-09-03 + + + + + + 0.6.3 + 2012-07-24 + + + + + + 0.6.2 + 2012-07-22 + + + + + + 0.6.1 + 2012-07-20 + + + + + + 0.6.0 + 2012-07-20 + + + + + + 0.5.0 + 2012-07-18 + + + + + + 0.4.0 + 2012-04-24 + + + + + + 0.3.0 + 2012-04-24 + + + + + + 0.2.0 + 2012-04-24 + + + + + diff --git a/doc/xep.doc b/doc/xep.doc index 26c213205..eef54731c 100644 --- a/doc/xep.doc +++ b/doc/xep.doc @@ -2,79 +2,18 @@ // // SPDX-License-Identifier: CC0-1.0 -/*! \page xep XMPP Extensions +/*! \page xep XMPP Extension Protocols -This document lists the XMPP Extensions (XEP) available in QXmpp. +This document lists the XMPP Extension Protocols (XEPs) supported by QXmpp. -Complete: -- \xep{0004, Data Forms} -- \xep{0030, Service Discovery} -- \xep{0033, Extended Stanza Addressing} -- \xep{0045, Multi-User Chat} -- \xep{0047, In-Band Bytestreams} -- \xep{0048, Bookmarks} -- \xep{0054, vcard-temp} -- \xep{0059, Result Set Management} -- \xep{0060, Publish-Subscribe} (partially) -- \xep{0065, SOCKS5 Bytestreams} -- \xep{0066, Out of Band Data} (partially) -- \xep{0071, XHTML-IM} -- \xep{0077, In-Band Registration} (v2.4) -- \xep{0078, Non-SASL Authentication} -- \xep{0080, User Location} (v1.9) - - Missing some attributes of the PEP items -- \xep{0082, XMPP Date and Time Profiles} -- \xep{0085, Chat State Notifications} -- \xep{0091, Legacy Delayed Delivery} -- \xep{0092, Software Version} -- \xep{0095, Stream Initiation} -- \xep{0096, SI File Transfer} -- \xep{0115, Entity Capabilities} -- \xep{0118, User Tune} (v1.3) -- \xep{0128, Service Discovery Extensions} -- \xep{0136, Message Archiving} -- \xep{0153, vCard-Based Avatars} -- \xep{0163, Personal Eventing Protocol} -- \xep{0166, Jingle} -- \xep{0167, Jingle RTP Sessions} -- \xep{0176, Jingle ICE-UDP Transport Method} -- \xep{0184, Message Delivery Receipts} -- \xep{0198, Stream Management} -- \xep{0199, XMPP Ping} -- \xep{0202, Entity Time} -- \xep{0203, Delayed Delivery} -- \xep{0221, Data Forms Media Element} -- \xep{0224, Attention} -- \xep{0231, Bits of Binary} (v1.0) -- \xep{0237, Roster Versioning} (partially) -- \xep{0245, The /me Command} (v1.0) -- \xep{0249, Direct MUC Invitations} (v1.2) -- \xep{0264, Jingle Content Thumbnails} (v0.4) -- \xep{0280, Message Carbons} -- \xep{0300, Use of Cryptographic Hash Functions in XMPP} (v1.0) -- \xep{0308, Last Message Correction} -- \xep{0313, Message Archive Management} (v0.6) -- \xep{0319, Last User Interaction in Presence} -- \xep{0333, Chat Markers} (v0.4) -- \xep{0334, Message Processing Hints} (v0.3) -- \xep{0352, Client State Indication} -- \xep{0357, Push Notifications} (v0.4) (partially) -- \xep{0359, Unique and Stable Stanza IDs} (v0.6) -- \xep{0363, HTTP File Upload} (v1.0) -- \xep{0367, Message Attaching} (v0.3) -- \xep{0380, Explicit Message Encryption} (v0.4) -- \xep{0382, Spoiler messages} (v0.2) -- \xep{0384, OMEMO Encryption} (v0.8) -- \xep{0420, Stanza Content Encryption} (v0.4) -- \xep{0428, Fallback Indication} (v0.1) -- \xep{0434, Trust Messages} (v0.6) -- \xep{0446, File metadata element} (v0.2.0) -- \xep{0450, Automatic Trust Management (ATM)} (v0.4) - -Ongoing: -- \xep{0009, Jabber-RPC} (API is not finalized yet) -- \xep{0369, Mediated Information eXchange (MIX)} (Only IQ queries implemented) (v0.14) -- \xep{0405, Mediated Information eXchange (MIX): Participant Server Requirements} (Only IQ queries implemented) (v0.4) -- \xep{0407, Mediated Information eXchange (MIX): Miscellaneous Capabilities} (QXmppMixInvitation) (v0.1) +\htmlonly + +