<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nandakumar-ai-agent-moq-transport-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agent Protocols over MOQT">MOQ Transport for Agent Protocols</title>
    <seriesInfo name="Internet-Draft" value="draft-nandakumar-ai-agent-moq-transport-00"/>
    <author initials="S." surname="Nandakumar" fullname="Suhas Nandakumar">
      <organization>Cisco</organization>
      <address>
        <email>snandaku@cisco.com</email>
      </address>
    </author>
    <author initials="C." surname="Jennings" fullname="Cullen Jennings">
      <organization>Cisco Systems</organization>
      <address>
        <email>fluffy@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="28"/>
    <area>Applications and Real-Time</area>
    <workgroup>Media Over QUIC</workgroup>
    <keyword>agent-to-agent</keyword>
    <keyword>MOQT</keyword>
    <keyword>AI agents</keyword>
    <keyword>real-time communication</keyword>
    <abstract>
      <?line 117?>

<t>This document defines a protocol abstraction layer that enables
Media over QUIC Transport (MOQT) to serve as a unified transport
substrate for inter-agent communication protocols. The abstraction
provides a common mapping of request-response and streaming patterns
onto MOQT's publish/subscribe model, allowing diverse agent protocols
to leverage MOQT's real-time streaming capabilities, built-in
prioritization, and efficient multiplexing over QUIC.</t>
      <t>The document demonstrates the application of this abstraction to two
prominent inter-agent protocols: the Agent-to-Agent (A2A) protocol <xref target="A2A"/>,
which focuses on agent discovery, task delegation, and collaboration;
and the Model Context Protocol (MCP) <xref target="MCP"/>, which provides tool and
resource access for agents. This unified approach enables interoperability
across diverse agent ecosystems while preserving each protocol's semantics.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-moq.github.io/draft-a2a-moqt-transport/draft-a2a-moqt-transport.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-nandakumar-ai-agent-moq-transport/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Media Over QUIC Working Group mailing list (<eref target="mailto:moq@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/moq/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-moq/draft-a2a-moqt-transport"/>.</t>
    </note>
  </front>
  <middle>
    <?line 134?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The AI agent ecosystem has evolved rapidly, with multiple protocols emerging
for different aspects of agent communication:</t>
      <ul spacing="normal">
        <li>
          <t><strong>Agent-to-Agent (A2A)</strong> <xref target="A2A"/> focuses on agent discovery, task delegation,
and collaboration across platforms</t>
        </li>
        <li>
          <t><strong>Model Context Protocol (MCP)</strong> <xref target="MCP"/> provides tool and resource access for agents</t>
        </li>
        <li>
          <t><strong>Framework-specific protocols</strong> (AutoGen, Semantic Kernel, LangGraph) define
multi-agent orchestration patterns</t>
        </li>
      </ul>
      <t>Each of these protocols typically defines its own transport bindings, leading to
fragmentation and interoperability challenges across agent ecosystems.</t>
      <t>Media over QUIC Transport (MOQT) <xref target="MoQ-TRANSPORT"/> provides a publish/subscribe
model over QUIC with hierarchical data organization. MOQT's streaming model,
prioritization capabilities, efficient multiplexing, and relay-based architecture
make it well-suited as a unified transport substrate for real-time agent
communication—enabling scalable message distribution across agent networks.</t>
      <t>This document defines a protocol abstraction layer that maps common inter-agent
communication patterns—request-response, streaming, and notifications—onto
MOQT primitives. The abstraction enables diverse agent protocols to leverage
MOQT's capabilities while preserving their native semantics.</t>
      <t>The document then demonstrates this abstraction through concrete bindings for
two prominent protocols: A2A (which supports JSON-RPC 2.0 over HTTP(S), gRPC,
and HTTP+JSON/REST) and MCP. These serve as reference implementations that
other inter-agent protocols can follow.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="transport-requirements-and-architecture">
      <name>Transport Requirements and Architecture</name>
      <t>According to the A2A specification, all transport protocols <bcp14>MUST</bcp14> provide
functional equivalence and support the following capabilities:</t>
      <ul spacing="normal">
        <li>
          <t>Secure communication over encrypted channels</t>
        </li>
        <li>
          <t>Request/response messaging patterns</t>
        </li>
        <li>
          <t>Streaming data delivery capabilities</t>
        </li>
        <li>
          <t>Error handling and status reporting</t>
        </li>
        <li>
          <t>Agent discovery and capability negotiation</t>
        </li>
        <li>
          <t>Support for various data types (text, JSON, files)</t>
        </li>
      </ul>
      <t><xref target="_figure-arch"/> illustrates how this document layers agent protocols over
the MOQT transport substrate.</t>
      <figure anchor="_figure-arch">
        <name>Protocol Layering Architecture</name>
        <artwork><![CDATA[
   Agent Protocol Layer
   ┌─────────────────────────────────────────────────────────────┐
   │      A2A          │      MCP         │    Other Protocols   │
   │  ┌─────────────┐  │  ┌─────────────┐ │  ┌─────────────────┐ │
   │  │ Task Collab │  │  │ Tool Access │ │  │ AutoGen/Custom  │ │
   │  │ Discovery   │  │  │ Resources   │ │  │ Orchestration   │ │
   │  └─────────────┘  │  └─────────────┘ │  └─────────────────┘ │
   └─────────────────────────────────────────────────────────────┘
                                 │
   ┌─────────────────────────────────────────────────────────────┐
   │              Protocol Abstraction Layer                     │
   │    Namespace Mapping │ Message Serialization │ Priority     │
   └─────────────────────────────────────────────────────────────┘
                                 │
   ┌─────────────────────────────────────────────────────────────┐
   │                    MOQT Transport Layer                     │
   │  ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
   │  │ PUBLISH/     │ │ SUBSCRIBE/   │ │ Object Streaming     │ │
   │  │ PUBLISH_NS   │ │ SUBSCRIBE_NS │ │ Groups & Priority    │ │
   │  └──────────────┘ └──────────────┘ └──────────────────────┘ │
   └─────────────────────────────────────────────────────────────┘
                                 │
   ┌─────────────────────────────────────────────────────────────┐
   │                    QUIC/WebTransport                        │
   │   ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐ │
   │   │ Encryption  │  │ Multiplexing│  │ Connection          │ │
   │   │ (TLS 1.3)   │  │ & Flow Ctrl │  │ Migration           │ │
   │   └─────────────┘  └─────────────┘  └─────────────────────┘ │
   └─────────────────────────────────────────────────────────────┘
]]></artwork>
      </figure>
    </section>
    <section anchor="moqt-transport-mapping">
      <name>MOQT Transport Mapping</name>
      <section anchor="connection-establishment">
        <name>Connection Establishment</name>
        <t>Agents using MOQT transport <bcp14>MUST</bcp14> establish either a native QUIC
