<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-sipcore-callinfo-rcd-19" number="9796" updates="" obsoletes="" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3" xml:lang="en">

  <front>
    <title abbrev="Call-Info Rich Call Data">SIP Call-Info Parameters for Rich Call Data</title>
    <seriesInfo name="RFC" value="9796"/>
    <author initials="C." surname="Wendt" fullname="Chris Wendt">
      <organization>Somos</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>chris@appliedbits.com</email>
      </address>
    </author>
    <author initials="J." surname="Peterson" fullname="Jon Peterson">
      <organization>TransUnion</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>jon.peterson@transunion.com</email>
      </address>
    </author>
    <date year="2025" month="July"/>
    <area>ART</area>
    <workgroup>sipcore</workgroup>
    <keyword>Identity</keyword>
    <abstract>
<t>This document specifies a usage of the SIP Call-Info header field that incorporates Rich Call Data (RCD) associated with the identity of the originating party in order to provide to the terminating party a description of the caller (including details about the reason for the session). RCD includes information about the caller beyond the telephone number (such as a calling name, logo, photo, or jCard object representing the caller), which can help the called party decide how to handle the session request.</t>
      <t>This document defines three new parameters 'call-reason', 'verified', and 'integrity' for the SIP Call-Info header field and also a new token ("jcard") for the 'purpose' parameter of the Call-Info header field. It also provides guidance on the use of the Call-Info 'purpose' parameter token, "icon".</t>
    </abstract>
  </front>
  <middle>
    <?line 81?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Signaling protocols in telephone networks have long supported the delivery of a 'calling name' from the originating side to the terminating side; however, in practice, the terminating side is often left to derive a name from the calling-party number by consulting a local address book or an external database. SIP <xref target="RFC3261"/> similarly can carry a 'display-name' in the From header field value from the originating to terminating side, though it is a field that is not commonly trusted and is often replaced or ignored. The same can be considered true of information in the Call-Info header field in SIP.</t>

      <t>This document defines usage of the SIP Call-Info header field <xref target="RFC3261"/> that allows called parties to receive a more comprehensive and extensible set of Rich Call Data (RCD) for incoming calls. It defines specific usage of the Call-Info header field, a new parameter ('call-reason'), and a new token ("jcard") for the 'purpose' parameter of the Call-Info header field. Depending on the policies of the communications system, a calling party could be either the end user device (e.g., a SIP user agent (UA)) or a network service as part of a telephone service provider. Similarly, a called party could be an end user device or the network telephone service provider acting on behalf of the recipient of the call.</t>
      <t>In order to properly protect and communicate some of the authenticated and trusted properties of "rcd" claims defined in <xref target="RFC9795"/>, this document defines two additional new parameters, 'verified' and 'integrity'. These parameters help protect RCD information that had been sent via a SIP network to, for example, a SIP entity on the edge of the Network-Network Interface (NNI) that contains a verification service as defined in <xref target="RFC8224"/> and further defined specific to RCD information in <xref target="RFC9795"/>. The verification procedures include the successful verification of the "rcd" claims and can be correspondingly represented in the Call-Info header field via these new parameters.</t>
      <t>Used on its own, this specification assumes that the called party UA can trust the SIP network to assign, deliver, and protect the correct RCD information as an end-to-end security policy. However, as is true in many interconnected communications services, this end-to-end trust cannot be guaranteed. Therefore, the recommended approach is that the entity inserting the Call-Info header field should also sign the caller information via protocol tools defined by Secure Telephone Identity Revisited (STIR) <xref target="RFC7340"/> for SIP <xref target="RFC8224"/> and specifically through the use of RCD or the "rcd" PASSporT defined in <xref target="RFC9795"/>.</t>


      <t>Alternatively, this specification can be utilized in conjunction with the protocols defined in <xref target="RFC9795"/> as part of the communications signaling path, specifically in the trusted User-Network Interface (UNI) device interface at the terminating side as part of an authenticated, network-to-device, trusted signaling where a device may not have the ability to verify the "rcd" PASSporT, but it can receive the RCD information from the Call-Info header field as defined in this specification.</t>
      <t>This specification provides an approach for the delivery of jCard data that utilizes the same mechanism as <xref target="RFC7852"/> which defined a means of carrying additional data about callers for the purposes of emergency services (especially Section <xref target="RFC7852" section="4.4" sectionFormat="bare">Owner/Subscriber Information</xref> of <xref target="RFC7852"/>). This document defines a 'purpose' parameter value "jcard" for the more generic delivery of information via jCard <xref target="RFC7095"/>. This document borrows from <xref target="RFC7852"/> the capability to carry a data structure as a body, through the use of the "cid" URI scheme <xref target="RFC2392"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
    NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>This document provides a framework for the use of Call-Info header field to carry RCD in SIP <xref target="RFC3261"/>. The Call-Info header field (defined in <xref section="20.9" sectionFormat="comma" target="RFC3261"/>) defines a 'purpose' parameter. In addition to providing guidance on calling name practices and the use of the existing 'purpose' parameter token, "icon", this document expands on other types of RCD by defining a new 'purpose' token, "jcard", and three new parameters, 'call-reason', 'verified', and 'integrity' for the Call-Info header field to align with RCD as defined in the STIR framework <xref target="RFC8224"/> and with "rcd" PASSporTs defined in <xref target="RFC9795"/>.</t>
      <t>The 'purpose' parameter token "jcard" is used to associate RCD related to the identity of the calling party in the form of a jCard <xref target="RFC7095"/>. While there is a "card" token defined in <xref target="RFC3261"/> which could be considered to have an overlapping purpose, the "jcard" token is intended to denote the jCard profile defined in this document for use in the Call-Info header field for RCD. The choice of jCard in this specification is guided by two aspects. jCard represents an extensible method of providing information about a person or business associated with a call, has been defined in <xref target="RFC9795"/>, and has been adopted by PASSporT <xref target="RFC8225"/> because of the usage of JSON Web Tokens (JWT) <xref target="RFC7519"/>.</t>
      <t>The new Call-Info header field parameter 'call-reason' conveys the caller's intent or reason for calling to help the called party understand the context and intent of the call and why they may want to answer the call.</t>
      <t>The new Call-Info header field parameter 'verified' provides an indication, with the value "true", to represent the results of the verification procedures that were performed by the sender of the Call-Info header field. The new Call-Info header field parameter 'integrity' provides a mechanism to associate an integrity hash string, as defined in <xref section="8.2" target="RFC9795"/>, that is associated with the content of the resource referenced by the URI represented in the Call-Info header field.</t>
    </section>
    <section anchor="a-call-info-framework-for-carrying-rich-call-data">
      <name>A Call-Info Framework for Carrying Rich Call Data</name>
      <t>This specification extends the Call-Info header field to be compatible and complementary to the RCD framework defined in <xref target="RFC9795"/>. Typically, a SIP-based session involves multiple hops through different trusted and untrusted networks. The STIR framework <xref target="RFC7340"/> addresses the protection of the carriage of call information and identities over untrusted networks, which wasn't addressed in the core SIP specifications. <xref section="20.9" sectionFormat="comma" target="RFC3261"/> defines the Call-Info header field as the mechanism for carrying call- and caller-related information and also provides procedures for defining new 'purpose' parameter tokens. This document discusses the use of existing tokens and defines a new 'purpose' token to correspond to the RCD framework.</t>

      <t>There are a number of RCD information types that can be transmitted in the Call-Info header field of a SIP request. The STIR RCD specification <xref target="RFC9795"/> defines the following primary RCD elements: a calling name, a logo or icon associated with the caller, and a call reason string. It also discusses an extensible way to carry caller information using jCard <xref target="RFC7095"/>.</t>


      <t>The RCD framework defined both in this document as well as in <xref target="RFC9795"/> carries call-specific information. The insertion of RCD is intended to be singular in that the receiving party should not be required to make any call-specific decisions based on redundant, duplicate, or conflicting RCD. The RCD information is either intended to be added by a party that is authoritative over that information or to have been translated from a verified STIR RCD PASSporT and unmodified once in a trusted domain. Any additional parties involved in the call path <bcp14>MUST NOT</bcp14> modify the Call-Info header field or add additional Call-Info header fields related to RCD. 
