<?xml version="1.0"?>
<!--
  OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0
  Part 0: Overview

  OASIS Standard
  29 October 2012
    
  Specification URIs:
    
    This version:
        http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.xml (Authoritative)
        http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.html
        http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-complete-v1.0-os.pdf
        
    Previous version:
        http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-overview-v1.0-csprd01.xml (Authoritative)
        http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-overview-v1.0-csprd01.html
        http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-complete-v1.0-csprd01.pdf

    Latest version:
        http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-overview-v1.0.xml (Authoritative)
        http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-overview-v1.0.html
        http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-complete-v1.0.pdf
        
  Technical Committee:
        OASIS Advanced Message Queuing Protocol (AMQP) TC (http://www.oasis-open.org/committees/amqp/)

  Chairs:
        Ram Jeyaraman (Ram.Jeyaraman@microsoft.com), Microsoft
        Angus Telfer (angus.telfer@inetco.com), INETCO Systems

  Editors:
        Robert Godfrey (robert.godfrey@jpmorgan.com), JPMorgan Chase & Co.
        David Ingham (David.Ingham@microsoft.com), Microsoft
        Rafael Schloming (rafaels@redhat.com), Red Hat

  Additional artifacts:
        This specification consists of the following documents:
        Part 0: Overview - Overview of the AMQP specification (this document)
        Part 1: Types - AMQP type system and encoding (amqp-core-types-v1.0-os.xml)
        Part 2: Transport - AMQP transport layer (amqp-core-transport-v1.0-os.xml)
        Part 3: Messaging - AMQP Messaging Layer (amqp-core-messaging-v1.0-os.xml)
        Part 4: Transactions - AMQP Transactions Layer (amqp-core-transactions-v1.0-os.xml)
        Part 5: Security - AMQP Security Layers (amqp-core-security-v1.0-os.xml)
        XML Document Type Definition (DTD) (amqp.dtd)

  Related work:
        This specification replaces or supersedes:
            AMQP v1.0 Final, 07 October 2001. http://www.amqp.org/specification/1.0/amqp-org-download
  
  Abstract:

    The Advanced Message Queuing Protocol (AMQP) is an open internet protocol for business
    messaging. It defines a binary wire-level protocol that allows for the reliable exchange
    of business messages between two parties.
    AMQP has a layered architecture and the specification is organized as a set of parts that
    reflects that architecture. Part 1 defines the AMQP type system and encoding. Part 2 defines
    the AMQP transport layer, an efficient, binary, peer-to-peer protocol for transporting messages
    between two processes over a network. Part 3 defines the AMQP message format, with a
    concrete encoding. Part 4 defines how interactions can be grouped within atomic
    transactions. Part 5 defines the AMQP security layers.
    
  Status:
    
    This document was last revised or approved by the membership of OASIS on the above date. The level of
    approval is also listed above. Check the "Latest version" location noted above for possible
    later revisions of this document.

    Technical Committee members should send comments on this specification to the Technical
    Committee's email list. Others should send comments to the Technical Committee by using the
    "Send A Comment" button on the Technical Committee's web page at
    http://www.oasis-open.org/committees/amqp/.

    For information on whether any patents have been disclosed that may be essential to implementing
    this specification, and any offers of patent licensing terms, please refer to the Intellectual
    Property Rights section of the Technical Committee web page
    (http://www.oasis-open.org/committees/amqp/ipr.php).
    
  Citation format:
    
    When referencing this specification the following citation format should be used:
    
    [amqp-core-overview-v1.0]
    OASIS Advanced Message Queuing Protocol (AMQP) Version 1.0 Part 0: Overview. 29 October 2012. OASIS Standard.
    http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-overview-v1.0-os.xml
    
  Notices:

  Copyright (c) OASIS Open 2012. All Rights Reserved.


  All capitalized terms in the following text have the meanings assigned to them in the OASIS
  Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the
  OASIS website.


  This document and translations of it may be copied and furnished to others, and derivative works
  that comment on or otherwise explain it or assist in its implementation may be prepared, copied,
  published, and distributed, in whole or in part, without restriction of any kind, provided that
  the above copyright notice and this section are included on all such copies and derivative works.
  However, this document itself may not be modified in any way, including by removing the copyright
  notice or references to OASIS, except as needed for the purpose of developing any document or
  deliverable produced by an OASIS Technical Committee (in which case the rules applicable to
  copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate
  it into languages other than English.


  The limited permissions granted above are perpetual and will not be revoked by OASIS or its
  successors or assigns.


  This document and the information contained herein is provided on an "AS IS" basis and OASIS
  DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
  USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF
  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


  OASIS requests that any OASIS Party or any other party that believes it has patent claims that
  would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS
  Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant
  patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS
  Technical Committee that produced this specification.


  OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of
  ownership of any patent claims that would necessarily be infringed by implementations of this
  specification by a patent holder that is not willing to provide a license to such patent claims in
  a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this
  specification. OASIS may include such claims on its website, but disclaims any obligation to do
  so.


  OASIS takes no position regarding the validity or scope of any intellectual property or other
  rights that might be claimed to pertain to the implementation or use of the technology described
  in this document or the extent to which any license under such rights might or might not be
  available; neither does it represent that it has made any effort to identify any such rights.
  Information on OASIS' procedures with respect to rights in any document or deliverable produced
  by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights
  made available for publication and any assurances of licenses to be made available, or the result
  of an attempt made to obtain a general license or permission for the use of such proprietary
  rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be
  obtained from the OASIS TC Administrator. OASIS makes no representation that any information or
  list of intellectual property rights will at any time be complete, or that any claims in such list
  are, in fact, Essential Claims.


  The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and
  should be used only to refer to the organization and its official outputs. OASIS welcomes
  reference to, and implementation and use of, specifications, while reserving the right to enforce
  its marks against misleading uses. Please see http://www.oasis-open.org/policies-guidelines/trademark for above guidance.

     
-->
<amqp name="overview" label="Overview of the AMQP specification">

  <section name="intro" title="Introduction" label="Introduction">
    <doc>
      <p>
        The Advanced Message Queuing Protocol is an open internet protocol for business messaging.
      </p>

      <p>
        AMQP is comprised of several layers. The lowest level defines an efficient, binary,
        peer-to-peer protocol for transporting messages between two processes over
        a network. Above this, the messaging layer defines an abstract message format, with
        concrete standard encoding. Every compliant AMQP process MUST be able to send and receive
        messages in this standard encoding.
      </p>
    </doc>
    <doc title="Terminology">
      <p>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
        "RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as
        described in IETF RFC 2119 [<xref name="RFC2119">RFC2119</xref>].
      </p>

      <p>
        The authoritative form of the AMQP specification consists of a set of XML source documents.
        These documents are transformed into PDF and HTML representations for readability. The
        machine readable version of the AMQP DTD describes the XML used for the authoritative source
        documents. This DTD includes the definition of the syntax used in the excerpts of XML
        presented in the PDF and HTML representations.
      </p>
    </doc>
    <doc title="Normative References">
      <p>
        <b>
          <anchor name="ASCII">[ASCII]</anchor>
        </b>
        <br/>American National Standards Institute, Inc.,
        <i>American National Standard for Information Systems, Coded Character Sets
        - 7-Bit American National Standard Code for Information Interchange (7-Bit
        ASCII)</i>, ANSI X3.4-1986,  March 26, 1986.
      </p>
      <p>
        <b>
          <anchor name="BCP47">[BCP47]</anchor>
        </b>
        <br/>A. Phillips, Ed., M. Davis, Ed., <i>Tags for Identifying Languages</i>.
        IETF BCP: 47, September 2009. <br/><xref type="extern" name="http://www.ietf.org/rfc/bcp/bcp47.txt"/>
      </p>
      <p>
        <b>
          <anchor name="IANAHTTPPARAMS">[IANAHTTPPARAMS]</anchor>
        </b>
        <br/>IANA (Internet Assigned Numbers Authority),
        <i>Hypertext Transfer Protocol (HTTP) Parameters</i>.
        <br/><xref type="extern" name="http://www.iana.org/assignments/http-parameters/http-parameters.xml"/>
      </p>
      <p>
        <b>
          <anchor name="IANAPEN">[IANAPEN]</anchor>
        </b>
        <br/>IANA (Internet Assigned Numbers Authority), <i>Private Enterprise Numbers</i>.
        <br/><xref type="extern" name="http://www.iana.org/assignments/enterprise-numbers"/>
      </p>
      <p>
        <b>
          <anchor name="IANASUBTAG">[IANASUBTAG]</anchor>
        </b>
        <br/>IANA (Internet Assigned Numbers Authority), <i>Language Subtag Registry</i>.
        <br/><xref type="extern" name="http://www.iana.org/assignments/language-subtag-registry"/>
      </p>
      <p>
        <b>
          <anchor name="IEEE754">[IEEE754]</anchor>
        </b>
        <br/><i>Standard for Floating-Point Arithmetic</i>.
        IEEE 754-2008, August 2008.<br/><xref type="extern" name="http://ieeexplore.ieee.org/servlet/opac?punumber=4610933"/>
      </p>
      <p>
        <b>
          <anchor name="IEEE1003">[IEEE1003]</anchor>
        </b>
        <br/><i>The Single UNIX Specification, Version 4</i>.
        IEEE Std 1003.1-2008, December 2008.<br/><xref type="extern" name="http://www.unix.org/version4/"/>
      </p>
      <p>
        <b>
          <anchor name="RFC1982">[RFC1982]</anchor>
        </b>
        <br/>R. Elz, R. Bush,
        <i>Serial Number Arithmetic</i>.
        IETF RFC 1982, August 1996. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc1982.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC2046">[RFC2046]</anchor>
        </b>
        <br/>N. Freed, N. Borenstein,
        <i>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</i>.
        IETF RFC 2046, November 1996. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc2046.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC2119">[RFC2119]</anchor>
        </b>
        <br/>S. Bradner, <i>Key words for use in RFCs to Indicate Requirement Levels</i>.
        IETF RFC 2119, March 1997. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc2119.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC2234">[RFC2234]</anchor>
        </b>
        <br/>D. Crocker, Ed., P. Overell,
        <i>Augmented BNF for Syntax Specifications: ABNF</i>.
        IETF RFC 2234, November 1997. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc2234.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC2616">[RFC2616]</anchor>
        </b>
        <br/>R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee,
        <i>Hypertext Transfer Protocol -- HTTP/1.1</i>.
        IETF RFC 2616, June 1999. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc2616.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC4122">[RFC4122]</anchor>
        </b>
        <br/>P. Leach, M. Mealling, R. Salz,
        <i>A Universally Unique IDentifier (UUID) URN Namespace</i>.
        IETF RFC 4122, July 2005. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc4122.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC4366">[RFC4366]</anchor>
        </b>
        <br/>S. Blake-Wilson, M. Nystrom, D. Hopwood, J. Mikkelsen, T. Wright,
        <i>Transport Layer Security (TLS) Extensions</i>.
        IETF RFC 4366, April 2006. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc4366.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC4422">[RFC4422]</anchor>
        </b>
        <br/>A. Melnikov, Ed., K. Zeilenga, Ed.,
        <i>Simple Authentication and Security Layer (SASL)</i>.
        IETF RFC 4422, June 2006. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc4422.txt"/>
      </p>
      <p>
        <b><anchor name="RFC4616">[RFC4616]</anchor></b>
        <br/>
        K. Zeilenga, Ed., <i>The PLAIN Simple Authentication and Security Layer (SASL)
        Mechanism</i>. IETF RFC 4616, August 2006.
        <br/>
        <xref type="extern" name="http://www.ietf.org/rfc/rfc4616.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC5246">[RFC5246]</anchor>
        </b>
        <br/>T. Dierks, E. Rescorla.,
        <i>The Transport Layer Security (TLS) Protocol Version 1.2</i>.
        IETF RFC 5246, August 2008. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc5246.txt"/>
      </p>
      <p>
        <b>
          <anchor name="RFC5646">[RFC5646]</anchor>
        </b>
        <br/>A. Phillips, Ed., M. Davis, Ed., <i>Tags for Identifying Languages</i>.
        IETF RFC 5646, September 2009. <br/><xref type="extern" name="http://www.ietf.org/rfc/rfc5646.txt"/>
      </p>
      <p>
        <b><anchor name="RFC5802">[RFC5802]</anchor></b>
        <br/>
        C. Newman, A. Menon-Sen, A. Melnikov, N. Williams, <i>Salted Challenge Response
        Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms</i>. IETF RFC 5802, July 2010.
        <br/>
        <xref type="extern" name="http://www.ietf.org/rfc/rfc5802.txt"/>
      </p>
      <p>
        <b>
          <anchor name="UNICODE6">[UNICODE6]</anchor>
        </b>
        <br/>
        <i>
          The Unicode Consortium. The Unicode Standard, Version 6.0.0,
          (Mountain View, CA: The Unicode Consortium, 2011. ISBN 978-1-936213-01-6)
        </i>
        <br/>
        <xref type="extern" name="http://www.unicode.org/versions/Unicode6.0.0/"/>
      </p>
    </doc>
    <doc title="Non-normative References">
      <p>
        <b>
          <anchor name="AMQPCONNCAP">[AMQPCONNCAP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Connection Capabilities</i><br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/connection-capabilities"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPCONNPROP">[AMQPCONNPROP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Connection Properties</i><br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/connection-properties"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPDELANN">[AMQPDELANN]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Delivery Annotations</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/delivery-annotations"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPDISTMODE">[AMQPDISTMODE]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Distribution Modes</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/distribution-modes"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPFILTERS">[AMQPFILTERS]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Filters</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/filters"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPFOOTER">[AMQPFOOTER]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Footer</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/footer"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPLINKCAP">[AMQPLINKCAP]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Link Capabilities</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/link-capabilities"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPLINKPROP">[AMQPLINKPROP]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Link Properties</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/link-properties"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPLINKSTATEPROP">[AMQPLINKSTATEPROP]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Link State Properties</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/link-state-properties"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPMESSANN">[AMQPMESSANN]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Message Annotations</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/message-annotations"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPNODEPROP">[AMQPNODEPROP]</anchor>
        </b>
        <br/>
        <i>AMQP Capabilities Registry: Node Properties</i>
        <br/>
        <xref type="extern" name="http://www.amqp.org/specification/1.0/node-properties"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPSESSCAP">[AMQPSESSCAP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Session Capabilities</i>
        <br/><xref type="extern" name="http://www.amqp.org/specification/1.0/session-capabilities"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPSESSPROP">[AMQPSESSPROP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Session Properties</i>
        <br/><xref type="extern" name="http://www.amqp.org/specification/1.0/session-properties"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPSOURCECAP">[AMQPSOURCECAP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Source Capabilities</i>
        <br/><xref type="extern" name="http://www.amqp.org/specification/1.0/source-capabilities"/>
      </p>
      <p>
        <b>
          <anchor name="AMQPTARGETCAP">[AMQPTARGETCAP]</anchor>
        </b>
        <br/><i>AMQP Capabilities Registry: Target Capabilities</i>
        <br/><xref type="extern" name="http://www.amqp.org/specification/1.0/target-capabilities"/>
      </p>
    </doc>
  </section>
  <section name="conformance" title="Conformance" label="Conformance">
    <doc>
      <p>
        AMQP defines a wire level protocol for business messaging. The definition allows for all
        common business messaging behaviors. AMQP does not define a wire-level distinction between
        "clients" and "brokers", the protocol is symmetric. It is expected and encouraged that
        implementations of AMQP will have different capabilities. Expectations of the capabilities
        of a "client library" are different from expectations of a "broker" which are themselves
        different from the capabilities of a "router". As relevant profiles emerge (where
        appropriate and applicable) these will be formalised.
      </p>
      <p>
        A conformant implementation MUST perform protocol negotiation (see <xref type="section" name="version-negotiation"/>), and then parse, process, and produce frames in accordance
        with the format and semantics defined in parts 1 through 5 of this specification.
      </p>
      <p>
        Conformant implementations MUST NOT require the use of any extensions defined outside this
        document in order to interoperate with any other conformant implementation.
      </p>
      <p>
        <xref type="part" name="types">Part 1</xref> of this document defines the type system and
        type encodings that every conformant implementation MUST implement.
      </p>
      <p>
        <xref type="part" name="transport">Part 2</xref> defines the peer-to-peer transport protocol
        which operates over TCP. Every conformant implementation of AMQP over TCP MUST implement
        Part 2. Future standards mapping AMQP to protocols other than TCP MAY modify or replace Part
        2 when AMQP is being used over that protocol. A conformant implementation MUST implement
        Part 2 or a mapping of AMQP to some non-TCP protocol.
      </p>
      <p>
        Part 2 admits behaviors that might not be appropriate for every implementation. For example
        a "client library" might not allow for its communication partner to spontaneously attempt to
        initiate a connection and request messages. Where an implementation does not allow for a
        behavior the implementation MUST respond according to the rules defined within Part 2 of the
        specification.
      </p>
      <p>
        <xref type="part" name="messaging">Part 3</xref> of this document defines the AMQP
        Messaging Layer. Every conformant implementation which processes messages MUST implement
        this part of the specification.
      </p>
      <p>
        Some implementations might not process messages (for example, an implementation acting as a
        "router" which looks only at the routing information carried by the AMQP Transport layer).
        Such implementations do not actively implement Part 3, but MUST NOT act in ways which
        violate the rules of this part of the specification.
      </p>
      <p>
        The Messaging layer admits behaviors that might not be appropriate for all implementations
        (and within an implementation all behaviors might not be available for all configurations).
        Where a behavior is not admitted, the implementation MUST respond according to the rules
        defined within this specification.
      </p>
      <p>
        <xref type="part" name="transactions">Part 4</xref> defines the requirements for
        transactional messaging. Transactional messaging defines two roles, that of the
        <i>transactional resource</i> and that of the <i>transaction controller</i>. A conformant
        implementation SHOULD be capable of operating in one of these roles but MAY be unable
        to operate in either (for instance a simplistic client library might have no ability
        to act as a transaction controller and would not be expected to act as a transactional
        resource).
      </p>
      <p>
        It is RECOMMENDED that implementations designed to act as messaging intermediaries support
        the ability to act as a transactional resource. It is RECOMMENDED that implementations or
        re-usable libraries provide Application Programming Interfaces to enable them to act as
        transactional controllers.
      </p>
      <p>
        Where a behavior is not admitted, the rules defined in part 4 regarding responses to
        non-admitted behaviors MUST be followed.
      </p>
      <p>
        <xref type="part" name="security">Part 5</xref> defines Security Layers to provide an
        authenticated and/or encrypted transport. Implementations SHOULD allow the configuration of
        appropriate levels of security for the domain in which they are to be deployed.
      </p>
      <p>
        Conformant implementations acting in the TCP server role are strongly RECOMMENDED to
        implement <xref type="section" name="tls"/> (or <xref type="doc" name="tls-alternative-establishment"/>).  Implementations acting in the TCP server role are
        strongly RECOMMENDED to implement <xref type="section" name="sasl"/> and to support commonly
        used SASL mechanisms. In particular such implementations SHOULD support the PLAIN [<xref name="RFC4616">RFC4616</xref>] and SCRAM-SHA1 [<xref name="RFC5802">RFC5802</xref>]
        mechanisms.
      </p>
      <p>
        Conformant implementations acting in the TCP client role SHOULD be capable of being
        configured to connect to an implementation in the TCP server role that is following the
        recommendations above.
      </p>
    </doc>
  </section>
  <section name="acknowledgements" title="Acknowledgements" label="Acknowledgements">
    <doc>
      <p>
        The following individuals have contributed significantly towards the creation of this
        specification and are gratefully acknowledged:
      </p>
      <ul>
        <li>Michael Bridgen (VMware)</li>
        <li>Xin Chen (Microsoft)</li>
        <li>Raphael Cohn (Individual)</li>
        <li>Allan Cornish (INETCO Systems)</li>
        <li>Robert Godfrey (JPMorgan Chase &amp; Co.)</li>
        <li>David Ingham (Microsoft)</li>
        <li>Andreas Moravec (Deutsche Boerse)</li>
        <li>Andreas Mueller (IIT Software)</li>
        <li>Simon MacMullen (VMware)</li>
        <li>John O'Hara (Individual)</li>
        <li>Rafael Schloming (Red Hat)</li>
        <li>Gordon Sim (Red Hat)</li>
        <li>Angus Telfer (INETCO Systems)</li>
      </ul>
      <p>
        The following individuals were members of the OASIS AMQP Technical Committee during the
        creation of this specification and their contributions are gratefully acknowledged:
      </p>
      <ul>
        <li>Sanjay Aiyagari (VMware)</li>
        <li>Brian Albers (Kaazing)</li>
        <li>Matthew Arrott (Individual)</li>
        <li>Roger Bass (Traxian)</li>
        <li>Allan Beck (JPMorgan Chase &amp; Co.)</li>
        <li>Mark Blair (Credit Suisse)</li>
        <li>Paul Blanz (Goldman Sachs)</li>
        <li>Laurie Bryson (JPMorgan Chase &amp; Co.)</li>
        <li>Raphael Cohn (Individual)</li>
        <li>Allan Cornish (INETCO Systems)</li>
        <li>Robin Cover (OASIS)</li>
        <li>Raphael Delaporte (Zenika)</li>
        <li>Brad Drysdale (Kaazing)</li>
        <li>Helena Edelson (VMware)</li>
        <li>Chet Ensign (OASIS)</li>
        <li>John Fallows (Kaazing)</li>
        <li>Paul Fremantle (WSO2)</li>
        <li>Robert Gemmell (JPMorgan Chase &amp; Co.)</li>
        <li>Rob Godfrey (JPMorgan Chase &amp; Co.)</li>
        <li>Steve Hodge (Bank of America)</li>
        <li>Steve Huston (Individual)</li>
        <li>David Ingham (Microsoft)</li>
        <li>Stavros Isaiadis (Bank of America)</li>
        <li>Ram Jeyaraman (Microsoft)</li>
        <li>Bill Kahlert (HCL America)</li>
        <li>James Kirkland (Red Hat)</li>
        <li>Hanno Klein (Deutsche Boerse)</li>
        <li>Theo Kramer (Flame Computing Enterprises)</li>
        <li>Alex Kritikos (Software AG)</li>
        <li>Stanley Lewis (Progress Software)</li>
        <li>Mark Little (Red Hat)</li>
        <li>Colin MacNaughton (Progress Software)</li>
        <li>Mansour Mazinani (SITA SC)</li>
        <li>Shawn McAllister (Solace Systems)</li>
        <li>Donald McGarry (Mitre Corporation)</li>
        <li>Dale Moberg (Axway Software)</li>
        <li>Andreas Moravec (Deutsche Boerse)</li>
        <li>Andreas Mueller (IIT Software)</li>
        <li>Suryanarayanan Nagarajan (Software AG)</li>
        <li>Bob Natale (Mitre Corporation)</li>
        <li>John O'Hara (Individual)</li>
        <li>Kimberly Palko (Red Hat)</li>
        <li>Kenneth Peeples (Red Hat)</li>
        <li>Pierre Queinnec (Zenika)</li>
        <li>Makesh Rao (Cisco Systems)</li>
        <li>Alexis Richardson (VMware)</li>
        <li>Rafael Schloming (Red Hat)</li>
        <li>Dee Schur (OASIS)</li>
        <li>Gordon Sim (Red Hat)</li>
        <li>Sunjeet Singh (INETCO Systems)</li>
        <li>Bruce Snyder (VMware)</li>
        <li>Angus Telfer (INETCO Systems)</li>
        <li>Carl Trieloff (Red Hat)</li>
        <li>Asir Vedamuthu (Microsoft)</li>
        <li>Eamon Walshe (StormMQ)</li>
        <li>Denis Weerasiri (WSO2)</li>
        <li>Jeffrey Wheeler (Huawei Technologies Co.)</li>
        <li>Wang Xuan (Primeton Technologies)</li>
        <li>Prasad Yendluri (Software AG)</li>
      </ul>
    </doc>
  </section>
  <section name="revhistory" title="Revision History" label="Revision History">
    
    <doc title="2012-10-29 : OASIS Standard">
      <ul>
      </ul>
    </doc>
    <doc title="2012-08-07 : Candidate OASIS Standard 01">
      <ul>
        <li><p>AMQP-74 : HTML Rendering contains broken cross reference links for fields of primitive types</p></li>
      </ul>
    </doc>
    <doc title="2012-07-18 : Committee Specification 1">
      <ul>
        <li><p>AMQP-75 : Minor  corrections to the front matter</p></li>
      </ul>
    </doc>
    <doc title="2012-05-29 : Committee Specification Public Review Draft 2">
      <ul>
      </ul>
    </doc>
    <doc title="2012-05-29 : Committee Specification Draft 2">
      <ul>
      </ul>
    </doc>
    <doc title="2012-05-28 : Working Draft 9">
      <ul>
        <li><p>AMQP-71 : Update acknowledgements to reflect current TC member list </p></li>
        <li><p>AMQP-72 : In the PDF, add explicit links to all Parts of the document (including DTD) and state authoritative version</p></li>
        <li><p>AMQP-73 : add clarity to document composition and XML excerpts</p></li>
      </ul>
    </doc>
    <doc title="2012-05-15 : Working Draft 8">
      <ul>
        <li><p>AMQP-62 : Better explain the role of the XML notation used in the specification and its relation to the wire format</p></li>
        <li><p>AMQP-63 : Improve the conformance section</p></li>
        <li><p>AMQP-64 : Fix typo in 2.1, second sentence needs initial capital letter</p></li>
        <li><p>AMQP-65 : Better explain the relationship between links, connections, channels and sessions</p></li>
        <li><p>AMQP-66 : Remove non-normative use of RFC2119 keywords</p></li>
        <li><p>AMQP-67 : Improve presentation of the Revision History of the document</p></li>
        <li><p>AMQP-69 : Fix rendering of sub- and superscript in HTML</p></li>
      </ul>
    </doc>
    <doc title="2012-02-21 : Committee Specification Public Review Draft 1">
      <ul>
      </ul>
    </doc>
    <doc title="2012-02-21 : Committee Specification Draft 1">
      <ul>
      </ul>
    </doc>
    <doc title="2012-02-20 : Working Draft 7">
      <ul>
        <li><p>AMQP-56 : Fix links to non-normative AMQP Capabilities and Related Work</p></li>
        <li><p>AMQP-61 : Fixes to front-matter presentation</p></li>
      </ul>
    </doc>
    <doc title="2012-02-15 : Working Draft 6">
      <ul>
        <li><p>AMQP-58 : Fix capitalization of headings on front page material</p></li>
        <li><p>AMQP-59 : Add missing acknowledgments</p></li>
        <li><p>AMQP-60 : Correct PDF ToC entry for DTD </p></li>
      </ul>
    </doc>
    <doc title="2012-02-13 : Working Draft 5">
      <ul>
        <li><p>AMQP-50 : Section 3.2.16 is rendered differently in the html and pdf versions of the draft.</p></li>
        <li><p>AMQP-51 : Add missing acknowledgments</p></li>
        <li><p>AMQP-52 : Appendix A DTD is missing in the PDF document.</p></li>
        <li><p>AMQP-53 : Add Revision History</p></li>
        <li><p>AMQP-54 : Fix capitalization differences between HTML and PDF on front page</p></li>
        <li><p>AMQP-55 : Change labeling of DTD on front page</p></li>
        <li><p>AMQP-57 : Unresolved cross references due to removal of redundant subsection</p></li>
      </ul>
    </doc>
    <doc title="2012-02-02 : Working Draft 4">
      <ul>
        <li><p>AMQP-43 : Review comments from Ram Jeyaraman</p></li>
      </ul>
    </doc>
    <doc title="2012-02-01 : Working Draft 3">
      <ul>
        <li><p>AMQP-29 : Add introductory description of the spec's XML schema</p></li>
        <li><p>AMQP-36 : Clarify that delivery-count is not a count (in 2.6.7 and 2.7.4)</p></li>
        <li><p>AMQP-37 : Improve description of snd-settle-mode and rcv-settle-mode</p></li>
        <li><p>AMQP-38 : Provide more information as to how an incomplete settled map is resolved</p></li>
        <li><p>AMQP-39 : Clarify settlement on multi-transfer deliveries</p></li>
        <li><p>AMQP-41 : Rephrase language around keys in annotations</p></li>
        <li><p>AMQP-42 : Clarify use of error field in rejected outcome</p></li>
        <li><p>AMQP-44 : Specification should refer to AMQP.org document as related (superseded) work</p></li>
        <li><p>AMQP-47 : Messaging: Incorporate feedback from Steve Huston's review</p></li>
      </ul>
    </doc>
    <doc title="2012-01-24 : Working Draft 2">
      <ul>
        <li><p>AMQP-7 : Typo in SaslInit.hostname description</p></li>
        <li><p>AMQP-8 : Slight contradiction in description of hostname in SaslInit and TLS SNI</p></li>
        <li><p>AMQP-9 : Could we add a repository for node-properties?</p></li>
        <li><p>AMQP-10 : Could we have a repository for additional supported-dist-modes?</p></li>
        <li><p>AMQP-11 : Message Properties.content-type MIME types need adjustment to fit new section types</p></li>
        <li><p>AMQP-12 : Labelling of headers and section numbers as per the AMQP WG document...</p></li>
        <li><p>AMQP-13 : Typo: Transactions in 4.4.1 transactional Posting "Settles" - &gt; "Settle"</p></li>
        <li><p>AMQP-14 : PDF Document should use Sans-Serif font to be consistent with OASIS Standards</p></li>
        <li><p>AMQP-15 : Move copyright statement to second line of footer to be in line with OASIS style</p></li>
        <li><p>AMQP-16 : References to INETCO should be "INETCO Systems Limited"</p></li>
        <li><p>AMQP-17 : Typo in AMQP Open.hostname description</p></li>
        <li><p>AMQP-18 : Add figure titles to the HTML presentation</p></li>
        <li><p>AMQP-19 : Fix generated (sub-)section titles in the PDF where they contain a dash ("-")</p></li>
        <li><p>AMQP-20 : PDF Presentation: use correct "open" and "close" double quotes </p></li>
        <li><p>AMQP-21 : Change presentation of cross-references to show only section number, not title</p></li>
        <li><p>AMQP-22 : Transport: Incoporate feedback from Steve Huston's review</p></li>
        <li><p>AMQP-23 : Abstract/Introduction: Incoporate feedback from Steve Huston's review</p></li>
        <li><p>AMQP-24 : Update XML transformation to render "n byte" as "n-byte"</p></li>
        <li><p>AMQP-25 : Types: Incoporate feedback from Steve Huston's review</p></li>
        <li><p>AMQP-26 : Transport: Incoporate feedback from Steve Huston's review (2)</p></li>
        <li><p>AMQP-27 : add missing diagram titles</p></li>
        <li><p>AMQP-28 : Confused use of the terms two's-complement" and "signed"</p></li>
        <li><p>AMQP-30 : Clarify version negotiation</p></li>
        <li><p>AMQP-31 : Figure numbering incorrect in the HTML presentation</p></li>
        <li><p>AMQP-32 : Clarify open behavior</p></li>
        <li><p>AMQP-33 : Tighten conformance language for 2.4.5</p></li>
        <li><p>AMQP-34 : Add description of HDR_EXCH state in 2.4.6</p></li>
        <li><p>AMQP-35 : Clarifications to 2.6.12</p></li>
        <li><p>AMQP-40 : Incorrect title for IEEE1003 reference</p></li>
        <li><p>AMQP-45 : Transactions: Incorporate feedback from Steve Huston's review</p></li>
        <li><p>AMQP-46 : Security: Incorporate feedback from Steve Huston's review</p></li>
        <li><p>AMQP-48 : Remove capitalization of certain terms within the specification</p></li>
        <li><p>AMQP-49 : Description of "dynamic" field refers to non-existent  concepts of "session name" and "client-id"</p></li>
      </ul>
    </doc>
    <doc title="2011-11-08 : Working Draft 1">
      <ul>
        <li><p>AMQP-1 : Make the definition of flow.echo more explicit</p></li>
        <li><p>AMQP-2 : Make it explicit that flow.properties is only for a link</p></li>
        <li><p>AMQP-3 : specification/overview.xml has a contributor's name in all caps</p></li>
        <li><p>AMQP-4 : specification/overview.xml is slightly inconsistent in use of company legal entity names and abbreviations thereof</p></li>
      </ul>
    </doc>
  </section>

</amqp>
