<?xml version="1.0" encoding="utf-8"?>
<rfc category="std" docName="draft-sz-dmsc-iaip-00" ipr="trust200902"
     submissionType="IETF" version="3">
  <front>
    <title abbrev="IAIP">Intent-based Agent Interconnection Protocol at Agent
    Gateway</title>

    <author fullname="Sheng Sun" initials="S." surname="Sun">
      <organization>ICT, CAS</organization>

      <address>
        <email>sunsheng@ict.ac.cn</email>
      </address>
    </author>

    <author fullname="Xinyi Zhang" initials="X." surname="Zhang">
      <organization>CNIC, CAS</organization>

      <address>
        <email>xyzhang@cnic.cn</email>
      </address>
    </author>

    <date month="February" year="2026"/>

    <area>General</area>

    <workgroup>DMSC Working Group</workgroup>

    <abstract>
      <t> This document specifies the Intent-based Agent Interconnection
      Protocol (IAIP) operating at the Agent Gateways (AG), which defines the
      interaction mechanisms between AI Agents (at the Agent Domain) and the
      AG (at the Interconnection Services Domain). This specification focuses
      on dynamic interconnection among agents based on semantic intent, rather
      than static network addressing alone. This protocols defines the
      mechanisms for agent registration via capability advertisement, Gateway
      Validation, Intent Resolution and Matching, Routing Decisions and
      Forwarding, enabling the discovery, selection and dispatching of intent
      queries based on agent capabilities and task requirements at AG. </t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro">
      <name>Introduction</name>

      <t>The emergence of agentic networks marks a fundamental shift from
      static, address-based networking to semantic, intent-driven
      interactions. Autonomous agents powered by advanced artificial
      intelligence models are capable of reasoning, planning, and executing
      tasks on behalf of users or other agents. Interactions are increasingly
      expressed in terms of high-level objectives or natural language intents,
      rather than predefined service endpoints or static interfaces.</t>

      <t>Traditional networking and service discovery mechanisms assume that
      communication targets are identified by fixed addresses, names, or
      service identifiers. These assumptions no longer hold in agentic
      environments, where the appropriate execution entity for a request may
      depend on semantic interpretation, contextual constraints, and dynamic
      system conditions. As a result, routing decisions based solely on static
      addressing or preconfigured bindings are insufficient to support
      flexible and scalable agent collaboration.</t>

      <t>Intent-based interconnection addresses this gap by enabling the Agent
      Gateway to resolve and forward requests according to their semantic
      intent, rather than their destination address. By decoupling request
      dispatch from rigid topology and static identifiers, intent-based
      interconnection allows autonomous agents to be dynamically discovered,
      selected, and invoked based on their advertised capabilities.</t>

      <t>This document introduces the Intent-based Agent Interconnection
      Protocol (IAIP) to provide a standardized mechanism for capability-based
      registration and validation, intent-aware discovery and routing at AG.
      IAIP is designed to operate as an application-layer protocol for
      interconnection service domain, complementing existing transport and
      networking infrastructure without requiring changes to underlying
      transport protocols.</t>
    </section>

    <section anchor="conventions">
      <name>Conventions</name>

      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in &lt;xref
      target="RFC2119"/&gt;.</t>
    </section>

    <section anchor="terminology">
      <name>Terminology</name>

      <dl>
        <dt>AI Agent</dt>

        <dd>An agent is a software or hardware entity with autonomous
        decision-making and execution capabilities, capable of perceiving the
        environment, acquiring contextual information, reasoning, and
        learning.</dd>

        <dt>Agent Gateway (AG)</dt>

        <dd>A Functional Component in the Interconnection Service Domain that
        possesses the capbilities of agent registration, capbility
        authentication, intent resolution and estabilishing interconnection
        betweens agents.</dd>

        <dt>Intent</dt>

        <dd>
          <t>A declarative expression of a desired outcome. In the
          intent-driven routing protocol, intent is represented at three
          conceptual layers: </t>

          <ul>
            <li><strong>Human Intent: </strong>A high-level, possibly
            ambiguous expression originating from a human user or application
            (e.g., natural language input). Human Intent is out of scope for
            the protocol. </li>

            <li> <strong>Task Intent: </strong>An abstract, task-oriented
            description that captures the objective of a request, independent
            of any specific agent, algorithm, or execution plan. </li>

            <li> <strong>Intent Descriptor: </strong>A structured,
            machine-interpretable representation of Task Intent used within
            IAIP for routing and dispatching decisions. </li>
          </ul>
        </dd>

        <dt>Leader Agent (LA)</dt>

        <dd>Agent who issues tasks and launches interactions. There should
        only be one Leader Agent in a complete task execution process.</dd>

        <dt>Partner Agent (PA)</dt>

        <dd>Agent who accepts tasks and provides services. After Partner Agent
        receives a task from the Leader Agent, it executes and returns the
        execution result.</dd>
      </dl>
    </section>

    <section anchor="problem">
      <name>Problem Statement and Use Cases</name>

      <section anchor="limitations">
        <name>Limitations of Address-Based Static Interconnection</name>

        <t> Existing network interconnection and gateway mechanisms are
        predominantly organized around static identifiers, such as network
        addresses, domain names, or service labels. At the application and
        service-dispatch layer, these mechanisms assume that the functionality
        associated with a agent behind a gateway is stable, explicitly
        addressable and functionally static. While effective for traditional
        client-server and microservice architectures, this assumption becomes
        increasingly inadequate for the dynamic interconnection required by
        agentic networks. </t>

        <t> First, traditional interconnection protocols provide limited
        support for expressing semantic intent. High-level requests such as
        "analyze this dataset" or "resolve a billing issue" do not naturally
        correspond to a single predefined endpoint. Encoding semantic meaning
        into static addresses or service names requires manual configuration
        and tight coupling between task requesters and service providers,
        which undermines flexibility and scalability. </t>

        <t> Second, static interconnection lacks adaptability to dynamic
        lifecycle of AI Agents. In the Agent Domain, agents may be
        instantiated, fine-tuned, or deprecated rapidly based on computational
        load or task requirements. Static bindings or name-based resolution
        mechanisms are generally unable to reflect real-time changes in
        agent's availability or intent-processing capacity, leading to service
        selection or routing dispatch failures. </t>

        <t> Third, existing protocols offer limited support for intent-aware
        resolution. When a request arrives at the gateway without a specific
        destination address, traditional gateway have no mechanism to parse
        the intent and match it against a local registry of vector-based
        capabilities. This behavior is misaligned with agentic workflows,
        where ambiguous or underspecified intents are common and may require
        clarification, delegation, or escalation to more generalist agents.
        </t>

        <t> These limitations motivate the need for an intent-driven
        interconnection protocol specifically at the Agent Gateway that can
        manage registration and routing based on semantic intent and
        dynamically advertised capabilities, rather than relying solely on
        fixed addresses or static identifiers. This protocol addresses these
        challenges by transforming the gateway from a static packet forwarder
        into a semantic ingress/egress point, enabling establishing agent
        interconnection while maintaining compatibility with the
        Interconnection Service Domain.</t>
      </section>

      <section anchor="usecase">
        <name>Representative Use Case</name>

        <t> The following example illustrates a typical use case of the
        Intent-based Agent Interconnection Protocol operating at the Agent
        Gateway. </t>

        <t> A Customer Service Dispatcher Agent, acting as the Leader Agent,
        transmits a user inquiry to the AG for intent resolution and service
        response. Specialized Partner Agents (Billing, Technical Support,
        Sales) have previously registered their specific semantic domains with
        the AG. For explicit queries like "My credit card was charged twice,"
        the AG identifies a high-confidence semantic match and routes the
        request to the Billing Agent. Upon completion, the AG relays the
        result back to the Leader Agent. Conversely, when handling ambiguous
        inputs (e.g., "I'm having a bad experience") where semantic similarity
        scores fail to meet the required confidence threshold, the AG
        encapsulates the intent and forwards the intent to a Generalist
        Fallback Agent. This mechanism ensures the request is constructively
        resolved via clarifying questions or human escalation, thereby
        preventing service failure. </t>
      </section>
    </section>

    <section anchor="Function_Components">
      <name>Function Components</name>

      <t>Figure 1 illustrates the interaction diagram between AI agent and
      Agent Gateway.</t>

      <figure anchor="fig_interaction">
        <name>Interaction Diagram between AI Agent and Agent Gateway</name>

        <artwork align="left" type="ascii-art" xml:space="preserve">[Agent Domain]                [Interconnection Service Domain]        
   +-----------+      IAIP       +---------------+                    
   |  AI Agent | &lt;-------------&gt; | Agent Gateway | &lt;---&gt; [Core Router]
   +-----------+                 +---------------+                    </artwork>
      </figure>

      <t>To support the interaction with AI Agents, the AG MUST implement the
      following specific Functional Components within the Interconnection
      Service Domain.</t>

      <ul>
        <li><strong>Local Capability Registry (LCR): </strong>The LCR
        maintains a dynamic database of attached Agents. The function of LCR
        is to store the Capability Profile of each registered agent. When an
        Agent sends the capability updating request, the LCR updates the
        mapping.</li>

        <li><strong>Agent Access Component (AAC): </strong>The AAC serves as
        the termination point for the interconnection session between the AI
        Agent and the Agent Gateway. The function of AAC is to manage
        authentication, maintain session lifecycle, and verify message
        integrity. When an AI Agent initiates a connection or transmits a
        message, the AAC validates the agent's identity credentials and
        establishes the interconnection for message forwarding.</li>

        <li><strong>Intent Forwarding Routing (IFR): </strong>The IFR serves
        as the dynamic routing decision engine within the Agent Gateway for
        forwarding intent-based requests. Its primary function is to map
        normalized intent vectors-derived from incoming task semantics-to a
        set of eligible Partner agents. Based on real-time capability matching
        scores, performance metrics (e.g., latency, success rate, and resource
        availability), and policy constraints, the IFR selects the optimal
        next-hop Partner agent for request forwarding.</li>
      </ul>
    </section>

    <section anchor="Protocol_Overview">
      <name>Protocol Overview</name>

      <t> The protocol functions in two primary phases. </t>

      <ul>
        <li><strong>Phase 1: Agent Registration &amp; Capability
        Advertisement.</strong>This phase establishes the trust domain and
        service mesh. Both Leader Agents and Partner Agents MUST complete
        Identity Registration with the Agent Gateway (AG) to obtain the
        verifiable Agent Identity Code (AIC). Following identity registration,
        Partner Agents (or agents acting in a service-provisioning role) MUST
        additionally perform Capability Advertisement to publish their
        functional profiles to the Local Capability Registry (LCR).</li>

        <li><strong>Phase 2: Intent-based Routing and Forwarding.
        </strong>This phase establishes intent-based interconnection. The
        Leader Agent submits its intent. The AG resolves it against the LCR
        and IFR, selects suitable Partner Agents, and facilitates the
        connection.</li>
      </ul>

      <t>Figure 2 illustrates the updated two-stage processing pipeline
      between AI Agents and AG.</t>

      <figure anchor="fig_overview">
        <name>Two-Stage Processing Flow of IAIP</name>

        <artwork align="left" type="ascii-art" xml:space="preserve">+--------------+      +------------------------+      +--------------+