The trusted and verified caller RCD information inserted in the RCD Call-Info 
header field <bcp14>MUST NOT</bcp14> be modified or altered.  The user should be able to 
trust that the RCD information accurately represents the verified information.
This specification acknowledges that without the use of STIR or other mechanisms, detection of any modifications is not possible, so guidance for the use of this specification in a trusted UNI part of the network is important.</t>

      <t>As discussed in <xref target="RFC9795"/>, the calling name uses the display-name value of the From header field <xref target="RFC3261"/> of the request. Alternatively, for some calls, the calling name may come from the P-Asserted-ID header field <xref target="RFC3325"/>. While this is out of scope for the Call-Info header field in terms of the representation of the display-name value, this document does discuss the representation of the verification of this value using the 'verified' parameter.</t>
      <t>For logos or icons that can represent the calling party, the 'purpose' token "icon" <xref target="RFC3261"/> is used to indicate a URI for an image resource that can be displayed to the user receiving the SIP request. For the purpose of this document and the transmission of RCD, the "icon" 'purpose' token should be used as defined. <xref target="RFC9795" section="8.2" sectionFormat="of"/> provides high-level guidance on image formatting and related information.</t>
      <t>This document defines 'call-reason' as a new parameter for the Call-Info header field. This parameter carries a string indicating the reason for the call.</t>
      <t>jCard is a comprehensive and extensible mechanism utilized as part of the STIR RCD framework. While <xref target="RFC3261"/> specifies a "card" 'purpose' token, the intent of defining a new "jcard" 'purpose' token is to use the JSON jCard format <xref target="RFC7095"/> and to provide guidance for the use and non-use of jCard attributes to describe the calling party in a communications session as well to provide some security considerations around that information. These topics are covered in the next sections.</t>
    </section>
    <section anchor="jcard-call-info-purpose-token">
      <name>"jcard" Call-Info 'purpose' Token</name>
      <t>The Call-Info 'purpose' token "jcard" indicates support of RCD associated with the identity of a calling party in a SIP call <xref section="20.9" sectionFormat="comma" target="RFC3261"/>. The format of a Call-Info header field when using the "jcard" token is as follows.</t>
      <t>The Call-Info header field is defined to include a URI that points to a resource that is a jCard JSON object <xref target="RFC7095"/>. The media type for the JSON text <bcp14>MUST</bcp14> be set as application/json with an encoding of UTF-8 <xref target="RFC8259"/>. This <bcp14>MAY</bcp14> be carried directly in the Call-Info header field URI using the "data" URI scheme. A jCard also <bcp14>MAY</bcp14> be carried in the body of the SIP request bearing this Call-Info header field via the "cid" URI scheme <xref target="RFC2392"/>. Alternatively, the Call-Info header field URI <bcp14>MUST</bcp14> use a transport that can validate the integrity of the source of the resource (e.g., HTTPS tied to a specific validated domain). If, in the specific deployment environment of SIP, the source or integrity of the RCD information cannot be trusted, then the use of the STIR RCD framework defined in <xref target="RFC9795"/> should be considered.</t>
      <t>Because the use and purpose of this specification is to provide a single presentation of RCD information, a call and its corresponding single RCD-related Call-Info header field <bcp14>MUST</bcp14> only contain a single jCard object represented by an array with two elements. The array <bcp14>MUST</bcp14> only include a single first element with the string "vcard", and the second element is an array of jCard properties corresponding to the single entity jCard object.</t>

      <t>jCard has multiple fields that may convey similar information, for example, "fn", "n", or "nickname" are strings that represent names in different ways, or "photo" or "logo" represent a picture. Users of this specification should make sure there is consistency for the calling name string corresponding to the single name in the SIP From or P-Asserted-ID header field or a "logo" or "photo" corresponds to the RCD "icon" as described in the previous section. As described in <xref target="RFC8224"/> and <xref target="RFC9795"/> verification procedures, the values represented in the RCD <bcp14>MUST</bcp14> match the corresponding information in the SIP message to enable proper verification of calling name or icon consistently.</t>

      <t>An example of a Call-Info header field is:</t>
      <artwork><![CDATA[
Call-Info: <https://example.com/qbranch.json>;purpose=jcard
]]></artwork>
      <t>An example of the contents of a URL-linked jCard JSON file is shown as follows:</t>
      <artwork><![CDATA[
["vcard",
  [
    ["version",{},"text","4.0"],
    ["fn",{},"text","Q Branch"],
    ["org",{},"text","MI6;Q Branch Spy Gadgets"],
    ["photo",{},"uri","https://example.com/photos/q-256x256.png"],
    ["logo",{},"uri","https://example.com/logos/mi6-256x256.jpg"],
    ["logo",{},"uri","https://example.com/logos/mi6-64x64.jpg"]
  ]
]
]]></artwork>
      <t>An example SIP INVITE using the "data" URI scheme is as follows:</t>
      <artwork><![CDATA[
   INVITE sip:alice@example.com SIP/2.0
   Via: SIP/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bKnashds8
   To: Alice <sip:alice@example.com>
   From: Bob <sip:12155551000@example.com;user=phone>;tag=1928301774>
   Call-ID: a84b4c76e66710
   Call-Info: <data:application/json,["vcard",[["version",{},"text",
    "4.0"],["fn",{},"text","Q Branch"],["org",{},"text","MI6;Q Branch
    Spy Gadgets"],["photo",{},"uri","https://example.com/photos/quart
    ermaster-256x256.png"],["logo",{},"uri","https://example.com/log
    os/mi6-256x256.jpg"],["logo",{},"uri","https://example.com/logos/
    mi6-64x64.jpg"]]]\>;purpose=jcard;call-reason="Rendezvous for
    Little Nellie"
   CSeq: 314159 INVITE
   Max-Forwards: 70
   Date: Fri, 25 Sep 2025 19:12:25 GMT
   Contact: <sip:12155551000@gateway.example.com>
   Content-Type: application/sdp
 
   v=0
   o=UserA 2890844526 2890844526 IN IP4 pc33.atlanta.example.com
   s=Session SDP
   c=IN IP4 pc33.atlanta.example.com
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
]]></artwork>
      <t>An example SIP INVITE using the "cid" URI scheme is as follows:</t>
      <artwork><![CDATA[
   INVITE sip:alice@example.com SIP/2.0
   Via: SIP/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bKnashds8
   To: Alice <sip:alice@example.com>
   From: Bob <sip:12155551000@example.com;user=phone>;tag=1928301774>
   Call-ID: a84b4c76e66710
   Call-Info: <cid:12155551000@example.com>;purpose=jcard;
    call-reason="Rendezvous for Little Nellie"
   CSeq: 314159 INVITE
   Max-Forwards: 70
   Date: Fri, 25 Sep 2025 19:12:25 GMT
   Contact: <sip:12155551000@gateway.example.com>
   Content-Type: multipart/mixed; boundary=boundary1
   Content-Length: ...

   --boundary1

   Content-Type: application/sdp

   v=0
   o=UserA 2890844526 2890844526 IN IP4 pc33.atlanta.example.com
   s=Session SDP
   c=IN IP4 pc33.atlanta.example.com
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000

   --boundary1

   Content-Type: application/json
   Content-ID: <12155551000@example.com>

   ["vcard",[["version",{},"text","4.0"],["fn",{},"text","Q Branch"],
    ["org",{},"text","MI6;Q Branch Spy Gadgets"],["photo",{},"uri","
    https://example.com/photos/quartermaster-256x256.png"],["logo",
    {},"uri","https://example.com/logos/mi6-256x256.jpg"],["logo",{},
    "uri","https://example.com/logos/mi6-64x64.jpg"]]]
]]></artwork>
    </section>
    <section anchor="call-reason-call-info-parameter">
      <name>'call-reason' Call-Info Parameter</name>
      <t>This parameter is intended to be separate and distinct from the other URI and 'purpose' tokens that may precede these parameters.</t>

      <t>This new parameter of the Call-Info header field is called 'call-reason'. The 'call-reason' parameter is intended to convey a short textual message suitable for display to an end user during call alerting. As a general guideline, this message <bcp14>SHOULD</bcp14> be no longer than 64 characters; displays that support this specification may be forced to truncate messages that cannot fit onto a screen. This message conveys the caller's intention in contacting the callee. It is an optional parameter, and the sender of a SIP request cannot guarantee that its display will be supported by the terminating endpoint. The manner in which this reason is set by the caller is outside the scope of this specification. In general, use of strings that could be forms of URIs or other potential strings that could be used or interpreted as a 'clickable' action is discouraged.</t>
      <t>An alternative approach would have been to use the value of Subject header field <xref target="RFC3261"/> to convey the reason for the call. However, because the Subject header field has seen little historical use in SIP implementations and its specification describes its potential use in filtering, it seemed prudent to define a new means of carrying a call-reason indication.</t>
      <t>An example of a Call-Info header field value with the "call-reason" parameter follows:</t>
      <artwork><![CDATA[
   Call-Info: <https://example.com/jbond.json>;purpose=jcard;
    call-reason="For your ears only"
]]></artwork>

      <t>For 'call-reason' or 'verified' parameters defined in this document that do not require an associated URI or for future parameters that do not require an associated URI, the Call-Info header field URI should be set to the null data URI, "data:".
The purpose parameter "jcard", defined in this document, is used to avoid any conflicts or confusion with existing implementations and previously defined purpose parameters.  As an example:</t>
      <artwork><![CDATA[
   Call-Info: <data:>;purpose=jcard;
    call-reason="For your ears only"
]]></artwork>
    </section>
    <section anchor="verified-call-info-parameter">
      <name>'verified' Call-Info Parameter</name>
      <t>The 'verified' parameter extends and complements the content conveyed by the RCD-related Call-Info header field. This parameter indicates to the recipient that the information contained in the Call-Info header field has been verified by verification procedures for claims defined in <xref section="8" target="RFC9795"/>. The presence of a 'verified' parameter on a Call-Info header field should be considered specific to the information for that Call-Info header field only. If there is a Call-Info header field corresponding to information defined in this specification that doesn't contain a 'verified' parameter, the recipient should assume that information was not received and verified corresponding to the verification procedures defined in <xref section="8" target="RFC9795"/>.</t>
      <t>There is a single valid value associated with the 'verified' parameter of 'true'. The value 'true' indicates to the recipient that the party that included the Call-Info header field performed a successful verification of the information represented. As a general principle of Call-Info header field information, the recipients'
ability to trust the 'verified' parameter is based on the trusted
relationship with the party from whom they are receiving the SIP request.
      </t>

      <t>The following is an example where the parameter verified="true" is used to represent that a verification procedure has been performed within a trusted domain to indicate the "icon" URL has been successfully verified:</t>
      <artwork><![CDATA[
   Call-Info: <https://example.com/jbond.png>;purpose=icon;
    verified="true"
]]></artwork>

      <t>In addition to the use of the indication of successful verification of RCD information, an important usage of the 'verified' parameter is to indicate verification of display-name information, sometimes referred to as calling name or CNAM.</t>
      <t>In the following example, a call was delivered via an NNI to a terminating provider with the following STIR RCD PASSporT.</t>
      <artwork><![CDATA[
   Protected Header
   {
     "alg":"ES256",
     "typ":"passport",
     "ppt":"rcd",
     "x5u":"https://cert.example.org/passport.pem"
   }
   Payload
   {
     "dest":{"tn":["12025551001"]},
     "iat":1443208345,
     "orig":{"tn":"12025551000"},
     "rcd":{"nam":"James Bond","icn":"https://example.com/jbond.png"}
   }
]]></artwork>

      <t>The terminating provider receives a SIP INVITE with an identity header containing the STIR RCD PASSporT that is verified through a verification service. The provider then wants to deliver the call to an end device in the trusted and authenticated UNI network. The provider uses local policies to determine the information to present to the end device. The following example SIP INVITE could be used to represent the RCD information using two Call-Info header fields.  Because both the icon and calling name have passed verification, a Call-Info header for the "icon" is added with a verified="true" parameter, and the use of Call-Info with a null data URI is used, as discussed in the "call-reason" section above. 
This document defines that the display-name information in either the From and/or P-Asserted-ID header field has been verified via RCD PASSporT verification procedures when the following is present: a 'purpose' parameter tokens of "jcard", a Call-Info header field with a null data URI "data:", and a verified parameter equal to "true".
</t>
      <t>Example SIP INVITE described above:</t>
      <artwork><![CDATA[
   INVITE sip:qbranch@example.com SIP/2.0
   Via: SIP/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bKnashds8
   To: "QBranch" <sip:qbranch@example.com>
   From: "James Bond" <sip:12155551000@example.com;user=phone>;
    tag=1928>
   Call-ID: a84b4c76e66710
   Call-Info: <https://example.com/jbond.png>;purpose=icon;
    verified="true"
   Call-Info: <data:>;purpose=jcard;verified="true"
   CSeq: 314159 INVITE
   Max-Forwards: 70
   Date: Fri, 25 Sep 2025 19:12:25 GMT
   Contact: <sip:12155551000@gateway.example.com>
   Content-Type: application/sdp

   v=0
   o=UserA 2890844526 2890844526 IN IP4 pc33.atlanta.example.com
   s=Session SDP
   c=IN IP4 pc33.atlanta.example.com
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
]]></artwork>
    </section>
    <section anchor="integrity-call-info-parameter">
      <name>'integrity' Call-Info Parameter</name>
      <t>The 'integrity' parameter extends and complements the integrity information conveyed specifically by the "rcdi" claim in the RCD-related Call-Info header field. This parameter is used to indicate, for a URI represented in the Call-Info header field, that the resource referenced by that URI has an associated integrity hash value, based conceptually on <xref target="W3C-SRI"/>. <xref section="6" target="RFC9795"/> describes the procedures for the creation of the digest value including the hash algorithm indicator a '-' separator and the hash value as a string. The JSON pointer object container described as the container of the 'rcdi' hashes is not necessary because each hash value should only correspond to a single URI. Corresponding to guidance defined in <xref section="6" target="RFC9795"/>, implementations of this specification <bcp14>MUST</bcp14> support the hash algorithms SHA-256, SHA-384, and SHA-512.  These hash algorithms are identified by "sha256", "sha384", and "sha512", respectively.</t>

<t>   Assuming the URI and the resource pointing
   to the URI don't change between the STIR RCD PASSporT and the Call-
   Info URI value, the integrity value can typically be used as the same
   corresponding string in both the "rcdi" claim and the 'integrity'
   parameter. </t>

     <aside><t>Note: When the 'rcdi' claim is part of the successfully verified RCD PASSporT, the Call-Info Header Field should include both the 'verified' and 'integrity' parameters.
Creation of a Call-Info header field based on an identity header field that carries RCD claims that does not pass verification procedures is not suggested (i.e., the inclusion of an 'integrity' parameter without a properly included 'verified' parameter).</t></aside>
      <t>Example STIR RCD PASSporT:</t>
      <artwork><![CDATA[
   Protected Header
   {
     "alg":"ES256",
     "typ":"passport",
     "ppt":"rcd",
     "x5u":"https://cert.example.org/passport.pem"
   }
   Payload
   {
     "crn": "Rendezvous for Little Nellie",
     "dest": {"tn": ["12155551001"]},
     "iat": 1443208345,
     "orig": {"tn": "12025551000"},
     "rcd": {
       "nam": "Q Branch Spy Gadgets",
       "icn": "https://example.com/photos/q-256x256.png"
     },
     "rcdi": {
       "/icn": "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4"
     }
   }
]]></artwork>
      <t>Example corresponding SIP INVITE with Call-Info information derived from RCD information above:</t>
      <artwork><![CDATA[
   INVITE sip:qbranch@example.com SIP/2.0
   Via: SIP/2.0/TLS pc33.atlanta.example.com;branch=z9hG4bKnashds8
   To: "James Bond" <sip:12155551001@example.com;user=phone>
   From: "Q Branch Spy Gadgets" <sip:12025551000@example.com;
    user=phone>;tag=1928>
   Call-ID: a84b4c76e66710
   Call-Info: <https://example.com/photos/q-256x256.png>;purpose=
    icon;verified="true";integrity="sha256-RojgWwU6xUtI4q82+kHPyHm
    1JKbm7+663bMvzymhkl4"
   Call-Info: <data:>;purpose=jcard;call-reason="Rendezvous for 
    Little Nellie";verified="true"
   Call-Info: <data:>;purpose=jcard;verified="true"
   CSeq: 314159 INVITE
   Max-Forwards: 70
   Date: Fri, 25 Sep 2025 19:12:25 GMT
   Contact: <sip:12155551000@gateway.example.com>
   Content-Type: application/sdp

   v=0
   o=UserA 2890844526 2890844526 IN IP4 pc33.atlanta.example.com
   s=Session SDP
   c=IN IP4 pc33.atlanta.example.com
   t=0 0
   m=audio 49172 RTP/AVP 0
   a=rtpmap:0 PCMU/8000
]]></artwork>
    </section>
    <section anchor="usage-and-an-example-of-call-info-for-rcd">
      <name>Usage and an Example of Call-Info for RCD</name>


      <t>The procedures for the usage of URIs and 'purpose' parameter tokens should follow the procedures defined in <xref target="RFC3261"/>. The general management and provisioning of RCD for an initiating party requires a lot of validation of information regarding that specific initiating party, which is out of scope of this document.  
Since the 'rcd' Call-Info header field is verified during the transition from the Network-to-Network Interface (NNI) to the User-to-Network Interface (UNI), a common approach is to extract and translate the verified information from a received STIR 'rcd' PASSporT into this header field. This allows the RCD to be delivered to the end user device through the UNI.
</t>

      <t>The following example provides both the STIR RCD PASSporT and the corresponding set of Call-Info header fields showing the use of multiple Call-Info 'purpose' tokens to indicate "jCard" and "icon" and also a 'call-reason' Call-Info parameter:</t>
      <t>Example STIR RCD PASSporT:</t>
      <artwork><![CDATA[
   Protected Header
   {
      "alg":"ES256",
      "typ":"passport",
      "ppt":"rcd",
      "x5u":"https://cert.example.org/passport.pem"
   }
   Payload
   {
      "crn":"For your ears only",
      "dest":{"tn":["12025551001"]},
      "iat":1443208345,
      "orig":{"tn":"12025551000"},
      "rcd":{
        "jcl":"https://example.com/qbranch.json",
        "icn":"https://example.com/jbond.png"
      },
      "rcdi": {
        "/jcl": "sha256-yHm1JKbm7+663bMvzymhkl4RojgWwU6xUtI4q82+kHP"
        "/icn": "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4"
      }
   }
]]></artwork>
      <t>Example Call-Info header fields:</t>
      <artwork><![CDATA[
   Call-Info: <data:>;purpose=jcard;verified="true"
   Call-Info: <https://example.com/jbond.json>;purpose=jcard;verified
    =true;integrity="sha256-yHm1JKbm7+663bMvzymhkl4RojgWwU6xUtI4q82
    +kHP"
   Call-Info: <https://example.com/jbond.png>;purpose=icon;
    call-reason="For your ears only";verified=true;integrity=
    "sha256-RojgWwU6xUtI4q82+kHPyHm1JKbm7+663bMvzymhkl4"
]]></artwork>
    </section>
    <section anchor="usage-of-jcard-and-property-specific-usage">
      <name>Usage of jCard and Property-Specific Usage</name>
      <t>Beyond the definition of the specific properties or JSON arrays associated with each property, this specification defines a few rules beyond those defined in <xref target="RFC7095"/> that are specific to the use of jCard for Call-Info and RCD to ensure there is a minimum level of supported properties to which every implementation of this specification should adhere. This includes support for interpreting the value of these properties and the ability to render in some appropriate form the display capabilities of common telephone devices as well as applications, and also includes requirements specific to textual and graphics-capable displays.</t>
      <section anchor="usage-of-uris-in-jcard">
        <name>Usage of URIs in jCard</name>
        <t>When one or more URIs are used in a jCard, it is important to note that any URI-referenced data, with the exception of the top-level usage of "jcl" as a URI to the jCard itself <bcp14>MUST NOT</bcp14> contain any URI references. In other words, the jCard can have URI references as
  defined in the jCard specification and this document, but the content
  referenced by those URIs <bcp14>MUST NOT</bcp14> have any URIs; therefore, the client <bcp14>MUST</bcp14>
  ensure that those URI references are not followed, and any URIs that are
  present in that specific URI-linked content are not rendered.
The purpose of this is to control the security and more specifically to align with the content-integrity mechanism defined in <xref target="RFC9795"/>. There is not anticipated to be need for which deeper URI references would be required or even supported by the typical use of current jCard properties. However, because jCard is extensible, this rule is set to restrict further extension without the proper consideration of security and integrity properties of both Call-Info usage as well as the RCD and STIR signing of the data <xref target="RFC9795"/> <xref target="RFC8224"/>.</t>
      </section>
      <section anchor="multimedia-data">
        <name>Usage of Multimedia Data in jCard or with the "icon" Call-Info 'purpose' Token</name>
        <t>For the use of the 'purpose' token "icon" or for the cases where the jCard either incorporates URIs or includes digital images and sounds directly via Base64 encoding (<xref section="4" target="RFC4648"/>), this document provides guidance at the time of writing that can be adopted to facilitate the successful decoding and rendering of these images and media formats. Note that media formats are likely something implementers need to consider for their specific application.</t>
        <t>For images, such as for the "photo" and "logo" properties, the default image formats <bcp14>SHOULD</bcp14> be PNG <xref target="ISOPNG"/> or JPEG <xref target="ITUJPEG"/>, as these files are commonly used to support 24-bit RGB images.  Supporting older telephone devices that only support bitmap (BMP) images <xref target="RFC7903"/> with a lower bit range (e.g., 16-bit, 8-bit, or 1-bit), or grayscale, or 1-bit black and white color displays, should be considered optional or even not recommended because, at the time of writing, they are becoming increasingly rare (i.e., typically, devices either have color or color-aware graphical displays that support PNG or JPEG formats or they are exclusively textual displays).</t>
        <t>In addition, vector images are increasingly popular to use as icons because they support scalable images without having to send multiple resolutions. The SVG format has gained wide support as of this writing as a common format for vector images. At a minimum, the SVG Tiny 1.2 specification <xref target="W3C-SVGTiny1.2"/> <bcp14>SHOULD</bcp14> be supported as an additional default format for devices.</t>
        <t>For the cases where image files are referenced by URIs as file resources, this document defines a character string that <bcp14>SHOULD</bcp14> be concatenated onto the end of a file name, but before the file extension, that signals the height and width of the image to the end device for the convenience of determining the appropriate resolution to retrieve files without the need to retrieve all the image files. It is also recommended that images have a square aspect ratio with equal height and width and with a power-of-two value for the number of pixels (e.g., 32x32, 128x128, 512x512). The format of the string should be "filename-HxW", where "filename" is a unique string representing the file, "H" represents the height in pixels, and "W" represents the width in pixels.</t>
        <t>It is appropriate and useful to include multiple versions of images or sounds so that endpoints that cannot support all formats or resolutions can select the format they do support.  The <bcp14>RECOMMENDED</bcp14> convention is for files that refer to the same content to use the same filename portion.  If the image format has a specific resolution, the HxW portion of the filename should correspond to the pixel resolution. The file extension should reference the file type (e.g., filename.png, filename.svg, or filename.jpg) or (e.g., filename-32x32.png, filename-64x64.png, filename.svg, filename-32x32.jpg, or filename-64x64.jpg).</t>
        <t>Because this is a complex and often debated topic that has evolved over the many years of advances in image coding and display technologies, this specification suggests relying on either future specifications or industry forum specifications that might correspond to supporting particular classes of devices to further define how URIs can reference appropriate image formats and files.</t>
        <t>For audio files, the recommendation is to provide mp3, m4a or mp4, or wav files <xref target="RFC2361"/>, although the usage of sound (for example, a special ring tone for a particular caller) is not well defined in this specification. Future documents should consider both usage and potential security risks of playing sounds that are not specifically authorized by a device user.</t>
      </section>
      <section anchor="cardinality">
        <name>Cardinality</name>
        <t>Property cardinalities are indicated, for convenience, using the following notation and follow the guidance of jCard <xref target="RFC7095"/> and vCard <xref target="RFC6350"/>, which is based on ABNF (see <xref section="3.6" sectionFormat="comma" target="RFC5234"/>):</t>
<table>
  <thead><tr><th>Cardinality</th><th>Meaning</th></tr></thead>
  <tbody>
    <tr><td>1</td><td>Exactly one instance per jCard <bcp14>MUST</bcp14> be present.</td></tr>
    <tr><td>*1</td><td>Exactly one instance per jCard <bcp14>MAY</bcp14> be present.</td></tr>
    <tr><td>1*</td><td>One or more instances per jCard <bcp14>MUST</bcp14> be present.</td></tr>
    <tr><td>*</td><td>One or more instances per jCard <bcp14>MAY</bcp14> be present.</td></tr>
  </tbody>
</table>
      </section>
      <section anchor="identification-properties">
        <name>Identification Properties</name>
        <t>The following properties, initially defined in <xref target="RFC6350"/>, hold the identity information of the entity associated with the jCard. This subset of properties selected for this document are relevant to telephone and messaging applications.</t>
        <section anchor="fn-property">
          <name>"fn" Property</name>
          <t>The "fn" property provides formatted text corresponding to the name of the object the jCard represents.  Reference: <xref section="6.2.1" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>1*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["fn", {}, "text", "Mr. John Q. Public\, Esq."]
]]></artwork>
        </section>
        <section anchor="n-property">
          <name>"n" Property</name>
          <t>The "n" property provides the components of the name of the object the jCard represents. Reference: <xref section="6.2.2" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single structured text value. Each component can have multiple values.</dd>
          <dt>Cardinality:</dt><dd>*1</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["n", {}, "text", "Public;John;Quinlan;Mr.;Esq."]
  ["n", {}, "text", "Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P."]
]]></artwork>
        </section>
        <section anchor="nickname-property">
          <name>"nickname" Property</name>
          <t>The "nickname" property provides the text corresponding to the nickname of the object the jCard represents. Reference: <xref section="6.2.3" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>One or more text values separated by a COMMA character (U+002C).</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["nickname", {}, "text", "Robbie"]
  ["nickname", {}, "text", "Jim,Jimmie"]
  ["nickname", {}, "text", "TYPE=work:Boss"]
]]></artwork>
        </section>
        <section anchor="photo-property">
          <name>"photo" Property</name>
          <t>The "photo" property provides image or photograph information that annotates some aspect of the object the jCard represents. Reference: <xref section="6.2.4" sectionFormat="comma" target="RFC6350"/>.</t>
          <t>In addition to the definition of jCard, and to promote interoperability and proper formatting and rendering of images, the photo <bcp14>SHOULD</bcp14> correspond to a square image with the size of 128x128, 256x256, 512x512, or 1024x1024 pixels.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single URI.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["photo", {}, "uri", "http://www.example.com/jqpublic-256x256.png"]
]]></artwork>
        </section>
      </section>
      <section anchor="delivery-addressing-properties">
        <name>Delivery Addressing Properties</name>
        <t>This property is concerned with information related to the delivery address of the jCard object.</t>
        <section anchor="adr-property">
          <name>"adr" Property</name>
          <t>The "adr" property provides the delivery address of the object the jCard represents. Reference: <xref section="6.3.1" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single structured text value separated by the SEMICOLON character (U+003B).</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:

  ["adr", {"type":"work"}, "text",
    ["", "", "3100 Massachusetts Avenue NW", "Washington", "DC", 
      "20008", "U.S.A."]
  ]
]]></artwork>
          <t>"adr" also allows a structured value element that itself has multiple values. In this case, the element of the array describing the structured value is itself an array with one element for each of the component's multiple values. The following example shows alternate values for the address string.</t>
          <artwork><![CDATA[
Example:

  ["adr", {"type":"work"}, "text",
    ["", "", ["3100 Massachusetts Avenue NW","Embassy of the 
      United Kingdom"], "Washington", "DC", "20008", "U.S.A."]
  ]
]]></artwork>
        </section>
      </section>
      <section anchor="communications-properties">
        <name>Communications Properties</name>
        <t>These properties describe how to communicate with the object the jCard represents.</t>
        <section anchor="tel-property">
          <name>"tel" Property</name>
          <t>The "tel" property provides the telephone number for the object the jCard represents. Reference: <xref section="6.4.1" sectionFormat="comma" target="RFC6350"/>.</t>
          <t>Relative to the SIP From header field value, this information may provide an alternate telephone number or other related telephone numbers for other uses.</t>

          <t>It is important to note that any of the instances of the "tel" property should not be considered part of the authentication or verification part of STIR <xref target="RFC8224"/> or required to match the "orig" claim in the PASSporT <xref target="RFC8225"/>. These telephone numbers can be for contact, fax, or other purposes aligned with the general usage of jCard and vCard, but the potential confusion of the callee when provided with multiple telephone numbers instead of the actual, verified telephone number should be considered from a general policy point of view.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>By default, it is a single free-form text value (for backward compatibility with vCard 3), but it <bcp14>SHOULD</bcp14> be reset to a URI value. It is expected that the URI scheme will be "tel", as specified in <xref target="RFC3966"/>, but other schemes <bcp14>MAY</bcp14> be used.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["tel", { "type": ["voice", "text", "cell"], "pref": "1" }, "uri",
   "tel:+1-202-555-1000"]
  ["tel", { "type": ["fax"] }, "uri", "tel:+1-202-555-1001"]
]]></artwork>
        </section>
        <section anchor="email-property">
          <name>"email" Property</name>
          <t>The "email" property provides the electronic mail address of the object the jCard represents. Reference: <xref section="6.4.2" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["email", {"type":"work"}, "text", "jqpublic@xyz.example.com"]
  ["email", {"pref":"1"}, "text", "jane_doe@example.com"]
]]></artwork>
        </section>
        <section anchor="lang-property">
          <name>"lang" Property</name>
          <t>The "lang" property indicates the language(s) that may be used for communicating with the object the jCard represents. Reference: <xref section="6.4.4" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single language-tag value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	</dl>
          <artwork><![CDATA[
Example:
  ["lang", {"type":"work", "pref":"1"}, "language-tag", "en"]
  ["lang", {"type":"work", "pref":"2"}, "language-tag", "fr"]
  ["lang", {"type":"home"}, "language-tag", "fr"]
]]></artwork>
        </section>
      </section>
      <section anchor="geographical-properties">
        <name>Geographical Properties</name>
        <t>These properties provide geographical information associated with the object the jCard represents.</t>
        <section anchor="tz-property">
          <name>"tz" Property</name>
          <t>The "tz" property provides the time zone of the object the jCard represents. Reference: <xref section="6.5.1" sectionFormat="comma" target="RFC6350"/>.</t>
          <aside><t>Note: The reference for time-zone names is <eref brackets="angle" target="https://www.iana.org/time-zones"/>.</t></aside>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>The default is a single text value. It can also be reset to a single URI or a UTC-offset value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	</dl>
          <artwork><![CDATA[
Example:
  ["tz", {}, "text", "America/New_York"]
]]></artwork>
        </section>
        <section anchor="geo-property">
          <name>"geo" Property</name>
          <t>The "geo" property provides the global positioning of the object the jCard represents. Reference: <xref section="6.5.2" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single URI.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	</dl>
          <artwork><![CDATA[
Example:
  ["geo", {}, "uri", "geo:37.386013,-122.082932"]
]]></artwork>
        </section>
      </section>
      <section anchor="organizational-properties">
        <name>Organizational Properties</name>
        <t>These properties are concerned with information associated with characteristics of the organization or organizational units of the object that the jCard represents.</t>
        <section anchor="title-property">
          <name>"title" Property</name>
          <t>The "title" property provides the position or job of the object the jCard represents. Reference <xref section="6.6.1" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	</dl>
          <artwork><![CDATA[
Example:
  ["title", {}, "text", "Research Scientist"]
]]></artwork>
        </section>
        <section anchor="role-property">
          <name>"role" Property</name>
          <t>The "role" property provides the position or job of the object the jCard represents. Reference <xref section="6.6.2" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["role", {}, "text", "Project Leader"]
]]></artwork>
        </section>
        <section anchor="logo-property">
          <name>"logo" Property</name>
          <t>The "logo" property specifies a graphic image of a logo associated with the object the jCard represents. Reference <xref section="6.6.3" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single URI.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["logo", {}, "uri", "http://www.example.com/abccorp-512x512.jpg"]

  ["logo", {}, "uri", "data:image/jpeg;base64,MIICajCCAdOgAwIBAgIC
   AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
   ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
   <...the remainder of base64-encoded data...>"]
]]></artwork>
        </section>
        <section anchor="org-property">
          <name>"org" Property</name>
          <t>The "org" property specifies the organizational name and units of the object the jCard represents. Reference <xref section="6.6.4" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single structured text value consisting of components separated by the SEMICOLON character (U+003B).</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["org", {}, "text", "ABC\, Inc.;North American Division;Marketing"]
]]></artwork>
        </section>
      </section>
      <section anchor="explanatory-properties">
        <name>Explanatory Properties</name>
        <t>These properties provide additional information such as notes or revisions specific to the jCard.</t>
        <section anchor="categories-property">
          <name>"categories" Property</name>
          <t>The "categories" property specifies application category information about the object the jCard represents. Reference: <xref section="6.7.1" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>One or more text values separated by a COMMA character
   (U+002C).</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["categories", {}, "text", "TRAVEL AGENT"]

  ["categories", {}, "text", "INTERNET,IETF,INDUSTRY"]
]]></artwork>
        </section>
        <section anchor="note-property">
          <name>"note" Property</name>
          <t>The "note" property specifies supplemental information or a comment about the object the jCard represents. Reference: <xref section="6.7.2" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["note", {}, "text", "This fax number is operational 0800 to 1715
   EST\, Mon-Fri."]
]]></artwork>
        </section>
        <section anchor="sound-property">
          <name>"sound" Property</name>
          <t>The "sound" property specifies digital sound content information that annotates some aspect of the object the jCard represents. This property is often used to specify the proper pronunciation of the name property value of the jCard. Reference: <xref section="6.7.5" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single URI.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["sound", {}, "uri", "https://www.example.com/pub/logos
   /abccorp.mp3"]

  ["sound", {}, "uri", "data:audio/basic;base64,MIICajCCAdOgAwIBA
   gICBEAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvb
   W11bmljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiB
   <...the remainder of base64-encoded data...>"]
]]></artwork>
        </section>
        <section anchor="uid-property">
          <name>"uid" Property</name>
          <t>The "uid" property specifies a globally unique identifier corresponding to the object the jCard represents. Reference: <xref section="6.7.6" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single URI value.  It <bcp14>MAY</bcp14> also be reset to free-form text.</dd>
          <dt>Cardinality:</dt><dd>*1</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["uid", {}, "uri", "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
]]></artwork>
        </section>
        <section anchor="url-property">
          <name>"url" Property</name>
          <t>The "url" property specifies a uniform resource locator associated with the object the jCard represents. Reference: <xref section="6.7.8" sectionFormat="comma" target="RFC6350"/>.</t>

