<?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.34 (Ruby 3.4.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-howe-vcon-sip-signaling-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="vCon SIP Signaling">vCon Extension for SIP Signaling and STIR/SHAKEN Data</title>
    <seriesInfo name="Internet-Draft" value="draft-howe-vcon-sip-signaling-00"/>
    <author initials="T." surname="McCarthy-Howe" fullname="Thomas McCarthy-Howe">
      <organization>VCONIC</organization>
      <address>
        <email>ghostofbasho@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="April"/>
    <area>Applications and Real-Time</area>
    <workgroup>vCon</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 114?>

<t>This document defines a vCon extension for capturing Session
Initiation Protocol (SIP) signaling metadata, STIR/SHAKEN
certificate data, and related telephony information within the
vCon conversation data container.  The extension uses the vCon
Attachment Object to store SIP messages and certificates, and
introduces optional parameters on Party and Dialog Objects to
carry SIP-specific identifiers.  This extension is classified as
Compatible per the vCon extension framework, allowing
implementations that do not recognize it to safely ignore the
additional data.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://vcon-dev.github.io/draft-howe-vcon-sip-signaling/draft-howe-vcon-sip-signaling-00.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-howe-vcon-sip-signaling/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        vCon Working Group mailing list (<eref target="mailto:vcon@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/vcon/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/vcon/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/vcon-dev/draft-howe-vcon-sip-signaling"/>.</t>
    </note>
  </front>
  <middle>
    <?line 127?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The vCon conversation data container <xref target="I-D.draft-ietf-vcon-vcon-core"/> provides a standardized
framework for exchanging conversational data across platforms and
trust boundaries (see <xref target="I-D.draft-ietf-vcon-overview"/> for an overview of vCon use cases and
architecture).  The core vCon specification includes basic support
for SIP-originated conversations through the Party Object's "sip"
and "stir" parameters, and the Dialog Object's "session_id"
parameter.  However, many use cases require richer SIP signaling
data to be preserved alongside the conversation.</t>
      <t>Telephony platforms, regulatory compliance systems, fraud detection
tools, and call center quality assurance systems all benefit from
access to detailed SIP signaling metadata.  The TRACED Act <xref target="TRACED"/> and
similar legislation in various jurisdictions increasingly require
retention of call authentication data, including STIR/SHAKEN
attestation levels and certificate chains.  Emergency services
systems need SIP signaling to preserve location information,
priority indicators, and routing metadata.</t>
      <t>This document defines the "sip-signaling" vCon extension, which
provides a structured approach to capturing SIP signaling data
within the vCon container.  The extension follows three design
principles:</t>
      <ul spacing="normal">
        <li>
          <t>SIP signaling messages are stored as Attachment Objects, using
the existing attachment mechanism with well-defined purpose
values.</t>
        </li>
        <li>
          <t>Conversation media (audio, video, text) continues to be stored
in Dialog Objects per the core specification.</t>
        </li>
        <li>
          <t>SIP-specific identifiers that are useful for correlation across
systems are added as optional parameters on Party and Dialog
Objects.</t>
        </li>
      </ul>
      <t>The extension is classified as Compatible per the vCon extension
framework defined in Section 2.5 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.  Implementations that
do not recognize this extension can safely ignore the additional
parameters and attachment objects while continuing to process the
core vCon data.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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>
      <t>This document uses the terminology defined in <xref target="I-D.draft-ietf-vcon-vcon-core"/> including
Party Object, Dialog Object, Attachment Object, and Analysis Object.</t>
      <t>The following additional terms are used:</t>
      <dl>
        <dt>SIP Dialog:</dt>
        <dd>
          <t>A peer-to-peer SIP relationship between two user
agents as defined in Section 12 of <xref target="RFC3261"/>.  Not to be confused
with the vCon Dialog Object, which represents a piece of captured
conversation content.</t>
        </dd>
        <dt>Call-ID:</dt>
        <dd>
          <t>A globally unique identifier for a SIP call as defined in
Section 8.1.1.4 of <xref target="RFC3261"/>.</t>
        </dd>
        <dt>PASSporT:</dt>
        <dd>
          <t>Personal Assertion Token as defined in <xref target="RFC8225"/>, used
in STIR/SHAKEN caller ID authentication.</t>
        </dd>
        <dt>Attestation Level:</dt>
        <dd>
          <t>The level of trust an originating service
provider has in the calling party identity, classified as Full
Attestation (A), Partial Attestation (B), or Gateway Attestation
(C) per <xref target="RFC8588"/>.</t>
        </dd>
      </dl>
    </section>
    <section anchor="extension-overview">
      <name>Extension Overview</name>
      <section anchor="extension-name-and-classification">
        <name>Extension Name and Classification</name>
        <t>This extension is identified by the token "sip-signaling" in the
vCon extensions parameter (Section 4.1.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).</t>
        <t>This extension is a Compatible extension as defined in Section 2.5
of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.  It introduces additional data without altering the
meaning or structure of existing vCon elements.  Implementations
that do not recognize this extension can safely ignore it while
maintaining valid processing of the vCon.</t>
        <t>The "sip-signaling" token MUST NOT be listed in the vCon critical
parameter (Section 4.1.4 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).</t>
        <t>A vCon that uses any parameter or purpose value defined in this
document SHOULD include "sip-signaling" in its extensions parameter.</t>
      </section>
      <section anchor="architecture">
        <name>Architecture</name>
        <t>The extension distributes SIP-related data across the existing vCon
object types as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Party Objects carry SIP endpoint identification data through
new optional parameters (sip_contact, sip_user_agent,
sip_display_name) that supplement the existing "sip" and "stir"
parameters.</t>
          </li>
          <li>
            <t>Dialog Objects carry SIP dialog identification data through new
optional parameters (sip_call_id, sip_from_tag, sip_to_tag,
sip_cseq) that supplement the existing "session_id" parameter.</t>
          </li>
          <li>
            <t>Attachment Objects carry complete SIP messages, message traces,
SDP bodies, header summaries, STIR certificates, and
verification reports.  Each attachment type is identified by a
registered purpose value.</t>
          </li>
        </ul>
        <t>Conversation media (audio recordings, video, text transcripts)
continue to be stored in Dialog Objects per the core specification.
This extension does not define any new Dialog types.</t>
      </section>
      <section anchor="relationship-to-existing-vcon-parameters">
        <name>Relationship to Existing vCon Parameters</name>
        <t>The existing Party Object parameters "sip" (Section 4.2.2 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>)
and "stir" (Section 4.2.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) remain the primary mechanism
for basic SIP identity information and caller authentication.  The
parameters defined in this extension supplement but do not replace
them.</t>
        <t>The existing Dialog Object parameter "session_id" (Section 4.3.10
of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) provides the RFC 7989 session identifier for correlation.
The sip_call_id parameter defined in this extension provides the
SIP Call-ID header value, which serves a different correlation role
and is more commonly available in SIP deployments than the RFC 7989
session identifier.</t>
        <t>When both session_id and sip_call_id are available, both SHOULD be
included to maximize interoperability.</t>
      </section>
    </section>
    <section anchor="party-object-extension-parameters">
      <name>Party Object Extension Parameters</name>
      <t>The following parameters are defined as extensions to the Party
Object (Section 4.2 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).  All parameters are optional.
Parameter names follow the snake_case convention required by
Section 2.5 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
      <section anchor="sipcontact">
        <name>sip_contact</name>
        <t>The SIP Contact header URI for the party, as received in or
extracted from SIP signaling.  The Contact header provides the
direct reachability address for the user agent and may differ from
the address-of-record in the "sip" parameter.</t>
        <artwork><![CDATA[
sip_contact: "String" (optional)
]]></artwork>
        <t>The value is the addr-spec portion of the Contact header field as
defined in Section 20.10 of <xref target="RFC3261"/>.  The URI scheme (e.g. "sip:" or
"sips:") SHOULD be included.</t>
        <t>This parameter captures the actual contact address used during the
session, which is useful for troubleshooting registration and
routing issues.</t>
      </section>
      <section anchor="sipuseragent">
        <name>sip_user_agent</name>
        <t>The User-Agent header value from the SIP signaling for this party.</t>
        <artwork><![CDATA[
sip_user_agent: "String" (optional)
]]></artwork>
        <t>The value is the complete User-Agent header field value as defined
in Section 20.41 of <xref target="RFC3261"/>.</t>
        <t>This parameter is useful for identifying the SIP endpoint software
and version, which aids in troubleshooting interoperability issues
and identifying capabilities.</t>
      </section>
      <section anchor="sipdisplayname">
        <name>sip_display_name</name>
        <t>The display name from the From or To header for this party, as
carried in SIP signaling.</t>
        <artwork><![CDATA[
sip_display_name: "String" (optional)
]]></artwork>
        <t>The value is the display-name component of the name-addr form of
the From or To header, as defined in Section 20.20 and Section
20.39 of <xref target="RFC3261"/>.</t>
        <t>This parameter preserves the display name as presented in SIP
signaling, which may differ from the "name" parameter in the Party
Object.  The Party Object "name" parameter (Section 4.2.5 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>)
represents the known identity of the party, while sip_display_name
preserves the value as claimed in the SIP headers.</t>
      </section>
    </section>
    <section anchor="dialog-object-extension-parameters">
      <name>Dialog Object Extension Parameters</name>
      <t>The following parameters are defined as extensions to the Dialog
Object (Section 4.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).  All parameters are optional.
These parameters provide SIP dialog identifiers that enable
correlation between the vCon and SIP infrastructure logs.</t>
      <section anchor="sipcallid">
        <name>sip_call_id</name>
        <t>The SIP Call-ID header value for the dialog.</t>
        <artwork><![CDATA[
sip_call_id: "String" (optional)
]]></artwork>
        <t>The value MUST be the complete Call-ID header field value as defined
in Section 8.1.1.4 and Section 20.8 of <xref target="RFC3261"/>.</t>
        <t>The Call-ID uniquely identifies a particular invitation or all
registrations of a particular client.  It is used by SIP user
agents and proxies to match requests to existing dialogs.  Including
the Call-ID in the vCon enables direct correlation with SIP server
logs, CDR systems, and network monitoring tools.</t>
        <t>When a vCon contains multiple Dialog Objects from the same SIP
dialog (e.g. separate recording and text dialog objects), each
Dialog Object SHOULD carry the same sip_call_id value.</t>
      </section>
      <section anchor="sipfromtag">
        <name>sip_from_tag</name>
        <t>The tag parameter from the From header of the SIP dialog.</t>
        <artwork><![CDATA[
sip_from_tag: "String" (optional)
]]></artwork>
        <t>The value is the tag parameter from the From header field.  Together
with the Call-ID and To tag, this forms the SIP dialog identifier
as defined in Section 12 of <xref target="RFC3261"/>.</t>
      </section>
      <section anchor="siptotag">
        <name>sip_to_tag</name>
        <t>The tag parameter from the To header of the SIP dialog.</t>
        <artwork><![CDATA[
sip_to_tag: "String" (optional)
]]></artwork>
        <t>The value is the tag parameter from the To header field.  This value
is assigned by the UAS and is not present until a dialog-creating
response is sent.  If the dialog was not fully established (e.g. an
incomplete dialog type), this parameter MAY be absent.</t>
      </section>
      <section anchor="sipcseq">
        <name>sip_cseq</name>
        <t>The CSeq number from the initial dialog-creating request.</t>
        <artwork><![CDATA[
sip_cseq: "UnsignedInt" (optional)
]]></artwork>
        <t>The value is the sequence number from the CSeq header field of the
INVITE or other dialog-creating request, as defined in Section
20.16 of <xref target="RFC3261"/>.</t>
        <t>This is primarily useful when correlating with packet captures or
SIP traces where multiple transactions share the same Call-ID.</t>
      </section>
    </section>
    <section anchor="sip-signaling-attachments">
      <name>SIP Signaling Attachments</name>
      <t>SIP signaling data is stored in vCon Attachment Objects (Section 4.4
of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).  This section defines the purpose values, media types,
and formats for SIP signaling attachments.</t>
      <t>All SIP signaling attachments SHOULD include the following
Attachment Object parameters when available:</t>
      <dl>
        <dt>purpose:</dt>
        <dd>
          <t>A registered purpose value from <xref target="purpose-values"/>.</t>
        </dd>
        <dt>start:</dt>
        <dd>
          <t>The timestamp when the SIP message was sent or received.</t>
        </dd>
        <dt>party:</dt>
        <dd>
          <t>The index of the party that sent the SIP message, when
applicable.</t>
        </dd>
        <dt>dialog:</dt>
        <dd>
          <t>The index of the Dialog Object this signaling relates
to.</t>
        </dd>
        <dt>mediatype:</dt>
        <dd>
          <t>The media type of the attachment body.</t>
        </dd>
      </dl>
      <t>Attachment Content (body/encoding or url/content_hash) follows the
conventions defined in Section 4.4.7 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
      <section anchor="individual-sip-messages">
        <name>Individual SIP Messages</name>
        <t>Individual SIP request and response messages MAY be stored as
separate Attachment Objects.  This approach is suitable when
specific messages are of interest, such as the initial INVITE and
final response for basic call setup metadata.</t>
        <section anchor="purpose-values">
          <name>Purpose Values for SIP Methods</name>
          <t>The following purpose values are defined for individual SIP message
attachments.  Each value identifies the SIP method or response
category contained in the attachment.</t>
          <dl>
            <dt>"sip-invite":</dt>
            <dd>
              <t>A SIP INVITE request as defined in Section 13
of <xref target="RFC3261"/>.</t>
            </dd>
            <dt>"sip-response":</dt>
            <dd>
              <t>A SIP response message.  The response status
code is carried within the message body itself.  Producers
SHOULD include both provisional (1xx) and final (2xx-6xx)
responses when they are relevant to the use case.</t>
            </dd>
            <dt>"sip-ack":</dt>
            <dd>
              <t>A SIP ACK request as defined in Section 13.2.2.4
of <xref target="RFC3261"/>.</t>
            </dd>
            <dt>"sip-bye":</dt>
            <dd>
              <t>A SIP BYE request as defined in Section 15 of <xref target="RFC3261"/>.</t>
            </dd>
            <dt>"sip-cancel":</dt>
            <dd>
              <t>A SIP CANCEL request as defined in Section 9 of
<xref target="RFC3261"/>.</t>
            </dd>
            <dt>"sip-update":</dt>
            <dd>
              <t>A SIP UPDATE request as defined in <xref target="RFC3311"/>.</t>
            </dd>
            <dt>"sip-refer":</dt>
            <dd>
              <t>A SIP REFER request as defined in <xref target="RFC3515"/>.</t>
            </dd>
          </dl>
        </section>
        <section anchor="media-type">
          <name>Media Type</name>
          <t>Individual SIP messages stored as attachments MUST use the media
type "message/sip" as defined in Section 7.1 of <xref target="RFC3261"/>.</t>
          <t>The SIP message SHOULD be stored in its complete wire format
including the start line, all headers, and body (if present).  The
message MUST be UTF-8 encoded when stored inline using the "none"
encoding value, or Base64url encoded when using the "base64url"
encoding value.</t>
          <t>Example of a SIP INVITE stored as an attachment:</t>
          <sourcecode type="json"><![CDATA[
{
  "purpose": "sip-invite",
  "start": "2026-01-15T14:30:00.000+00:00",
  "party": 0,
  "dialog": 0,
  "mediatype": "message/sip",
  "encoding": "none",
  "body": "INVITE sip:bob@example.com SIP/2.0\r\n
    Via: SIP/2.0/UDP pc33.example.com;branch=z9hG4bK776\r\n
    Max-Forwards: 70\r\n
    To: Bob <sip:bob@example.com>\r\n
    From: Alice <sip:alice@example.com>;tag=1928301774\r\n
    Call-ID: a84b4c76e66710@pc33.example.com\r\n
    CSeq: 314159 INVITE\r\n
    Contact: <sip:alice@pc33.example.com>\r\n
    Content-Type: application/sdp\r\n
    Content-Length: 142\r\n
    \r\n
    v=0\r\n
    o=alice 53655765 2353687637 IN IP4 pc33.example.com\r\n
    s=-\r\n
    c=IN IP4 pc33.example.com\r\n
    t=0 0\r\n
    m=audio 3456 RTP/AVP 0 111\r\n
    a=rtpmap:0 PCMU/8000\r\n"
}
]]></sourcecode>
          <t>Note: The body value above has been formatted with line wrapping
for readability.  In a real vCon, the SIP message would be a
single string with \r\n line endings.</t>
        </section>
      </section>
      <section anchor="sip-message-trace">
        <name>SIP Message Trace</name>
        <t>A complete SIP message exchange for a dialog MAY be stored as a
single structured attachment.  This approach is more efficient than
individual message attachments when the full signaling exchange is
needed.</t>
        <t>The purpose value for a SIP message trace is "sip-message-trace".</t>
        <section anchor="trace-format">
          <name>Trace Format</name>
          <t>The SIP message trace attachment uses the media type
"application/json" with the following JSON structure:</t>
          <sourcecode type="json"><![CDATA[
{
  "version": "1.0",
  "call_id": "String",
  "messages": [
    {
      "timestamp": "Date",
      "direction": "sent" | "received",
      "party": UnsignedInt,
      "method": "String",
      "status_code": UnsignedInt,
      "status_text": "String",
      "headers": { ... },
      "body": "String"
    }
  ]
}
]]></sourcecode>
          <t>The fields of the trace object are:</t>
          <dl>
            <dt>version:</dt>
            <dd>
              <t>The version of the trace format.  This document defines
version "1.0".</t>
            </dd>
            <dt>call_id:</dt>
            <dd>
              <t>The SIP Call-ID for this trace.  MUST match the
sip_call_id parameter on the associated Dialog Object if
present.</t>
            </dd>
            <dt>messages:</dt>
            <dd>
              <t>An array of SIP message objects in chronological
order.</t>
            </dd>
          </dl>
          <t>The fields of each message object are:</t>
          <dl>
            <dt>timestamp:</dt>
            <dd>
              <t>The date and time the message was sent or received,
in the format defined in Section 4.3.2 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
            </dd>
            <dt>direction:</dt>
            <dd>
              <t>Either "sent" or "received", from the perspective
of the vCon producer.</t>
            </dd>
            <dt>party:</dt>
            <dd>
              <t>The index into the vCon parties array for the party
that sent this message.  This parameter is optional when the
sender cannot be determined.</t>
            </dd>
            <dt>method:</dt>
            <dd>
              <t>The SIP method name (e.g. "INVITE", "BYE").  Present
for requests.  MUST NOT be present for responses.</t>
            </dd>
            <dt>status_code:</dt>
            <dd>
              <t>The SIP response status code (e.g. 200, 486).
Present for responses.  MUST NOT be present for requests.</t>
            </dd>
            <dt>status_text:</dt>
            <dd>
              <t>The SIP response reason phrase (e.g. "OK",
"Busy Here").  Present for responses.  MUST NOT be present
for requests.</t>
            </dd>
            <dt>headers:</dt>
            <dd>
              <t>A JSON object containing selected SIP headers as
key-value pairs.  Header names SHOULD use their canonical
form.  Multi-valued headers SHOULD use JSON arrays.  This
field is optional; producers MAY include all headers or a
subset relevant to their use case.</t>
            </dd>
            <dt>body:</dt>
            <dd>
              <t>The SIP message body as a string, if present.  For
SDP bodies, the complete SDP text is included.  For binary
bodies, Base64url encoding SHOULD be used with a separate
"body_encoding" field set to "base64url".</t>
            </dd>
          </dl>
          <t>Example trace attachment:</t>
          <sourcecode type="json"><![CDATA[
{
  "purpose": "sip-message-trace",
  "dialog": 0,
  "mediatype": "application/json",
  "encoding": "json",
  "body": {
    "version": "1.0",
    "call_id": "a84b4c76e66710@pc33.example.com",
    "messages": [
      {
        "timestamp": "2026-01-15T14:30:00.001+00:00",
        "direction": "sent",
        "party": 0,
        "method": "INVITE",
        "headers": {
          "From": "<sip:alice@example.com>;tag=1928301774",
          "To": "<sip:bob@example.com>",
          "CSeq": "314159 INVITE",
          "Contact": "<sip:alice@pc33.example.com>"
        }
      },
      {
        "timestamp": "2026-01-15T14:30:00.050+00:00",
        "direction": "received",
        "party": 1,
        "status_code": 180,
        "status_text": "Ringing",
        "headers": {
          "From": "<sip:alice@example.com>;tag=1928301774",
          "To": "<sip:bob@example.com>;tag=a6c85cf",
          "CSeq": "314159 INVITE"
        }
      },
      {
        "timestamp": "2026-01-15T14:30:05.200+00:00",
        "direction": "received",
        "party": 1,
        "status_code": 200,
        "status_text": "OK",
        "headers": {
          "From": "<sip:alice@example.com>;tag=1928301774",
          "To": "<sip:bob@example.com>;tag=a6c85cf",
          "CSeq": "314159 INVITE",
          "Contact": "<sip:bob@192.0.2.4>"
        }
      }
    ]
  }
}
]]></sourcecode>
        </section>
      </section>
      <section anchor="sdp-attachments">
        <name>SDP Attachments</name>
        <t>Session Description Protocol <xref target="RFC8866"/> bodies from SIP signaling MAY
be stored as separate attachments when detailed media negotiation
data is needed independently of the SIP messages that carried them.</t>
        <t>The purpose value for SDP attachments is "sip-sdp".</t>
        <t>The media type MUST be "application/sdp" as defined in <xref target="RFC8866"/>.</t>
        <t>Storing SDP separately is useful when media negotiation details
are needed for quality analysis, codec identification, or network
troubleshooting, without requiring storage of the complete SIP
message exchange.</t>
        <sourcecode type="json"><![CDATA[
{
  "purpose": "sip-sdp",
  "start": "2026-01-15T14:30:00.000+00:00",
  "party": 0,
  "dialog": 0,
  "mediatype": "application/sdp",
  "encoding": "none",
  "body": "v=0\r\no=alice 53655765 2353687637 IN IP4 ...\r\n..."
}
]]></sourcecode>
      </section>
      <section anchor="sip-header-summary">
        <name>SIP Header Summary</name>
        <t>A summary of selected SIP headers MAY be stored as an attachment
when full SIP messages are not needed but specific header values
should be preserved.</t>
        <t>The purpose value for header summary attachments is "sip-headers".</t>
        <t>The media type MUST be "application/json".</t>
        <t>The body is a JSON object where keys are SIP header names and
values are the header values.  Multi-valued headers use JSON
arrays.  The producer selects which headers to include based on
their use case.</t>
        <sourcecode type="json"><![CDATA[
{
  "purpose": "sip-headers",
  "dialog": 0,
  "mediatype": "application/json",
  "encoding": "json",
  "body": {
    "Call-ID": "a84b4c76e66710@pc33.example.com",
    "From": "<sip:alice@example.com>;tag=1928301774",
    "To": "<sip:bob@example.com>;tag=a6c85cf",
    "P-Asserted-Identity": "<sip:+12125551234@example.com>",
    "History-Info": [
      "<sip:+12125551234@example.com>;index=1",
      "<sip:+12125559876@example.com>;index=1.1"
    ]
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="stirshaken-extended-data">
      <name>STIR/SHAKEN Extended Data</name>
      <t>The STIR (Secure Telephony Identity Revisited) framework and the
SHAKEN (Signature-based Handling of Asserted information using
toKENs) framework provide mechanisms for authenticating caller
identity in SIP-based telephony.  The core vCon specification
provides the Party Object "stir" parameter for basic PASSporT
storage.  This section defines attachment types for extended
STIR/SHAKEN data that does not fit in the compact "stir" parameter.</t>
      <section anchor="relationship-to-party-stir-parameter">
        <name>Relationship to Party stir Parameter</name>
        <t>The Party Object "stir" parameter (Section 4.2.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) remains
the primary location for the PASSporT token in JWS Compact
Serialization form.  This extension does not change the semantics
of that parameter.</t>
        <t>The attachments defined in this section carry supplementary data:
certificate chains used to validate the PASSporT, verification
results from the terminating side, and extended PASSporT data that
does not fit the compact serialization.</t>
        <t>Producers SHOULD always populate the Party Object "stir" parameter
when a PASSporT is available, even if extended data is also stored
as attachments.  This ensures that implementations that do not
support this extension can still access the basic authentication
token.</t>
      </section>
      <section anchor="stir-certificate-attachments">
        <name>STIR Certificate Attachments</name>
        <t>The X.509 certificate or certificate chain used to sign the
PASSporT MAY be stored as an attachment.</t>
        <t>The purpose value is "stir-certificate".</t>
        <t>The media type for a single certificate MUST be
"application/pkix-cert" as defined in <xref target="RFC5280"/>.  For a
certificate chain, the media type MUST be "application/pem-certificate-chain"
as defined in <xref target="RFC8555"/>.</t>
        <t>The party parameter SHOULD reference the Party Object whose "stir"
parameter contains the PASSporT that this certificate validates.</t>
        <sourcecode type="json"><![CDATA[
{
  "purpose": "stir-certificate",
  "party": 0,
  "dialog": 0,
  "mediatype": "application/pem-certificate-chain",
  "encoding": "none",
  "body": "-----BEGIN CERTIFICATE-----\nMIIB...\n
    -----END CERTIFICATE-----\n
    -----BEGIN CERTIFICATE-----\nMIIC...\n
    -----END CERTIFICATE-----\n"
}
]]></sourcecode>
        <t>Implementations that retrieve certificates from the STIR
certificate repository <xref target="SHAKEN-CERT"/> SHOULD store the full chain
to enable offline validation.</t>
      </section>
      <section anchor="stir-verification-report-attachments">
        <name>STIR Verification Report Attachments</name>
        <t>The results of PASSporT verification performed by the terminating
service provider or verifying entity MAY be stored as an attachment.</t>
        <t>The purpose value is "stir-verification-report".</t>
        <t>The media type MUST be "application/json".</t>
        <t>The verification report body is a JSON object with the following
fields:</t>
        <dl>
          <dt>verifier:</dt>
          <dd>
            <t>A string identifying the entity that performed
verification.</t>
          </dd>
          <dt>timestamp:</dt>
          <dd>
            <t>The date and time of verification in the format
defined in Section 4.3.2 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
          </dd>
          <dt>result:</dt>
          <dd>
            <t>A string with one of the following values:
</t>
            <ul spacing="normal">
              <li>
                <t>"verified" - the PASSporT signature was successfully
validated and the certificate chain is trusted.</t>
              </li>
              <li>
                <t>"failed" - the PASSporT signature validation failed.</t>
              </li>
              <li>
                <t>"no-signature" - no PASSporT was present in the call
signaling.</t>
              </li>
              <li>
                <t>"stale" - the PASSporT iat (issued at) claim was outside
the acceptable freshness window.</t>
              </li>
              <li>
                <t>"certificate-error" - the certificate could not be
validated or the chain was incomplete.</t>
              </li>
            </ul>
          </dd>
          <dt>attestation:</dt>
          <dd>
            <t>The attestation level from the PASSporT, one of
"A" (Full Attestation), "B" (Partial Attestation), or "C"
(Gateway Attestation), as defined in <xref target="RFC8588"/>.</t>
          </dd>
          <dt>reason:</dt>
          <dd>
            <t>An optional free-form string providing additional
detail about the verification result.</t>
          </dd>
          <dt>orig_tn:</dt>
          <dd>
            <t>The originating telephone number from the PASSporT.</t>
          </dd>
          <dt>dest_tn:</dt>
          <dd>
            <t>The destination telephone number(s) from the PASSporT.</t>
          </dd>
        </dl>
        <sourcecode type="json"><![CDATA[
{
  "purpose": "stir-verification-report",
  "party": 0,
  "dialog": 0,
  "mediatype": "application/json",
  "encoding": "json",
  "body": {
    "verifier": "example-telco-verification-service",
    "timestamp": "2026-01-15T14:30:00.100+00:00",
    "result": "verified",
    "attestation": "A",
    "orig_tn": "+12125551234",
    "dest_tn": ["+12125559876"]
  }
}
]]></sourcecode>
      </section>
      <section anchor="extended-passport-attachments">
        <name>Extended PASSporT Attachments</name>
        <t>When PASSporT extensions such as Rich Call Data <xref target="STIR-PASS-RCD"/>
produce data that exceeds what is practical for the compact JWS
serialization in the Party Object "stir" parameter, the full
PASSporT MAY be stored as an attachment using the JWS JSON
Serialization form.</t>
        <t>The purpose value is "stir-passport-extended".</t>
        <t>The media type MUST be "application/passport" as defined in
<xref target="RFC8225"/>.</t>
        <t>The Party Object "stir" parameter SHOULD still contain the compact
form when possible, with the extended attachment providing the
complete data.</t>
        <sourcecode type="json"><![CDATA[
{
  "purpose": "stir-passport-extended",
  "party": 0,
  "dialog": 0,
  "mediatype": "application/passport",
  "encoding": "none",
  "body": "{ ... full JWS JSON Serialization ... }"
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="implementation-guidance">
      <name>Implementation Guidance</name>
      <t>This section provides non-normative guidance for implementers.</t>
      <section anchor="minimal-producers">
        <name>Minimal Producers</name>
        <t>A minimal implementation producing vCons with SIP signaling data
SHOULD include at minimum:</t>
        <ul spacing="normal">
          <li>
            <t>The initial INVITE and the final response (2xx or error) as
individual SIP message attachments with purpose values
"sip-invite" and "sip-response".</t>
          </li>
          <li>
            <t>The sip_call_id parameter on the Dialog Object.</t>
          </li>
          <li>
            <t>The existing Party Object "stir" parameter with the PASSporT,
when STIR/SHAKEN is deployed.</t>
          </li>
        </ul>
        <t>This minimal set provides sufficient data for basic call
correlation, authentication verification, and troubleshooting.</t>
      </section>
      <section anchor="full-producers">
        <name>Full Producers</name>
        <t>A full implementation MAY additionally include:</t>
        <ul spacing="normal">
          <li>
            <t>Complete SIP message traces using the "sip-message-trace"
purpose.</t>
          </li>
          <li>
            <t>All Dialog Object extension parameters (sip_call_id,
sip_from_tag, sip_to_tag, sip_cseq).</t>
          </li>
          <li>
            <t>All Party Object extension parameters (sip_contact,
sip_user_agent, sip_display_name).</t>
          </li>
          <li>
            <t>STIR certificate chains using the "stir-certificate" purpose.</t>
          </li>
          <li>
            <t>Verification reports using the "stir-verification-report"
purpose.</t>
          </li>
          <li>
            <t>Separate SDP attachments for media analysis.</t>
          </li>
          <li>
            <t>SIP header summaries for selected headers of interest.</t>
          </li>
        </ul>
        <t>Producers SHOULD select the level of detail based on the intended
use case.  Regulatory compliance and fraud investigation use cases
typically require more comprehensive data than basic call center
quality assurance.</t>
      </section>
      <section anchor="consumers">
        <name>Consumers</name>
        <t>Implementations that consume vCons SHOULD:</t>
        <ul spacing="normal">
          <li>
            <t>Detect the presence of this extension by checking for
"sip-signaling" in the extensions parameter.</t>
          </li>
          <li>
            <t>Gracefully handle vCons that do not include this extension.</t>
          </li>
          <li>
            <t>Ignore attachment purpose values and Party/Dialog parameters
that are not recognized.</t>
          </li>
          <li>
            <t>Not require the presence of any extension parameter; all
parameters are optional.</t>
          </li>
        </ul>
        <t>Consumers SHOULD NOT reject a vCon solely because it contains
unrecognized purpose values or parameters, in keeping with the
Compatible extension classification.</t>
      </section>
      <section anchor="storage-considerations">
        <name>Storage Considerations</name>
        <t>SIP messages are relatively small (typically under 10KB), so inline
storage using the "body" and "encoding" parameters is generally
appropriate.  SIP message traces for complex call flows with many
transactions may be larger, and producers MAY use external
references (url and content_hash) for traces exceeding a
deployment-specific size threshold.</t>
        <t>For inline storage, SIP messages in their wire format SHOULD use
"none" encoding when the message is valid UTF-8, or "base64url"
encoding otherwise.  JSON-formatted attachments (traces, headers,
verification reports) SHOULD use "json" encoding.</t>
        <t>Producers that generate large volumes of vCons with SIP signaling
data SHOULD consider compression of the vCon container.  The GZIP
format described in the Informative References of <xref target="I-D.draft-ietf-vcon-vcon-core"/> is
suitable for this purpose.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>SIP signaling data contains information that may be sensitive from
both security and privacy perspectives.</t>
      <t>SIP messages may contain authentication credentials, particularly
in Authorization and Proxy-Authorization headers.  Producers MUST
NOT include authentication credentials in SIP message attachments.
Producers SHOULD strip or redact Authorization, Proxy-Authorization,
and WWW-Authenticate headers before storing SIP messages in vCon
attachments.</t>
      <t>SIP signaling data may reveal network topology information through
Via, Record-Route, and Path headers.  Organizations SHOULD evaluate
whether this information should be included or redacted based on
their security policies.</t>
      <t>The vCon signing mechanism (Section 5.2 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) SHOULD be used
to ensure the integrity of SIP signaling data within the vCon.
This is particularly important when SIP data is used for regulatory
compliance or legal proceedings, where tamper evidence is required.</t>
      <t>STIR certificates stored as attachments enable offline verification
of caller identity.  The integrity of these certificates SHOULD be
protected using the vCon signing mechanism or the content_hash
parameter for externally referenced certificates.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>SIP signaling frequently contains personally identifiable
information (PII) including telephone numbers, SIP URIs, display
names, IP addresses, and geolocation data.  Implementors should
consult <xref target="I-D.draft-ietf-vcon-privacy-primer"/> for general guidance on privacy
best practices for vCon developers.</t>
      <t>The vCon redaction mechanism (Section 4.1.8 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) SHOULD be
used to create redacted versions of vCons when SIP signaling data
must be shared with parties that should not have access to PII.</t>
      <t>The vCon encrypted form (Section 5.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>) SHOULD be used to
protect SIP signaling data in transit and at rest.</t>
      <t>Producers SHOULD apply data minimization principles by including
only the SIP signaling data needed for the intended purpose.
Diagnostic use cases may require different data than compliance
use cases.  The attachment-based architecture of this extension
supports selective inclusion by allowing producers to choose which
attachment types to create.</t>
      <t>SIP headers such as P-Asserted-Identity, Remote-Party-ID, and
Geolocation contain particularly sensitive data.  Producers SHOULD
carefully evaluate whether these headers should be included in
header summaries or SIP message attachments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC3261" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml">
          <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="June" 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="RFC8225">
          <front>
            <title>PASSporT: Personal Assertion Token</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity or, more generally, a URI or telephone number representing the originator of personal communications. The Personal Assertion Token, PASSporT, is cryptographically signed to protect the integrity of the identity of the originator and to verify the assertion of the identity information at the destination. The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel. PASSporT is particularly useful for many personal-communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8225"/>
          <seriesInfo name="DOI" value="10.17487/RFC8225"/>
        </reference>
        <reference anchor="RFC8588">
          <front>
            <title>Personal Assertion Token (PaSSporT) Extension for Signature-based Handling of Asserted information using toKENs (SHAKEN)</title>
            <author fullname="C. Wendt" initials="C." surname="Wendt"/>
            <author fullname="M. Barnes" initials="M." surname="Barnes"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This document extends the Personal Assertion Token (PASSporT), which is a token object that conveys cryptographically signed information about the participants involved in communications. The extension is defined based on the "Signature-based Handling of Asserted information using toKENs (SHAKEN)" specification by the ATIS/SIP Forum IP-NNI Task Group. It provides both (1) a specific set of levels of confidence in the correctness of the originating identity of a call originated in a SIP-based telephone network as well as (2) an identifier that allows the Service Provider (SP) to uniquely identify the origin of the call within its network.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8588"/>
          <seriesInfo name="DOI" value="10.17487/RFC8588"/>
        </reference>
        <reference anchor="RFC8866" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8866.xml">
          <front>
            <title>SDP: Session Description Protocol</title>
            <author fullname="A. Begen" initials="A." surname="Begen"/>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <date month="January" year="2021"/>
            <abstract>
              <t>This memo defines the Session Description Protocol (SDP). SDP is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. This document obsoletes RFC 4566.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8866"/>
          <seriesInfo name="DOI" value="10.17487/RFC8866"/>
        </reference>
        <reference anchor="I-D.draft-ietf-vcon-vcon-core" target="https://datatracker.ietf.org/doc/draft-ietf-vcon-vcon-core/">
          <front>
            <title>The JSON format for vCon - Conversation Data Container</title>
            <author initials="D. G." surname="Petrie" fullname="Daniel G Petrie">
              <organization>SIPez LLC</organization>
            </author>
            <date year="2026" month="January"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-vcon-core-02"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3311">
          <front>
            <title>The Session Initiation Protocol (SIP) UPDATE Method</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <date month="October" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3311"/>
          <seriesInfo name="DOI" value="10.17487/RFC3311"/>
        </reference>
        <reference anchor="RFC3515">
          <front>
            <title>The Session Initiation Protocol (SIP) Refer Method</title>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <date month="April" year="2003"/>
            <abstract>
              <t>This document defines the REFER method. This Session Initiation Protocol (SIP) extension requests that the recipient REFER to a resource provided in the request. It provides a mechanism allowing the party sending the REFER to be notified of the outcome of the referenced request. This can be used to enable many applications, including call transfer. In addition to the REFER method, this document defines the refer event package and the Refer-To request header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3515"/>
          <seriesInfo name="DOI" value="10.17487/RFC3515"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC7989">
          <front>
            <title>End-to-End Session Identification in IP-Based Multimedia Communication Networks</title>
            <author fullname="P. Jones" initials="P." surname="Jones"/>
            <author fullname="G. Salgueiro" initials="G." surname="Salgueiro"/>
            <author fullname="C. Pearce" initials="C." surname="Pearce"/>
            <author fullname="P. Giralt" initials="P." surname="Giralt"/>
            <date month="October" year="2016"/>
            <abstract>
              <t>This document describes an end-to-end session identifier for use in IP-based multimedia communication systems that enables endpoints, intermediary devices, and management systems to identify a session end-to-end, associate multiple endpoints with a given multipoint conference, track communication sessions when they are redirected, and associate one or more media flows with a given communication session. While the identifier is intended to work across multiple protocols, this document describes its usage in the Session Initiation Protocol (SIP).</t>
              <t>This document also describes a backwards-compatibility mechanism for an existing session identifier implementation (RFC 7329) that is sufficiently different from the procedures defined in this document.</t>
              <t>This document obsoletes RFC 7329.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7989"/>
          <seriesInfo name="DOI" value="10.17487/RFC7989"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="STIR-PASS-RCD" target="https://datatracker.ietf.org/doc/html/draft-ietf-stir-passport-rcd-26">
          <front>
            <title>PASSporT Extension for Rich Call Data</title>
            <author initials="C." surname="Wendt" fullname="Chris Wendt">
              <organization/>
            </author>
            <author initials="J." surname="Peterson" fullname="Jon Peterson">
              <organization/>
            </author>
            <date year="2023" month="June"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-stir-passport-rcd-26"/>
        </reference>
        <reference anchor="SHAKEN-CERT">
          <front>
            <title>SHAKEN: Secure Handling of Asserted information using toKENs</title>
            <author initials="M." surname="Barnes" fullname="Mary Barnes">
              <organization/>
            </author>
            <author initials="C." surname="Wendt" fullname="Chris Wendt">
              <organization/>
            </author>
            <author initials="J." surname="Peterson" fullname="Jon Peterson">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TRACED">
          <front>
            <title>Pallone-Thune Telephone Robocall Abuse Criminal Enforcement and Deterrence Act (TRACED Act)</title>
            <author>
              <organization>United States Congress</organization>
            </author>
            <date year="2019" month="December"/>
          </front>
          <seriesInfo name="Public Law" value="116-105"/>
        </reference>
        <reference anchor="I-D.draft-ietf-vcon-privacy-primer" target="https://datatracker.ietf.org/doc/draft-ietf-vcon-privacy-primer/">
          <front>
            <title>Privacy Primer for vCon Developers</title>
            <author initials="D." surname="James" fullname="Diana James">
              <organization/>
            </author>
            <author initials="T." surname="McCarthy-Howe" fullname="Thomas McCarthy-Howe">
              <organization/>
            </author>
            <date year="2025" month="July"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-privacy-primer-00"/>
        </reference>
        <reference anchor="I-D.draft-ietf-vcon-overview" target="https://datatracker.ietf.org/doc/draft-ietf-vcon-overview/">
          <front>
            <title>The vCon - Conversation Data Container - Overview</title>
            <author initials="T." surname="McCarthy-Howe" fullname="Thomas McCarthy-Howe">
              <organization/>
            </author>
            <date year="2026" month="March"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-overview-01"/>
        </reference>
      </references>
    </references>
    <?line 1006?>

<section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vcon-extension-names-registry">
        <name>vCon Extension Names Registry</name>
        <t>This document registers the following entry in the vCon Extension
Names Registry defined in Section 6.4 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
        <dl>
          <dt>Extension Name:</dt>
          <dd>
            <t>sip-signaling</t>
          </dd>
          <dt>Extension Description:</dt>
          <dd>
            <t>SIP signaling metadata, STIR/SHAKEN
certificates, and related telephony data captured as vCon
attachments and extended Party/Dialog Object parameters.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>IESG</t>
          </dd>
          <dt>Specification Document(s):</dt>
          <dd>
            <t>RFC XXXX (this document)</t>
          </dd>
        </dl>
      </section>
      <section anchor="party-object-parameter-names-registry">
        <name>Party Object Parameter Names Registry</name>
        <t>This document registers the following entries in the Party Object
Parameter Names Registry defined in Section 6.3.3 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Parameter Name</th>
              <th align="left">Parameter Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document(s)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">sip_contact</td>
              <td align="left">SIP Contact header URI</td>
              <td align="left">IESG</td>
              <td align="left">Section 4.1, RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">sip_user_agent</td>
              <td align="left">SIP User-Agent header value</td>
              <td align="left">IESG</td>
              <td align="left">Section 4.2, RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">sip_display_name</td>
              <td align="left">SIP display name from headers</td>
              <td align="left">IESG</td>
              <td align="left">Section 4.3, RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="dialog-object-parameter-names-registry">
        <name>Dialog Object Parameter Names Registry</name>
        <t>This document registers the following entries in the Dialog Object
Parameter Names Registry defined in Section 6.3.4 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Parameter Name</th>
              <th align="left">Parameter Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Specification Document(s)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">sip_call_id</td>
              <td align="left">SIP Call-ID header value</td>
              <td align="left">IESG</td>
              <td align="left">Section 5.1, RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">sip_from_tag</td>
              <td align="left">SIP From header tag parameter</td>
              <td align="left">IESG</td>
              <td align="left">Section 5.2, RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">sip_to_tag</td>
              <td align="left">SIP To header tag parameter</td>
              <td align="left">IESG</td>
              <td align="left">Section 5.3, RFC XXXX</td>
            </tr>
            <tr>
              <td align="left">sip_cseq</td>
              <td align="left">SIP CSeq number from dialog-creating request</td>
              <td align="left">IESG</td>
              <td align="left">Section 5.4, RFC XXXX</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="attachment-purpose-values">
        <name>Attachment Purpose Values</name>
        <t>This document does not define a formal registry for Attachment
Object purpose values, as the purpose parameter in <xref target="I-D.draft-ietf-vcon-vcon-core"/> is a
free-form string (Section 4.4.1 of <xref target="I-D.draft-ietf-vcon-vcon-core"/>).  However, the following
purpose values are defined by this document and their semantics
MUST be preserved by implementations claiming conformance with this
extension.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Purpose Value</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">sip-invite</td>
              <td align="left">SIP INVITE request</td>
            </tr>
            <tr>
              <td align="left">sip-response</td>
              <td align="left">SIP response message</td>
            </tr>
            <tr>
              <td align="left">sip-ack</td>
              <td align="left">SIP ACK request</td>
            </tr>
            <tr>
              <td align="left">sip-bye</td>
              <td align="left">SIP BYE request</td>
            </tr>
            <tr>
              <td align="left">sip-cancel</td>
              <td align="left">SIP CANCEL request</td>
            </tr>
            <tr>
              <td align="left">sip-update</td>
              <td align="left">SIP UPDATE request</td>
            </tr>
            <tr>
              <td align="left">sip-refer</td>
              <td align="left">SIP REFER request</td>
            </tr>
            <tr>
              <td align="left">sip-message-trace</td>
              <td align="left">Structured SIP message exchange</td>
            </tr>
            <tr>
              <td align="left">sip-sdp</td>
              <td align="left">Session Description Protocol body</td>
            </tr>
            <tr>
              <td align="left">sip-headers</td>
              <td align="left">Selected SIP header summary</td>
            </tr>
            <tr>
              <td align="left">stir-certificate</td>
              <td align="left">STIR/SHAKEN certificate or chain</td>
            </tr>
            <tr>
              <td align="left">stir-verification-report</td>
              <td align="left">PASSporT verification results</td>
            </tr>
            <tr>
              <td align="left">stir-passport-extended</td>
              <td align="left">Extended PASSporT (JSON Serialization)</td>
            </tr>
          </tbody>
        </table>
        <t>If a future version of <xref target="I-D.draft-ietf-vcon-vcon-core"/> establishes a formal registry for
attachment purpose values, the values defined in this document
SHOULD be registered in that registry.</t>
      </section>
    </section>
    <section anchor="example-vcons">
      <name>Example vCons</name>
      <section anchor="minimal-sip-call">
        <name>Minimal SIP Call</name>
        <t>This example shows a minimal vCon for a two-party SIP call with
basic signaling metadata.  It includes the INVITE and 200 OK as
attachments, the sip_call_id on the dialog, and a PASSporT on the
originating party.</t>
        <sourcecode type="json"><![CDATA[
{
  "vcon": "0.0.2",
  "extensions": ["sip-signaling"],
  "parties": [
    {
      "tel": "+12125551234",
      "sip": "alice@example.com",
      "name": "Alice",
      "stir": "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsIn..."
    },
    {
      "tel": "+12125559876",
      "sip": "bob@biloxi.example.com",
      "name": "Bob"
    }
  ],
  "dialog": [
    {
      "type": "recording",
      "start": "2026-01-15T14:30:05.200+00:00",
      "duration": 312.5,
      "parties": [0, 1],
      "mediatype": "audio/x-wav",
      "encoding": "base64url",
      "body": "UklGRi...",
      "sip_call_id": "a84b4c76e66710@pc33.example.com"
    }
  ],
  "analysis": [],
  "attachments": [
    {
      "purpose": "sip-invite",
      "start": "2026-01-15T14:30:00.000+00:00",
      "party": 0,
      "dialog": 0,
      "mediatype": "message/sip",
      "encoding": "base64url",
      "body": "SU5WSVRFIHNpcDpib2JA..."
    },
    {
      "purpose": "sip-response",
      "start": "2026-01-15T14:30:05.200+00:00",
      "party": 1,
      "dialog": 0,
      "mediatype": "message/sip",
      "encoding": "base64url",
      "body": "U0lQLzIuMCAyMDAgT0sN..."
    }
  ]
}
]]></sourcecode>
      </section>
      <section anchor="full-sip-trace-with-stirshaken">
        <name>Full SIP Trace with STIR/SHAKEN</name>
        <t>This example shows a more comprehensive vCon with a full SIP
message trace, STIR/SHAKEN certificate chain, verification report,
and all extension parameters.</t>
        <sourcecode type="json"><![CDATA[
{
  "vcon": "0.0.2",
  "extensions": ["sip-signaling"],
  "parties": [
    {
      "tel": "+12125551234",
      "sip": "alice@example.com",
      "name": "Alice Smith",
      "stir": "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsIn...",
      "sip_contact": "sip:alice@198.51.100.5:5060",
      "sip_user_agent": "ExamplePhone/2.1.0",
      "sip_display_name": "Alice Smith"
    },
    {
      "tel": "+12125559876",
      "sip": "bob@biloxi.example.com",
      "name": "Bob Jones",
      "sip_contact": "sip:bob@203.0.113.10:5060",
      "sip_user_agent": "BiloProvider-UA/3.4",
      "sip_display_name": "Bob Jones"
    }
  ],
  "dialog": [
    {
      "type": "recording",
      "start": "2026-01-15T14:30:05.200+00:00",
      "duration": 312.5,
      "parties": [0, 1],
      "mediatype": "audio/x-wav",
      "encoding": "base64url",
      "body": "UklGRi...",
      "sip_call_id": "a84b4c76e66710@pc33.example.com",
      "sip_from_tag": "1928301774",
      "sip_to_tag": "a6c85cf",
      "sip_cseq": 314159,
      "session_id": {
        "local": "aeffa location-ca11-ab01-0123456789ab",
        "remote": "bef1a location-ca11-ab01-0123456789cd"
      }
    }
  ],
  "analysis": [],
  "attachments": [
    {
      "purpose": "sip-message-trace",
      "dialog": 0,
      "mediatype": "application/json",
      "encoding": "json",
      "body": {
        "version": "1.0",
        "call_id": "a84b4c76e66710@pc33.example.com",
        "messages": [
          {
            "timestamp": "2026-01-15T14:30:00.001+00:00",
            "direction": "sent",
            "party": 0,
            "method": "INVITE",
            "headers": {
              "From": "\"Alice Smith\" <sip:alice@example.com>;tag=1928301774",
              "To": "<sip:bob@biloxi.example.com>",
              "CSeq": "314159 INVITE",
              "Contact": "<sip:alice@198.51.100.5:5060>",
              "Identity": "eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsIn..."
            }
          },
          {
            "timestamp": "2026-01-15T14:30:00.050+00:00",
            "direction": "received",
            "party": 1,
            "status_code": 100,
            "status_text": "Trying"
          },
          {
            "timestamp": "2026-01-15T14:30:01.200+00:00",
            "direction": "received",
            "party": 1,
            "status_code": 180,
            "status_text": "Ringing",
            "headers": {
              "To": "<sip:bob@biloxi.example.com>;tag=a6c85cf"
            }
          },
          {
            "timestamp": "2026-01-15T14:30:05.200+00:00",
            "direction": "received",
            "party": 1,
            "status_code": 200,
            "status_text": "OK",
            "headers": {
              "To": "<sip:bob@biloxi.example.com>;tag=a6c85cf",
              "Contact": "<sip:bob@203.0.113.10:5060>"
            }
          },
          {
            "timestamp": "2026-01-15T14:30:05.250+00:00",
            "direction": "sent",
            "party": 0,
            "method": "ACK"
          },
          {
            "timestamp": "2026-01-15T14:35:17.700+00:00",
            "direction": "sent",
            "party": 0,
            "method": "BYE"
          },
          {
            "timestamp": "2026-01-15T14:35:17.750+00:00",
            "direction": "received",
            "party": 1,
            "status_code": 200,
            "status_text": "OK"
          }
        ]
      }
    },
    {
      "purpose": "stir-certificate",
      "party": 0,
      "dialog": 0,
      "mediatype": "application/pem-certificate-chain",
      "encoding": "none",
      "body": "-----BEGIN CERTIFICATE-----\nMIIBxTCCAWugAwI...\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIICIjCCAcigAwI...\n-----END CERTIFICATE-----\n"
    },
    {
      "purpose": "stir-verification-report",
      "party": 0,
      "dialog": 0,
      "mediatype": "application/json",
      "encoding": "json",
      "body": {
        "verifier": "biloxi-telco-verification-service",
        "timestamp": "2026-01-15T14:30:00.100+00:00",
        "result": "verified",
        "attestation": "A",
        "orig_tn": "+12125551234",
        "dest_tn": ["+12125559876"]
      }
    },
    {
      "purpose": "sip-sdp",
      "start": "2026-01-15T14:30:00.001+00:00",
      "party": 0,
      "dialog": 0,
      "mediatype": "application/sdp",
      "encoding": "none",
      "body": "v=0\r\no=alice 53655765 2353687637 IN IP4 198.51.100.5\r\ns=-\r\nc=IN IP4 198.51.100.5\r\nt=0 0\r\nm=audio 49170 RTP/AVP 0 8 97\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:97 opus/48000/2\r\n"
    }
  ]
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="json-schema-extension">
      <name>JSON Schema Extension</name>
      <t>The following JSON Schema fragment extends the vCon JSON Schema
defined in Appendix B of <xref target="I-D.draft-ietf-vcon-vcon-core"/> with the parameters defined in this
document.</t>
      <t>Party Object extension (merge with existing Party Object schema):</t>
      <sourcecode type="json"><![CDATA[
{
  "properties": {
    "sip_contact": {
      "type": "string",
      "description": "SIP Contact header URI"
    },
    "sip_user_agent": {
      "type": "string",
      "description": "SIP User-Agent header value"
    },
    "sip_display_name": {
      "type": "string",
      "description": "Display name from SIP From/To header"
    }
  }
}
]]></sourcecode>
      <t>Dialog Object extension (merge with existing Dialog Object schema):</t>
      <sourcecode type="json"><![CDATA[
{
  "properties": {
    "sip_call_id": {
      "type": "string",
      "description": "SIP Call-ID header value"
    },
    "sip_from_tag": {
      "type": "string",
      "description": "SIP From header tag parameter"
    },
    "sip_to_tag": {
      "type": "string",
      "description": "SIP To header tag parameter"
    },
    "sip_cseq": {
      "type": "integer",
      "minimum": 0,
      "description": "CSeq number from dialog-creating request"
    }
  }
}
]]></sourcecode>
      <t>SIP Message Trace schema (for sip-message-trace attachment body):</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "object",
  "required": ["version", "call_id", "messages"],
  "properties": {
    "version": {
      "type": "string",
      "enum": ["1.0"]
    },
    "call_id": {
      "type": "string"
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["timestamp", "direction"],
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "direction": {
            "type": "string",
            "enum": ["sent", "received"]
          },
          "party": {
            "type": "integer",
            "minimum": 0
          },
          "method": {
            "type": "string"
          },
          "status_code": {
            "type": "integer",
            "minimum": 100,
            "maximum": 699
          },
          "status_text": {
            "type": "string"
          },
          "headers": {
            "type": "object"
          },
          "body": {
            "type": "string"
          },
          "body_encoding": {
            "type": "string",
            "enum": ["base64url"]
          }
        }
      }
    }
  }
}
]]></sourcecode>
      <t>STIR Verification Report schema (for stir-verification-report
attachment body):</t>
      <sourcecode type="json"><![CDATA[
{
  "type": "object",
  "required": ["verifier", "timestamp", "result"],
  "properties": {
    "verifier": {
      "type": "string"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    },
    "result": {
      "type": "string",
      "enum": [
        "verified",
        "failed",
        "no-signature",
        "stale",
        "certificate-error"
      ]
    },
    "attestation": {
      "type": "string",
      "enum": ["A", "B", "C"]
    },
    "reason": {
      "type": "string"
    },
    "orig_tn": {
      "type": "string"
    },
    "dest_tn": {
      "oneOf": [
        { "type": "string" },
        {
          "type": "array",
          "items": { "type": "string" }
        }
      ]
    }
  }
}
]]></sourcecode>
    </section>
  </back>
  <!-- ##markdown-source:
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
oVZK0S0jqWpGq5DQrxUS+r+nwKFekLIAAA==

-->

</rfc>