| Leader Agent |      |     Agent Gateway      |      | Partner Agent|
|(Intent Init.)|      |(Interconnection Domain)|      |(Intent Exec.)|
+------+-------+      +-----------+------------+      +-------+------+
       |                          |                           |       
       |   Phase 1: Registration &amp; Capability Advertisement   |       
       |                          |                           |       
       |--(1) Identity Reg ------&gt;|                           |       
       |      [ACP-IF-01]         |&lt;------(1) Identity Reg ---|       
       |                          |         [ACP-IF-01]       |       
       |                          |                           |       
       |                          |&lt;------(2) Publish Cap ----|       
       |                          |         [ACP-IF-06]       |       
       |                          |                           |       
       |                          |---(3) Sync to ADMgF ------|       
       |                          |---(4) Trust Check (DTMgF)-|       
       |                          |                           |       
       |       Phase 2: Intent-based Routing &amp; Execution      |       
       |                          |                           |       
       |--(5) Submit Intent -----&gt;|                           |       
       |      [Signed Vector]     |                           |       
       |                          |---(6) Resolve Intent -----|       
       |                          |       Match &amp; Filter      |       
       |                          |                           |       
       |&lt;-----(7) Cand. List -----|                           |       
       |      [Ranked + Sig]      |                           |       
       |                          |                           |       
       |-(8) Verify &amp; Select -----|                           |       
       |                          |                           |       
       |==========(9) Routing and Execution =================&gt;|       
       |          [E2E via ACP-IF-08/09]                      |       
       |======================================================|          </artwork>
      </figure>

      <t>
        <strong>Phase 1: Agent Registration &amp; Capability
        Advertisement</strong>
      </t>

      <t>This stage is the prerequisite for any agent participation. It
      involves Identity Registration (mandatory for all) and Capability
      Publication (mandatory for service providers). The steps are as
      follows:</t>

      <ul>
        <li><strong>Step1: </strong>Identity Registration (Leader &amp;
        Partner). Any Agent (whether Leader or Partner) MUST register its
        identity with the Agent Gateway using the ACP-IF-01 interface (between
        AIMF in the agent and AIMgF in the AG). This establishes a verifiable
        Agent Identity Code (AIC) and exchanges cryptographic credentials
        required for future intent signing (Leader) or service execution
        (Partner).</li>

        <li><strong>Step2: </strong>Capability Publication (Partner Agent).
        The Partner Agent publishes a structured capability description (e.g.,
        supported task types, performance bounds, resource constraints) to the
        Agent Gateway via the ACP-IF-06 interface (ADMF &lt;-&gt; ADMgF).
        Note: If a Leader Agent also wishes to serve tasks, it MUST also
        perform this step.</li>

        <li><strong>Step3: </strong>Synchronization to Interconnection Service
        Domain. The Agent Gateway forwards the capability description to the
        Agent Description Management Function (ADMgF) in the Interconnection
        Service Domain. ADMgF persists the data and synchronizes it to the
        Agent Discovery Function (ADF) for indexing.</li>

        <li><strong>Step4: </strong>Trust Scope Enforcement. The Domain Trust
        Management Function (DTMgF) applies domain federation policies to
        determine whether the registered Agent is authorized to operate within
        the specific trust domain. Only authorized capabilities are made
        queryable via ADF.</li>
      </ul>

      <t>
        <strong>Phase 2: Intent-based Routing and Forwarding</strong>
      </t>

      <t>This stage is triggered when a registered Leader Agent submits a
      semantic intent request. The Agent Gateway resolves and routes the
      intent to eligible Partner Agents. The steps are as follows:</t>

      <ul>
        <li><strong>Step5: </strong>Intent Submission. The Leader Agent sends
        a signed semantic intent vector to the Agent Gateway. The signature
        MUST be generated using the credentials established in Step 1. The
        payload contains abstract task semantics.</li>

        <li><strong>Step6: </strong>Intent Resolution and Candidate Matching.
        The Agent Gateway invokes the ACP-IF-07 interface to query the ADF.
        The IFR (Intent Forwarding Routing Table) performs semantic matching
        against the LCR, filtering based on trust scopes, and ranking
        candidates.</li>

        <li><strong>Step7: </strong>Candidate Agents Return. The Gateway
        returns a ranked list of eligible Partner Agents to the Leader Agent.
        </li>

        <li><strong>Step8: </strong>Leader-side Verification and Selection.
        The Leader Agent verifies the gateway's signature and selects one or
        more Partners based on local policy.</li>

        <li><strong>Step9: </strong>Routing and Execution. The Leader Agent
        establishes a direct end-to-end session with the selected Partner
        Agent(s) using ACP-IF-08 for point-to-point interaction, or ACP-IF-09
        for grouping-mode collaboration. All task payloads are transmitted
        over this encrypted channel.</li>
      </ul>
    </section>

    <section anchor="message-formats">
      <name>Message Formats</name>

      <t>This section specifies the binary structure of IAIP messages. The
      protocol uses a Type-Length-Value (TLV) design to ensure extensibility.
      </t>

      <figure anchor="fig_msg">
        <name>IAIP message format</name>

        <artwork align="left" type="ascii_art" xml:space="preserve">+--------------------------------------------------------------------+