connection or a WebTransport session as defined in <xref target="MoQ-TRANSPORT"/>.
For native QUIC connections, agents <bcp14>MUST</bcp14> use the ALPN value "moqt".
For WebTransport, the protocol is negotiated using the
"WT-Available-Protocols" mechanism as specified in <xref target="MoQ-TRANSPORT"/>.
The connection setup follows this sequence:</t>
        <artwork><![CDATA[
Agent A                                                   Agent B
   |                                                        |
   |──── QUIC/WebTransport Connection ─────────────────────▶|
   |◄─── Connection Established ────────────────────────────|
   |                                                        |
   |──── MOQT CLIENT_SETUP ────────────────────────────────▶|
   |◄─── MOQT SERVER_SETUP ─────────────────────────────────|
   |                                                        |
   |──── PUBLISH_NAMESPACE (discovery) ────────────────────▶|
   |◄─── PUBLISH_NAMESPACE (discovery) ─────────────────────|
   |                                                        |
   |──── Capability Card Exchange ───────────────────────────▶|
   |◄─── Capability Card Exchange ──────────────────────────|
   |                                                        |
   |◄═══ Protocol Message Exchange ════════════════════════▶|
]]></artwork>
        <t>During the MOQT setup phase, agents <bcp14>MUST</bcp14> negotiate the following
setup parameters as MOQT extensions:</t>
        <ul spacing="normal">
          <li>
            <t><tt>agent-version</tt> (0x41475631): Supported agent protocol version string</t>
          </li>
          <li>
            <t><tt>agent-protocols</tt> (0x41475032): Bitmask of supported agent protocols
(A2A=0x01, MCP=0x02)</t>
          </li>
          <li>
            <t><tt>agent-auth-schemes</tt> (0x41475033): Supported authentication schemes</t>
          </li>
        </ul>
      </section>
      <section anchor="track-organization">
        <name>Track Organization</name>
        <t>Agent protocol messages are mapped to MOQT tracks using a hierarchical
namespace structure as defined in <xref target="MoQ-TRANSPORT"/>. MOQT namespaces
consist of 1-32 ordered tuple fields, enabling relays to route based
on hierarchical prefixes.</t>
        <section anchor="namespace-structure">
          <name>Namespace Structure</name>
          <t>Agent protocols over MOQT use a hierarchical namespace structure that
enables relay routing and protocol multiplexing. The general pattern is:</t>
          <artwork><![CDATA[
Full Track Name Structure:

Track Namespace (tuple fields):
┌──────────┬──────────┬────────────┬──────────────┐
│ Field 1  │ Field 2  │  Field 3   │   Field 4    │
│ protocol │ session  │  agent-id  │   category   │
└──────────┴──────────┴────────────┴──────────────┘

Track Name:
┌────────────────────────────────────────────────┐
│              action or identifier              │
└────────────────────────────────────────────────┘

Example Full Track Names:
  {proto} / session-123 / agent-alice / request -- req-001
  {proto} / session-123 / agent-bob / discovery -- agent-card
  {proto} / session-123 / agent-alice / stream -- task-456
]]></artwork>
          <t>The first namespace field identifies the protocol binding (e.g., "a2a",
"mcp", "autogen") enabling multiple protocols to coexist on shared
relay infrastructure. Protocol-specific namespace structures are defined
in their respective binding sections (<xref target="a2a-binding"/>, <xref target="mcp-binding"/>).</t>
        </section>
        <section anchor="track-categories">
          <name>Track Categories</name>
          <t>Agent protocols typically organize communication into the following
logical track categories. Protocol bindings define specific namespace
patterns for each category.</t>
          <dl>
            <dt>Request Tracks:</dt>
            <dd>
              <t>Used for outbound request messages. Track name typically contains
a request identifier for correlation.</t>
            </dd>
            <dt>Response Tracks:</dt>
            <dd>
              <t>Used for response messages. Track name contains the correlated
request identifier.</t>
            </dd>
            <dt>Resource/State Tracks:</dt>
            <dd>
              <t>Used for resource access or state synchronization. Track name
identifies the specific resource or state key.</t>
            </dd>
            <dt>Notification Tracks:</dt>
            <dd>
              <t>Used for push notifications and asynchronous events.</t>
            </dd>
            <dt>Discovery Tracks:</dt>
            <dd>
              <t>Used for agent/service discovery and capability exchange.</t>
            </dd>
          </dl>
          <t>Protocol-specific track categories and namespace patterns are defined
in their respective binding sections.</t>
        </section>
      </section>
      <section anchor="message-serialization">
        <name>Message Serialization</name>
        <t>Agent protocol messages are serialized and encapsulated within MOQT
objects. The serialization format is protocol-specific, but most agent
protocols use JSON or JSON-RPC 2.0. Each MOQT object contains:</t>
        <artwork><![CDATA[
MOQT Object Structure:

┌─────────────────────────────────────────────────────────┐
│                 MOQT Object Header                      │
│  Track ID │ Group ID │ Object ID │ Priority │ ....      │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│                 Protocol Message Payload                │
│  ┌─────────────────────────────────────────────────────┐│
│  │         Serialized Protocol Message                 ││
│  │  (JSON, JSON-RPC 2.0, or protocol-specific format)  ││
│  └─────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────┘
]]></artwork>
        <t>Protocol bindings specify the exact serialization format and any
required message envelope structure. Bindings <bcp14>SHOULD</bcp14> preserve native
message formats where possible to maintain compatibility with existing
protocol implementations.</t>
      </section>
      <section anchor="priority-and-quality-of-service">
        <name>Priority and Quality of Service</name>
        <t>MOQT uses a 0-255 priority scale where lower values indicate higher priority.
