draft-ietf-sipcore-callinfo-rcd-03.txt   draft-ietf-sipcore-callinfo-rcd-04.txt 
Network Working Group C. Wendt Network Working Group C. Wendt
Internet-Draft Comcast Internet-Draft Somos Inc.
Intended status: Standards Track J. Peterson Intended status: Standards Track J. Peterson
Expires: 28 April 2022 Neustar Inc. Expires: 8 September 2022 Neustar Inc.
25 October 2021 7 March 2022
SIP Call-Info Parameters for Rich Call Data SIP Call-Info Parameters for Rich Call Data
draft-ietf-sipcore-callinfo-rcd-03 draft-ietf-sipcore-callinfo-rcd-04
Abstract Abstract
This document describes a SIP Call-Info header field usage defined to This document describes a SIP Call-Info header field usage defined to
include rich data associated with the identity of the calling party include rich data associated with the identity of the calling party
that can be rendered to a called party for providing more useful that can be rendered to a called party for providing more useful
information about the caller or the specific reason for the call. information about the caller or the specific reason for the call.
This includes extended comprehensive information about the caller This includes extended comprehensive information about the caller
such as what a jCard object can represent for describing the calling such as what a jCard object can represent for describing the calling
party or other call specific information such as describing the party or other call specific information such as describing the
skipping to change at page 1, line 42 skipping to change at page 1, line 42
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 28 April 2022. This Internet-Draft will expire on 8 September 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Revised BSD License text as
as described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. "jcard" Call-Info Token . . . . . . . . . . . . . . . . . . . 4 4. "jcard" Call-Info Token . . . . . . . . . . . . . . . . . . . 5
5. "call-reason" Call-Info Parameter . . . . . . . . . . . . . . 6 5. "call-reason" Call-Info Parameter . . . . . . . . . . . . . . 6
6. Usage of jCard and property specific usage . . . . . . . . . 7 6. "jmin" Call-Info Token . . . . . . . . . . . . . . . . . . . 7
6.1. Usage of URIs in jCard . . . . . . . . . . . . . . . . . 7 7. Usage of jCard and property specific usage . . . . . . . . . 9
6.2. Usage of multimedia data in jCard . . . . . . . . . . . . 8 7.1. Usage of URIs in jCard . . . . . . . . . . . . . . . . . 9
6.3. Cardinality . . . . . . . . . . . . . . . . . . . . . . . 9 7.2. Usage of multimedia data in jCard . . . . . . . . . . . . 9
6.4. Identification properties . . . . . . . . . . . . . . . . 9 7.3. Cardinality . . . . . . . . . . . . . . . . . . . . . . . 10
6.4.1. "fn" property . . . . . . . . . . . . . . . . . . . . 9 7.4. Identification properties . . . . . . . . . . . . . . . . 11
6.4.2. "n" property . . . . . . . . . . . . . . . . . . . . 10 7.4.1. "fn" property . . . . . . . . . . . . . . . . . . . . 11
6.4.3. "nickname" property . . . . . . . . . . . . . . . . . 10 7.4.2. "n" property . . . . . . . . . . . . . . . . . . . . 11
6.4.4. "photo" property . . . . . . . . . . . . . . . . . . 10 7.4.3. "nickname" property . . . . . . . . . . . . . . . . . 12
6.5. Delivery Addressing Properties . . . . . . . . . . . . . 11 7.4.4. "photo" property . . . . . . . . . . . . . . . . . . 12
6.5.1. "adr" property . . . . . . . . . . . . . . . . . . . 11 7.5. Delivery Addressing Properties . . . . . . . . . . . . . 12
6.6. Communications Properties . . . . . . . . . . . . . . . . 11 7.5.1. "adr" property . . . . . . . . . . . . . . . . . . . 12
6.6.1. "tel" property . . . . . . . . . . . . . . . . . . . 11 7.6. Communications Properties . . . . . . . . . . . . . . . . 13
6.6.2. "email" property . . . . . . . . . . . . . . . . . . 12 7.6.1. "tel" property . . . . . . . . . . . . . . . . . . . 13
6.6.3. "lang" property . . . . . . . . . . . . . . . . . . . 12 7.6.2. "email" property . . . . . . . . . . . . . . . . . . 14
6.7. Geographical Properties . . . . . . . . . . . . . . . . . 13 7.6.3. "lang" property . . . . . . . . . . . . . . . . . . . 14
6.7.1. "tz" property . . . . . . . . . . . . . . . . . . . . 13 7.7. Geographical Properties . . . . . . . . . . . . . . . . . 14
6.7.2. "geo" property . . . . . . . . . . . . . . . . . . . 13 7.7.1. "tz" property . . . . . . . . . . . . . . . . . . . . 14
6.8. Organizational Properties . . . . . . . . . . . . . . . . 13 7.7.2. "geo" property . . . . . . . . . . . . . . . . . . . 15
6.8.1. "title" property . . . . . . . . . . . . . . . . . . 14 7.8. Organizational Properties . . . . . . . . . . . . . . . . 15
6.8.2. "role" property . . . . . . . . . . . . . . . . . . . 14 7.8.1. "title" property . . . . . . . . . . . . . . . . . . 15
6.8.3. "logo" property . . . . . . . . . . . . . . . . . . . 14 7.8.2. "role" property . . . . . . . . . . . . . . . . . . . 15
6.8.4. "org" property . . . . . . . . . . . . . . . . . . . 15 7.8.3. "logo" property . . . . . . . . . . . . . . . . . . . 16
6.9. Explanatory Properties . . . . . . . . . . . . . . . . . 15 7.8.4. "org" property . . . . . . . . . . . . . . . . . . . 16
6.9.1. "categories" property . . . . . . . . . . . . . . . . 15 7.9. Explanatory Properties . . . . . . . . . . . . . . . . . 16
6.9.2. "note" property . . . . . . . . . . . . . . . . . . . 15 7.9.1. "categories" property . . . . . . . . . . . . . . . . 16
6.9.3. "sound" property . . . . . . . . . . . . . . . . . . 16 7.9.2. "note" property . . . . . . . . . . . . . . . . . . . 17
6.9.4. "uid" property . . . . . . . . . . . . . . . . . . . 16 7.9.3. "sound" property . . . . . . . . . . . . . . . . . . 17
6.9.5. "url" property . . . . . . . . . . . . . . . . . . . 16 7.9.4. "uid" property . . . . . . . . . . . . . . . . . . . 17
6.9.6. "version" property . . . . . . . . . . . . . . . . . 17 7.9.5. "url" property . . . . . . . . . . . . . . . . . . . 18
7. Extension of jCard . . . . . . . . . . . . . . . . . . . . . 17 7.9.6. "version" property . . . . . . . . . . . . . . . . . 18
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 8. Extension of jCard . . . . . . . . . . . . . . . . . . . . . 18
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19
9.1. SIP Call-Info Header Field Purpose Token Request . . . . 17 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
9.2. SIP Call-Info Header Field Purpose Token Request . . . . 18 10.1. SIP Call-Info Header Field Purpose Token Request . . . . 19
10. Security Considerations . . . . . . . . . . . . . . . . . . . 18 10.2. SIP Call-Info Header Field Purpose Token Request . . . . 19
11. Normative References . . . . . . . . . . . . . . . . . . . . 18 11. Security Considerations . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 12. Normative References . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction 1. Introduction
Traditional telephone network signaling protocols have long supported Traditional telephone network signaling protocols have long supported
delivering a 'calling name' from the originating side, though in delivering a 'calling name' from the originating side, though in
practice, the terminating side is often left to derive a name from practice, the terminating side is often left to derive a name from
the calling party number by consulting a local address book or an the calling party number by consulting a local address book or an
external database. SIP similarly can carry a 'display-name' in the external database. SIP similarly can carry a 'display-name' in the
From header field value from the originating to terminating side, From header field value from the originating to terminating side,
though it is an unsecured field that is not commonly trusted. The though it is an unsecured field that is not commonly trusted and
same is true of information in the Call-Info header field. often replaced or ignored. The same is often true of information in
the Call-Info header fields.
To allow calling parties to initiate, and called parties to receive, To allow calling parties to initiate, and called parties to receive,
a more comprehensive, deterministic, and extensible rich call data a more comprehensive, deterministic, and extensible rich call data
for incoming calls, we describe new tokens for the SIP [RFC3261] for incoming calls, we describe new tokens for the SIP [RFC3261]
Call-Info header field and a corresponding "purpose" parameter. We Call-Info header field and a corresponding "purpose" parameter. We
also define a new parameter of Call-Info designed for carrying a also define a new parameter of Call-Info designed for carrying a
"reason" value. For this document, depending on the policies of the "reason" value. For this document, depending on the policies of the
communications system, calling parties could either be the end user communications system, calling parties could either be the end user
device or an originating service provider, and called parties could device or an originating service provider, and called parties could
also similarly be an end user device or the terminating service also similarly be an end user device or the terminating service
skipping to change at page 4, line 22 skipping to change at page 4, line 24
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Overview 3. Overview
The Call-Info header field, defined in [RFC3261] Section 20.9, The Call-Info header field, defined in [RFC3261] Section 20.9,
defines a purpose parameter currently with "info", "icon", and "card" defines a purpose parameter currently with "info", "icon", and "card"
tokens. This document defines one new purpose value and one new tokens. This document defines two new purpose values and one new
generic parameter for Call-Info. generic parameter for Call-Info.
The value "jcard" is to be used to associate rich call data related The first purpose value defined is "jcard" and is used to associate
to the identity of the calling party in the form of a jCard rich call data related to the identity of the calling party in the
[RFC7095]. While there is a "card" token that is already defined form of a jCard [RFC7095]. While there is a "card" token that is
with similar purpose, there are two primary reasons for the already defined with similar purpose, there are two primary reasons
definition and usage of jCard and the use of JSON over the XML based for the definition and usage of jCard and the use of JSON over the
vCard [RFC2426]. First, JSON has become the default and is generally XML based vCard [RFC2426]. First, JSON has become the default and is
the widely accepted optimally supported format for transmission, generally the widely accepted optimally supported format for
parsing, and manipulation of data on IP networks. Second, jCard has transmission, parsing, and manipulation of data on IP networks.
also been defined in [I-D.ietf-stir-passport-rcd] and has been Second, jCard has also been defined in [I-D.ietf-stir-passport-rcd]
adopted by PASSporT [RFC8225] because of the usage of JSON Web Tokens and has been adopted by PASSporT [RFC8225] because of the usage of
(JWT) [RFC7519]. JSON Web Tokens (JWT) [RFC7519].
A generic parameter for "call-reason" is to be used to provide a A generic parameter for "call-reason" is to be used to provide a
string or other object that is used to convey the intent or reason string or other object that is used to convey the intent or reason
the caller is calling to help the called party understand better the the caller is calling to help the called party understand better the
context of the call and why they may want to answer the call. context of the call and why they may want to answer the call.
The second purpose value defined is "jmin" and is intended to be a
minimal call-info URI specifically for purposes where call-info does
not point to any structured information via URI, but is used to carry
parameters either defined in this document or future documents.
4. "jcard" Call-Info Token 4. "jcard" Call-Info Token
The use of the new Call-Info Token "jcard" is for the purpose of The use of the new Call-Info Token "jcard" is for the purpose of
supporting RCD associated with the identity of a calling party in a supporting RCD associated with the identity of a calling party in a
SIP call [RFC3261] Section 20.9. The format of a Call-Info header SIP call [RFC3261] Section 20.9. The format of a Call-Info header
field when using the "jcard" is as follows. field when using the "jcard" is as follows.
The Call-Info header field is defined to include a URI, where here The Call-Info header field is defined to include a URI, where here
the resource pointed to by the URI is a jCard JSON object [RFC7095]. the resource pointed to by the URI is a jCard JSON object [RFC7095].
The web server serving this file MUST use the MIME media type for The MIME media type set for the JSON text MUST be set as application/
JSON text as application/json with a default encoding of UTF-8 json with a default encoding of UTF-8 [RFC4627]. A jCard also MAY be
[RFC4627]. A jCard also MAY be carried in the body of the SIP carried in the body of the SIP request bearing this Call-Info via the
request bearing this Call-Info via the "cid" URI scheme [RFC2392]. "cid" URI scheme [RFC2392]. Alternatively, the URI MUST define the
Alternatively, the URI MUST define the use HTTPS or a transport that use HTTPS or a transport that can validate the integrity of the
can validate the integrity of the source of the resource as well as source of the resource as well as the transport channel through which
the transport channel through which the resource is retrieved. the resource is retrieved.
An example of a Call-Info header field is: An example of a Call-Info header field is:
Call-Info: <https://example.com/qbranch.json>;purpose=jcard Call-Info: <https://example.com/qbranch.json>;purpose=jcard
An example contents of a URL linked jCard JSON file is shown as An example contents of a URL linked jCard JSON file is shown as
follows: follows:
["vcard", ["vcard",
[ [
skipping to change at page 6, line 44 skipping to change at page 6, line 44
Content-ID: <12155551000@example.com> Content-ID: <12155551000@example.com>
["vcard",[["version",{},"text","4.0"],["fn",{},"text","Q Branch"], ["vcard",[["version",{},"text","4.0"],["fn",{},"text","Q Branch"],
["org",{},"text","MI6;Q Branch Spy Gadgets"],["photo",{},"uri","ht ["org",{},"text","MI6;Q Branch Spy Gadgets"],["photo",{},"uri","ht
tps://example.com/photos/quartermaster-256x256.png"],["logo",{},"u tps://example.com/photos/quartermaster-256x256.png"],["logo",{},"u
ri","https://example.com/logos/mi6-256x256.jpg"],["logo",{},"uri", ri","https://example.com/logos/mi6-256x256.jpg"],["logo",{},"uri",
"https://example.com/logos/mi6-64x64.jpg"]]] "https://example.com/logos/mi6-64x64.jpg"]]]
5. "call-reason" Call-Info Parameter 5. "call-reason" Call-Info Parameter
In addition to the jCard value defined here, this specification also This specification also defines a parameter of the Call-Info header
defines a generic parameter of the Call-Info header called "call- called "call-reason". The "call-reason" parameter is intended to
reason". The "call-reason" parameter is intended to convey a short convey a short textual message suitable for display to an end user
textual message suitable for display to an end user during call during call alerting. As a general guideline, this message SHOULD be
alerting. As a general guideline, this message SHOULD be no longer no longer than 64 characters; displays that support this
than 64 characters; displays that support this specification may be specification may be forced to truncate messages that cannot fit onto
forced to truncate messages that cannot fit onto a screen. This a screen. This message conveys the caller's intention in contacting
message conveys the caller's intention in contacting the callee. It the callee. It is an optional parameter, and the sender of a SIP
is an optional parameter, and the sender of a SIP request cannot request cannot guarantee that its display will be supported by the
guarantee that its display will be supported by the terminating terminating endpoint. The manner in which this reason is set by the
endpoint. The manner in which this reason is set by the caller is caller is outside the scope of this specification.
outside the scope of this specification.
One alternative approach would be to use the baseline [RFC3261] One alternative approach would be to use the baseline [RFC3261]
Subject header field value to convey the reason for the call. Subject header field value to convey the reason for the call.
Because the Subject header has seen little historical use in SIP Because the Subject header has seen little historical use in SIP
implementations, however, and its specification describes its implementations, however, and its specification describes its
potential use in filtering, it seems more prudent to define a new potential use in filtering, it seems more prudent to define a new
means of carrying a call reason indication. means of carrying a call reason indication.
An example of a Call-Info header field value with the "call-reason" An example of a Call-Info header field value with the "call-reason"
parameter follows: parameter follows:
Call-Info: <https://example.com/jbond.json>;purpose=jcard; Call-Info: <https://example.com/jbond.json>;purpose=jcard;
call-reason="For your ears only" call-reason="For your ears only"
One can readily imagine a need for more structured call reason data Refer to the next section that extends call-reason and, in
that could be reliably processed automatically. Future versions of particular, discusses reasoning for the use of "call-reason"
this specification may explore ways to provide a structured data parameter versus considering "jinfo" with an included "call-reason"
object in place of a textual string to support things like key value.
internationalization or categories of reason that can be parsed by
machines.
6. Usage of jCard and property specific usage 6. "jmin" Call-Info Token
This specification defines a token for the Call-Info header field
called "jmin". The "jmin" call-info URI is intended to address the
need for scenarios where there it is not needed to use the URI value
of call-info but only necessary to use defined call-info parameters,
one example being the "call-reason" parameter defined in this
document. The URI referenced value by "jmin" is defined as a minimal
JSON formatted object that MUST be the specific value "{}". The JSON
object "{}" is a valid JSON object per [RFC8259] but specifically
contains no keys or values. The MIME media type for this minimal
JSON object text MUST be set as application/json with a default
encoding of UTF-8 [RFC4627]. The "jmin" minimal JSON object string
MAY be carried in the body of the SIP request bearing this Call-Info
via the "cid" URI scheme [RFC2392]. Alternatively, the URI MUST
define the use HTTPS or a transport that can validate the integrity
of the source of the resource as well as the transport channel
through which the resource is retrieved.
We define this minimal JSON object for the express purpose of being a
valid URI that will not break implementations that are not
implementing this specification that reference the URI per procedures
defined in [RFC3261] Section 20.9. However, for implementations that
do support this specification, because the value referenced by the
URI MUST be "{}", as an optimization, implementations of this
specification MAY consider it a shortcut to not reference the URI and
trust that the value referenced will always be "{}".
An example of a Call-Info header field using "jmin" purpose and call-
reason parameter is:
Call-Info: <https://example.com/min.json>;purpose=jmin;
call-reason="For your ears only"
The resource referenced by the URL for the above example would be a
file containing:
{}
An example SIP INVITE using the "cid" URI scheme equivalent to the
above example is as follows.
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=jmin;call-reason=
"For your ears only"
CSeq: 314159 INVITE
Max-Forwards: 70
Date: Fri, 25 Sep 2015 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>
{}
7. Usage of jCard and property specific usage
Beyond the definition of the specific properties or JSON arrays Beyond the definition of the specific properties or JSON arrays
associated with each property. This specification defines a few associated with each property. This specification defines a few
rules above and beyond [RFC7095] specific to the use of jCard for rules above and beyond [RFC7095] specific to the use of jCard for
Call-Info and Rich Call Data making sure there is a minimum level of Call-Info and Rich Call Data making sure there is a minimum level of
supported properties that every implementation of this specification supported properties that every implementation of this specification
should adhere to. This includes support for interpreting the value should adhere to. This includes support for interpreting the value
of this property and the ability to render in some appropriate form of this property and the ability to render in some appropriate form
the display capabilities of common telephone devices, as well as the display capabilities of common telephone devices, as well as
apps, and also includes requirements specific to either textual apps, and also includes requirements specific to either textual
displays and graphics capable displays. displays and graphics capable displays.
6.1. Usage of URIs in jCard 7.1. Usage of URIs in jCard
When one or more URIs are used in a jCard, it is important to note 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 that any URI referenced data, with the exception of the top-level
usage of "jcl" as a URI to the jCard itself (unless updated by any usage of "jcl" as a URI to the jCard itself (unless updated by any
future extensions of this specification) MUST not contain any URI future extensions of this specification) MUST NOT contain any URI
references. In other words, the jCard can have URI references as references. In other words, the jCard can have URI references as
defined in the jCard specification and this document, but the content defined in the jCard specification and this document, but the content
referenced by those URIs MUST NOT have any URIs, and therefore MUST referenced by those URIs MUST NOT have any URIs, and therefore MUST
be enforced by the client to fail verification or not render content be enforced by the client to not follow those URI references or not
to the user if any URI are present in that specific URI linked render that content to the user if any URI are present in that
content. The purpose of this is to control the security and more specific URI linked content. The purpose of this is to control the
specifically align with the content integrity mechanism defined in security and more specifically align with the content integrity
[I-D.ietf-stir-passport-rcd]. It is the belief of the authors that mechanism defined in [I-D.ietf-stir-passport-rcd]. It is the belief
there isn't a scenario that deeper URI references would be required of the authors that there isn't a scenario that deeper URI references
or even supported by the current set of properties for the typical would be required or even supported by the current set of properties
use of jCard properties, but because jCard is extensible, this rule for the typical use of jCard properties, but because jCard is
is set to restrict further extension without the proper consideration extensible, this rule is set to restrict further extension without
of security and integrity properties of both Call-Info usage as well the proper consideration of security and integrity properties of both
as the Rich Call Data and STIR signing of the data Call-Info usage as well as the Rich Call Data and STIR signing of the
[I-D.ietf-stir-passport-rcd], [RFC8224]. data [I-D.ietf-stir-passport-rcd], [RFC8224].
6.2. Usage of multimedia data in jCard 7.2. Usage of multimedia data in jCard
There are a few cases where jCards incorporate URIs or directly There are a few cases where jCards incorporate URIs or directly
include via Base64 encoding of digital images and sounds. We specify include via Base64 encoding of digital images and sounds. We specify
a few recommended conventions to facilitate more consistent support a few recommended conventions to facilitate more consistent support
of the successful rendering of these images. of the successful rendering of these images.
For images, such as for the photo and logo properties, the default For images, such as for the photo and logo properties, the default
image formats should be png or jpg. These files are mostly commonly image formats SHOULD be png or jpg. These files are mostly commonly
used to support 24-bit RGB images which should consequently be the used to support 24-bit RGB images which should consequently be the
default. There are some older telephone devices that may only default. There are some older telephone devices that may only
support bmp type of images with lower bit-range (e.g. 16-bit or 8-bit support bmp type of images with lower bit-range (e.g. 16-bit or 8-bit
or 1-bit), also with potentially only grayscale or 1-bit black and or 1-bit), also with potentially only grayscale or 1-bit black and
white color displays. These exceptions are considered optional to white color displays. These exceptions are should considered
support. optional to support or even recommended not to support and at least
at the time of writing this document are becoming increasingly rare
(i.e. typically displays on devices are either color or color-aware
graphical displays that support png or jpg formats or exclusively
textual displays).
In addition, vector images are increasingly popular in their use for In addition, vector images are increasingly popular in their use for
icons and the need for scalable images without having to send icons and the need for scalable images without having to send
multiple resolutions. SVG format [W3C SVG 1.1 or higher] has gained multiple resolutions. SVG format and [W3C SVG 1.2 Tiny or higher]
wide support, as of the writing of this document, as a common format specifically appropriate for this specification has gained wide
for vector images and should be supported as an additional default support as of the writing of this document, as a common format for
format supported by devices that support this specification. vector images and should be supported as an additional default format
for devices that support this specification.
For the cases where image files are referenced by URIs as file For the cases where image files are referenced by URIs as file
resources, this document defines a character string that SHOULD be resources, this document defines a character string that SHOULD be
concatenated on to the end of a file name, before the file extension concatenated on to the end of a file name, before the file extension
that signals the height and width of the image to the end device for that signals the height and width of the image to the end device for
the convenience of determining the appropriate resolution to retrieve the convenience of determining the appropriate resolution to retrieve
without the need to retrieve all the image files. It is also without the need to retrieve all the image files. It is also
recommended that images are square ratio formatted with equal height recommended that images are square ratio formatted with equal height
and width and with a power of two value for the number of pixels 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 (e.g. 32x32, 128x128, 512x512). The format of the string should be
"filename-HxW" where filename represents the unique string "filename-HxW" where filename represents the unique string
representing the file and H represents the height in pixels and W representing the file and H represents the height in pixels and W
represents the width in pixels. If the file is not to be rendered represents the width in pixels.
using the default 24-bit RGB pixel format, additionally the string
can be extended to include bit depth and number of colors. That Because this is a complex and often debated topic that has evolved
string should be formatted as "filename-HxW-bd-c", where bd is the over the many years of advances in image coding and display
bit depth (e.g. 1, 8, 16) and c represents number of color channels technologies, we likely suggest relying on either future
which should either be 1 or 3. Note: 32-bit/RGBA color format is specifications or industry forum specifications that might correspond
specifically not recommended for this document because transparency to supporting particular classes of devices to further define how
would not be clear how to render for display. URIs can reference appropriate image formats and files.
For audio files, the recommendation is to provide mp3, m4a, or wav For audio files, the recommendation is to provide mp3, m4a, or wav
files, although the usage of sound is not well defined in this files, although the usage of sound is not well defined in this
specification as, for example, a special ring tone for a particular specification as, for example, a special ring tone for a particular
caller, and future documents should consider both usage and potential caller, and future documents should consider both usage and potential
security risks of playing sounds that are not specifically authorized security risks of playing sounds that are not specifically authorized
by a device user. by a device user.
6.3. Cardinality 7.3. Cardinality
Property cardinalities are indicated, for convenience, using the Property cardinalities are indicated, for convenience, using the
following notation and follow the guidance of jCard [RFC7095] and following notation and follow the guidance of jCard [RFC7095] and
vCard [RFC6350], which is based on ABNF (see [RFC5234], Section 3.6): vCard [RFC6350], which is based on ABNF (see [RFC5234], Section 3.6):
+-------------+--------------------------------------------------+ +-------------+--------------------------------------------------+
| Cardinality | Meaning | | Cardinality | Meaning |
+-------------+--------------------------------------------------+ +-------------+--------------------------------------------------+
| 1 | Exactly one instance per jCard MUST be present. | | 1 | Exactly one instance per jCard MUST be present. |
| *1 | Exactly one instance per jCard MAY be present. | | *1 | Exactly one instance per jCard MAY be present. |
| 1* | One or more instances per jCard MUST be present. | | 1* | One or more instances per jCard MUST be present. |
| * | One or more instances per jCard MAY be present. | | * | One or more instances per jCard MAY be present. |
+-------------+--------------------------------------------------+ +-------------+--------------------------------------------------+
6.4. Identification properties 7.4. Identification properties
These types are used to capture information associated with the These types are used to capture information associated with the
identification and naming of the entity associated with the jCard. identification and naming of the entity associated with the jCard.
They are initially defined in [RFC6350], but the following list of They are initially defined in [RFC6350], but the following list of
properties included and repeated in this Section is a subset of the properties included and repeated in this Section is a subset of the
properties defined for jCard with properties selected for this properties defined for jCard with properties selected for this
document that have relevance to telephone and messaging applications. document that have relevance to telephone and messaging applications.
jCard is an extensible object and therefore, there may also be future jCard is an extensible object and therefore, there may also be future
specifications that extend the set of properties that may be relevant specifications that extend the set of properties that may be relevant
to the set of communications applications that utilize this to the set of communications applications that utilize this
specification. specification.
6.4.1. "fn" property 7.4.1. "fn" property
The "fn" property has the intent of providing a formatted text The "fn" property has the intent of providing a formatted text
corresponding to the name of the object the jCard represents. corresponding to the name of the object the jCard represents.
Reference [RFC6350] Section 6.2.1. Reference [RFC6350] Section 6.2.1.
Value type: A single text value. Value type: A single text value.
Cardinality: 1* Cardinality: 1*
Example: Example:
["fn", {}, "text", "Mr. John Q. Public\, Esq."] ["fn", {}, "text", "Mr. John Q. Public\, Esq."]
6.4.2. "n" property 7.4.2. "n" property
The "n" property has the intent of providing the components of the The "n" property has the intent of providing the components of the
name of the object the jCard represents. Reference [RFC6350] name of the object the jCard represents. Reference [RFC6350]
Section 6.2.2. Section 6.2.2.
Value type: A single structured text value. Each component can have Value type: A single structured text value. Each component can have
multiple values. multiple values.
Cardinality: *1 Cardinality: *1
Example: Example:
["n", {}, "text", "Public;John;Quinlan;Mr.;Esq."] ["n", {}, "text", "Public;John;Quinlan;Mr.;Esq."]
["n", {}, "text", "Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P."] ["n", {}, "text", "Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P."]
6.4.3. "nickname" property 7.4.3. "nickname" property
The "nickname" property has the intent of providing the text The "nickname" property has the intent of providing the text
corresponding to the nickname of the object the jCard represents. corresponding to the nickname of the object the jCard represents.
Reference [RFC6350] Section 6.2.3. Reference [RFC6350] Section 6.2.3.
Value type: One or more text values separated by a COMMA character Value type: One or more text values separated by a COMMA character
(U+002C). (U+002C).
Cardinality: * Cardinality: *
Example: Example:
["nickname", {}, "text", "Robbie"] ["nickname", {}, "text", "Robbie"]
["nickname", {}, "text", "Jim,Jimmie"] ["nickname", {}, "text", "Jim,Jimmie"]
["nickname", {}, "text", "TYPE=work:Boss"] ["nickname", {}, "text", "TYPE=work:Boss"]
6.4.4. "photo" property 7.4.4. "photo" property
The "photo" property has the intent of supplying an image or The "photo" property has the intent of supplying an image or
photograph information that annotates some aspect of the object the photograph information that annotates some aspect of the object the
jCard represents. Reference [RFC6350] Section 6.2.4. jCard represents. Reference [RFC6350] Section 6.2.4.
In addition to the definition of jCard, and to promote In addition to the definition of jCard, and to promote
interoperability and proper formatting and rendering of images, the interoperability and proper formatting and rendering of images, the
photo SHOULD correspond to a square image size of the sizes 128x128, photo SHOULD correspond to a square image size of the sizes 128x128,
256x256, 512x512, or 1024x1024 pixels. 256x256, 512x512, or 1024x1024 pixels.
Value type: A single URI. Value type: A single URI.
Cardinality: * Cardinality: *
Example: Example:
["photo", {}, "uri", "http://www.example.com/jqpublic-256x256.png"] ["photo", {}, "uri", "http://www.example.com/jqpublic-256x256.png"]
6.5. Delivery Addressing Properties 7.5. Delivery Addressing Properties
These properties are concerned with information related to the These properties are concerned with information related to the
delivery addressing or label for the jCard object. delivery addressing or label for the jCard object.
6.5.1. "adr" property 7.5.1. "adr" property
The "adr" property has the intent of providing the delivery address The "adr" property has the intent of providing the delivery address
of the object the jCard represents. Reference [RFC6350] of the object the jCard represents. Reference [RFC6350]
Section 6.3.1. Section 6.3.1.
Value type: A single structured text value, separated by the Value type: A single structured text value, separated by the
SEMICOLON character (U+003B). SEMICOLON character (U+003B).
Cardinality: * Cardinality: *
Example: Example:
["adr", {"type":"work"}, "text", ["adr", {"type":"work"}, "text",
["", "", "3100 Massachusetts Avenue NW", "Washington", "DC", ["", "", "3100 Massachusetts Avenue NW", "Washington", "DC",
"20008", "USA"] "20008", "USA"]
6.6. Communications Properties 7.6. Communications Properties
These properties describe information about how to communicate with These properties describe information about how to communicate with
the object the jCard represents. the object the jCard represents.
6.6.1. "tel" property 7.6.1. "tel" property
The "tel" property has the intent of providing the telephone number The "tel" property has the intent of providing the telephone number
for telephony communication of the object the jCard represents. for telephony communication of the object the jCard represents.
Reference [RFC6350] Section 6.4.1. Reference [RFC6350] Section 6.4.1.
Relative to the SIP From header field value this information may Relative to the SIP From header field value this information may
provide alternate telephone number or other related telephone numbers provide alternate telephone number or other related telephone numbers
for other uses. for other uses.
It is important to note that any of the potential instances of the It is important to note that any of the potential instances of the
skipping to change at page 12, line 27 skipping to change at page 14, line 5
value. It is expected that the URI scheme will be "tel", as value. It is expected that the URI scheme will be "tel", as
specified in [RFC3966], but other schemes MAY be used. specified in [RFC3966], but other schemes MAY be used.
Cardinality: * Cardinality: *
Example: Example:
["tel", { "type": ["voice", "text", "cell"], "pref": "1" }, "uri", ["tel", { "type": ["voice", "text", "cell"], "pref": "1" }, "uri",
"tel:+1-202-555-1000"] "tel:+1-202-555-1000"]
["tel", { "type": ["fax"] }, "uri", "tel:+1-202-555-1001"] ["tel", { "type": ["fax"] }, "uri", "tel:+1-202-555-1001"]
6.6.2. "email" property 7.6.2. "email" property
The "email" property has the intent of providing the electronic mail The "email" property has the intent of providing the electronic mail
address for communication of the object the jCard represents. address for communication of the object the jCard represents.
Reference [RFC6350] Section 6.4.2. Reference [RFC6350] Section 6.4.2.
Value type: A single text value. Value type: A single text value.
Cardinality: * Cardinality: *
Example: Example:
["email", {"type":"work"}, "text", "jqpublic@xyz.example.com"] ["email", {"type":"work"}, "text", "jqpublic@xyz.example.com"]
["email", {"pref":"1"}, "text", "jane_doe@example.com"] ["email", {"pref":"1"}, "text", "jane_doe@example.com"]
6.6.3. "lang" property 7.6.3. "lang" property
The "lang" property has the intent of providing the language(s) that The "lang" property has the intent of providing the language(s) that
may be used for contacting of the object the jCard represents. may be used for contacting of the object the jCard represents.
Reference [RFC6350] Section 6.4.4. Reference [RFC6350] Section 6.4.4.
Value type: A single language-tag value. Value type: A single language-tag value.
Cardinality: * Cardinality: *
Example: Example:
["lang", {"type":"work", "pref":"1"}, "language-tag", "en"] ["lang", {"type":"work", "pref":"1"}, "language-tag", "en"]
["lang", {"type":"work", "pref":"2"}, "language-tag", "fr"] ["lang", {"type":"work", "pref":"2"}, "language-tag", "fr"]
["lang", {"type":"home"}, "language-tag", "fr"] ["lang", {"type":"home"}, "language-tag", "fr"]
6.7. Geographical Properties 7.7. Geographical Properties
These properties are concerned with information associated with These properties are concerned with information associated with
geographical positions or regions associated with the object the geographical positions or regions associated with the object the
jCard represents. jCard represents.
6.7.1. "tz" property 7.7.1. "tz" property
The "tz" property has the intent of providing the time zone of the The "tz" property has the intent of providing the time zone of the
object the jCard represents. Reference [RFC6350] Section 6.5.1. object the jCard represents. Reference [RFC6350] Section 6.5.1.
Note: the up-to-date reference for where time-zone names are Note: the up-to-date reference for where time-zone names are
maintained is, at the authoring of this document, at this web maintained is, at the authoring of this document, at this web
address, https://www.iana.org/time-zones. address, https://www.iana.org/time-zones.
Value type: The default is a single text value. It can also be reset Value type: The default is a single text value. It can also be reset
to a single URI or utc-offset value. to a single URI or utc-offset value.
skipping to change at page 13, line 28 skipping to change at page 15, line 4
object the jCard represents. Reference [RFC6350] Section 6.5.1. object the jCard represents. Reference [RFC6350] Section 6.5.1.
Note: the up-to-date reference for where time-zone names are Note: the up-to-date reference for where time-zone names are
maintained is, at the authoring of this document, at this web maintained is, at the authoring of this document, at this web
address, https://www.iana.org/time-zones. address, https://www.iana.org/time-zones.
Value type: The default is a single text value. It can also be reset Value type: The default is a single text value. It can also be reset
to a single URI or utc-offset value. to a single URI or utc-offset value.
Cardinality: * Cardinality: *
Example: Example:
["tz", {}, "text", "Raleigh/North America"] ["tz", {}, "text", "Raleigh/North America"]
6.7.2. "geo" property 7.7.2. "geo" property
The "geo" property has the intent of providing the global positioning The "geo" property has the intent of providing the global positioning
of the object the jCard represents. Reference [RFC6350] of the object the jCard represents. Reference [RFC6350]
Section 6.5.2. Section 6.5.2.
Value type: A single URI. Value type: A single URI.
Cardinality: * Cardinality: *
Example: Example:
["geo", {}, "uri", "geo:37.386013,-122.082932"] ["geo", {}, "uri", "geo:37.386013,-122.082932"]
6.8. Organizational Properties 7.8. Organizational Properties
These properties are concerned with information associated with These properties are concerned with information associated with
characteristics of the organization or organizational units of the characteristics of the organization or organizational units of the
object that the jCard represents. object that the jCard represents.
6.8.1. "title" property 7.8.1. "title" property
The "title" property has the intent of providing the position or job The "title" property has the intent of providing the position or job
of the object the jCard represents. Reference [RFC6350] of the object the jCard represents. Reference [RFC6350]
Section 6.6.1. Section 6.6.1.
Value type: A single text value. Value type: A single text value.
Cardinality: * Cardinality: *
Example: Example:
["title", {}, "text", "Research Scientist"] ["title", {}, "text", "Research Scientist"]
6.8.2. "role" property 7.8.2. "role" property
The "role" property has the intent of providing the position or job The "role" property has the intent of providing the position or job
of the object the jCard represents. Reference [RFC6350] of the object the jCard represents. Reference [RFC6350]
Section 6.6.2. Section 6.6.2.
Value type: A single text value. Value type: A single text value.
Cardinality: * Cardinality: *
Example: Example:
["role", {}, "text", "Project Leader"] ["role", {}, "text", "Project Leader"]
6.8.3. "logo" property 7.8.3. "logo" property
The "logo" property has the intent of specifying a graphic image of a The "logo" property has the intent of specifying a graphic image of a
logo associated with the object the jCard represents. Reference logo associated with the object the jCard represents. Reference
[RFC6350] Section 6.6.3. [RFC6350] Section 6.6.3.
Value type: A single URI. Value type: A single URI.
Cardinality: * Cardinality: *
Example: Example:
["logo", {}, "uri", "http://www.example.com/abccorp-512x512.jpg"] ["logo", {}, "uri", "http://www.example.com/abccorp-512x512.jpg"]
["logo", {}, "uri", "data:image/jpeg;base64,MIICajCCAdOgAwIBAgIC ["logo", {}, "uri", "data:image/jpeg;base64,MIICajCCAdOgAwIBAgIC
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...the remainder of base64-encoded data...>"] <...the remainder of base64-encoded data...>"]
6.8.4. "org" property 7.8.4. "org" property
The "org" property has the intent of specifying the organizational The "org" property has the intent of specifying the organizational
name and units of the object the jCard represents. Reference name and units of the object the jCard represents. Reference
[RFC6350] Section 6.6.2. [RFC6350] Section 6.6.2.
Value type: A single structured text value consisting of components Value type: A single structured text value consisting of components
separated by the SEMICOLON character (U+003B). separated by the SEMICOLON character (U+003B).
Cardinality: * Cardinality: *
Example: Example:
["org", {}, "text", "ABC\, Inc.;North American Division;Marketing"] ["org", {}, "text", "ABC\, Inc.;North American Division;Marketing"]
6.9. Explanatory Properties 7.9. Explanatory Properties
These properties are concerned with additional explanations, such as These properties are concerned with additional explanations, such as
that related to informational notes or revisions specific to the that related to informational notes or revisions specific to the
jCard. jCard.
6.9.1. "categories" property 7.9.1. "categories" property
The "categories" property has the intent of specifying application The "categories" property has the intent of specifying application
category information about the object the jCard represents. category information about the object the jCard represents.
Reference [RFC6350] Section 6.7.1. Reference [RFC6350] Section 6.7.1.
Value type: One or more text values separated by a COMMA character Value type: One or more text values separated by a COMMA character
(U+002C). (U+002C).
Cardinality: * Cardinality: *
Example: Example:
["categories", {}, "text", "TRAVEL AGENT"] ["categories", {}, "text", "TRAVEL AGENT"]
["categories", {}, "text", "INTERNET,IETF,INDUSTRY"] ["categories", {}, "text", "INTERNET,IETF,INDUSTRY"]
6.9.2. "note" property 7.9.2. "note" property
The "note" property has the intent of specifying supplemental The "note" property has the intent of specifying supplemental
information or a comment about the object the jCard represents. information or a comment about the object the jCard represents.
Reference [RFC6350] Section 6.7.2. Reference [RFC6350] Section 6.7.2.
Value type: A single text value. Value type: A single text value.
Cardinality: * Cardinality: *
Example: Example:
["note", {}, "text", "This fax number is operational 0800 to 1715 ["note", {}, "text", "This fax number is operational 0800 to 1715
EST\, Mon-Fri."] EST\, Mon-Fri."]
6.9.3. "sound" property 7.9.3. "sound" property
The "sound" property has the intent of specifying a digital sound The "sound" property has the intent of specifying a digital sound
content information that annotates some aspect of the object the content information that annotates some aspect of the object the
jCard represents. This property is often used to specify the proper jCard represents. This property is often used to specify the proper
pronunciation of the name property value of the jCard. Reference pronunciation of the name property value of the jCard. Reference
[RFC6350] Section 6.7.5. [RFC6350] Section 6.7.5.
Value type: A single URI. Value type: A single URI.
Cardinality: * Cardinality: *
Example: Example:
["sound", {}, "uri", "http://www.example.com/pub/logos/abccorp.mp3"] ["sound", {}, "uri", "http://www.example.com/pub/logos/abccorp.mp3"]
["sound", {}, "uri", "data:audio/basic;base64,MIICajCCAdOgAwIBAgICBE ["sound", {}, "uri", "data:audio/basic;base64,MIICajCCAdOgAwIBAgICBE
AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0 ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
<...the remainder of base64-encoded data...>"] <...the remainder of base64-encoded data...>"]
6.9.4. "uid" property 7.9.4. "uid" property
The "uid" property has the intent of specifying a globally unique The "uid" property has the intent of specifying a globally unique
identifier corresponding to the object the jCard represents. identifier corresponding to the object the jCard represents.
Reference [RFC6350] Section 6.7.6. Reference [RFC6350] Section 6.7.6.
Value type: A single URI value. It MAY also be reset to free-form Value type: A single URI value. It MAY also be reset to free-form
text. text.
Cardinality: *1 Cardinality: *1
Example: Example:
["uid", {}, "uri", "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6"] ["uid", {}, "uri", "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6"]
6.9.5. "url" property 7.9.5. "url" property
The "url" property has the intent of specifying a uniform resource The "url" property has the intent of specifying a uniform resource
locator associated with the object the jCard represents. Reference locator associated with the object the jCard represents. Reference
[RFC6350] Section 6.7.8. [RFC6350] Section 6.7.8.
There is potential security and privacy implications of providing There is potential security and privacy implications of providing
URLs with telephone calls. The end client receiving a jCard with a URLs with telephone calls. The end client receiving a jCard with a
URL property MUST only display the URL and not automatically follow URL property MUST only display the URL and not automatically follow
the URL or provide automatic preview of the URL, and generally the URL or provide automatic preview of the URL, and generally
provide good practices in making it clear to the user it is their provide good practices in making it clear to the user it is their
skipping to change at page 17, line 16 skipping to change at page 18, line 32
the common browser security and privacy practices available on most the common browser security and privacy practices available on most
consumer OS environments. consumer OS environments.
Value type: A single uri value. Value type: A single uri value.
Cardinality: * Cardinality: *
Example: Example:
["url", {}, "uri", "https://example.org/french-rest/chezchic.html"] ["url", {}, "uri", "https://example.org/french-rest/chezchic.html"]
6.9.6. "version" property 7.9.6. "version" property
The "version" property MUST be included and is intended to specify The "version" property MUST be included and is intended to specify
the version of the vCard specification used to format this vCard. the version of the vCard specification used to format this vCard.
Reference [RFC6350] Section 6.7.9. Reference [RFC6350] Section 6.7.9.
Value type: A single text value. Value type: A single text value.
Cardinality: 1 Cardinality: 1
Example: Example:
["version", {}, "text", "4.0"] ["version", {}, "text", "4.0"]
7. Extension of jCard 8. Extension of jCard
Part of the intent of the usage of jCard is that it has its own Part of the intent of the usage of jCard is that it has its own
extensibility properties where new properties can be defined to relay extensibility properties where new properties can be defined to relay
newly defined information related to a caller. This capability is newly defined information related to a caller. This capability is
inherently supported as part of standard extensibility. However, inherently supported as part of standard extensibility. However,
usage of those new properties should be published and registered usage of those new properties should be published and registered
following [RFC7095] Section 3.6 or new specifications. following [RFC7095] Section 3.6 or new specifications.
8. Acknowledgements 9. Acknowledgements
We would like to thank David Hancock and other members of the STIR We would like to thank David Hancock, Alec Fenichel and other members
working group for helpful suggestions and comments for the creation of the SIPCORE and STIR working group for helpful suggestions and
of this draft. comments for the creation of this draft.
9. IANA Considerations 10. IANA Considerations
9.1. SIP Call-Info Header Field Purpose Token Request 10.1. SIP Call-Info Header Field Purpose Token Request
[this RFC] defines the "jcard" token for use as a new token in the [this RFC] defines the "jcard" token for use as a new token in the
Call-Info header in the "Header Field Parameters and Parameter Call-Info header in the "Header Field Parameters and Parameter
Values" registry defined by [RFC3968]. Values" registry defined by [RFC3968].
+--------------+----------------+-------------------+------------+ +--------------+----------------+-------------------+------------+
| Header Field | Parameter Name | Predefined Values | Reference | | Header Field | Parameter Name | Predefined Values | Reference |
+--------------+----------------+-------------------+------------+ +--------------+----------------+-------------------+------------+
| Call-Info | jcard | No | [this RFC] | | Call-Info | jcard | No | [this RFC] |
+--------------+----------------+-------------------+------------+ +--------------+----------------+-------------------+------------+
9.2. SIP Call-Info Header Field Purpose Token Request 10.2. SIP Call-Info Header Field Purpose Token Request
[this RFC] defines the "call-reason" generic parameter for use as a [this RFC] defines the "call-reason" generic parameter for use as a
new parameter in the Call-Info header in the "Header Field Parameters new parameter in the Call-Info header in the "Header Field Parameters
and Parameter Values" registry defined by [RFC3968]. The parameter's and Parameter Values" registry defined by [RFC3968]. The parameter's
token is "call-reason" and it takes the value of a quoted string. token is "call-reason" and it takes the value of a quoted string.
10. Security Considerations 11. Security Considerations
Revealing information such as the name, location, and affiliation of Revealing information such as the name, location, and affiliation of
a person necessarily entails certain privacy risks. SIP and Call- a person necessarily entails certain privacy risks. SIP and Call-
Info has no particular confidentiality requirement, as the Info has no particular confidentiality requirement, as the
information sent in SIP is in the clear anyway. Transport-level information sent in SIP is in the clear anyway. Transport-level
security can be used to hide information from eavesdroppers, and the security can be used to hide information from eavesdroppers, and the
same confidentiality mechanisms would protect any Call-Info or jCard same confidentiality mechanisms would protect any Call-Info or jCard
information carried or referred to in SIP. information carried or referred to in SIP.
11. Normative References The security framework of signing and providing integrity to this
data should be followed [I-D.ietf-stir-passport-rcd], with the idea
that the use of constraints and other certificate based associations
should be considered. This includes considerations around
information about the calling party being generally constant vs per
call data being more temporal. This also includes the relationship
that certificates with constraints presents to how they relate to
each other and how that information is managed, protected, and
associated with the correct call corresponding to a calling party.
12. Normative References
[I-D.ietf-stir-passport-rcd] [I-D.ietf-stir-passport-rcd]
Wendt, C. and J. Peterson, "PASSporT Extension for Rich Wendt, C. and J. Peterson, "PASSporT Extension for Rich
Call Data", Work in Progress, Internet-Draft, draft-ietf- Call Data", Work in Progress, Internet-Draft, draft-ietf-
stir-passport-rcd-13, 9 September 2021, stir-passport-rcd-14, 25 October 2021,
<https://www.ietf.org/archive/id/draft-ietf-stir-passport- <https://www.ietf.org/archive/id/draft-ietf-stir-passport-
rcd-13.txt>. rcd-14.txt>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource
Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998,
<https://www.rfc-editor.org/info/rfc2392>. <https://www.rfc-editor.org/info/rfc2392>.
skipping to change at page 20, line 19 skipping to change at page 21, line 41
[RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session "Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 8224, Initiation Protocol (SIP)", RFC 8224,
DOI 10.17487/RFC8224, February 2018, DOI 10.17487/RFC8224, February 2018,
<https://www.rfc-editor.org/info/rfc8224>. <https://www.rfc-editor.org/info/rfc8224>.
[RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
<https://www.rfc-editor.org/info/rfc8225>. <https://www.rfc-editor.org/info/rfc8225>.
[RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", STD 90, RFC 8259,
DOI 10.17487/RFC8259, December 2017,
<https://www.rfc-editor.org/info/rfc8259>.
Authors' Addresses Authors' Addresses
Chris Wendt Chris Wendt
Comcast Somos Inc.
Comcast Technology Center
Philadelphia, PA 19103,
United States of America United States of America
Email: chris-ietf@chriswendt.net Email: chris-ietf@chriswendt.net
Jon Peterson Jon Peterson
Neustar Inc. Neustar Inc.
1800 Sutter St Suite 570 1800 Sutter St Suite 570
Concord, CA 94520, Concord, CA 94520,
United States of America United States of America
Email: jon.peterson@neustar.biz Email: jon.peterson@neustar.biz
 End of changes. 71 change blocks. 
166 lines changed or deleted 259 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/