|                      IAIP Message (TLV-based)                      |
+--------------------------------------------------------------------+
|                                                                    |
|  +-------------------+------+-----------------------------------+  |
|  | Type              | Len  | Value                             |  |
|  +-------------------+------+-----------------------------------+  |
|  | Common Header TLVs                                           |  |
|  +-------------------+------+-----------------------------------+  |
|  | VERSION           | 1    | Protocol version                  |  |
|  | MSG_TYPE          | 1    | INTENT_REQ / CAP_ADV / ERROR      |  |
|  | MSG_ID            | var  | Unique message identifier         |  |
|  | SENDER_ID         | var  | Source agent / router ID          |  |
|  | RECEIVER_ID       | var  | Target agent / router ID          |  |
|  | TIMESTAMP         | 8    | Unix time / logical time          |  |
|  | TTL / EXPIRY      | 4    | Validity / hop limit              |  |
|  | CORRELATION_ID    | var  | Request-response correlation      |  |
|  | INTEGRITY_TAG     | var  | MAC / signature                   |  |
|  +-------------------+------+-----------------------------------+  |
|                                                                    |
|  +-------------------+------+-----------------------------------+  |
|  | Payload TLVs (depend on MSG_TYPE)                            |  |
|  +-------------------+------+-----------------------------------+  |
|                                                                    |
|  -- CAPABILITY ADVERTISEMENT (CAP_ADV) --------------------------  |
|  | AGENT_ID          | var  | Advertising agent identifier      |  |
|  | ENDPOINT          | var  | Network / logical endpoint        |  |
|  | FUNC_DESC         | var  | Functional descriptors            |  |
|  | INTENT_DOMAINS    | var  | Supported intent types            |  |
|  | IO_SCHEMA         | var  | Input/output constraints          |  |
|  | PERF_METRICS      | var  | Latency, success rate, etc.       |  |
|  | RESOURCE_LIMITS   | var  | Token / compute budget            |  |
|                                                                    |
|  -- CAPABILITY REFRESH (CAP_REFRESH) ----------------------------  |
|  | AGENT_ID          | var  | Agent identifier                  |  |
|  | TTL_UPDATE        | 4    | Extended lifetime                 |  |
|  | METRIC_DELTA      | var  | Updated performance metrics       |  |
|                                                                    |
|  -- CAPABILITY DEREGISTER (CAP_DEREGISTER) ----------------------  |
|  | AGENT_ID          | var  | Agent identifier                  |  |
|  | REASON_CODE       | 2    | Deregistration reason             |  |
|  | EFFECTIVE_TIME    | 8    | Time of effect                    |  |
|                                                                    |
|  -- INTENT REQUEST (INTENT_REQ) ---------------------------------  |
|  | OBJECTIVE         | var  | Task objective                    |  |
|  | CONSTRAINTS       | var  | Preferences / limits              |  |
|  | CONTEXT           | var  | Context metadata                  |  |
|  | PRIORITY          | 1    | Request priority                  |  |
|  | BUDGET            | var  | Cost / token budget               |  |
|  | PRIVACY_FLAG      | 1    | Intent privacy level              |  |
|  | OBFUSCATED_INTENT | var  | Encrypted / masked intent         |  |
|                                                                    |
|  -- ROUTE DECISION / INTENT RESPONSE ----------------------------  |
|  | TARGET_AGENT_LIST | var  | Selected target agent(s)          |  |
|  | MATCH_CONFIDENCE  | var  | Similarity / rank score           |  |
|  | FORWARDING_INFO   | var  | Next-hop / endpoint               |  |
|  | FALLBACK_INDIC.   | 1    | Fallback used?                    |  |
|                                                                    |
|  -- ROUTING FEEDBACK --------------------------------------------  |
|  | OUTCOME           | 1    | Success / failure                 |  |
|  | OBSERVED_LATENCY  | var  | Execution latency                 |  |
|  | OBSERVED_COST     | var  | Resource usage                    |  |
|  | ERROR_INFO        | var  | Error details                     |  |
|                                                                    |
|  -- ERROR MESSAGE -----------------------------------------------  |
|  | ERROR_CODE        | 2    | Error identifier                  |  |
|  | DIAGNOSTIC        | var  | Human-readable info               |  |
|  | RETRY_AFTER       | 4    | Backoff hint                      |  |
|                                                                    |
|  -- SECURITY EXTENSION (SECURITY_EXT) ---------------------------  |
|  | AUTHN_INFO        | var  | Certificate / token ref           |  |
|  | AUTHZ_SCOPE       | var  | Authorization scope               |  |
|  | NONCE             | var  | Anti-replay                       |  |
|  | SIGNATURE / MAC   | var  | Integrity protection              |  |
|  | ENCRYPTION_CTX    | var  | Intent confidentiality ctx        |  |
|                                                                    |
+--------------------------------------------------------------------+
</artwork>
      </figure>

      <t>The table above summarizes the field requirements. Key fields
      include: </t>

      <dl>
        <dt>
          <strong>MSG_TYPE</strong>
        </dt>

        <dd>Identifies the payload type (e.g., 0x01: CAP_ADV, 0x02:
        INTENT_REQ).</dd>

        <dt>
          <strong>TTL / EXPIRY</strong>
        </dt>

        <dd>Time-To-Live logic depending on message type. For routing messages
        (INTENT_REQ), this represents the hop limit. For registration
        messages, this represents the validity duration in seconds. </dd>

        <dt>
          <strong>OBJECTIVE (in INTENT_REQ)</strong>
        </dt>

        <dd>The semantic vector or structured description of the task.</dd>

        <dt>
          <strong>RESOURCE_LIMITS (in CAP_ADV)</strong>
        </dt>

        <dd>Specifies operational constraints, including token budget per
        request and computational cost.</dd>

        <dt>
          <strong>FALLBACK_INDIC. (in RESPONSE)</strong>
        </dt>

        <dd>Flag indicating if a generalist fallback agent was used (0x01) or
        a direct match was found (0x00).</dd>
      </dl>
    </section>

    <section anchor="core_procedures">
      <name>Protocol Operation and Core Procedures</name>

      <t> This section specifies the normative processing behavior of the
      Agent Gateway (AG), organized by the functional components defined in
      <xref target="Function_Components"/>. The Agent Access Component (AAC)
      handles ingress connectivity and security; the Local Capability Registry
      (LCR) manages state; and the Intent Forwarding Routing Table (IFR)
      executes decision logic. </t>

      <section anchor="examples">
        <name>Illustrative Protocol Examples</name>

        <t>The examples in this section are provided for illustration only and
        are non-normative.</t>

        <section anchor="example_A"
                 title="Example A: Agent Registration (CAP_ADV)">
          <t>A Partner Agent registers its translation service with cost
          constraints.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          CAP_ADV SENDER_ID = "agent-trans-01", TTL/EXPIRY = 3600 [Payload],
          FUNC_DESC = "service:translation; lang:en-to-zh", RESOURCE_LIMITS =
          "max_tokens=2048", SECURITY_EXT = "(signature bytes...)"</artwork>
        </section>

        <section anchor="example_B" title="Example B: Intent Resolution Flow">
          <t>
            <strong>Step 1: Leader Agent sends Intent Request</strong>
          </t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          INTENT_REQ SENDER_ID = "leader-agent-007", MSG_ID = "req-1024"
          [Payload], OBJECTIVE = "(vector: [0.12, 0.95, ...])", BUDGET =
          "100"</artwork>

          <t><strong>Step 2: Gateway returns Candidate List
          (Response)</strong> <br/>The AG finds two matching agents. The first
          one is a direct match, so Fallback Indicator is 0.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          RESPONSE RECEIVER_ID = "leader-agent-007", CORRELATION_ID =
          "req-1024" [Payload], TARGET_AGENT_LIST = [1] "agent-trans-01"
          (Conf: 0.92, Endpoint: "10.0.1.5:8080"), [2] "agent-trans-03" (Conf:
          0.85, Endpoint: "10.0.1.8:8080"), FALLBACK_INDIC. = 0x00 (No
          Fallback)</artwork>
        </section>

        <section anchor="example_C" title="Example C: Routing Feedback">
          <t>After execution, the Leader Agent reports performance metrics
          back to the AG to update the LCR's dynamic scores.</t>

          <artwork align="left" type="ascii-art">[Common Header] MSG_TYPE =
          ROUTING_FEEDBACK SENDER_ID = "leader-agent-007" [Payload], OUTCOME =
          1 (Success), OBSERVED_LATENCY = 250 (ms), OBSERVED_COST = 50
          (tokens)</artwork>
        </section>
      </section>

      <section anchor="aac-ops">
        <name>Agent Access Component (AAC) Operations</name>

        <t>The AAC serves as the termination point for the interconnection
        session. It MUST intercept all incoming IAIP messages before they
        reach the LCR or IFR.</t>

        <section title="Session Authentication and Integrity">
          <t>Upon receiving any message, the AAC MUST perform the following
          validations:</t>

          <ul spacing="compact">
            <li><strong>Identity Verification:</strong> Validate the
            <tt>SENDER_ID</tt> against the credentials provided in the
            <tt>AUTHN_INFO</tt> TLV or the underlying transport session (e.g.,
            mTLS).</li>

            <li><strong>Message Integrity:</strong> Verify the
            <tt>INTEGRITY_TAG</tt> or <tt>SIGNATURE</tt>. If verification
            fails, the AAC MUST drop the message and return an <tt>ERROR</tt>
            with code <tt>AUTH_FAILED</tt>.</li>
          </ul>
        </section>

        <section title="Ingress Validation">
          <t>The AAC acts as the first line of defense. It MUST validate the
          syntax of Common Header fields (e.g., <tt>VERSION</tt>,
          <tt>MSG_TYPE</tt>). Malformed packets MUST be rejected immediately
          to protect the internal IFR engine.</t>
        </section>
      </section>

      <section anchor="lcr-mgmt">
        <name>Local Capability Registry (LCR) Management</name>

        <t>The LCR maintains the dynamic database of attached Agents. It
        processes capability management messages validated by the AAC.</t>

        <section title="Profile Creation and Updates">
          <t>When the AAC forwards a <tt>CAP_ADV</tt> message, the LCR
          MUST:</t>

          <ol type="1">
            <li>Extract the <tt>AGENT_ID</tt> and map it to the provided
            <tt>ENDPOINT</tt>.</li>

            <li>Store the <tt>FUNC_DESC</tt>, <tt>INTENT_DOMAINS</tt>, and
            <tt>RESOURCE_LIMITS</tt> as the agent's Capability Profile.</li>

            <li>Set the entry's expiration time to <tt>Current_Time +
            TTL</tt>.</li>
          </ol>
        </section>

        <section title="Lifecycle Maintenance">
          <t>Upon receiving a <tt>CAP_REFRESH</tt>, the LCR MUST look up the
          existing profile and extend its validity by <tt>TTL_UPDATE</tt>.</t>

          <t>The LCR MUST periodically purge entries that have exceeded their
          expiry time without refresh (STALE state) to ensure the IFR does not
          route to dead agents.</t>
        </section>
      </section>

      <section anchor="ifr-logic">
        <name>Intent Forwarding Routing Table (IFR) Decision Logic</name>

        <t>The Intent Forwarding Routing Table (IFR) functions as the dynamic
        routing engine of the Agent Gateway. After an <tt>INTENT_REQ</tt>
        successfully passes AAC validation, the IFR MUST evaluate the request
        and produce a ranked <tt>TARGET_AGENT_LIST</tt> containing one or more
        eligible Partner Agents.</t>

        <section anchor="Can_Re" title="Candidate Retrieval">
          <t>The IFR MUST interpret the <tt>OBJECTIVE</tt> TLV as an intent
          descriptor and query the Local Capability Registry (LCR) to obtain
          the current set of active Capability Profiles.</t>
        </section>

        <section anchor="Cons_Filter" title="Constraint-Based Filtering">
          <t>The IFR MUST apply mandatory constraints to reduce the candidate
          set prior to semantic evaluation. When a request includes constraint
          fields such as <tt>BUDGET</tt>, the IFR MUST compare these
          constraints against the corresponding attributes in the Capability
          Profiles (e.g., <tt>RESOURCE_LIMITS</tt>) and exclude agents that do
          not satisfy the required conditions.</t>

          <t>Additional policy-based constraints MAY be applied according to
          local administrative policy.</t>
        </section>

        <section anchor="Sem_Eva_and_Rank"
                 title="Semantic Evaluation and Ranking">
          <t>For the remaining candidates, the IFR MUST perform semantic
          matching between the request intent and the advertised capabilities.
          The specific matching method is implementation-dependent; however,
          the IFR MUST compute a relative confidence score that reflects the
          degree of intent-capability alignment.</t>

          <t>The IFR MAY incorporate additional operational signals, such as
          historical performance metrics (e.g., latency or success rate), when
          deriving the final ranking.</t>

          <t>The IFR MUST preserve the relative ordering of candidates when
          constructing the <tt>TARGET_AGENT_LIST</tt>.</t>
        </section>

        <section anchor="Selec_Fall" title="Selection and Fallback">
          <t>The IFR SHOULD select the highest-ranked candidates for inclusion
          in the response, subject to local policy.</t>

          <t>If no candidate satisfies the acceptance criteria (e.g., minimum
          confidence threshold), the IFR SHOULD invoke the Fallback Mechanism.
          When fallback is applied, the Agent Gateway MUST set
          <tt>FALLBACK_INDIC</tt> to <tt>0x01</tt>.</t>
        </section>
      </section>

      <section anchor="forwarding-loop-prevention">
        <name>Forwarding and Loop Prevention</name>

        <t>For multi-hop scenarios, the AG enforces loop prevention using the
        <tt>TTL</tt> field in the Common Header. If <tt>TTL &lt;= 1</tt>, the
        request is dropped. Duplicate <tt>MSG_ID</tt>, are suppressed to
        prevent broadcast storms.</t>
      </section>

      <section anchor="error-handling">
        <name>Reliability and Error Handling</name>

        <t>Errors detected by any component (AAC auth failure, LCR parsing
        error, IFR no-route) MUST result in an <tt>ERROR</tt> message returned
        to the sender, containing the appropriate <tt>ERROR_CODE</tt>.</t>
      </section>

      <section anchor="protocol_processing">
        <name>Protocol Processing procedure at Agent Gateways</name>

        <t>Figure 3 illustrates the protocol processing pipeline within the
        Agent Gateway (AG). The protocol operation relies on the coordination
        between three normative functional components: the Agent Access
        Component (AAC), the Local Capability Registry (LCR), and the Intent
        Forwarding Routing Table (IFR).</t>

        <t>The process begins when a Partner Agent transmits a capability
        advertisement (CAP_ADV) [<xref target="example_A"/>].</t>

        <t><strong>Ingress Validation: </strong> The AAC [<xref
        target="aac-ops"/>] intercepts the message to perform session
        authentication and integrity verification.</t>

        <t><strong>Registry Update: </strong>Upon successful validation, the
        AAC forwards the payload to the LCR [<xref target="lcr-mgmt"/>]. The
        LCR parses the functional descriptors and updates its internal
        database, mapping the agent's semantic profile to its network
        endpoint.</t>

        <t>The routing process is triggered when a Leader Agent submits an
        intent request (INTENT_REQ) [<xref target="example_B"/>].</t>

        <t><strong>Ingress Validation: </strong>The AAC validates the request
        format and the sender's authorization scope.</t>

        <t><strong>Routing Decision: </strong>Validated requests are passed to
        the IFR [<xref target="ifr-logic"/>], which executes the core decision
        logic:</t>

        <ul>
          <li><strong>Candidate Retrieval: </strong>The IFR queries the LCR
          [<xref target="Can_Re"/>] to retrieve active agents capable of
          satisfying the intent objective.</li>

          <li><strong>Filtering: </strong>Mandatory constraints (e.g., budget,
          latency) are applied to prune ineligible candidates [<xref
          target="Cons_Filter"/>].</li>

          <li><strong>Ranking: </strong>The IFR performs semantic evaluation
          [<xref target="Sem_Eva_and_Rank"/>] to assign confidence scores to
          the remaining candidates.</li>

          <li><strong>Selection: </strong>The eligible partner agents are
          selected based on local policy and fallback mechanisms [<xref
          target="Selec_Fall"/>].</li>
        </ul>

        <t><strong>Egress Processing: </strong>The partner agent list is
        passed to the Forwarding module [<xref
        target="forwarding-loop-prevention"/>]. This module enforces
        Time-To-Live (TTL) checks and duplicate suppression to prevent routing
        loops before dispatching the forwarded request to the Partner
        Agent.</t>

        <figure anchor="fig_procedure">
          <name>Protocol Processing procedure at Agent Gateways</name>

          <artwork align="left" type="ascii-art" xml:space="preserve">    +--------------+                  +--------------+              
    | Leader Agent |                  | Partner Agent|              
    | (Source/App) |                  | (Target/Phy) |              
    +-------+------+                  +-------+------+              
            | (2) Intent Req                  | (1) CAP_ADV         
            | [Sec 8.1.2]                     | [Sec 8.1.1]         
            v                                 v                     