Protocol bindings map their message types to MOQT Publisher Priority ranges.
The following general priority tiers are recommended:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Message Category</th>
              <th align="left">MOQT Priority</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Critical/Cancel</td>
              <td align="left">0-31</td>
              <td align="left">Critical errors, cancellations, urgent control</td>
            </tr>
            <tr>
              <td align="left">Interactive Response</td>
              <td align="left">32-63</td>
              <td align="left">Responses requiring immediate delivery</td>
            </tr>
            <tr>
              <td align="left">Standard Request</td>
              <td align="left">64-95</td>
              <td align="left">Normal request/response messages</td>
            </tr>
            <tr>
              <td align="left">Streaming Updates</td>
              <td align="left">96-127</td>
              <td align="left">Incremental status and data updates</td>
            </tr>
            <tr>
              <td align="left">Discovery</td>
              <td align="left">128-159</td>
              <td align="left">Service/agent discovery and capability exchange</td>
            </tr>
            <tr>
              <td align="left">Background</td>
              <td align="left">160-191</td>
              <td align="left">Non-critical notifications, telemetry</td>
            </tr>
            <tr>
              <td align="left">Bulk Transfer</td>
              <td align="left">192-255</td>
              <td align="left">Large file transfers, batch operations</td>
            </tr>
          </tbody>
        </table>
        <t>Protocol bindings <bcp14>SHOULD</bcp14> define specific mappings from their message
types to these priority ranges. See <xref target="a2a-binding"/> and <xref target="mcp-binding"/>
for protocol-specific priority assignments.</t>
        <section anchor="group-order">
          <name>Group Order</name>
          <t>For streaming operations, MOQT Group Order determines whether groups
are delivered in ascending (oldest first) or descending (newest first) order:</t>
          <ul spacing="normal">
            <li>
              <t>Sequential processing streams: Ascending order (preserve execution sequence)</t>
            </li>
            <li>
              <t>Live notifications: Descending order (prioritize recent events)</t>
            </li>
            <li>
              <t>Ordered data transfers: Ascending order (sequential chunk delivery)</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="operation-patterns">
        <name>Operation Patterns</name>
        <t>This section defines common operation patterns that protocol bindings
use to implement agent communication over MOQT.</t>
        <section anchor="discovery">
          <name>Discovery</name>
          <t>Agent discovery over MOQT leverages the SUBSCRIBE_NAMESPACE and
PUBLISH_NAMESPACE mechanisms defined in <xref target="MoQ-TRANSPORT"/> for efficient
in-band discovery of agents within a session context.</t>
          <t>Agents use PUBLISH_NAMESPACE to advertise their presence and
SUBSCRIBE_NAMESPACE to discover other agents:</t>
          <artwork><![CDATA[
Discovery Flow Using Namespace Operations:

Agent A                       MOQT Relay                      Agent B
   |                              |                             |
   |─ SUBSCRIBE_NAMESPACE────────▶|                             |
   |  ({proto}/{session}/discovery)|                            |
   |                              |◄─ SUBSCRIBE_NAMESPACE───────┤
   |                              |  ({proto}/{session}/discovery)|
   |                              |                             |
   |─ PUBLISH_NAMESPACE──────────▶|                             |
   |  ({proto}/{session}/discovery/|                            |
   |   agent-a)                   |                             |
   |                              |─ NAMESPACE ────────────────▶|
   |                              |  (agent-a available)        |
   |                              |                             |
   |                              |◄─ PUBLISH_NAMESPACE─────────┤
   |                              |  ({proto}/{session}/discovery/|
   |                              |   agent-b)                  |
   |◄─ NAMESPACE ─────────────────|                             |
   |  (agent-b available)         |                             |
   |                              |                             |
   |─ SUBSCRIBE ─────────────────▶|─ SUBSCRIBE ────────────────▶|
   |  (agent-b/discovery)         |  (agent-b/discovery)        |
   |◄─ OBJECT(Capability Card) ───|◄─ OBJECT(Capability Card) ──|
]]></artwork>
          <t>Each agent publishes a capability card containing its identity, capabilities,
and supported operations. The card serves as the discovery mechanism through
which agents advertise their presence and abilities to potential collaborators.
The card is published as an MOQT object on the agent's discovery track.</t>
          <t>A capability card typically includes:</t>
          <ul spacing="normal">
            <li>
              <t><strong>Identity</strong>: Name, description, and endpoint URL</t>
            </li>
            <li>
              <t><strong>Capabilities</strong>: Supported features such as streaming or notifications</t>
            </li>
            <li>
              <t><strong>Authentication</strong>: Supported authentication schemes</t>
            </li>
            <li>
              <t><strong>MOQT Extension</strong>: Transport-specific configuration for MOQT connectivity</t>
            </li>
          </ul>
          <t>Protocol-specific card formats are defined in their respective binding
sections (e.g., A2A Agent Card in <xref target="a2a-agent-card"/>).</t>
        </section>
        <section anchor="request-response-pattern">
          <name>Request/Response</name>
          <t>Request/response interactions between agents are implemented using coordinated
PUBLISH_NAMESPACE, SUBSCRIBE_NAMESPACE, and object delivery. This pattern
enables agents to exchange messages through MOQT relays without requiring
direct connectivity.</t>
          <t>The following table describes how common agent communication patterns map
to MOQT primitives:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Operation Pattern</th>
                <th align="left">MOQT Mechanism</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">One-shot request</td>
                <td align="left">PUBLISH + OBJECT</td>
                <td align="left">Single request published to a track</td>
              </tr>
              <tr>
                <td align="left">Streaming request</td>
                <td align="left">PUBLISH + multiple OBJECTs</td>
                <td align="left">Request with incremental data across objects</td>
              </tr>
              <tr>
                <td align="left">Resource fetch</td>
                <td align="left">SUBSCRIBE + OBJECT</td>
                <td align="left">Subscribe to retrieve a specific resource</td>
              </tr>
              <tr>
                <td align="left">Resource listing</td>
                <td align="left">SUBSCRIBE_NAMESPACE</td>
                <td align="left">Discover available resources via namespace</td>
              </tr>
              <tr>
                <td align="left">Cancellation</td>
                <td align="left">OBJECT on control track</td>
                <td align="left">Cancel signal published to control track</td>
              </tr>
              <tr>
                <td align="left">Subscription</td>
                <td align="left">SUBSCRIBE (ongoing)</td>
                <td align="left">Long-lived subscription for updates</td>
              </tr>
            </tbody>
          </table>
          <t>Protocol-specific operation mappings are defined in their respective binding
sections.</t>
          <t>The following diagram illustrates the message flow for a typical