<t>   There are potential security and privacy implications of providing
   URLs with telephone calls.</t>

<t>
   The end client receiving a jCard with a
   "url" property <bcp14>MUST</bcp14> only display the URL and not automatically follow
   the URL or provide an automatic preview of the URL.  In addition, it <bcp14>MUST</bcp14> generally
   adhere to good practice to make it clear to the user that it is their
   choice whether to follow the URL in a browser context consistent with all of
   the common browser security and privacy practices available on most
   consumer OS environments.
</t>

	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single uri value.</dd>
          <dt>Cardinality:</dt><dd>*</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["url", {}, "uri", "https://example.org/french-rest/chezchic.html"]
]]></artwork>
        </section>
        <section anchor="version-property">
          <name>"version" Property</name>
          <t>The "version" property <bcp14>MUST</bcp14> be included and is intended to specify the version of the vCard specification used to format this vCard. Reference: <xref section="6.7.9" sectionFormat="comma" target="RFC6350"/>.</t>
	  <dl spacing="compact" newline="false">
          <dt>Value type:</dt><dd>A single text value.</dd>
          <dt>Cardinality:</dt><dd>1</dd>
	  </dl>
          <artwork><![CDATA[
Example:
  ["version", {}, "text", "4.0"]
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="extension-of-jcard">
      <name>Extension of jCard</name>
      <t>Part of the intent of using jCard is to leverage its extensibility to define new properties to relay new information related to a caller.  This capability is inherently supported as part of standard extensibility.  However, usage of those new properties should be published and registered following <xref section="3.6" sectionFormat="comma" target="RFC7095"/> or as defined in future specifications.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="jcard-purpose-parameter-value">
        <name>"jcard" Purpose Parameter Value</name>
        <t>This document defines the "jcard" value for the 'purpose' parameter of the Call-Info header field <xref target="RFC3261"/>. IANA has added this document to the list of references for the 'purpose' value of Call-Info in the "Header Field Parameters and Parameter Values" registry within the "Session Initiation Protocol (SIP) Parameters" registry group.</t>
      </section>
      <section anchor="sip-call-info-header-field-call-reason-parameter">
        <name>SIP Call-Info Header Field 'call-reason' Parameter</name>
        <t>This document defines the 'call-reason' generic parameter for use in the Call-Info header field in the "Header Field Parameters and Parameter Values" registry defined by <xref target="RFC3968"/>. The parameter's token is "call-reason", and it takes the value of a quoted string.</t>
<table>
  <thead><tr><th>Header Field</th><th>Parameter Name</th><th>Predefined Values</th><th>Reference</th></tr></thead>
  <tbody><tr><td>Call-Info</td><td>call-reason</td><td>No</td><td>RFC 9796</td></tr></tbody>
</table>

      </section>
      <section anchor="sip-call-info-header-field-verified-parameter">
        <name>SIP Call-Info Header Field 'verified' Parameter</name>
        <t>This document defines the 'verified' generic parameter for use in the Call-Info header field in the "Header Field Parameters and Parameter Values" registry defined by <xref target="RFC3968"/>. The parameter's token is "verified", and it takes the value of a quoted string that can only be "true".</t>
<table>
  <thead><tr><th>Header Field</th><th>Parameter Name</th><th>Predefined Values</th><th>Reference</th></tr></thead>
  <tbody><tr><td>Call-Info</td><td>verified</td><td>Yes</td><td>RFC 9796</td></tr></tbody>
</table>

      </section>
      <section anchor="sip-call-info-header-field-integrity-parameter">
        <name>SIP Call-Info Header Field 'integrity' Parameter</name>
        <t>This document defines the 'integrity' generic parameter for use as a new parameter in the Call-Info header field in the "Header Field Parameters and Parameter Values" registry defined by <xref target="RFC3968"/>. The parameter's token is "integrity", and it takes the value of a quoted string.</t>
<table>
  <thead><tr><th>Header Field</th><th>Parameter Name</th><th>Predefined Values</th><th>Reference</th></tr></thead>
  <tbody><tr><td>Call-Info</td><td>integrity</td><td>No</td><td>RFC 9796</td></tr></tbody>
</table>
      </section>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>Revealing information such as the name, location, and affiliation of a person necessarily entails certain privacy risks. The SIP Call-Info header field has no particular confidentiality requirement, as the information sent in SIP is in the clear anyway. Transport-level security can be used to hide information from eavesdroppers, and the same confidentiality mechanisms would protect any Call-Info or jCard information carried or referred to in SIP.</t>
      <t>The use of the Call-Info header for transporting RCD ('rcd') is intended primarily for providing verified information at the termination of a call, where a verification service has a trusted UNI relationship with the user agent. To ensure the integrity and authenticity of this data, the security framework established by STIR, including the use of the 'rcd'PASSporT as defined in <xref target="RFC9795"/>, should be followed. This framework enables digital signatures to verify the issuer of assertions related to the calling party's identity, distinguishing persistent identity attributes from transient, per-call details. Implementers should also consider certificate-based constraints to ensure proper binding between caller identity assertions and call-specific metadata while maintaining the integrity of the information throughout transmission. Since Call-Info serves as a means to convey verified caller information to the end user, mechanisms should be in place to validate the authenticity of the assertion, enforce appropriate certificate associations, and preserve the trustworthiness of RCD from origination to termination.</t>

      <t>The SIP framework, defined in <xref target="RFC3261"/> and the various extensions to SIP which includes STIR <xref target="RFC8224"/> and RCD <xref target="RFC9795"/>, has always provided mechanisms to assert information about the person or entity behind the call. This feature that can be a benefit to the SIP network that allows users to help identify the calling party behind an abstract telephone number. It can also enable the ability for actors to impersonate a calling party they are not authorized to represent. The core security consideration that has either explicitly or implicitly been acknowledged with any of the SIP and STIR specifications is that there be a management and policy layer that validates the participants in the ecosystem and their use of a SIP network with telephone number identifiers and identity-related information.

Users should assess this risk and make the appropriate adjustments to validate proper participation while following these tools following these larger security, impersonation prevention, and privacy considerations.</t>
      <t>The use of this specification with the insertion of metadata related to a caller or the purpose of the call should recognize the risk that this information can be viewed by those network elements and participants in the delivery of the SIP call. The insertion of media directly or via Base64 encoding or using a remote URI that query network resources should be considered as a potential threat vector to the user or user agent that could potentially allow the parsing of documents crafted to trigger a bug or install a virus. Remote access to URI content should additionally be considered as potentially exposing information about that user or user agent. Some sensitive users may desire the ability to control or disable these mechanisms entirely, and methods to restrict or disable the potential exposure should be considered to mitigate these concerns. Largely, any information that is included in RCD should be considered public, and this specification does not define any mechanism to protect this information beyond the security and privacy associated with the SIP signaling itself. This is a property that is consistent with SIP more generally, and this specification follows a similar pattern for its use.</t>
      <t>This specification contains the ability to include media resources and URI and URL resource references to media resources that could pose a threat when referencing or decoding the content of these media resources, which is similar to threats that web browsers and other media decoding applications must be concerned about. 
Network administrators should consider a network-specific set of policies or best practices for the use and hosting of media content that is agreed to contain validated media resources that have been evaluated to not pose a security threat to the participants or the devices supported in the ecosystem.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2392.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3261.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3966.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3968.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6350.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7095.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7519.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7852.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7903.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8224.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8225.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml"/>

<!-- companion: RFC 9795 - draft-ietf-stir-passport-rcd-26  -->

        <reference anchor="RFC9795" target="https://www.rfc-editor.org/info/rfc9795">
          <front>
            <title>Personal Assertion Token (PASSporT) Extension for Rich Call Data</title>
            <author initials="C." surname="Wendt" fullname="Chris Wendt">
              <organization>Somos Inc.</organization>
            </author>
            <author initials="J." surname="Peterson" fullname="Jon Peterson">
              <organization>Neustar Inc.</organization>
            </author>
            <date month="July" year='2025'/>
          </front>
          <seriesInfo name="RFC" value="9795"/>
          <seriesInfo name="DOI" value="10.17487/RFC9795"/>
        </reference>


        <reference anchor="W3C-SRI" target="https://www.w3.org/TR/2016/REC-SRI-20160623/">
          <front>
            <title>Subresource Integrity</title>
            <author fullname="Devdatta Akhawe" role="editor" />
            <author fullname="Frederik Braun" role="editor" />
            <author fullname="Francois Marier" role="editor" />
            <author fullname="Joel Weinberger" role="editor" />
            <date year="2016" month="June" day="23"/>
          </front>
          <refcontent>W3C Recommendation</refcontent>
        </reference>


        <reference anchor="W3C-SVGTiny1.2" target="https://www.w3.org/TR/2008/REC-SVGTiny12-20081222/">
          <front>
            <title>Scalable Vector Graphics (SVG) Tiny 1.2 Specification</title>
            <author fullname="Ola Anderssone" role="editor" />
            <author fullname="Robin Berjon" role="editor" />
            <author fullname="Erik Dahlström" role="editor" />
            <author fullname="Andrew Emmons" role="editor" />
            <author fullname="Jon Ferraiolo" role="editor" />
            <author fullname="Anthony Grasso" role="editor" />
            <author fullname="Vincent Hardy" role="editor" />
            <author fullname="Scott Hayman" role="editor" />
            <author fullname="Dean Jackson" role="editor" />
            <author fullname="Chris Lilley" role="editor" />
            <author fullname="Cameron McCormack" role="editor" />
            <author fullname="Andreas Neumann" role="editor" />
            <author fullname="Craig Northway" role="editor" />
            <author fullname="Antoine Quint" role="editor" />
            <author fullname="Nandini Ramani" role="editor" />
            <author fullname="Doug Schepers" role="editor" />
            <author fullname="Andrew Shellshear" role="editor" />
            <date year="2008" month="December" day="22"/>
          </front>
          <refcontent>W3C Recommendation</refcontent>
        </reference>


        <reference anchor="ITUJPEG" target="https://www.itu.int/rec/T-REC-T.871-201105-I/en">
          <front>
            <title>Information technology - Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2013" month="May"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="T.871"/>
          <seriesInfo name="ISO/IEC" value="10918-5"/>
        </reference>

        <reference anchor="ISOPNG" target="https://www.iso.org/standard/29581.html">
          <front>
            <title>Information technology -- Computer graphics and image processing -- Portable Network Graphics (PNG), Functional specification</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2004" month="March"/>
          </front>
          <seriesInfo name="ISO/IEC" value="15948:2004"/>
        </reference>

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2361.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3325.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7340.xml"/>
      </references>
    </references>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>We would like to thank <contact fullname="David Hancock"/>, <contact fullname="Alec Fenichel"/>, <contact fullname="Paul Kyzivat"/>, <contact fullname="Yi Jing"/> and other members of the SIPCORE and STIR working groups and ATIS/SIP Forum IPNNI for their helpful suggestions and comments during the creation of this document.</t>
    </section>
  </back>


</rfc>