+------------------------------------------------------------------+
|              Agent Gateway (Interconnection Domain)              |
|------------------------------------------------------------------|
|                                                                  |
| +--------------+        (CAP_ADV)         +--------------------+ |
| | Agent Access |-------------------------&gt;|  Local Capability  | |
| |  Comp (AAC)  |                          |   Registry (LCR)   | |
| |  [Sec 8.2]   |                          |     [Sec 8.3]      | |
| +------+-------+                          +---------+----------+ |
|        |                                            ^            |
|        | (INTENT_REQ)                               | Candidate  |
|        v                                            | Retrieval  |
| +---------------------------------------------------+----------+ |
| |      Intent Forwarding Routing (IFR) [Sec 8.4]               | |
| |--------------------------------------------------------------| |
| | 1. Candidate Retrieval (Query LCR) [Sec 8.4.1] --------------+ |
| | 2. Constraint Filtering [Sec 8.4.2]                          | |
| | 3. Semantic Eval &amp; Ranking [Sec 8.4.3]                       | |
| | 4. Selection &amp; Fallback [Sec 8.4.4]                          | |
| +------+-------------------------------------------------------+ |
|        | Selected Target List                                    |
|        v                                                         |
| +----------------------+                                         |
| |  Forwarding &amp; Loop   |                                         |
| | Prevention [Sec 8.5] |                                         |
| +------+---------------+                                         |
|        |                                                         |
+--------+---------------------------------------------------------+
         | (3) Forwarded Request                                    
         v                                                          
  +-------------+                                                   
  | Partner Agt |                                                   
  | (Execution) |                                                   
  +-------------+                                                   </artwork>
        </figure>
      </section>
    </section>

    <section anchor="conclusions">
      <name>Conclusions</name>

      <t>This document specifies the functional components, protocol
      procedures, and message formats of the Intent-based Agent
      Interconnection Protocol (IAIP). It defines the mechanisms for
      capability-aware registration, semantic intent resolution, and dynamic
      routing. By abstracting the complexity of agent discovery and intent
      matching, IAIP ensures scalable and adaptive collaboration across
      heterogeneous agent systems.</t>
    </section>

    <section>
      <name>Security Considerations</name>

      <t>This document focuses on the Intent-based Agent Interconnection
      Protocol at the Agent Gateway for inter-agent collaboration in the
      Internet of Agents (IoA). Security of the IoA ecosystem is not detailed
      in this document. Security considerations relevant to cross-domain
      intent routing, capability advertisement integrity, trust federation
      among multiple agent service providers, and end-to-end confidentiality
      of agent interactions are suggested to be deeply discussed through other
      proposals.</t>
    </section>

    <section>
      <name>IANA Considerations</name>

      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>

      <reference anchor="RFC2119"
                 target="https://www.rfc-editor.org/info/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"/>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="2119"/>
      </reference>
    </references>
  </back>
</rfc>