request/response interaction between a client agent and a server agent
through an MOQT relay. The server agent first publishes its namespace to
advertise availability. The client discovers the server via namespace
subscription, then publishes a request and subscribes to the corresponding
response track. The server processes the request and publishes the response,
which the relay forwards to the subscribed client.</t>
          <artwork><![CDATA[
Request/Response Flow:

Client Agent                MOQT Relay               Server Agent
     |                           |                        |
     |                           |◄── PUBLISH_NAMESPACE ──|
     |                           |  ({proto}/{s}/{server})|
     |                           |                        |
     |── SUBSCRIBE_NAMESPACE ───▶|                        |
     |  ({proto}/{s}/{server})   |                        |
     |◄── NAMESPACE ─────────────|                        |
     |   (tracks available)      |                        |
     |                           |                        |
     |── PUBLISH ───────────────▶|── PUBLISH ────────────▶|
     |   ({server}/request)      |   ({server}/request)   |
     |                           |                        |
     |── SUBSCRIBE ─────────────▶|                        |
     |   ({server}/response/     |                        |
     |    {req-id})              |                        |
     |                           |                        |
     |── OBJECT ────────────────▶|── OBJECT ─────────────▶|
     |   (Request Message)       |   (forwarded)          |
     |                           |                        |
     |                           |◄── PUBLISH ────────────|
     |                           |   ({server}/response)  |
     |                           |                        |
     |                           |◄── OBJECT ─────────────|
     |◄── OBJECT ────────────────|   (Response Message)   |
     |   (Response Message)      |                        |
]]></artwork>
          <t>Request-response correlation uses message IDs embedded in the protocol
payload (e.g., JSON-RPC id field). Both request and response track names
include the request-specific ID to enable efficient subscription filtering
and correlation.</t>
        </section>
        <section anchor="streaming-pattern">
          <name>Streaming</name>
          <t>Long-running operations like task execution or file transfer utilize
MOQT's streaming capabilities. Stream tracks carry incremental updates
as separate MOQT objects organized into groups.</t>
          <t>Streaming leverages MOQT's object model to deliver incremental updates.
The client subscribes to an operation-specific track and receives a
sequence of events as the server executes the operation. Each event is
published as an MOQT object, organized into groups that represent logical
phases of execution.</t>
          <t>Protocol bindings define specific event types for their streaming operations.
Common patterns include:</t>
          <dl>
            <dt>Status Events:</dt>
            <dd>
              <t>Published when operation state changes. Contains operation ID, current
state, and optional status message.</t>
            </dd>
            <dt>Data Events:</dt>
            <dd>
              <t>Published when operation produces output. Contains result data with
incremental or complete delivery.</t>
            </dd>
          </dl>
          <t>The following diagram illustrates a generic streaming flow. The client
subscribes to the operation track. As the server executes, it publishes
status and data updates as MOQT objects. Objects are organized into
groups representing execution phases. The relay forwards each object
to the subscribed client in real-time.</t>
          <artwork><![CDATA[
Streaming Operation Flow:

Client                     MOQT Relay                   Server
  |                           |                           |
  |── SUBSCRIBE ─────────────▶|                           |
  |   ({operation-track})     |── SUBSCRIBE ─────────────▶|
  |                           |                           |
  |                           |     [Group 0: Initialization]
  |                           |◄── Object 0 ──────────────|
  |◄── Status Event ──────────|   (state: "running")      |
  |                           |                           |
  |                           |     [Group 1: Progress]
  |                           |◄── Object 0 ──────────────|
  |◄── Data Event ────────────|   (partial result)        |
  |                           |                           |
  |                           |◄── Object 1 ──────────────|
  |◄── Data Event ────────────|   (more content)          |
  |                           |                           |
  |                           |     [Group 2: Completion]
  |                           |◄── Object 0 ──────────────|
  |◄── Data Event ────────────|   (final result)          |
  |                           |                           |
  |                           |◄── Object 1 ──────────────|
  |◄── Status Event ──────────|   (state: "completed")    |
  |                           |                           |
  |── UNSUBSCRIBE ───────────▶|── UNSUBSCRIBE ───────────▶|
]]></artwork>
          <t>Groups serve as synchronization points within the stream. The server
advances to a new group when transitioning between execution phases,
allowing clients to identify and process related updates together.</t>
          <section anchor="late-joining-and-caching">
            <name>Late Joining and Caching</name>
            <t>MOQT groups serve as join points for late-arriving subscribers.
Relays <bcp14>MAY</bcp14> cache recent groups to enable:</t>
            <ul spacing="normal">
              <li>
                <t>Clients joining mid-stream receive the latest group</t>
              </li>
              <li>
                <t>Recovery from transient disconnections</t>
              </li>
              <li>
                <t>Efficient replay of recent operation history</t>
              </li>
            </ul>
          </section>
        </section>
      </section>
    </section>
    <section anchor="protocol-bindings">
      <name>Protocol Bindings</name>
      <t>To enable MOQT as a unified transport for multiple agent communication
protocols, this document defines protocol bindings that map protocol-specific
semantics to the transport patterns defined in <xref target="moqt-transport-mapping"/>.</t>
      <section anchor="binding-architecture">
        <name>Binding Architecture</name>
        <artwork><![CDATA[
┌─────────────────────────────────────────────────────────────────────┐
│                    Agent Applications                                │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │
│  │ A2A Agent   │  │ MCP Host    │  │ AutoGen     │  │ Custom      │ │
│  │             │  │             │  │ Agent       │  │ Agent       │ │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │
└─────────┼────────────────┼────────────────┼────────────────┼────────┘
          │                │                │                │
┌─────────▼────────────────▼────────────────▼────────────────▼────────┐
│                 Protocol Binding Layer                               │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐ │
│  │ A2A Binding │  │ MCP Binding │  │ AutoGen     │  │ Generic     │ │
│  │             │  │             │  │ Binding     │  │ JSON-RPC    │ │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘ │
└─────────┼────────────────┼────────────────┼────────────────┼────────┘
          │                │                │                │
┌─────────▼────────────────▼────────────────▼────────────────▼────────┐
│                    MOQT Transport Layer                              │
│         Namespace Management | Pub/Sub | Streaming | QoS             │
└─────────────────────────────────────────────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────────────┐
│                    QUIC / WebTransport                               │
└─────────────────────────────────────────────────────────────────────┘
]]></artwork>
        <t>Each protocol binding provides the following elements for MOQT integration:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Protocol Identifier</strong>: A unique string identifying the protocol
(e.g., "a2a", "mcp", "autogen") used to distinguish bindings.</t>
          </li>
          <li>
            <t><strong>Version</strong>: The protocol version supported by the binding, enabling
version negotiation and compatibility detection.</t>
          </li>
          <li>
            <t><strong>Namespace Prefix</strong>: A tuple of strings forming the root namespace
for the protocol's tracks, enabling namespace partitioning across
different protocols on shared infrastructure.</t>
          </li>
          <li>
            <t><strong>Message Serialization</strong>: Methods to convert protocol messages to
bytes for MOQT object payloads and to parse received bytes back
into protocol messages.</t>
          </li>
          <li>
            <t><strong>Track Mapping</strong>: Logic to map protocol operations to appropriate
