<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rosenberg-agentproto-asip-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="A-SIP">The Agentic Session Initiation Protocol (A-SIP)</title>
    <seriesInfo name="Internet-Draft" value="draft-rosenberg-agentproto-asip-00"/>
    <author fullname="Jonathan Rosenberg">
      <organization>jdrosen.net</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>Applications and Real-Time</area>
    <workgroup>Agent Communication Protocols</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>AI-native</keyword>
    <abstract>
      <?line 61?>

<t>The Agentic Session Initiation Protocol (A-SIP) is used for the establishment and lifecycle maintenance of agentic dialogs. It also enables and content exchange between a principal and an AI Agent over the Internet. A-SIP can be used between a user agent and AI Agent, between AI Agents, or between an AI Agent and a tool with agentic-like properties. A-SIP is built ontop of HTTP/3, web transport and Media Over Quic Transport (MOQT), leveraging a modern, public-cloud friendly protocol stack. Its usage of MOQT is optional, needed only when real-time media is exchanged. This allows asynchronous agent interactions to be done entirely using HTTP/3, so simple cases remain simple. Despite the name, A-SIP has no technical relationship with SIP (RFC3261). This document is not yet a fully fleshed out protocol, and is meant to solicit feedback on this general direction of work.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://jdrosen.github.io/draft-rosenberg-agentproto-asip/draft-rosenberg-agentproto-asip.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rosenberg-agentproto-asip/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Agent Communication Protocols Working Group mailing list (<eref target="mailto:agentproto@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/agentproto"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/agentproto/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/jdrosen/draft-rosenberg-agentproto-asip"/>.</t>
    </note>
  </front>
  <middle>
    <?line 65?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The widespread usage of AI Agents on the Internet has introduced new forms of networked communications. User agent clients connect to AI agents running elswehere, AI agents communicate with other AI agents, and AI agents communicate with tools. All three of these interaction patterns - and the many use cases therein - require a session-like protocol which handles lifecycle management, including creation, modification, deletion and so on - along with the exchange of input and output. These session-like associations can be extremely long lived - running for hours or even days - and span multiple IP hosts used by the both the principal and by the agent. They can also be highly intermittent with asynchronous responses. All of these mean a new type of protocol is needed.</t>
      <t>These differ from the type of sessions created by the Session Initiation Protocol (SIP) <xref target="RFC3261"/>, which are shorter lived and work between a single IP host for each participant.</t>
      <t>In <xref target="I-D.manyfolks-agentproto-arch"/>, an architecture is presented for AI Agent networked communications. It introduces the concept of an agentic dialog, which is defined as an association between two parties - a principal whose role is to provide input to, and receive output from, an agent - and the agent, which is running a process which has properties which are agentic in nature. The agentic properties that are relevant here are (1) conversational contuity, and (2) driven by natural language in each direction.</t>
      <t>This document defines a protocol that can play the role of the Agent Communications Protocol (ACP) which is defined abstractly in that document. The protocol defined here - the Agentic Session Initiation Protocol (A-SIP) - provides for the establishment and lifecycle maintenance of agentic dialogs. It also enables and content exchange between a principal and an agent, over any IP network, including the Internet. A-SIP is built ontop of HTTP/3 <xref target="RFC9114"/> web transport <xref target="I-D.ietf-webtrans-http3"/> and Media Over Quic Transport (MOQT) <xref target="I-D.ietf-moq-transport"/>.</t>
      <t>This document does not yet provide a fully fleshed out protocol specification. It has sufficient detail to give the general idea of how it works, along with details for basic happy path. This document is meant to solicit input and feedback on this general direction of work.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 anchor="guiding-principles">
      <name>Guiding Principles</name>
      <t>The protocol stack defined in this document is based on a set of guiding principles which are important to understand.</t>
      <section anchor="media-and-signaling-easily-multiplexed">
        <name>Media and Signaling Easily Multiplexed</name>
        <t>The core functionality that A-SIP needs to provide combines traditional signaling (estabishment of an agentic dialog, negotiation of supported modalities, termination of the agentic dialog, and so on) and exchange of media (real-time voice, video, images, and text). This exact problem is solved by SIP <xref target="RFC3261"/>. However, SIP had a separation between the signaling and media. The media was transported using the Real-Time Transport Protocol (RTP) <xref target="RFC3550"/>, and ran on a separate UDP connection, using a different IP and port. This design was sensible at the time SIP was conceived, but over time, using a separate connection for media and signaling proved to be incredibly problematic.</t>
        <t>The biggest problem is that it made it extremely difficult to run SIP in public cloud environments. IP addresses are often transient, unknown to their hosts, and unreachable through public cloud routing and load balancing. It made it difficult to run SIP servers on kubernetes. It complicated network and firewall configuration.</t>
        <t>As a result of these lessons, A-SIP is designed to run on a single connection (in this case, a QUIC <xref target="RFC9000"/> connection). This connection multiplexes both the signaling and media over the same connection. Affordances are made for communication that is needed outside of the lifetime of the connection itself - needed only for long-lived agentic dialogs that span hours or days - as an optional protocol feature.</t>
      </section>
      <section anchor="built-on-http-and-oauth">
        <name>Built on HTTP and OAuth</name>
        <t>HTTP and OAuth are the foundation of the modern Internet. If you want to build a new cloud-based application, doing it as an HTTP application is a given. Much of public cloud infrastructure is designed around supporting web-based applications, with significant investments made in scaled load balancers, firewalls, proxies and similar componentry. Developer tools exist in large volume, everything from curl to postman to OpenAPI YAML and so on. By building ontop of HTTP, A-SIP inherits this technology stack, facilitating its ease of development and deployment on the modern Internet.</t>
      </section>
      <section anchor="signaling-via-web-api">
        <name>Signaling via Web API</name>
        <t>A natural consequence of the principal of building off of HTTP, is to make use of web APIs. An agentic dialog is an HTTP-based web resource which can be queried by a GET, modified with a POST, and removed with a DELETE. This makes it simple to specify and implement. A web API works for A-SIP because the agentic protocol is foundationally assymetric, as discussed in <xref target="I-D.manyfolks-agentproto-arch"/>. The protocol involves one entity (the principal) requesting the services of another (the agent). The agent takes responsibility for state management - specifically the agentic context defined in that document. This makes a web API a good fit for those aspects of the protocol.</t>
        <t>The web API can also be used for async content exchange, and (in a pinch) even used for voice and video - but it is insufficient for real-time.</t>
      </section>
      <section anchor="distributed-inference-is-possible">
        <name>Distributed Inference is Possible</name>
        <t>To scale, modern AI Agent providers make use of distributed inference, wherein a particular input from a user may generate inference on one set of compute resources, and then a different set serves the next input. This is all transparent to the user. We would like to make sure that the agent protocol works well in these cases.</t>
        <t>The implication on the protocol design is that we want the ability to route user input to different places without requiring the principal to do anything different - invisibly to them. It also means that the output can come from different hosts and be routed to the principal - also invisibly to the principal and its client.</t>
        <t>This is resolved in A-SIP by allowing the agent to make use of a MOQT relay network, sending the exchanged content through the relay rather than to the server terminating the original HTTP connection from the client.</t>
      </section>
      <section anchor="simple-things-should-be-simple">
        <name>Simple Things, should be Simple</name>
        <t>The use cases for AI Agent communications is large, covering multiple interaction patterns and multiple media modalities. It needs to support text chat, image and video exchange, structured data exchange, voice messaging, and real-time voice and video. It needs to support AI agent sessions which last seconds, but also sessions which last hours or days.</t>
        <t>In reality, most implementations and AI Agents will only support a subset of these. Indeed, the most common use case is likely to only require asynchronous text-chat, with occasional inclusion of other media types in the async chat, with a duration spanning a few minutes or hours, all from a single host. This is the predominant use case for AI Agents today. There is no real-time voice or video in many of these agents. As a result, our goal is to make the protocol simple to deploy and use for use cases that don't require advanced features, and then make use of harder-to-deploy and harder-to-implement protocol elements for the more advanced features.</t>
        <t>Two features in particular are advanced in A-SIP - (1) exchange of real-time media, and (2) notifications of agent output that are generated when no connection is active. Both of these make use of MOQT, which ideally suited for both.</t>
      </section>
      <section anchor="can-also-be-used-for-human-to-human-sessions">
        <name>Can Also be Used for Human to Human Sessions</name>
        <t>A key goal of A-SIP is that - even though it is targeting the communication patterns between a human principal and an AI Agent (or between AI Agents), the protocol applies equally well to establish communications between two humans, allowing them to exchange voice, video or chat. In this regard, this is a spiritual successor of sorts to SIP <xref target="RFC3261"/>.</t>
      </section>
    </section>
    <section anchor="protocol-stack">
      <name>Protocol Stack</name>
      <t>The A-SIP protocol stack is shown in <xref target="fig-stack"/>. A-SIP signaling (the web API used to create, query, modify and delete agentic dialogs) and asynchronous content exchange run directly over HTTP/3 <xref target="RFC9114"/>. The advanced features - real-time media (including text) and notifications of agent output generated when no connection is active - are optional, and are carried by MOQT <xref target="I-D.ietf-moq-transport"/> running over WebTransport <xref target="I-D.ietf-webtrans-http3"/>, which itself runs over HTTP/3. In all cases, signaling and media are multiplexed over a single QUIC <xref target="RFC9000"/> connection.</t>
      <figure anchor="fig-stack">
        <name>A-SIP Protocol Stack</name>
        <artwork><![CDATA[
+-------------------------------------------------------+
|                         A-SIP                         |
+---------------------------+---------------------------+
|    Signaling (Web API)    |  Real-Time Media and      |
|    and Async Content      |  Offline Notifications    |
|        Exchange           |      (optional)           |
|                           +---------------------------+
|                           |          MOQT             |
|                           +---------------------------+
|                           |      WebTransport         |
+---------------------------+---------------------------+
|                        HTTP/3                         |
+-------------------------------------------------------+
|                         QUIC                          |
+-------------------------------------------------------+
|                          UDP                          |
+-------------------------------------------------------+
|                          IP                           |
+-------------------------------------------------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>This section is non-normative and provides an overview of A-SIP.</t>
      <section anchor="identifying-an-agent">
        <name>Identifying an Agent</name>
        <t>An AI Agent is named with an HTTPS URI (e.g., https://example.com/agents/booking). A GET against this resource retrieves a capability document, discussed below. A POST creates a new agentic dialog.</t>
      </section>
      <section anchor="authenticating-and-authorizing-the-principal">
        <name>Authenticating and Authorizing the Principal</name>
        <t>A-SIP relies entirely on OAuth <xref target="RFC6749"/>.</t>
        <t>If the principal is a human user, it would obtain an access token through any of the OAuth grant flows that the agent provider wishes to support. If the principal is an AI Agent, such as in the Agent-to-Agent to Agent-to-Tool cases, the usage of the newly proposed AAuth grant flow <xref target="I-D.rosenberg-oauth-aauth"/> is suggested.</t>
      </section>
      <section anchor="retrieving-agent-capabilities">
        <name>Retrieving Agent Capabilities</name>
        <t>A GET against the AI agent URI resource provides a description of the agent, including its support for A-SIP and its allowed modalities (voice, video, or chat). We call this the agent capabilities document. The document also indicates other capabilities that are optional to support by this specification.</t>
        <t>Importantly, for each modality declared in the agent capabilities document, the agent can indicate whether or not MOQT is supported for exchange of content for this modality.</t>
        <t>The capabilities document for each modality also indicates other information needed for establishment of a dialog with that modality. In the case of voice and video, it indicates supported codecs. Standard ones come from the W3C WebCodec registry <xref target="W3CRegistry"/>.</t>
        <t>In the case of chat, the capabilities include the list of supported MIME types which may be exchanged. In this regard, "chat" really refers to the asynchronous exchange of content, and is not at all restricted to text. All agents are required to support "text/plain". Support can be declared for processing of images - for example - by indicating support for one of the image types (e.g., "image/jpeg" which is required for any agent that can handle images). The capability declaration indicates whether or not the agent can support receiving content of that type, sending content of that type, or both.</t>
        <t>The capabilities document also indicates whether the agent supports the ability to convey informational elements. These include tool call requests and responses, sub-agent invocations, and so on. Similarly, the capabilities document indicates whether the agent supports the ability to convey progress signaling.</t>
        <t>The capabilities of the agent - and its corresponding capabilities document - are anticipated to be relatively static, and thus cacheable.</t>
      </section>
      <section anchor="creating-an-agentic-dialog">
        <name>Creating an Agentic Dialog</name>
        <t>To create a new agentic dialog, the principal performs a POST against the agent URI. The body contains a JSON object called an agentic dialog creation request. It includes the desired modalities, and for each, the selected capabilities. These must be a subset of the supported capabilities of the agent. A request to create an agentic dialog with features or modalities not supported by the agent is rejected.</t>
        <t>The agentic dialog creation request also indicates, for each modality, whether or not the client wants to use MOQT for content exchange - assuming it was supported by the server. For chat, the client can elect to skip MOQT and instead use the web API to send (and retrieve) content, using the log API endpoints described below.</t>
        <t>The agentic dialog creation request also indicates whether the client wants to receive information output or progress signaling.</t>
        <t>The result that comes back is the dialog context meta-data. It includes the Agentic Dialog Identifier (ADID) in the JSON payload, and further operations happen against its URI (e.g. https://example.com/agents/booking/agentic-dialogs/01a198c7-ab2f-753f-9a6a-67b204b16994).</t>
        <t>Importantly, if MOQT is used for the exchange of content for a particular modality, the agentic dialog resource specifies the full track names to be used in each direction. In A-SIP, the full track name is always selected by the server, not the client. In addition, the server can optionally provide a MOQT URI that the client should use for the session.</t>
        <t>If the client requested receipt of information output and progress signaling, MOQT track names are provided for those in the agentic dialog resource.</t>
      </section>
      <section anchor="establishing-the-moqt-session">
        <name>Establishing the MOQT Session</name>
        <t>For a given modality, A-SIP allows for several supported exchange techniques:</t>
        <ol spacing="normal" type="1"><li>
            <t>No MOQT: Used only for chat. In this mode of A-SIP, content is sent from client to server through web API calls noted below. Content from server back towards the client is received through polling.</t>
          </li>
          <li>
            <t>Connection shared MOQT: The HTTP connection used for the web API is reused for content exchange, using webtransport to multiplex.</t>
          </li>
          <li>
            <t>Relayed MOQT: A separate MOQT over webtransport connection is created, targeting the URI defined in the agentic dialog resource.</t>
          </li>
        </ol>
        <t>The case to be used for each modality is indicated in the agentic dialog resource. When relayed MOQT is used, it contains a distinct MOQT URI used for the exchange. Its absence signals using connection shared MOQT.</t>
        <t>Based on the signaling agentic dialog exchange technology, the client proceeds to set it up.</t>
        <t>For connection shared MOQT, the client establishes a webtransport session over the HTTP connection, and uses the result for MOQT. Otherwise, it creates a new connection using webTransport towards the URI provided. Note that A-SIP does not support MOQT directly over QUIC, it is always over webTransport.</t>
      </section>
      <section anchor="establishing-subscriptions">
        <name>Establishing Subscriptions</name>
        <t>If MOQT (connection shared or relayed) is in use, the client performs a SUBSCRIBE to the track that the server is using to deliver content, enabling it to receive real-time updates. SImilarly, the server SUBSCRIBEs to the track that the client will use to deliver content. Multiple subscriptions are carried over the same MOQT connection whenever possible.</t>
        <t>In the case where MOQT is not used, no subscriptions are used.</t>
      </section>
      <section anchor="content-exchange">
        <name>Content Exchange</name>
        <t>Voice and video Content is exchanged using MOQs' Low Overhead Media Containers (LOC) <xref target="I-D.ietf-moq-loc"/> which encapsulate WebCodec <xref target="WebCodec"/>. These are published by each side using standard MOQT procedures.</t>
        <t>For chat, if MOQT is used for the exchange, the MIME type is directly encapsulated into the MOQT payload (OPEN ISSUE - is further encapsulation needed?).</t>
        <t>When MOQT is not used, the client adds the content by posting to the log, and retrieves it by polling against the log.</t>
      </section>
      <section anchor="the-log">
        <name>The Log</name>
        <t>As noted in <xref target="I-D.manyfolks-agentproto-arch"/> - the dialog context includes the log. The log is an append-only record of the input to, and output from, the AI Agent. Each entry in the log has an ID.</t>
        <t>The client can retrieve log entries by a GET request against the log:</t>
        <artwork><![CDATA[
GET example.com/{agentPath}/agentic-dialogs/{adid}/log
]]></artwork>
        <t>This resource supports filtering and pagination features against time, allowing the client to catch up against items it missed (OPEN ISSUE - it would be nice if these IDs were the object IDs in MOQT, which have the property that they increase over time. However they are only unique within the group, and we want the above API to retrieve objects across the tracks).</t>
        <t>The client can append to this log by POSTing against it, which adds to the content of the chat modality. (OPEN ISSUE - allow voice or video too?).</t>
        <t>The log contains all input and output, including progress signaling and information output. Filters exist so that the client can retrieve only input, only output, or selected types of output (e.g., response output only).</t>
        <t>Polling to retrieve output is clearly suboptimal. A-SIP specifies rate limiting negotiation, allowing the server to control pacing. If clients want responses faster, they need to make use of the MOQT transport.</t>
      </section>
      <section anchor="pausing-resuming-and-reconnecting">
        <name>Pausing, Resuming and Reconnecting</name>
        <t>A-SIP allows an agentic dialog to be paused. A paused agentic dialog means that the agent is no longer running inference, and is awaiting further input which can come at another time, potentially a long time from now.</t>
        <t>To pause a dialog, there is a pause command ":pause" issued as a POST against the agentic dialog resource:</t>
        <artwork><![CDATA[
POST https://example.com/agents/booking/agentic-dialogs/01a198c7-ab2f-753f-9a6a-67b204b16994:pause
]]></artwork>
        <t>This operation allows any inference in-progress to complete, and the results of it returned over the existing connection. Once done, the state of the dialog context moves to "PAUSED", and this state change is conveyed over the MOQT notification topic. At that point, the client can close the connection entirely, ending the MOQT session and the HTTP connection in which it resides.</t>
        <t>If the client abruptly ends the HTTP/3 connection, it has the same effect as an explicit pause operation. The AI Agent will complete inference in progress, and add the results to the log. Without an active connection, the results cannot be communicated to the principal. However, it can retrieve them via the log when it resumes.</t>
        <t>To resume, the client need only create a new connection by initiating an HTTP POST operation like this:</t>
        <artwork><![CDATA[
POST https://example.com/agents/booking/agentic-dialogs/01a198c7-ab2f-753f-9a6a-67b204b16994:resume
]]></artwork>
        <t>The response contains the current dialog context, which contains the necessary information (e.g., track names) to create a new MOQ connection (assuming muxing is used). Typically the same track names are used across pauses and resumptions - and across reconnections. This means that, using MOQT subscriptions that reference the last group that the client received, it can "catch-up" via MOQT. If MOQT is not used, querying the log with query filters accomplishes the same goal. This works independent of whether the MOQT session is multiplexed over the HTTP connection or accessed via a separate connection.</t>
        <t>The server will only allow resumption from the same principal identified in th</t>
        <t>The resume command also works against an active agentic dialog, making this operation idempotent.</t>
        <t>OPEN ISSUE - there is a subtle distinction between "stop running inference" and "i'm not here anymore to get the results, so stop once you get to the point where you need my input". Do we need to support both modes? And which one is implied by a connection termination?</t>
      </section>
    </section>
    <section anchor="the-agent-resource">
      <name>The Agent Resource</name>
      <t>The agent resource is the root of the resource hierarchy. The URI can be any valid HTTPS URI. The means by which the principal discovers this URI is outside of the scope of this specification.</t>
      <section anchor="agent-capabilities-resource">
        <name>Agent Capabilities Resource</name>
        <t>A GET upon the agent resource returns the agent capabilities resource. This is a JSON document with the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>URI: The URI associated with the agent resource (required)</t>
          </li>
          <li>
            <t>version: The version of the agent, expressed as "X.Y" where X and Y are major and minor version numbers, which must each be a positive integer less than 65535. (required)</t>
          </li>
          <li>
            <t>voice: if real-time voice is supported, the voice capability object is included. If it is not supported, it is omitted.</t>
          </li>
          <li>
            <t>video: if real-time video is supported, the video capability object is included. If it is not supported, it is omitted.</t>
          </li>
          <li>
            <t>chat: if chat - which includes a range of media types exchanged in an async, turn-by-turn fashion - is supported, the chat capability object is included. If it is not supported, it is omitted.</t>
          </li>
        </ul>
        <section anchor="voice-capabilities">
          <name>Voice Capabilities</name>
          <t>The voice capabilities object in the JSON includes the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>codecs: An array of strings. This field is required, and <bcp14>MUST</bcp14> be non-empty. Each entry <bcp14>MUST</bcp14> be a valid voice codec string from the W3C WebCodecs registry. All clients and all servers that support voice, <bcp14>MUST</bcp14> support Opus (codec string: "opus"). Other codecs <bcp14>MAY</bcp14> be supported.</t>
            </li>
            <li>
              <t>moqt: A boolean (optional). If true, it indicates that the agent supports moqt transport for the voice. If absent, the default is "true". (OPEN ISSUE: I'm not so sure about this default or even allowing non-MOQT voice...).</t>
            </li>
            <li>
              <t>muxed: A boolean (optional). If true, it indicates that the agent supports the ability to multiplex the MOQT session over the same HTTP/3 connection used for the web API. The default is true.</t>
            </li>
          </ul>
        </section>
        <section anchor="video-capabilities">
          <name>Video Capabilities</name>
          <t>The video capabilities object in the JSON includes the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>codecs: An array of strings. This field is required, and <bcp14>MUST</bcp14> be non-empty. Each entry <bcp14>MUST</bcp14> be a valid video codec string from the W3C WebCodecs registry. All clients and all servers that support video, <bcp14>MUST</bcp14> support AV1 (codec string: "av01"). Other codecs <bcp14>MAY</bcp14> be supported.</t>
            </li>
            <li>
              <t>moqt: A boolean (optional). If true, it indicates that the agent supports moqt transport for the video. If absent, the default is "true". (OPEN ISSUE: I'm not so sure about this default or even allowing non-MOQT video...).</t>
            </li>
            <li>
              <t>muxed: A boolean (optional). If true, it indicates that the agent supports the ability to multiplex the MOQT session over the same HTTP/3 connection used for the web API. The default is true.</t>
            </li>
          </ul>
          <t>OPEN ISSUE - other video codec capabilities we need to signal?</t>
        </section>
        <section anchor="chat-capabilities">
          <name>Chat Capabilities</name>
          <t>The chat capabilities object in the JSON includes the following fields:</t>
          <ul spacing="normal">
            <li>
              <t>principal-to-agent: An array, each entry containing a string that is a valid IETF MIME type. This list <bcp14>MUST</bcp14> be non-empty and <bcp14>MUST</bcp14> include "text/plain". These indicate the types that the AI agent is able to receive.</t>
            </li>
            <li>
              <t>agent-to-principal: An array, each entry containing a string that is a valid IETF MIME type. This list <bcp14>MUST</bcp14> be non-empty and <bcp14>MUST</bcp14> include "text/plain". These indicate the types that the AI agent is able to send.</t>
            </li>
          </ul>
          <t>An agent capable of processing image input would include at least one image MIME type in the principal-to-agent array. If it supports such input, then "image/jpeg" <bcp14>MUST</bcp14> be listed, ensuring a baseline image capability.</t>
          <t>Note that "text/plain" is a fairly broad type, and depending on the flow of the conversation, the AI agent may actually emit any number of structured outputs, such as code, JSON, or what have you. For this reason, an AI agent doe not need to explicitly declare support for structured data types that are encoded with text. For example, there is no need to declare support for "text/csv".</t>
          <t>Along similar lines, the chat capabilities document <bcp14>SHOULD NOT</bcp14> list any application MIME types, unless the harness (as opposed to the LLM) has explicit capabilities to recognize and parse them. The assumption is that any text-based format is likely to be understood by the LLM, and will passed transparently to the LLM by the harness.</t>
          <t>This means that a traditional, text-based LLM that has no multimodal support, only needs to declare support for "text/plain" in both directions.</t>
        </section>
      </section>
      <section anchor="creating-an-agentic-dialog-1">
        <name>Creating an Agentic Dialog</name>
        <t>To create an agentic dialog, the client performs a POST against the agent resource. The body <bcp14>MUST</bcp14> contain an agentic dialog creation request.</t>
        <t>The agentic dialog creation request has the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>voice: present if the client is requesting a real-time voice modality. This <bcp14>MUST NOT</bcp14> be present if the agent capabilities didn't indicate support for it.</t>
          </li>
          <li>
            <t>video: present if the client is requesting a real-time video modality. This <bcp14>MUST NOT</bcp14> be present if the agent capabilities didn't indicate support for it.</t>
          </li>
          <li>
            <t>chat: present if the client is requesting a real-time video modality. This <bcp14>MUST NOT</bcp14> be present if the agent capabilities didn't indicate support for it.</t>
          </li>
        </ul>
        <t>The voice object has the following fields:</t>
        <ul spacing="normal">
          <li>
            <t>codec: This is a single string, defining the codec in use for the real-time voice exchange. It <bcp14>MUST</bcp14> be one of the ones listed in the capabilities.</t>
          </li>
          <li>
            <t>moqt: Boolean. True means that moqt transport is to be used. <bcp14>MUST</bcp14> be true only if the agent indicated support for moqt.</t>
          </li>
          <li>
            <t>muxed: Boolean. True means that the moqt transport is to be muxed with the HTTP connection. <bcp14>MUST</bcp14> be true only if the agent indicated support for this.</t>
          </li>
        </ul>
        <t>The same fields present in the video object, but refer to video.</t>
        <t>For the chat object, the fields mirror those in the capabilities object:</t>
        <ul spacing="normal">
          <li>
            <t>principal-to-agent: the MIME types that the principal plans to send. These <bcp14>MUST</bcp14> be a subset of those indicated in the capabilities document.</t>
          </li>
          <li>
            <t>agent-to-principal: The MIME types that the principal is capable of receiving. These <bcp14>MUST</bcp14> be a subste of those indicated in the capabilities document.</t>
          </li>
        </ul>
        <t>Upon receipt of this API call, the server <bcp14>MUST</bcp14> authorize the request using OAUth2.0 <xref target="RFC6749"/>, and validate that the requested agentic dialog is within the capability set supported by the agent.</t>
        <t>It is worthwhile to note that the negotiation technique defined here differs from the offer/answer mechanism specific for SIP in <xref target="RFC3264"/>. That mechanism proved problematic over time, since it mixed relatively static capability, with run-time configuration, with connection information. In A-SIP, these are cleanly separated.</t>
        <t>The response from the server contains a dialog context object. This object is defined in the next section.</t>
      </section>
    </section>
    <section anchor="dialog-context-resource">
      <name>Dialog Context Resource</name>
      <t>The dialog context resource is addressed by an HTTPS URI, and it represnets the current state of the agentic dialog. Note that this does not include the log per se, but it does include a timestamp which represents the most recent log entry.</t>
      <t>The dialog context object has the following fields:</t>
      <ul spacing="normal">
        <li>
          <t>adid: The agentic dialog ID. This <bcp14>MUST</bcp14> be a type 7 UUID, and be unique in space and time.</t>
        </li>
        <li>
          <t>uri: The URI that identifies this agentic dialog</t>
        </li>
        <li>
          <t>notifications: This is an object that is used to provide notifications of state changes that are server initiated. It is also used to support delivery of notifications through a MOQ relay network, useful for cases where the client is offline for more extended periods of time and is waiting for notification of update. Details are TBD.</t>
        </li>
        <li>
          <t>voice: Present if the agentic dialog incldues real-time voice.</t>
        </li>
        <li>
          <t>video: Present if the agentic dialog incldues real-time video.</t>
        </li>
        <li>
          <t>chat: Present if the agentic dialog incldues chat.</t>
        </li>
        <li>
          <t>state: The current state of the agentic dialog. It is one of ACTIVE, PAUSED, or COMPLETED.</t>
        </li>
        <li>
          <t>latest-log: A timestamp representing the most recent entry in the log.</t>
        </li>
      </ul>
      <t>The voice and video objects have a similar structure:</t>
      <ul spacing="normal">
        <li>
          <t>agent-to-principal: This describes the session between the agent and principal</t>
        </li>
        <li>
          <t>principal-to-agent: This desribes the session between the principal and agent</t>
        </li>
      </ul>
      <t>Both of these also have the same structure, as they contain:</t>
      <ul spacing="normal">
        <li>
          <t>codec: The codec in use</t>
        </li>
        <li>
          <t>moqt: Boolean, indicating whether moqt is in use</t>
        </li>
        <li>
          <t>muxed: Boolean, indicating whether the moqt session is muxed over the HTTP connection or separate</t>
        </li>
        <li>
          <t>track: The full name of the track</t>
        </li>
        <li>
          <t>uri: The MOQT URI to use for the connection; only present if the muxed field is false.</t>
        </li>
      </ul>
      <t>An example of a dialog context object for voice might look like this:</t>
      <artwork><![CDATA[
{
  "adid": "01a198c7-ab2f-753f-9a6a-67b204b16994",
  "uri": "https://example.com/agents/booking/agentic-dialogs/01a198c7-ab2f-753f-9a6a-67b204b16994",
  "state": "ACTIVE",
  "latest-log": "2026-11-02T14:23:07.512Z",
  "notifications": {
    "uri": "https://relay.example.net/moq",
    "track": {
      "namespace": [
        "example.com",
        "booking",
        "01a198c7-ab2f-753f-9a6a-67b204b16994"
      ],
      "name": "notifications"
    }
  },
  "voice": {
    "principal-to-agent": {
      "codec": "opus",
      "moqt": true,
      "muxed": true,
      "track": {
        "namespace": [
          "example.com",
          "booking",
          "01a198c7-ab2f-753f-9a6a-67b204b16994"
        ],
        "name": "voice-in"
      }
    },
    "agent-to-principal": {
      "codec": "opus",
      "moqt": true,
      "muxed": true,
      "track": {
        "namespace": [
          "example.com",
          "booking",
          "01a198c7-ab2f-753f-9a6a-67b204b16994"
        ],
        "name": "voice-out"
      }
    }
  }
}
]]></artwork>
    </section>
    <section anchor="ai-authorship-disclosures">
      <name>AI Authorship Disclosures</name>
      <t>This document was written entirely by hand, except for the example JSON document and the protocol stack diagram, which were generated with genAI assistance.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="I-D.ietf-moq-transport">
          <front>
            <title>Media over QUIC Transport</title>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <author fullname="Ian Swett" initials="I." surname="Swett">
              <organization>Google</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This document defines Media over QUIC Transport (MOQT), a publish/
   subscribe protocol that runs over QUIC and WebTransport.  MOQT
   leverages the features of these transports, such as streams,
   datagrams, priorities, and partial reliability.  MOQT operates both
   point-to-point and through intermediate relays, enabling scalable
   low-latency delivery.  Despite its name, MOQT is media agnostic and
   can be used for a wide range of use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-23"/>
        </reference>
        <reference anchor="I-D.ietf-webtrans-http3">
          <front>
            <title>WebTransport over HTTP/3</title>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   WebTransport over HTTP/3 is a binding of the WebTransport protocol
   framework [OVERVIEW] to HTTP/3 [HTTP3].  It provides support for
   unidirectional streams, bidirectional streams, and datagrams, all
   multiplexed within the same HTTP/3 connection.  WebTransport enables
   application clients constrained by the Web security model to
   communicate with a remote application server using a secure
   multiplexed transport.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webtrans-http3-17"/>
        </reference>
        <reference anchor="I-D.ietf-moq-loc">
          <front>
            <title>Low Overhead Media Container</title>
            <author fullname="Mo Zanaty" initials="M." surname="Zanaty">
              <organization>Cisco</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <author fullname="Peter Thatcher" initials="P." surname="Thatcher">
              <organization>Microsoft</organization>
            </author>
            <date day="2" month="November" year="2026"/>
            <abstract>
              <t>   This specification describes a Low Overhead Media Container (LOC)
   format for encoded and encrypted audio and video media data to be
   used primarily for interactive Media over QUIC Transport (MOQT).  It
   may be used in the MOQT Streaming Format (MSF) specification, which
   defines a catalog format for publishers to declare and describe their
   LOC tracks and for subscribers to consume them.  Examples are also
   provided for building media applications using LOC and MOQT.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-moq-loc-05"/>
        </reference>
        <reference anchor="RFC6749">
          <front>
            <title>The OAuth 2.0 Authorization Framework</title>
            <author fullname="D. Hardt" initials="D." role="editor" surname="Hardt"/>
            <date month="October" year="2012"/>
            <abstract>
              <t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf. This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6749"/>
          <seriesInfo name="DOI" value="10.17487/RFC6749"/>
        </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="W3CRegistry" target="https://www.w3.org/TR/webcodecs-codec-registry/">
          <front>
            <title>WebCodecs Codec Registry</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="WebCodec" target="https://www.w3.org/TR/webcodecs/">
          <front>
            <title>WebCodecs</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC3264">
          <front>
            <title>An Offer/Answer Model with Session Description Protocol (SDP)</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document defines a mechanism by which two entities can make use of the Session Description Protocol (SDP) to arrive at a common view of a multimedia session between them. In the model, one participant offers the other a description of the desired session from their perspective, and the other participant answers with the desired session from their perspective. This offer/answer model is most useful in unicast sessions where information from both participants is needed for the complete view of the session. The offer/answer model is used by protocols like the Session Initiation Protocol (SIP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3264"/>
          <seriesInfo name="DOI" value="10.17487/RFC3264"/>
        </reference>
        <reference anchor="I-D.manyfolks-agentproto-arch">
          <front>
            <title>Architecture for AI Agent Communications on the Internet</title>
            <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
              <organization>jdrosen.net</organization>
            </author>
            <author fullname="Zaheduzzaman Sarker" initials="Z." surname="Sarker">
              <organization>Nokia</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Dapeng Liu" initials="D." surname="Liu">
              <organization>Alibaba</organization>
            </author>
            <author fullname="Suresh Krishnan" initials="S." surname="Krishnan">
              <organization>Cisco</organization>
            </author>
            <date day="30" month="October" year="2026"/>
            <abstract>
              <t>   This document defines the terminology and architecture for AI agent
   communications protocols over the Internet.  It provides the
   foundational architectural elements for the Agent Communications
   Protocol (ACP) - also known as agentproto - a new protocol to be
   developed in the IETF.  ACP enables communication between user agent
   clients and AI agents, between AI Agents and other AI Agents, or
   between AI Agents and tools.  All three of these interaction patterns
   - and the many use cases therein - require a session-like protocol
   which handles lifecycle management, including creation, modification,
   deletion and so on - along with the exchange of input and output.
   These session-like associations can be extremely long lived - running
   for hours or even days - and span multiple IP hosts used by the both
   the principal and by the agent.  They can also be highly intermittent
   with asynchronous responses.  All of these mean a new type of
   protocol is needed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-manyfolks-agentproto-arch-00"/>
        </reference>
        <reference anchor="I-D.rosenberg-oauth-aauth">
          <front>
            <title>AAuth - Agentic Authorization OAuth 2.1 Extension</title>
            <author fullname="Jonathan Rosenberg" initials="J." surname="Rosenberg">
              <organization>jdrosen.net</organization>
            </author>
            <author fullname="Pat White" initials="P." surname="White">
              <organization>Bitwave</organization>
            </author>
            <date day="1" month="November" year="2026"/>
            <abstract>
              <t>   AI Agents are increasingly accessing web resources on behalf of the
   users they serve.  Traditionally these agents are granted normal
   OAuth access tokens through existing OAuth grant flows.  However,
   these flows were designed in the era of traditional software, and
   when applied to AI Agents, multiple problems have arisen.  This
   document outlines some of the problems, and then proposes a simple
   OAuth2.1 extension that enables AI Agents to obtain access tokens at
   time of resource access using Human-In-the-Loop or other approval
   flows.  We call this the Agent Authorization Grant (aauth) grant
   flow.  This document also compares the proposed solution with
   another, non-backwards compatible aauth solution.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rosenberg-oauth-aauth-02"/>
        </reference>
      </references>
    </references>
    <?line 499?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