MOQT track names, determining which track should carry each message
type.</t>
          </li>
          <li>
            <t><strong>Priority Mapping</strong>: Rules to assign MOQT publisher priorities based
on message types, ensuring appropriate quality of service for
different operations.</t>
          </li>
          <li>
            <t><strong>Namespace Event Handling</strong>: Callbacks for processing MOQT namespace
events such as ANNOUNCE and SUBSCRIBE_NAMESPACE, enabling protocol-
specific discovery and subscription management.</t>
          </li>
        </ul>
        <t>Different protocols use distinct namespace prefixes to enable coexistence
on shared MOQT infrastructure:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Protocol</th>
              <th align="left">Namespace Prefix</th>
              <th align="left">Example Namespace</th>
              <th align="left">Example Track Name</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">A2A</td>
              <td align="left">
                <tt>a2a/{session}/{agent}</tt></td>
              <td align="left">
                <tt>a2a/s1/agent-a/task</tt></td>
              <td align="left">
                <tt>t1</tt></td>
            </tr>
            <tr>
              <td align="left">MCP</td>
              <td align="left">
                <tt>mcp/{session}/{server}</tt></td>
              <td align="left">
                <tt>mcp/s1/fs-server/tools</tt></td>
              <td align="left">
                <tt>read</tt></td>
            </tr>
            <tr>
              <td align="left">AutoGen</td>
              <td align="left">
                <tt>autogen/{session}/{runtime}</tt></td>
              <td align="left">
                <tt>autogen/s1/rt1/agent</tt></td>
              <td align="left">
                <tt>msg</tt></td>
            </tr>
            <tr>
              <td align="left">Generic</td>
              <td align="left">
                <tt>agent/{session}/{id}</tt></td>
              <td align="left">
                <tt>agent/s1/custom/rpc</tt></td>
              <td align="left">
                <tt>call</tt></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="a2a-binding">
        <name>A2A Binding</name>
        <t>The Agent-to-Agent Protocol <xref target="A2A"/> binding maps A2A's task delegation
and collaboration semantics to MOQT primitives using the patterns
defined in <xref target="moqt-transport-mapping"/>.</t>
        <section anchor="namespace-structure-1">
          <name>Namespace Structure</name>
          <t>A2A uses the <tt>a2a</tt> namespace prefix with the following hierarchy:</t>
          <artwork><![CDATA[
a2a/{session-id}/{agent-id}/{category}
]]></artwork>
          <t>Where:</t>
          <ul spacing="normal">
            <li>
              <t><tt>session-id</tt>: Unique identifier for the collaboration session</t>
            </li>
            <li>
              <t><tt>agent-id</tt>: Unique identifier for the publishing agent</t>
            </li>
            <li>
              <t><tt>category</tt>: Message category (request, response, task, notify, discovery)</t>
            </li>
          </ul>
        </section>
        <section anchor="track-categories-1">
          <name>Track Categories</name>
          <table>
            <thead>
              <tr>
                <th align="left">Category</th>
                <th align="left">Purpose</th>
                <th align="left">Track Name Pattern</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">request</td>
                <td align="left">Outbound requests</td>
                <td align="left">
                  <tt>{request-id}</tt></td>
              </tr>
              <tr>
                <td align="left">response</td>
                <td align="left">Request responses</td>
                <td align="left">
                  <tt>{request-id}</tt></td>
              </tr>
              <tr>
                <td align="left">task</td>
                <td align="left">Task lifecycle</td>
                <td align="left">
                  <tt>{task-id}</tt></td>
              </tr>
              <tr>
                <td align="left">notify</td>
                <td align="left">Push notifications</td>
                <td align="left">
                  <tt>{notification-type}</tt></td>
              </tr>
              <tr>
                <td align="left">discovery</td>
                <td align="left">Agent cards</td>
                <td align="left">
                  <tt>agent-card</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="a2a-operation-mapping">
          <name>A2A Operation Mapping</name>
          <t>The following table maps A2A v0.3.0 operations to MOQT primitives.
The Generic Pattern column references patterns from <xref target="request-response-pattern"/>.</t>
          <table>
            <thead>
              <tr>
                <th align="left">A2A Operation</th>
                <th align="left">MOQT Mechanism</th>
                <th align="left">Track Pattern</th>
                <th align="left">Generic Pattern</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>SendMessage</tt></td>
                <td align="left">PUBLISH + OBJECT</td>
                <td align="left">
                  <tt>{agent}/request -- {req-id}</tt></td>
                <td align="left">One-shot request</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>SendStreamingMessage</tt></td>
                <td align="left">PUBLISH + multiple OBJECTs</td>
                <td align="left">
                  <tt>{agent}/stream -- {req-id}</tt></td>
                <td align="left">Streaming request</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>GetTask</tt></td>
                <td align="left">SUBSCRIBE + OBJECT fetch</td>
                <td align="left">
                  <tt>{agent}/task -- {task-id}</tt></td>
                <td align="left">Resource fetch</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>ListTasks</tt></td>
                <td align="left">SUBSCRIBE_NAMESPACE</td>
                <td align="left">
                  <tt>{agent}/task</tt></td>
                <td align="left">Resource listing</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>CancelTask</tt></td>
                <td align="left">OBJECT on request track</td>
                <td align="left">
                  <tt>{agent}/request -- cancel-{task-id}</tt></td>
                <td align="left">Cancellation</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>SubscribeToTask</tt></td>
                <td align="left">SUBSCRIBE (ongoing)</td>
                <td align="left">
                  <tt>{agent}/task -- {task-id}</tt></td>
                <td align="left">Subscription</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>GetExtendedAgentCard</tt></td>
                <td align="left">SUBSCRIBE + OBJECT</td>
                <td align="left">
                  <tt>{agent}/discovery -- agent-card</tt></td>
                <td align="left">Resource fetch</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="message-format">
          <name>Message Format</name>
          <t>A2A messages are serialized as JSON-RPC 2.0 payloads within MOQT objects.
The binding preserves A2A's native message format without transformation.</t>
        </section>
        <section anchor="priority-mapping">
          <name>Priority Mapping</name>
          <table>
            <thead>
              <tr>
                <th align="left">A2A Message Type</th>
                <th align="left">MOQT Priority Range</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Cancel/Error</td>
                <td align="left">0-31</td>
              </tr>
              <tr>
                <td align="left">SendMessage response</td>
                <td align="left">32-63</td>
              </tr>
              <tr>
                <td align="left">SendMessage request</td>
                <td align="left">64-95</td>
              </tr>
              <tr>
                <td align="left">Task updates</td>
                <td align="left">96-127</td>
              </tr>
              <tr>
                <td align="left">Discovery</td>
                <td align="left">128-159</td>
              </tr>
              <tr>
                <td align="left">Background</td>
                <td align="left">160-255</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="streaming-support">
          <name>Streaming Support</name>
          <t>A2A streaming operations (SendStreamingMessage, task subscriptions) map
to MOQT groups and objects following the pattern in <xref target="streaming-pattern"/>.</t>
          <t>A2A defines two streaming event types:</t>
          <dl>
            <dt>TaskStatusUpdateEvent:</dt>
            <dd>
              <t>Published when task state changes. Contains task ID, current state
(queued, running, completed, failed, canceled), and optional message.</t>
            </dd>
            <dt>TaskArtifactUpdateEvent:</dt>
            <dd>
              <t>Published when task produces output. Contains artifact data (text,
files, structured data) with incremental or complete delivery.</t>
            </dd>
          </dl>
          <t>The mapping to MOQT objects:</t>
          <ul spacing="normal">
            <li>
              <t>Each streaming response creates a new MOQT group</t>
            </li>
            <li>
              <t>Incremental updates are individual objects within the group</t>
            </li>
            <li>
              <t>TaskStatusUpdateEvent and TaskArtifactUpdateEvent map to objects</t>
            </li>
            <li>
              <t>Groups represent execution phases (initialization, progress, completion)</t>
            </li>
          </ul>
        </section>
        <section anchor="a2a-agent-card">
          <name>Agent Card Format</name>
          <t>Per A2A v0.3.0, each agent publishes an Agent Card containing identity,
capabilities, and supported operations. The A2A Agent Card extends the
generic agent card structure with A2A-specific fields:</t>
          <artwork><![CDATA[
{
  "name": "example-agent",
  "description": "An example A2A agent",
  "url": "https://example.com/agent",
  "protocolVersion": "0.3.0",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true
  },
  "skills": [],
  "authentication": {
    "schemes": ["bearer", "oauth2"]
  },
  "moqt": {
    "namespace": "a2a/session-123/agent-example",
    "relayEndpoint": "moqt://relay.example.com:4443",
    "supportedExtensions": ["a2a-version", "a2a-protocols"]
  },
  "signature": "base64-encoded-signature"
}
]]></artwork>
          <t>The A2A-specific fields include:</t>
          <ul spacing="normal">
            <li>
              <t><tt>protocolVersion</tt>: The A2A protocol version supported (e.g., "0.3.0")</t>
            </li>
            <li>
              <t><tt>capabilities</tt>: A2A capability flags including <tt>streaming</tt> and <tt>pushNotifications</tt></t>
            </li>
            <li>
              <t><tt>skills</tt>: Array of skill definitions the agent can perform</t>
            </li>
            <li>
              <t><tt>signature</tt>: Optional cryptographic signature for card verification</t>
            </li>
          </ul>
          <t>The <tt>moqt</tt> extension provides MOQT transport configuration with the
A2A namespace prefix.</t>
        </section>
      </section>
      <section anchor="mcp-binding">
        <name>MCP Binding</name>
        <t>The Model Context Protocol <xref target="MCP"/> can be transported over MOQT to enable
tool and resource access for agents. The complete specification for MCP
over MOQT is defined in <xref target="MCP-MOQT"/>.</t>
        <t><xref target="MCP-MOQT"/> defines dedicated MOQT tracks for each MCP primitive: control
tracks for session management and capability negotiation, resource tracks
for server-published content delivery, tool tracks for invocation requests
and responses, prompt tracks for template distribution, and notification
tracks for asynchronous events (Section 3). The specification covers
protocol operations including session establishment, priority management
for ensuring critical operations receive sufficient bandwidth, and
comprehensive error handling (Section 4).</t>
        <t>A key contribution of <xref target="MCP-MOQT"/> is the Agent Skills architecture
(Section 6), which extends AI capabilities beyond atomic tool operations.
Skills provide composed instructions for complex tasks and use progressive
loading (metadata, instructions, resources) that aligns naturally with
MOQT's object-based delivery, enabling efficient bandwidth utilization
and aggressive caching. The specification also describes relay support
(Section 5) for scalable MCP deployments, including subscription
aggregation where multiple client subscriptions are consolidated into
single upstream requests, and content caching strategies optimized for
AI workflows.</t>
      </section>
      <section anchor="autogen-binding">
        <name>AutoGen Binding</name>
        <t>AutoGen <xref target="AutoGen"/> is a multi-agent conversation framework that enables
complex LLM applications through agent collaboration. This binding defines
how AutoGen's conversation patterns map to MOQT.</t>
        <section anchor="namespace-structure-2">
          <name>Namespace Structure</name>
          <t>AutoGen uses the <tt>autogen</tt> namespace prefix:</t>
          <artwork><![CDATA[
autogen/{session-id}/{runtime-id}/{agent-name}
]]></artwork>
          <t>Where:</t>
          <ul spacing="normal">
            <li>
              <t><tt>session-id</tt>: Unique identifier for the AutoGen session</t>
            </li>
            <li>
              <t><tt>runtime-id</tt>: Identifier for the AutoGen runtime instance</t>
            </li>
            <li>
              <t><tt>agent-name</tt>: Name of the AutoGen agent</t>
            </li>
          </ul>
        </section>
        <section anchor="track-categories-2">
          <name>Track Categories</name>
          <table>
            <thead>
              <tr>
                <th align="left">Category</th>
                <th align="left">Purpose</th>
                <th align="left">Track Name Pattern</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">message</td>
                <td align="left">Inter-agent messages</td>
                <td align="left">
                  <tt>{conversation-id}</tt></td>
              </tr>
              <tr>
                <td align="left">control</td>
                <td align="left">Runtime control</td>
                <td align="left">
                  <tt>{command}</tt></td>
              </tr>
              <tr>
                <td align="left">state</td>
                <td align="left">Agent state sync</td>
                <td align="left">
                  <tt>{state-key}</tt></td>
              </tr>
              <tr>
                <td align="left">result</td>
                <td align="left">Final outputs</td>
                <td align="left">
                  <tt>{task-id}</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="message-format-1">
          <name>Message Format</name>
          <t>AutoGen messages are serialized as JSON with the following structure:</t>
          <artwork><![CDATA[
{
  "sender": "agent-name",
  "recipient": "agent-name | broadcast",
  "content": "message content or structured data",
  "metadata": {
    "conversation_id": "conv-123",
    "turn": 5,
    "role": "assistant | user | system"
  }
}
]]></artwork>
        </section>
        <section anchor="conversation-patterns">
          <name>Conversation Patterns</name>
          <t>AutoGen's conversation patterns map to MOQT as follows:</t>
          <dl>
            <dt>Two-Agent Chat:</dt>
            <dd>
              <t>Each agent publishes to their message track. Agents subscribe to
their conversation partner's track.</t>
            </dd>
            <dt>Group Chat:</dt>
            <dd>
              <t>A coordinator agent manages turn-taking. All agents subscribe to
the coordinator's broadcast track.</t>
            </dd>
            <dt>Nested Chat:</dt>
            <dd>
              <t>Hierarchical namespaces enable nested conversations:
<tt>autogen/{session}/runtime-1/outer-agent/inner-runtime/inner-agent</tt></t>
            </dd>
          </dl>
        </section>
        <section anchor="priority-mapping-1">
          <name>Priority Mapping</name>
          <table>
            <thead>
              <tr>
                <th align="left">AutoGen Message Type</th>
                <th align="left">MOQT Priority Range</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Termination signals</td>
                <td align="left">0-31</td>
              </tr>
              <tr>
                <td align="left">Human input requests</td>
                <td align="left">32-63</td>
              </tr>
              <tr>
                <td align="left">Agent responses</td>
                <td align="left">64-95</td>
              </tr>
              <tr>
                <td align="left">Function results</td>
                <td align="left">96-127</td>
              </tr>
              <tr>
                <td align="left">State updates</td>
                <td align="left">128-159</td>
              </tr>
              <tr>
                <td align="left">Logging/debug</td>
                <td align="left">160-255</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="generic-json-rpc-binding">
        <name>Generic JSON-RPC Binding</name>
        <t>This binding provides a minimal baseline for custom agent protocols
that use JSON-RPC 2.0 messaging. It serves as an extensible foundation
for protocols not covered by specific bindings.</t>
        <section anchor="namespace-structure-3">
          <name>Namespace Structure</name>
          <t>Generic protocols use the <tt>agent</tt> namespace prefix:</t>
          <artwork><![CDATA[
agent/{session-id}/{agent-id}/{protocol-name}
]]></artwork>
          <t>Where:</t>
          <ul spacing="normal">
            <li>
              <t><tt>session-id</tt>: Unique session identifier</t>
            </li>
            <li>
              <t><tt>agent-id</tt>: Unique agent identifier</t>
            </li>
            <li>
              <t><tt>protocol-name</tt>: Custom protocol identifier</t>
            </li>
          </ul>
        </section>
        <section anchor="track-categories-3">
          <name>Track Categories</name>
          <table>
            <thead>
              <tr>
                <th align="left">Category</th>
                <th align="left">Purpose</th>
                <th align="left">Track Name Pattern</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">rpc</td>
                <td align="left">Request/response</td>
                <td align="left">
                  <tt>{request-id}</tt></td>
              </tr>
              <tr>
                <td align="left">stream</td>
                <td align="left">Streaming data</td>
                <td align="left">
                  <tt>{stream-id}</tt></td>
              </tr>
              <tr>
                <td align="left">event</td>
                <td align="left">Async events</td>
                <td align="left">
                  <tt>{event-type}</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="message-format-2">
          <name>Message Format</name>
          <t>Messages follow standard JSON-RPC 2.0:</t>
          <artwork><![CDATA[
{
  "jsonrpc": "2.0",
  "method": "protocol.method",
  "params": {},
  "id": "request-id"
}
]]></artwork>
        </section>
        <section anchor="extension-mechanism">
          <name>Extension Mechanism</name>
          <t>Custom protocols can extend this binding by:</t>
          <ol spacing="normal" type="1"><li>
              <t>Defining additional track categories</t>
            </li>
            <li>
              <t>Specifying custom message schemas within the JSON-RPC params</t>
            </li>
            <li>
              <t>Registering protocol-specific priorities</t>
            </li>
            <li>
              <t>Adding custom metadata in MOQT extension headers</t>
            </li>
          </ol>
          <t>Implementations <bcp14>SHOULD</bcp14> document their extensions and <bcp14>MAY</bcp14> register
them in the IANA Protocol Bindings Registry.</t>
        </section>
      </section>
      <section anchor="multi-agent-orchestration-patterns">
        <name>Multi-Agent Orchestration Patterns</name>
        <t>The abstraction layer supports common multi-agent coordination patterns:</t>
        <t>TODO: Discuss each of the following patterns:</t>
        <ul spacing="normal">
          <li>
            <t>Sequential Orchestration</t>
          </li>
          <li>
            <t>Concurrent (Broadcast) Pattern</t>
          </li>
          <li>
            <t>Handoff Pattern</t>
          </li>
          <li>
            <t>Hierarchical Teams</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="benefits-of-moqt-for-a2a">
      <name>Benefits of MOQT for A2A</name>
      <t>MOQT provides significant advantages over traditional A2A transports,
particularly for real-time agent collaboration and large-scale deployments.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Feature</th>
            <th align="left">HTTP/JSON-RPC</th>
            <th align="left">gRPC</th>
            <th align="left">REST</th>
            <th align="left">MOQT</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Pub/Sub Native</td>
            <td align="left">No</td>
            <td align="left">Limited</td>
            <td align="left">No</td>
            <td align="left">Yes</td>
          </tr>
          <tr>
            <td align="left">Multi-party Broadcast</td>
            <td align="left">Polling</td>
            <td align="left">N/A</td>
            <td align="left">Polling</td>
            <td align="left">Native</td>
          </tr>
          <tr>
            <td align="left">Relay/CDN Support</td>
            <td align="left">Separate infra</td>
            <td align="left">N/A</td>
            <td align="left">CDN possible</td>
            <td align="left">Built-in</td>
          </tr>
          <tr>
            <td align="left">Priority QoS</td>
            <td align="left">Application layer</td>
            <td align="left">Per-stream</td>
            <td align="left">None</td>
            <td align="left">Per-object (0-255)</td>
          </tr>
          <tr>
            <td align="left">Connection Migration</td>
            <td align="left">No</td>
            <td align="left">Limited</td>
            <td align="left">No</td>
            <td align="left">QUIC native</td>
          </tr>
          <tr>
            <td align="left">Late Join Support</td>
            <td align="left">N/A</td>
            <td align="left">N/A</td>
            <td align="left">N/A</td>
            <td align="left">Group-based</td>
          </tr>
          <tr>
            <td align="left">Streaming Granularity</td>
            <td align="left">Message</td>
            <td align="left">Stream</td>
            <td align="left">N/A</td>
            <td align="left">Object/Group</td>
          </tr>
          <tr>
            <td align="left">Discovery Mechanism</td>
            <td align="left">Well-known URI</td>
            <td align="left">Service registry</td>
            <td align="left">Well-known URI</td>
            <td align="left">SUBSCRIBE_NAMESPACE</td>
          </tr>
        </tbody>
      </table>
      <t>MOQT enables real-time agent communication through low-latency streaming, priority-based message delivery, and built-in flow control that prevents overload during high-volume interactions.</t>
      <t>The publish/subscribe model provides scalability through one-to-many broadcasts, dynamic in-band discovery via SUBSCRIBE_NAMESPACE, and relay-based distribution that prevents connection explosion in large mesh networks.</t>
      <t>MOQT delivers reliability and resilience via QUIC connection migration, automatic retry mechanisms, graceful degradation, and object caching at relays for recovery from transient disconnections.</t>
    </section>
    <section anchor="moqt-relay-infrastructure-for-a2a">
      <name>MOQT Relay Infrastructure for A2A</name>
      <t>MOQT relays provide critical infrastructure benefits for
large-scale A2A deployments, enabling efficient message distribution and caching.</t>
      <section anchor="relay-network-architecture">
        <name>Relay Network Architecture</name>
        <t>MOQT relays form a hierarchical distribution network that optimizes A2A
message delivery across geographic and organizational boundaries:</t>
        <artwork><![CDATA[
Hierarchical Relay Network:

                    ┌─────────────────┐
                    │  Global Relay   │
                    │  (Federation)   │
                    └────────┬────────┘
                             │
           ┌─────────────────┼─────────────────┐
           │                 │                 │
    ┌──────▼──────┐   ┌──────▼──────┐   ┌──────▼──────┐
    │ Region A    │   │ Region B    │   │ Region C    │
    │ Relay       │   │ Relay       │   │ Relay       │
    └──────┬──────┘   └──────┬──────┘   └──────┬──────┘
           │                 │                 │
     ┌─────┴─────┐     ┌─────┴─────┐     ┌─────┴─────┐
     │           │     │           │     │           │
   Agent A    Agent B Agent C   Agent D Agent E   Agent F
]]></artwork>
        <t>This hierarchical structure provides:</t>
        <ul spacing="normal">
          <li>
            <t>Regional optimization with local agent clusters</t>
          </li>
          <li>
            <t>Global connectivity for cross-region agent collaboration</t>
          </li>
          <li>
            <t>Load distribution to prevent single points of failure</t>
          </li>
          <li>
            <t>Configurable routing policies based on agent requirements</t>
          </li>
        </ul>
      </section>
      <section anchor="message-caching-benefits">
        <name>Message Caching Benefits</name>
        <t>MOQT relays implement intelligent caching strategies optimized for A2A communication patterns. Caching tiers range from hot caches with short TTLs for real-time responses and task status updates, to warm caches for agent capability profiles and session metadata, to cold storage for historical task logs and compliance data.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="MoQ-TRANSPORT" target="https://datatracker.ietf.org/doc/draft-ietf-moq-transport/">
          <front>
            <title>Media over QUIC Transport</title>
            <author initials="L." surname="Curley">
              <organization/>
            </author>
            <author initials="K." surname="Pugin">
              <organization/>
            </author>
            <author initials="S." surname="Nandakumar">
              <organization/>
            </author>
            <author initials="V." surname="Vasiliev">
              <organization/>
            </author>
            <author initials="I." surname="Swett">
              <organization/>
            </author>
            <date year="2026" month="January"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-16"/>
        </reference>
        <reference anchor="A2A" target="https://google.github.io/A2A/specification/">
          <front>
            <title>Agent-to-Agent Protocol Specification</title>
            <author>
              <organization>A2A Project</organization>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Version" value="0.3.0"/>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io/specification/">
          <front>
            <title>Model Context Protocol Specification</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date year="2025" month="June"/>
          </front>
          <seriesInfo name="Version" value="2025-06-18"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7540">
          <front>
            <title>Hypertext Transfer Protocol Version 2 (HTTP/2)</title>
            <author fullname="M. Belshe" initials="M." surname="Belshe"/>
            <author fullname="R. Peon" initials="R." surname="Peon"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection. It also introduces unsolicited push of representations from servers to clients.</t>
              <t>This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. HTTP's existing semantics remain unchanged.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7540"/>
          <seriesInfo name="DOI" value="10.17487/RFC7540"/>
        </reference>
        <reference anchor="AutoGen" target="https://arxiv.org/abs/2308.08155">
          <front>
            <title>AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation</title>
            <author initials="Q." surname="Wu">
              <organization/>
            </author>
            <author initials="G." surname="Banber">
              <organization/>
            </author>
            <author initials="Y." surname="Zhang">
              <organization/>
            </author>
            <author initials="Y." surname="Wu">
              <organization/>
            </author>
            <author initials="B." surname="Li">
              <organization/>
            </author>
            <author initials="E." surname="Zhu">
              <organization/>
            </author>
            <author initials="A." surname="Awadallah">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
          <seriesInfo name="arXiv" value="2308.08155"/>
        </reference>
        <reference anchor="WebTransport" target="https://www.rfc-editor.org/rfc/rfc9297">
          <front>
            <title>The WebTransport Protocol Framework</title>
            <author initials="V." surname="Vasiliev">
              <organization/>
            </author>
            <date year="2023" month="August"/>
          </front>
          <seriesInfo name="RFC" value="9297"/>
        </reference>
        <reference anchor="MoQ-C4M" target="https://datatracker.ietf.org/doc/draft-ietf-moq-c4m/">
          <front>
            <title>Common Access Token for Media over QUIC</title>
            <author initials="S." surname="Jennings">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-c4m"/>
        </reference>
        <reference anchor="MCP-MOQT" target="https://datatracker.ietf.org/doc/draft-mcp-over-moqt/">
          <front>
            <title>Model Context Protocol and Agent Skills over Media over QUIC Transport</title>
            <author initials="C." surname="Jennings">
              <organization/>
            </author>
            <author initials="I." surname="Swett">
              <organization/>
            </author>
            <author initials="J." surname="Rosenberg">
              <organization/>
            </author>
            <author initials="S." surname="Nandakumar">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mcp-over-moqt"/>
        </reference>
      </references>
    </references>
    <?line 1016?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
RyhmJzoay+5Rk/8PXQntJCy3AAA=

-->

</rfc>
