The JSON format for vCon - Conversation Data Container
draft-ietf-vcon-vcon-core-00
The information below is for an old version of the document.
| Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Active".
|
|
|---|---|---|---|
| Author | Daniel Petrie | ||
| Last updated | 2025-07-08 | ||
| RFC stream | Internet Engineering Task Force (IETF) | ||
| Formats | |||
| Additional resources | Mailing list discussion | ||
| Stream | WG state | WG Document | |
| Document shepherd | (None) | ||
| IESG | IESG state | I-D Exists | |
| Consensus boilerplate | Unknown | ||
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-ietf-vcon-vcon-core-00
Virtualized Conversations D. G Petrie
Internet-Draft SIPez LLC
Intended status: Standards Track 7 July 2025
Expires: 8 January 2026
The JSON format for vCon - Conversation Data Container
draft-ietf-vcon-vcon-core-00
Abstract
vCon is a standardized framework for the exchange of conversational
data. Conversations, which may involve one or more participants,
occur across a wide variety of modes and application platforms. This
document defines a JSON format for representing conversational data,
encompassing metadata, conversation media, related documents, and
analysis. The goal of this standard is to provide an abstracted,
platform-independent data format for conversations, regardless of the
mode or application platform. By doing so, it facilitates the
integration and seamless exchange of conversational data across
application platforms, enterprises, and trust boundaries.
About This Document
This note is to be removed before publishing as an RFC.
The latest revision of this draft can be found at https://ietf-wg-
vcon.github.io/draft-ietf-vcon-vcon-core/draft-ietf-vcon-vcon-
core.html. Status information for this document may be found at
https://datatracker.ietf.org/doc/draft-ietf-vcon-vcon-core/.
Discussion of this document takes place on the Virtualized
Conversations Working Group mailing list (mailto:vcon@ietf.org),
which is archived at https://mailarchive.ietf.org/arch/browse/vcon/.
Subscribe at https://www.ietf.org/mailman/listinfo/vcon/.
Source for this draft and an issue tracker can be found at
https://github.com/ietf-wg-vcon/draft-ietf-vcon-vcon-core.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Petrie Expires 8 January 2026 [Page 1]
Internet-Draft JSON vCon July 2025
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 8 January 2026.
Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Purpose of vCon . . . . . . . . . . . . . . . . . . . . . 5
1.2. Extending the vCon Schema . . . . . . . . . . . . . . . . 5
1.3. Benefits of vCon . . . . . . . . . . . . . . . . . . . . 6
1.3.1. 1.4. *Scope of the Document* . . . . . . . . . . . . 6
2. Conventions and Definitions . . . . . . . . . . . . . . . . . 6
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. JSON Notation . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Inline Files . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1. body . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2. encoding . . . . . . . . . . . . . . . . . . . . . . 9
2.4. Externally Referenced Files . . . . . . . . . . . . . . . 9
2.4.1. url . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.2. content_hash . . . . . . . . . . . . . . . . . . . . 10
2.5. Extending vCon . . . . . . . . . . . . . . . . . . . . . 10
3. vCon JSON Object . . . . . . . . . . . . . . . . . . . . . . 11
4. Unsigned Form of vCon Object . . . . . . . . . . . . . . . . 11
4.1. vCon JSON Object Keys and Values . . . . . . . . . . . . 12
4.1.1. vcon . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.2. uuid . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.3. extensions . . . . . . . . . . . . . . . . . . . . . 13
4.1.4. must_support . . . . . . . . . . . . . . . . . . . . 13
4.1.5. created_at . . . . . . . . . . . . . . . . . . . . . 13
4.1.6. updated_at . . . . . . . . . . . . . . . . . . . . . 13
4.1.7. subject . . . . . . . . . . . . . . . . . . . . . . . 14
Petrie Expires 8 January 2026 [Page 2]
Internet-Draft JSON vCon July 2025
4.1.8. redacted . . . . . . . . . . . . . . . . . . . . . . 14
4.1.9. appended . . . . . . . . . . . . . . . . . . . . . . 16
4.1.10. group Objects Array . . . . . . . . . . . . . . . . . 18
4.1.11. parties Objects Array . . . . . . . . . . . . . . . . 19
4.1.12. dialog Objects Array . . . . . . . . . . . . . . . . 19
4.1.13. analysis Objects Array . . . . . . . . . . . . . . . 19
4.1.14. attachments Objects Array . . . . . . . . . . . . . . 20
4.2. Party Object . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1. tel . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2. sip . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.3. stir . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.4. mailto . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.5. name . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.6. did . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2.7. validation . . . . . . . . . . . . . . . . . . . . . 21
4.2.8. jCard . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.9. gmlpos . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.10. civicaddress . . . . . . . . . . . . . . . . . . . . 22
4.2.11. timezone . . . . . . . . . . . . . . . . . . . . . . 23
4.2.12. uuid . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3. Dialog Object . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1. type . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.2. start . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.3. duration . . . . . . . . . . . . . . . . . . . . . . 25
4.3.4. parties . . . . . . . . . . . . . . . . . . . . . . . 25
4.3.5. originator . . . . . . . . . . . . . . . . . . . . . 26
4.3.6. mediatype . . . . . . . . . . . . . . . . . . . . . . 26
4.3.7. filename . . . . . . . . . . . . . . . . . . . . . . 27
4.3.8. Dialog Content . . . . . . . . . . . . . . . . . . . 27
4.3.9. disposition . . . . . . . . . . . . . . . . . . . . . 28
4.3.10. session_id . . . . . . . . . . . . . . . . . . . . . 28
4.3.11. party_history Objects Array . . . . . . . . . . . . . 29
4.3.12. Dialog Transfer . . . . . . . . . . . . . . . . . . . 29
4.3.13. application . . . . . . . . . . . . . . . . . . . . . 31
4.3.14. message_id . . . . . . . . . . . . . . . . . . . . . 31
4.4. Attachment Object . . . . . . . . . . . . . . . . . . . . 31
4.4.1. type or purpose . . . . . . . . . . . . . . . . . . . 32
4.4.2. start . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.3. party . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.4. dialog . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.5. mediatype . . . . . . . . . . . . . . . . . . . . . . 32
4.4.6. filename . . . . . . . . . . . . . . . . . . . . . . 33
4.4.7. Attachment Content . . . . . . . . . . . . . . . . . 33
4.5. Analysis Object . . . . . . . . . . . . . . . . . . . . . 33
4.5.1. type . . . . . . . . . . . . . . . . . . . . . . . . 33
4.5.2. dialog . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.3. mediatype . . . . . . . . . . . . . . . . . . . . . . 34
4.5.4. filename . . . . . . . . . . . . . . . . . . . . . . 34
Petrie Expires 8 January 2026 [Page 3]
Internet-Draft JSON vCon July 2025
4.5.5. vendor . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.6. product . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.7. schema . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.8. Analysis Content . . . . . . . . . . . . . . . . . . 35
4.6. Group Object . . . . . . . . . . . . . . . . . . . . . . 36
5. Security Considerations . . . . . . . . . . . . . . . . . . . 37
5.1. Signing Externally Referenced Files . . . . . . . . . . . 39
5.2. Signed Form of vCon Object . . . . . . . . . . . . . . . 39
5.2.1. Signature Object . . . . . . . . . . . . . . . . . . 40
5.2.2. Header Object . . . . . . . . . . . . . . . . . . . . 40
5.3. Encrypted Form of vCon Object . . . . . . . . . . . . . . 41
5.3.1. Unprotected Object . . . . . . . . . . . . . . . . . 41
5.3.2. Recipient Object . . . . . . . . . . . . . . . . . . 42
5.3.3. Header Object . . . . . . . . . . . . . . . . . . . . 42
5.4. Differentiation of unsigned, signed and encrypted forms of
vCon . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43
6.1. JSON Format vCon Mediatype . . . . . . . . . . . . . . . 43
6.2. gzip Format vCon Mediatype . . . . . . . . . . . . . . . 44
6.3. vCon JSON registry . . . . . . . . . . . . . . . . . . . 45
6.3.1. Object Registry Template . . . . . . . . . . . . . . 45
6.3.2. vCon Object Parameter Names Registry . . . . . . . . 46
6.3.3. Party Object Parameter Names Registry . . . . . . . . 47
6.3.4. Dialog Object Parameter Names Registry . . . . . . . 48
6.3.5. party_history Object Parameter Names Registry . . . . 51
6.3.6. Attachment Object Parameter Names Registry . . . . . 53
6.3.7. Analysis Object Parameter Names Registry . . . . . . 54
6.3.8. Redacted Object Parameter Names Registry . . . . . . 55
6.3.9. Appended Object Parameter Names Registry . . . . . . 56
6.3.10. Group Object Parameter Names Registry . . . . . . . . 56
6.4. vCon Extensions Names Registry . . . . . . . . . . . . . 57
6.4.1. Extensions Registration Template . . . . . . . . . . 57
6.5. JSON Web Signature and Encryption Header Parameters . . . 58
6.6. JSON Web Signature and Encryption Unprotected
Parameters . . . . . . . . . . . . . . . . . . . . . . . 58
7. Non-Upward Compatible Changes to the vCon Container . . . . . 58
7.1. Version 0.0.2 to 0.3.0 . . . . . . . . . . . . . . . . . 58
7.2. Version 0.0.1 to 0.0.2 . . . . . . . . . . . . . . . . . 59
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1. Normative References . . . . . . . . . . . . . . . . . . 59
8.2. Informative References . . . . . . . . . . . . . . . . . 61
Appendix A. Example vCons . . . . . . . . . . . . . . . . . . . 62
A.1. Two Party Call vCon With Inline Recording . . . . . . . . 63
A.2. Text Chat vCon . . . . . . . . . . . . . . . . . . . . . 67
A.3. Email Thread Multipart vCon . . . . . . . . . . . . . . . 67
A.4. Email Thread Text vCon . . . . . . . . . . . . . . . . . 70
A.5. Two Party Call vCon With Externally Referenced
Recording . . . . . . . . . . . . . . . . . . . . . . . 72
Petrie Expires 8 January 2026 [Page 4]
Internet-Draft JSON vCon July 2025
A.6. Two Party Call vCon with Analysis . . . . . . . . . . . . 73
A.7. Signed vCon . . . . . . . . . . . . . . . . . . . . . . . 92
A.8. Encrypted vCon . . . . . . . . . . . . . . . . . . . . . 98
A.9. Redacted vCon . . . . . . . . . . . . . . . . . . . . . . 105
A.10. Appended Signed vCon . . . . . . . . . . . . . . . . . . 107
A.11. vCon Group . . . . . . . . . . . . . . . . . . . . . . . 107
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 107
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 107
1. Introduction
This document specifies the *vCon* (Conversational Data Exchange)
standard, which defines a unified format for representing and
exchanging conversational data across different communication
platforms and modalities. The goal of *vCon* is to provide a
standardized, platform-agnostic structure for capturing and sharing
conversational information, allowing for seamless integration between
systems, enterprises, and trust boundaries.
1.1. Purpose of vCon
The *vCon* standard enables the abstraction of conversation data,
making it easier to integrate communication platforms with external
services, including post-conversation analysis tools, customer
support systems, and business intelligence platforms. By defining a
consistent data format, *vCon* ensures interoperability across
various platforms, regardless of the communication mode - whether
text, audio, video, or other formats.
The *vCon* format captures the essential components of a
conversation, including metadata, media content, related documents,
and post-conversation analysis. This abstraction simplifies data
exchange, apply AI-driven analysis, as well as model training and
testing.
1.2. Extending the vCon Schema
In addition to the core *vCon* schema, this document provides a
framework for extending the *vCon* format to support specialized use
cases. The *vCon* schema can be customized to address the needs of
specific industries or applications, such as:
* *Contact Centers*: Adding specific metadata related to customer
service interactions, case management, and priority tracking.
* *Messaging Platforms*: Supporting the integration of different
message formats, including SMS, email, and chat, group concepts,
along with platform-specific information.
Petrie Expires 8 January 2026 [Page 5]
Internet-Draft JSON vCon July 2025
* *ECRIT (Emergency Communication) Centers*: Extending the schema to
capture critical data such as location, urgency, and incident
details for emergency communications.
The ability to add extensions ensure that *vCon* remains flexible and
adaptable, enabling its use in a wide range of domains while
maintaining a consistent format for data exchange.
1.3. Benefits of vCon
The *vCon* standard offers several key benefits:
* *Interoperability*: A consistent data format for conversational
data facilitates integration across diverse platforms and systems.
* *AI-Driven Analysis*: By capturing data in a structured format,
*vCon* enables the application of AI analysis such as sentiment
analysis, categorization, transcription, and decision-making.
* *Data Automation*: The *vCon* format simplifies the automation of
processes involving conversational data, improving efficiency and
reducing the risk of errors.
* *Enterprise Integration*: The ability to integrate conversation
data with third-party tools and services enhances the value of
conversations by providing deeper insights and driving business
decisions.
1.3.1. 1.4. *Scope of the Document*
This document defines the core structure and schema for *vCon* as a
JSON format. Detailed specifications for the various parameters and
the extension framework will be provided in subsequent sections. The
primary focus is on creating a flexible, extensible standard for the
exchange of conversational data that can be easily adopted across
industries, use cases, and communication technologies.
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
Petrie Expires 8 January 2026 [Page 6]
Internet-Draft JSON vCon July 2025
2.1. Terminology
* analysis - analysis, transformations, summary, sentiment, or
translation typically of the dialog data
* conversation - an exchange of communication using text, audio or
video medium between at least one human and one or more bots or
humans
* de-identification - removal of all information that could identify
a party in a conversation. This includes PII as well as audio and
video recordings. Voice recordings might be re-vocalized with a
different speaker.
* dialog - the captured conversation in its original form (e.g.
text, audio or video)
* encrypted form - encrypted JWE document with the JWS signed vCon
form contained in the ciphertext
* file - a data block either included or referenced in a vCon
* object - JSON object containing key and value pairs
* parameter - JSON key and value pair
* party - an observer or participant to the conversation, either
passive or active
* payload - the contents or bytes that make up a file
* PII - Personal Identifiable Information
* PII masked - may include voice recordings, but PII is removed from
transcripts and recordings (audio and video).
* vCon - container for conversational information
* vCon instance - a vCon populated with data for a specific
conversation
* vCon instance version - a single version of an instance of a
conversation, which may be modified to redact or append additional
information forming a subsequent vCon instance version
* vCon syntax version - the version for the data syntax used for
form a vCon
Petrie Expires 8 January 2026 [Page 7]
Internet-Draft JSON vCon July 2025
* signed form - JWS signed document with the unsigned vCon form
contained in the payload
2.2. JSON Notation
For the ease of documentation, the convention for [JSON] notation
used in this document is copied from sections 1.1-1.5 of [JMAP].
* Date - A string that MUST have the form of an [RFC3339] date
string as defined for the Date type in section 1.4 of [JMAP].
* "String" - a JSON string type
* "UnsignedInt" - a positive JSON integer as defined in section 1.3
of [JMAP].
* "UnsignedFloat" - a positive JSON floating point number containing
a decimal point as defined in section 6 of [JSON].
* "Mediatype" - A "String" value that MUST be of the following form
as defined in section 5.1 of [MIME]: type "/" subtype
* "ContentHash" - The string token value is generated using the same
approach used in section 6 of [STIR-PASS]. The relevant text is
copied here for convenience and to remove the normative
dependency. The hash string token values are formed from
combining a string that defines the crypto algorithm used to
generate the digest along with the Base64Url Encoded value of the
SHA-512 hash, as defined in section 6.3 and 6.4 [SHA-512], of the
body of the content at the given url. The hash algorithm is
identified by "sha512". SHA-512 is part of the SHA-2 set of
cryptographic hash functions [SHA-512] defined by the US National
Institute of Standards and Technology (NIST). Implementations MAY
support additional recommended hash algorithms in [IANA-COSE-ALG];
that is, the hash algorithm has "Yes" in the "Recommended" column
of the IANA registry. Hash algorithm identifiers MUST use only
lowercase letters, and they MUST NOT contain hyphen characters.
The character following the algorithm string MUST be a hyphen
character, "-", or ASCII 45. The subsequent characters are the
Base64Url encoded (see Section 2 [JWS]) digest of a canonicalized
and concatenated string or binary data based on the JSON pointer
referenced elements of "rcd" claim or the URI referenced content
contained in the claim.
* "A[]" and array of values of type A.
All parameters are assumed to be mandatory unless other wise noted.
Petrie Expires 8 January 2026 [Page 8]
Internet-Draft JSON vCon July 2025
Objects or arrays with no or null values MAY be excluded from the
vCon.
2.3. Inline Files
Objects that contain a file or data inline (i.e. within the vCon)
MUST have the parameters: body and encoding. JSON does not support
binary data values. For this reason inline files MUST be Base64url
(see Section 2 [JWS]) encoded to be included as a valid JSON string
value if they are not already valid JSON strings.
2.3.1. body
The body parameter contains the payload of the file to be included
inline. Depending upon the data in the file, it may require encoding
to be used as a valid JSON string value.
* body: "String"
2.3.2. encoding
The encoding parameter describes the type of encoding that was
performed on the string value of the body parameter.
* encoding: "String"
This MUST be one of the following strings:
* "base64url": The payload of the file has been Base64Url encoded
and provided as the string value of the body parameter.
* "json": The value of the body string is a JSON object.
* "none": The payload of the file is a valid JSON string and can be
included without modification as the string value to the body
parameter.
2.4. Externally Referenced Files
Files and data stored externally from the vCon MUST be "signed" to
ensure that they have not been modified. Objects that refer to a
file which is externally stored from the vCon MUST have the
parameters: url, content_hash. These parameters are defined in the
following subsections. The values and format of the hashes are
defined in Section 2.2 type: ContentHash. The use of [SHA-512] hash
for ensuring that the externally referenced data or file has not been
modified, is defined in this document. Other methods of ensuring
integrity may be added in the future.
Petrie Expires 8 January 2026 [Page 9]
Internet-Draft JSON vCon July 2025
2.4.1. url
The url value contains the [HTTPS] URL where the externally
referenced file is stored. HTTPS MUST be used for retrieval to
protect the privacy of the contents of the file.
* url: "String"
2.4.2. content_hash
The integrity of externally referenced files are protected using a
hash of the external content. The algorithm and hash value are
contained in the content_hash parameter. The value of the
content_hash can be a single token or an array of tokens if multiple
hash algorithms are desired to be provided. The SHA-512 [SHA-512]
algorithm MUST be supported. Other algorithms MAY be included. The
algorithm used for signing the externally referenced file is defined
in section 6.3 and 6.4 of [SHA-512].
* content_hash: "ContentHash" | "ContentHash[]"
2.5. Extending vCon
vCon provides a means to extend the schema defined in this document.
A vCon extension can define new parameters at any level of the
schema. It can also redefine the semantics of or deprecate existing
parameters. To do so, a new extension definition MUST do the
following: * Define a new Section 4.1.3 token value and register it
with IANA (see examples) (Section 6.3)) * Define the new
parameter(s), their meaning, value types and register them with IANA
* Define the new semantics and values for change parameters * List
deprecated parameters, what should be used in its stead and migration
approaches * Use snake case naming convention for parameter names (as
opposed to camel case)
Extensions to the vCon schema can be classified into two categories:
* *Compatible*: These extensions introduce additional data or fields
without altering the meaning or structure of existing elements.
Implementations that do not recognize these extensions can safely
ignore them while maintaining valid processing of the vCon.
* *Incompatible*: These extensions modify existing semantics or
schema definitions in ways that render a vCon incompatible with
implementations that do not support the extension. Interpreting
such a vCon correctly requires explicit awareness of the
extension.
Petrie Expires 8 January 2026 [Page 10]
Internet-Draft JSON vCon July 2025
Wherever feasible, extensions *SHOULD* be designed as *Compatible* to
preserve compatibility with existing implementations.
However, when disruptive extensions are necessary, the names of all
such extensions *MUST* be listed in the must_support (Section 4.1.4)
parameter of the vCon. This allows implementations to determine
whether they are capable of processing the vCon safely and
accurately.
Implementations that encounter a vCon containing a disruptive
extension listed in the must_support parameter, but do not support
that extension, *MUST NOT* process the vCon except to reject it or
notify the user.
3. vCon JSON Object
The JSON form of a vCon is contained in a JSON object in one of three
forms:
* unsigned
* signed
* encrypted
The unsigned form of the vCon has a single top level object. This
top level vCon object is also contained as described in the signed
(Section 5.2) and encrypted (Section 5.3) forms of the vCon. The
selection of the JSON format enables interchange between application
and lower layers of the network stack, critical for enablement of
analysis of conversations. The signed form of vCon is defined in
Section 5.2 using [JWE] to provide integrity and proof of the
conversation data. The encrypted form of vCon is defined in
Section 5.3 to provide complete privacy of the conversational data.
Partial privacy or data minimization can be provide for a vCon using
the Section 4.1.8 construct.
4. Unsigned Form of vCon Object
The unsigned form of the top level vCon object is necessary as in
many cases, a vCon will be partially constructed and in process as
conversation data is collected. This may change while the
conversation is in progress or on-going. The vCon may start with
only meta data and party information, then progress to contain dialog
information. It may then get analysis added or it could be passed to
another security domain for analysis.
Petrie Expires 8 January 2026 [Page 11]
Internet-Draft JSON vCon July 2025
A vCon may be constructed across several security domains. When a
vCon is to be exported from one security domain to another, it SHOULD
be signed or encyrpted by the domain that constructed it. The
subsequent domain may have need to redact or append data to the vCon.
Alternatively the originating domain may want to redact the vCon
before providing it to an other domain. The second or subsequent
domain, MAY modify the prior vCon instance version and when complete
or exporting to another security domain, it SHOULD sign or encrypt
the new vCon instance version. The new vCon instance version SHOULD
refer to the prior vCon instance version via the redacted
(Section 4.1.8) or appended (Section 4.1.9) parameters.
4.1. vCon JSON Object Keys and Values
The keys and values for the top level vCon JSON object are defined in
the following subsections.
4.1.1. vcon
The the value of vcon parameter contains the syntactic version of the
JSON format used in the vCon.
* vcon: "String"
For syntax defined in this document, the string MUST have the value:
"0.3.0"
4.1.2. uuid
The [UUID] for the vCon is used to refer to it when privacy or
security may not allow for inclusion or URL reference to a vCon. The
UUID MUST be globally unique.
* uuid: "String"
The value of the string SHOULD be generated using the version 8 UUID
defined in [UUID] which is generated identically to a version 7 UUID
with the exception that:
* rand_b/custom_c is generated from the high 62 bits of the SHA-1
hash of the FQHN string
* the variant and version fields are set as described for version 8
UUID
Petrie Expires 8 January 2026 [Page 12]
Internet-Draft JSON vCon July 2025
The DNS name string used in generating the uuid value SHOULD be the
same FQHN, or a subdomain to allow for more distributed generation of
UUIDs, as would used in the signing certificate as they are the same
domains of uniqueness.
4.1.3. extensions
The vCon schema can be extended through the definition of new
extensions. The extensions parameter SHOULD contain the list of
names of all vCon extensions for any parameters used that are not
defined in this core vCon schema document.
* extensions: "String[]"
4.1.4. must_support
Implementations that include extensions which are incompatible with
the core vCon schema MUST list the names of those extensions in the
must_support parameter. A vCon that includes a must_support
parameter indicates that correct interpretation of the vCon requires
explicit support for the listed extensions. An implementation that
does not recognize or support the extensions listed in the
must_support parameter MUST NOT attempt to process or operate on the
vCon, except to reject it or report unsupported content.
* must_support: "String[]"
4.1.5. created_at
The created_at parameter provides the creation time of this vcon,
which MUST be present, and should not changed once the vcon object is
created.
* created_at: "Date"
4.1.6. updated_at
The updated_at parameter provides the last modified time of this
vcon, which MAY be present. For unsigned forms, the updated_at of
the vcon object SHOULD be updated as it is modified. For signed
forms of the vCon object, the updated_at contains the time when this
vcon was last signed. Future updates MUST first set the updated_at
to the new signing time as the vcon object is signed again.
* updated_at: "Date"
Petrie Expires 8 January 2026 [Page 13]
Internet-Draft JSON vCon July 2025
4.1.7. subject
The subject or the topic of the conversation is provided in the
subject parameter. This parameter is optional as not all
conversations have a defined subject. Email threads and prescheduled
calls and video conferences typically have a subject which can be
captured here. The subject may also be derived from analysis of the
dialog.
* subject: "String" (optional)
The string value of the subject parameter is a free formed JSON
string with no constrained syntax.
4.1.8. redacted
A redacted vCon SHOULD provide a reference to the unredacted or
prior, less redacted, vCon instance version of itself. The purpose
of the Redacted Object (Section 4.1.8.1) is to provide the reference
to the unredacted or less redacted version of the vCon from which
this vCon was derived. For privacy reasons, it may be necessary to
redact a vCon to construct another vCon without the PII. This allows
the non-PII portion of the vCon to still be analyzed or used in a
broader scope. The Redacted Object (Section 4.1.8.1) SHOULD contain
the uuid parameter and MAY include the url, content_hash parameters
(see Externally Referenced Files (Section 2.4)). If a reference to
the unredacted vCon is provided in the url parameter, the access to
that URL MUST be restricted to only those who should be allowed to
see the identity or PII for the redacted vCon.
The method(s) for redaction of text, audio and video can be done with
existing post processing of media. The method of redaction is out of
scope of this document. The assurance of the accuracy of the
redaction is made by the entity that creates the redaction which
SHOULD sign the redacted version of the vCon.
All data and parameters in the prior, less redacted, vCon instance
version are either:
* Removed entirely in the redacted version
* Copied and partially redacted
* Copied as is
Petrie Expires 8 January 2026 [Page 14]
Internet-Draft JSON vCon July 2025
Data which is to be completely removed from the redacted version,
that is contained in a JSON array in the unredacted vCon, SHOULD
create an empty placeholder such that object array indices do not
change for the rest of the elements of the array.
* redacted: "Redacted" (optional, mutually exclusive with appended
and group parameters)
4.1.8.1. Redacted Object
A Redacted Object contains the following parameters:
* uuid: "String"
The value contains the uuid string value (Section 4.1.2) of the
unredacted/prior vCon instance version. The absence of a value for
uuid indicates that the less redacted version of this vCon is not
available or does not exist.
* type: "String"
The value of the redacted type parameter is used to indicate the type
of redaction that was performed on this vCon relative to the less
redacted version referenced by the redacted uuid parameter. This
should indicate the type of information that was redacted.
The the location of the referenced vCon MAY be provided as defined in
Externally Referenced Files (Section 2.4) by including url and
content_hash. content_hash MUST be included if url is provided.
* url: "String"
* content_hash: "ContentHash" | "ContentHash[]"
The following diagram illustrates an example partial JSON object tree
for a redacted vCon. The top level object is a JWS signed vCon which
contains a vCon in the unsigned form in the payload parameter. The
second level object is the redacted vcon which refers to the
encrypted unredacted vCon in it's redacted parameter. Note that the
redacted vCon references the JWE encrypted vCon by UUID and may
reference it by URL or direct inclusion. The JWE encrypted
unredacted vCon contains the signed version of the unredacted vCon in
the ciphertext parameter. The signed unredacted vCon contains the
unredacted vCon in the unsigned form in it's payload parameter.
Petrie Expires 8 January 2026 [Page 15]
Internet-Draft JSON vCon July 2025
--------------
Signed | JWS uuid-|-- redacted vCon uuid in header
redacted vCon: | |
| payload-|-- unsigned redacted vCon in
-------------- / payload parameter
/
------------- /
vCon which |vCon |<---
has been | |
redacted: | redacted-|-- Redacted Object
------------- / refers to JWE
/ encrypted unredacted vCon
/
/
/
/
/ --------------- signed unredacted vCon
->| JWE uuid-|-- uuid in unprotected
Encrypted signed | |
unredacted vCon: | cyphertext-|--- JWS signed
--------------- / unredacted vCon
/ in cyphertext
/-------------------/ parameter
/
/ -------------
Signed -> |JWS uuid-|-- unredacted vCon uuid in header
unredacted vcon: | |
| payload-|-- unsigned unredacted vCon
------------- \ in payload
\ ----------
-->| vCon |
Unsigned unredacted vCon: | |
----------
Figure 1: redacted vCon object tree
4.1.9. appended
TODO: should the name be appended, updated or amended?
A signed or encrypted vCon cannot be modified without invalidating
it. In these cases, to allow for adding of additional information a
new vCon instance version MUST be created. The prior vCon instance
version is referenced by the Appended Object (Section 4.1.9.1). The
vCon with appended or amended data contains all of the data that is
in the referenced vCon with the exception of data that is amended.
That is to say that the newer version of the vCon is a deep copy of
the prior version with the amended and additional data added to it.
Petrie Expires 8 January 2026 [Page 16]
Internet-Draft JSON vCon July 2025
The prior vCon instance version SHOULD be referenced via the uuid of
the prior vCon instance version, and MAY include the url and
content_hash parameters (see Externally Referenced Files
(Section 2.4)).
* appended: "Appended" (optional, mutually exclusive with redacted
and group parameters)
4.1.9.1. Appended Object
The Appended Object contains the following parameters:
* uuid: "String" (optional if inline or external reference provided)
The value contains the uuid string value (Section 4.1.2) of the
unredacted/original vCon instance version.
The location of the referenced vCon MAY be provided, as defined in
Externally Referenced Files (Section 2.4) by including url and
content_hash. content_hash MUST be provided if url is provided.
* url: "String"
* content_hash: "ContentHash" | "ContentHash[]"
The following figure illustrates an example partial JSON object tree
for an appended vCon. The top level object is the JWS signed
appended vCon which contains the unsigned form of the vCon in it's
payload parameter. The second level object is the appended vCon with
additional conversational data (e.g. analysis data). It refers to
its original parent (or prior vCon instance version) of the vCon in
its appended parameter. Note: the appended parameter may refer to
the prior version of the vCon via URL. The appended vCon in this
figure refers to the JWS signed version of the vCon, which in turn
contains the original vCon in unsigned form in its payload parameter.
Petrie Expires 8 January 2026 [Page 17]
Internet-Draft JSON vCon July 2025
--------------
Signed | JWS uuid-|-- appended vCon uuid in header
appended vCon: | |
| payload-|-- payload parameter
-------------- / contains unsigned
/ appended vCon
------------- /
vCon with |vCon |<---
appended | |
data: | appended-|--- appended parameter
| analysis-| / refers to JWS
------------- / signed original vCon
/ along with additional
/ conversational data
/ (e.g. analysis)
/
/
/ ------------
->| JWS uuid-|-- original vCon uuid in header
signed | |
original vCon: | payload-|--- payload parameter
------------ / contains unsigned
/ original vCon
------------- /
Original vCon: |vCon |<--
| |
| parties |
| dialog |
-------------
Figure 2: appended vCon object tree
4.1.10. group Objects Array
The scope of a conversation is defined by the observer. It may be
any of the following in this non-exhaustive list:
* a quick text exchange
* a simple 2-way call
* an evolving group chat
* a class lecture and question and answer session
* a web chat, evolving to a 2 way call, progressing to a transferred
3-way call transitioning to a video conference
Petrie Expires 8 January 2026 [Page 18]
Internet-Draft JSON vCon July 2025
* a series of weekly status calls
In support of these constructs, it may be desirable to aggregate a
group of vCons as opposed to including all of the dialog in a single
vCon. The conversations may be over heterogeneous or homogeneous
medium. A vCon MAY aggregated a group of vCon instances in the group
array, using a Group Object for each vCon instance.
* group: "Group[]" (optional, mutually exclusive with redacted and
appended parameters)
The group array contains a Group Object (Section 4.6) for each vCon.
4.1.11. parties Objects Array
The name, identity or contact information of all of the parties
involved with the conversation are included in the parties object
array. Whether the parties were observers, passive or active
participants in the conversation, they each are included as a Party
Object in the parties array.
TODO: Should this be a object not an array to make it easier to
append parties (i.e. indices of append vCons change when appended)?
* parties: "Party[]"
The value of the parties parameter is an array of Party Objects
(Section 4.2).
4.1.12. dialog Objects Array
The actual conversation which occurred over text, audio or video that
was captured, is contained in the dialog Objects Array.
* dialog: "Dialog[]" (optional)
The value of the dialog parameter is an array of Dialog Objects
(Section 4.3). It should be noted that the Dialog Objects may not be
sorted in chronological order. It is the applications responsibility
to sort dialog and transcriptions if they are needed in chronological
order.
4.1.13. analysis Objects Array
Analysis, which is performed on the conversational data, is stored in
the analysis Objects array.
* analysis: "Analysis[]" (optional)
Petrie Expires 8 January 2026 [Page 19]
Internet-Draft JSON vCon July 2025
The value of the analysis parameter is an array of Analysis Objects
(Section 4.5).
4.1.14. attachments Objects Array
Ancillary documents, discussed, presented, referenced or related to
the conversation may be stored in the attachments array.
* attachments: "Attachment[]" (optional)
The value of the attachments parameter is an array of Attachment
Objects (Section 4.4).
4.2. Party Object
4.2.1. tel
If the tel URL for the party is known, it can be included in the tel
parameter.
* tel: "String" (optional)
The value of the tel parameter SHOULD be a valid [TEL] URL. The URL
scheme prefix (i.e. "tel:") is optional.
4.2.2. sip
The [SIP] URL for the party can be provided in the sip parameter.
* sip: "String" (optional)
The value of the sip parameter is the addr-spec as defined in
section 25.1 of [SIP].
4.2.3. stir
If the STIR [PASSporT] was provided to identify the party, the
PASSporT can be included in the stir parameter for the party.
* stir: "String" (optional)
The string value of the stir parameter contains the [PASSporT] in the
JWS Compact Serialization form.
4.2.4. mailto
If the mailto URL is known for the party, it can be included in the
mailto parameter.
Petrie Expires 8 January 2026 [Page 20]
Internet-Draft JSON vCon July 2025
* mailto: "String" (optional)
The value of the mailto parameter is a string of the format of a
valid [MAILTO] URL. The URL scheme prefix (i.e. "mailto:") is
optional.
4.2.5. name
If the party's name is known, it can be included in the name
parameter.
* name: "String" (optional)
The string value of the name parameter is a free form JSON string in
which part or all of the party's name can be included.
4.2.6. did
If a Decentralized Identifier [DID] is known for the party, it can be
included in the did parameter.
* did: "String" (optional)
The value of the did parameter MUST be a valid DID URI that enables
verifiable, decentralized digital identity for the party. DIDs are
designed to be decoupled from centralized registries and identity
providers, allowing the controller of the DID to prove control
without requiring permission from other parties. The DID can refer
to any subject (person, organization, thing, etc.) as determined by
the controller of the DID.
4.2.7. validation
Proof of authorization of the communication channel through STIR,
login or possession of a device, is often not sufficient proof of the
identity of the person at the other end of the communications
channel. It is common in call centers to validate the identity of
the person on the communication channel through verification of some
sort of personal identification information. The methods used, often
varies with the situation and is business practices specific. The
purpose of the validation parameter, is to allow the validator to
save a label or token which identifies the method of identity
validation used to identify the person at the other end of the
communication channel. For confidentially reasons, it SHOULD NOT
contain the data used to validate the name. However it MAY name the
data used to validate the name (e.g. "SSN", "DOB", "user ID and
password"). It is up to the domain creating the vCon to define the
set of tokens or values to be used for the validation parameter.
Petrie Expires 8 January 2026 [Page 21]
Internet-Draft JSON vCon July 2025
* validation: "String" (SHOULD be provided if name parameter is
provided)
The value of the validation string MAY be "none" or enterprise or
domain defined token or string values.
4.2.8. jCard
TODO: Do we want to support including a jCard for the party?
4.2.9. gmlpos
If the geolocation of the party is known, it can be added in the
gmlpos parameter. The gmlpos parameter contains the latitude and
longitude of the location of the party at the time of the
conversation start.
* gmlpos: "String" (optional)
The gmlpos parameter value contains a string of the same format as
the gml:pos element defined in section 3.2 of the [PIDF-LO] PIDF.
4.2.10. civicaddress
The the civicaddress parameter value contains a Civicaddress Object
which is optional and contains civic address information about the
location for the party.
* civicaddress: "Civicaddress" (optional)
The Civicaddress Object MAY contain any or all of the following
parameters: country, a1, a2, a3, a4, a5, a6, prd, pod, sts, hno, hns,
lmk, loc, flr, nam, pc as defined in section 2.2.1 of [GEOPRIV]. The
values of all of these parameters are of type String. Note that the
parameter names MUST be in lower case when contained in the
Civicaddress Object even though they are in upper case in [GEOPRIV].
* country: "String" (optional)
* a1: "String" (optional)
* a2: "String" (optional)
* a3: "String" (optional)
* a4: "String" (optional)
* a5: "String" (optional)
Petrie Expires 8 January 2026 [Page 22]
Internet-Draft JSON vCon July 2025
* a6: "String" (optional)
* prd: "String" (optional)
* pod: "String" (optional)
* sts: "String" (optional)
* hno: "String" (optional)
* hns: "String" (optional)
* lmk: "String" (optional)
* loc: "String" (optional)
* flr: "String" (optional)
* nam: "String" (optional)
* pc: "String" (optional)
TODO: Do we need RFC6848 civic address extensions?
TODO: Is there a need for any temporal location? For example should
location be an array, each element with a time stamp?
TODO: Do we just specify for the start of the conversation?
4.2.11. timezone
TODO: timezone for the location of the party?
4.2.12. uuid
The uuid is a unique identifier for the participant. In a contact
center, this is particularly important for the call agent
participant, and must be static across interactions to allow
correlation with the actual agent configuration provisioned into the
systems.
* uuid: "String" (optional)
Petrie Expires 8 January 2026 [Page 23]
Internet-Draft JSON vCon July 2025
4.3. Dialog Object
The Dialog object references or contains text, audio or video
captured from the conversation. Currently two types of dialog
objects are defined in this document. One for text media and the
other for audio or video recording files.
TODO: Is there other signalling data that we want to capture other
than start and duration and the media (e.g. from jabber, sms, mms,
email, SIP, etc.)?
4.3.1. type
* type: "String"
The sting MUST have the value of either "recording", "text",
"transfer" or "incomplete". A dialog of type "recording" has Dialog
Content that either contains a body or refers to via url, which is a
recording of the video and/or audio of a segment of the conversation.
A dialog of type "text" had has Dialog Content that either contains a
body or refers to via url, which contains the text from one of the
parties for a segment of the conversation. A dialog of type
"transfer" does not capture actual conversation exchange, but rather
captures operations, parties and relations between dialog segments.
A dialog of type "incomplete" or "transfer" MUST NOT have Dialog
Content. In the "incomplete" case the call or conversation failed to
be setup to the point of exchanging any conversation. Incomplete
dialogs MUST have a disposition parameter which indicates why the
call or conversations failed. In the "transfer" case, the
conversation is recorded in other dialogs. The Dialog Transfer
parameters, are used to show the roles and relationships between the
parties and other dialogs as the transfer process occurred.
4.3.2. start
The start parameter contains the date and time for the beginning of
the captured piece of dialog. For text it is the time that the party
started typing or if not available, then it is the time the text was
sent. For audio and video recordings, it is the time which
corresponds to the beginning of the recording.
* start: "Date"
Petrie Expires 8 January 2026 [Page 24]
Internet-Draft JSON vCon July 2025
4.3.3. duration
The duration parameter contains the duration in seconds of the
referenced or included piece of dialog. For text, if known, it is
the time duration from when the party started typing to when they
completed typing and the text was sent. For recordings, it is the
duration of the recording.
* duration: "UnsignedInt" | "UnsignedFloat" (optional)
The value MUST be the dialog duration in seconds.
4.3.4. parties
The party(s) which generated the text or recording for this piece of
dialog are indicated in the parties parameter.
* parties: "UnsignedInt" | "UnsignedInt[]" | ("UnsignedInt" |
"UnsignedInt[]")[]
Single channel recordings should have a parties value of the form:
"UnisignedInt" or "UnsignedInt[]" where the integer value or array of
integer values are the indices to the Party Object(s) in the parties
array that contributed to the mix for the single channel recording.
The index for the Party Object SHOULD be included even if the
indicated party was silent the entire piece of dialog.
Multi-channel recordings MUST have a parties value that is an array
of the same size as the number of channels in the recording. The
values in that array are either an integer or an array of integers
which are the indices to the parties that contributed to the mix for
the associated channel of the recording. The index for Party Objects
SHOULD be included even if the party was silent the entire
conversation.
Petrie Expires 8 January 2026 [Page 25]
Internet-Draft JSON vCon July 2025
It is implied that the first party in the dialog Object parties list,
is the originator of the dialog. However, in some situations, it is
difficult to impose the constraint that the first channel of a
recording is the originator. If ensuring that the first channel and
party listed is the originator is not possible, the optional
originator parameter indicates the originator party. In other cases,
there may be a separate recording file for each party in a
conversation, where only one party is recorded per file. In this
situation, it is necessary to indicate the originator as the dialog
Object parties parameter may contain only one party and may not be
the originator. It should be noted that the recordings may be
shorter than the collective conference when there is a separate
recording per speaker/party. For example the recording(s) of the
individual speaker may be trimmed to only the parts where they are
actually speaking.
TODO: For an email thread, To and Cc parties are all passive. Do we
just put the sender as the party or do we want to list all of the
recipients and by convention the sender is the first party? Note
that each dialog/email could have a difference set of recipients.
4.3.5. originator
The originator party for this dialog. For email and text, this is
the sender of the text. For audio and video, this is the caller or
host of the call or conference. The originator parameter is only
provided if the first party of the dialog Object parties list is NOT
the originator.
* originator: "UnsignedInt" (optional)
The originator value is the index into the parties Objects Array, to
the party that originated the dialog.
4.3.6. mediatype
The media type for the piece of dialog included or referenced is
provided in the mediatype parameter. The mediatype parameter MUST be
provided for inline dialog files and MUST be provided if the Content-
Type header in the [HTTPS] response for the externally referenced URL
is not provided.
* mediatype: "Mediatype" (optional for externally referenced files,
if absent, this is provided in the [HTTPS] Content-Type header)
The media types SHOULD be one of the following strings:
* "text/plain"
Petrie Expires 8 January 2026 [Page 26]
Internet-Draft JSON vCon July 2025
* "audio/x-wav"
* "audio/x-mp3"
* "audio/x-mp4"
* "audio/ogg"
* "video/x-mp4"
* "video/ogg"
* "multipart/mixed"
Note: multi-part will also likely include the boundary parameter
4.3.7. filename
It is sometimes useful to preserve the name of the file which
originally contained this piece of dialog. This can be done in the
filename parameter.
* filename: "String" (optional)
4.3.8. Dialog Content
The Dialog Object SHOULD contain the body and encoding parameters or
the url and content_hash parameters for all dialog types other than
"incomplete" and "transfer", these parameters MUST NOT be present for
"incomplete" or "transfer" dialog types (see Inline Files
(Section 2.3) and Externally Referenced Files (Section 2.4)). The
exception to this is that the body or url MAY be absent if it is
redacted.
For inline included dialog:
* body: "String" (optional in an a redacted vCon)
* encoding: "String"
Alternatively, for externally referenced dialog:
* url: "String" (optional in an a redacted vCon)
* content_hash: "ContentHash" | "ContentHash[]"
Petrie Expires 8 January 2026 [Page 27]
Internet-Draft JSON vCon July 2025
4.3.9. disposition
TODO: should this go in CC extensions?
If the dialog type is "incomplete", it must have a disposition
parameter. The value of the disposition parameter provides the
reason that the "call control" failed. The term: "call control" is
used in a loose sense, as there in not always a call involved, to
differentiate from a call disposition that an agent may assign to a
call to indicate the reason, issue addressed or outcome of a
conversation. This latter definition of call disposition is not
dialog, but analysis of the conversation and is not included in the
dialog portion.
* disposition: "String" (required for incomplete type dialogs,
SHOULD NOT be present for other dialog types)
The value of the disposition parameter MUST be one of the following
string:
* "no-answer" - a call or connection was attempted, but no one
answered or accepted the connection
* "congestion" - a call or connection was attempted, but was unable
to be completed due to system load
* "failed" - a call or connection was attempted, but failed
* "busy" - a call or connection was attempted, but the party was
busy with another conversation
* "hung-up" - a call or connection was made, but the party hung-up
before any conversation occurred
* "voicemail-no-message" - a call or connection was made, the
voicemail system answered, but no message was left
Note: if a message was left with the voicemail system this is no
longer an "incomplete" type dialog, it is a "recording" type and
the conversation SHOULD be included in the Dialog Content.
4.3.10. session_id
The [SESSION-ID] MAY be included for the dialog.
* session_id: "String" (optional)
Petrie Expires 8 January 2026 [Page 28]
Internet-Draft JSON vCon July 2025
The session_id value is the string as defined in section 4.1 of
[SESSION-ID].
4.3.11. party_history Objects Array
Participants in a dialog may not all join and leave at the same time.
To support the capturing of the information when parties join, drop,
go on hold or mute and unmute, the party_history array may be added
to the Dialog Object.
* party_history: "Party_History[]" (optional)
4.3.11.1. Party_History Object
The Party_History Object contains the following parameters:
* party: "UnsignedInt"
The index of the party for this event.
* time: "Date"
The time at which this event occurred.
* event: "String"
The string token for the event which MUST be one of the following:
- "join" - when the party joins the dialog
- "drop" - when the party drops out of the dialog
- "hold" - when the party is put on hold
- "unhold" - when the part is taken off hold
- "mute" - when the party is muted
- "unmute" - when the part is taken off mute
4.3.12. Dialog Transfer
A dialog of type "transfer" documents the rolls of three parties and
the relationship between 2 or three dialog segments. In a transfer
operation, the roles of the three parties to a transfer are defined
in [SIP-XFER] as:
* Transferee
Petrie Expires 8 January 2026 [Page 29]
Internet-Draft JSON vCon July 2025
* Transferor
* Transfer Target
There are two or three calls in which the parties are connected:
* original call
* consultative call (optional as this call may not get created)
* target call
To capture the above roles and dialog segments, the following
parameters are defined and SHOULD be present in the "transfer" type
dialog and MUST NOT be present in other dialog types.
* transferee: "UnsignedInt"
The value of the transferee parameter is the index into the parties
Object array to the party that played the role of the Transferee.
* transferor: "UnsignedInt"
The value of the transferor parameter is the index into the parties
Object array to the party that played the role of the Transferor.
* transfer_target: "UnsignedInt"
The value of the transfer_target parameter is the index into the
parties Object array to the party that played the role of the
Transfer Target.
* original: "UnsignedInt"
The value of the original parameter is the index into the dialogs
Object array to the "recording" or "text" type dialog for the
original dialog between the Transferee and the Transferor.
* consultation: "UnsignedInt" (optional)
The value of the consultation parameter is the index into the dialogs
Object array to the "recording", "text" or "incomplete" type dialog
for the consultative dialog between the Transferor and the Transfer
Target.
* target_dialog: "UnsignedInt"
Petrie Expires 8 January 2026 [Page 30]
Internet-Draft JSON vCon July 2025
The value of the target_dialog parameter is the index into the
dialogs Object array to the "recording", "text" or "incomplete" type
dialog for the target dialog between the Transferee and the Transfer
Target.
A "transfer" type dialog MUST NOT contain the parties, originator,
mediatype, filename or Dialog Content parameters.
The "transfer" type dialog only captures the roles, operations and
events of the parties and the dialog setup. It does not capture the
purpose or reason for the transfer as that is analysis to be captures
in the analysis section of the Vcon after the conversation has
occurred.
4.3.13. application
The application parameter is used to capture the application,
communication channel or context over which the conversation was
held. The conversation mode can be identified by looking at the
dialog type. However that does not different between different
communication platform service providers or hosting service. For
example, the application parameter can be used to identify the web
conference hosting service.
* application "String" (optional)
4.3.14. message_id
Some messaging systems assign a unique message identifier to each
message. The message_id parameter may be used to label the message
for either cross referencing back to the messaging system or to
prevent the addition of duplicate messages to the vCon. For example
SMTP [SMTP] messages have a message-id in the SMTP header. In the
SMTP case a message may exist in multiple mailboxes or tags. When
exporting these SMTP messages, the message_id parameter may be used
to avoid adding the same message, to the vCon containing the email
thread, more than once.
* message_id: "string" (optional)
4.4. Attachment Object
Ancillary documents to the conversation are included or referenced in
the Attachment Object. There is no constraint on the types files
which can be included or referenced. As most modes of communication,
that allow the exchange of files, do not constrain the file type, any
file type may be included here.
Petrie Expires 8 January 2026 [Page 31]
Internet-Draft JSON vCon July 2025
4.4.1. type or purpose
TODO: Do we want a semantic type like: contract or presentation? Or
a subject or title.
4.4.2. start
The start parameter contains the date and time that the Attachment
Object was sent/exchanged.
* start: "Date"
4.4.3. party
In most conversations, ancillary documents originate from one of the
parties to the conversation. This is not necessarily the author, but
the person who distributed the document. This party is identified by
the party parameter in the Attachment Object.
* party: "UnsignedInt"
The value of the party parameter is the index into the Party Object
array to the party that contributed the attachment.
4.4.4. dialog
Attachments are added as data related to the dialog. The dialog
parameter is used to identify the dialog that the attachment is part
of. The dialog is identified by the index to the dialog Object in
the dialog objects array.
* dialog: "UnsignedInt"
4.4.5. mediatype
The media type for the included or referenced attachment file is
provided in the mediatype parameter.
* mediatype: "Mediatype" (optional for externally referenced files,
if absent, this is provided in the [HTTPS] Content-Type header)
The mediatype string contains the media type or [MIME] type of the
attached file.
Petrie Expires 8 January 2026 [Page 32]
Internet-Draft JSON vCon July 2025
4.4.6. filename
It is sometimes useful to preserve the name of the file which
originally contained this attachment file. This can be done in the
filename parameter.
* filename: "String" (optional)
The file name string contains an optional name for the attachment
file referenced in this Attachment Object.
4.4.7. Attachment Content
The Attachment Object SHOULD contain the body and encoding parameters
or the url and content_hash parameters (see Inline Files
(Section 2.3) and Externally Referenced Files (Section 2.4)). The
exception to this is that the body or url MAY be absent if it is
redacted.
For inline included attachments:
* body: "String"
* encoding: "String"
Alternatively, for externally referenced attachments:
* url: "String"
* content_hash: "ContentHash" | "ContentHash[]"
4.5. Analysis Object
Analysis is a broad and in some cases developing field. This
document does not attempt to suggest a SHOULD support list of types.
Nor are formats for analysis data defined in this document. That is
for research and specification outside the scope of this document.
For this reason the Analysis Object provides multiple ways to define
the media type of the analysis file. If a well known media type is
defined, it SHOULD be used. For analysis data or files types for
which a media type is not defined, the vendor and schema parameters
SHOULD be used.
4.5.1. type
The type parameter is used to label the semantic type of analysis
data.
Petrie Expires 8 January 2026 [Page 33]
Internet-Draft JSON vCon July 2025
* type: "String"
TODO: this list is not sufficient. Do we enforce a specific set of
tokens. Seems like analysis has a pretty huge set of possibilities.
The string value SHOULD be one of the following:
* "summary"
* "transcript"
* "translation"
* "sentiment"
* "tts"
4.5.2. dialog
Analysis typically pertains to one or more of the Dialog Objects in
the dialog array. The dialog parameter is used to indicate which
Dialog Objects this analysis was based upon.
* dialog: "UnsignedInt" | "UnsignedInt[]" (optional only if the
analysis was not derived from any of the dialog)
The value of the dialog parameter is the index to the dialog or array
of indices to dialogs in the dialog array to which this analysis
object corresponds.
4.5.3. mediatype
The media type for the included or referenced analysis file is
provided in the mediatype parameter.
* mediatype: "Mediatype" (optional for externally referenced files,
if absent, this is provided in the [HTTPS] Content-Type header)
The mediatype string contains the media type or [MIME] type of the
analysis file.
4.5.4. filename
It is sometimes useful to preserve the name of the file which
originally contained this analysis data. This can be done in the
filename parameter.
* filename: "String" (optional)
Petrie Expires 8 January 2026 [Page 34]
Internet-Draft JSON vCon July 2025
The file name string contains an optional name for the analysis data
file referenced in this Analysis Object.
4.5.5. vendor
There may not be a IANA registered media type for the file format
containing the analysis data. Even if a media type is defined, it is
often useful to keep a record of the vendor that produced the
software that produced the analysis. Different implementations
perform differently and knowing the implementation can be useful in
interpreting the analysis. For this reason, the vendor or product
name is provided in the vendor parameter.
* vendor: "String"
The vendor string value contains the vendor or product name of the
software which generated this analysis.
4.5.6. product
As the vendor may have more than one product, the product parameter
may be used to differentiate it from other products which may have
different schemas of analysis data.
* product: "string" (optional)
4.5.7. schema
The same vendor or software product may produce different formats or
data for the same analysis. The schema parameter allows the data
format, schema or configuration used to generate the analysis to be
saved with the included or referenced analysis data.
* schema: "String" (optional)
The schema string contains a token or label for the data format or
schema for the analysis data. As the vendor name may not be specific
enough to identify the format of the analysis, the schema value is
provide to differentiate from potentially multiple data formats for
analysis provided by the same vendor or software.
4.5.8. Analysis Content
The Analysis Object SHOULD contain the body and encoding parameters
or the url and content_hash parameters (see Inline Files
(Section 2.3) and Externally Referenced Files (Section 2.4)). The
exception to this is that the body or url MAY be absent if it is
redacted.
Petrie Expires 8 January 2026 [Page 35]
Internet-Draft JSON vCon July 2025
For inline included analysis:
* body: "String"
* encoding: "String"
Alternatively, for externally referenced analysis:
* url: "String"
* content_hash: "ContentHash" | "ContentHash[]"
4.6. Group Object
A conversation may have take place using different modes (e.g. web
chat which evolves to email, which evolves to phone call, which
evolves to video conference). A conversation could take place over
several calls (e.g. multiple calls regarding a support incident or
problem). Each of these examples might be considered a single
conversation event though there are multiple sets of dialog in each.
What is considered the boundary of a conversation is a business
decision. There are situations in the above example, where it is
desired to treat these as a single conversation, but each set of
dialog is created in a single vCon (e.g. each dialog occurred in a
separate communication silo or security domain) which gets signed.
For this reason, it may be necessary to aggregate the separate vCon
into a single vCon which is considered the whole of a conversation.
The Group Object includes or refers to a vCon to be aggregated into
the whole of a single vCon conversation.
The Group Object SHOULD contain the uuid and the url and content_hash
parameters (see Externally Referenced Files (Section 2.4)). The
referenced vCon SHOULD be via UUID:
* uuid: "String"
The value of the uuid parameter, is the uuid string value
(Section 4.1.2) of the referenced vCon to be aggregated.
The vCon MAY be included in line as the value of the body parameter.
The encoding parameter MUST be included with the body parameter, if
provided, to describe the encoding of the vCon body.
* body: "vCon"
The JSON unsigned form of the vCon, the JWS signed form of the vCon
or the JWE encrypted form of the vCon.
Petrie Expires 8 January 2026 [Page 36]
Internet-Draft JSON vCon July 2025
* encoding: "String"
The encoding string MUST have the value: "json".
In addition, the location for the referenced vCon MAY be provided.
The url and content_hash parameters and values are defined in
Externally Referenced Files (Section 2.4).
* url: "String"
* content_hash: "ContentHash" | "ContentHash[]"
5. Security Considerations
The security concerns for vCons can put into two categories: making
the conversation immutable through integrity verification and
protecting the confidentiality of privacy of the parties to the
conversation and/or their PII. These requirements along with need to
evolve a vCon (e.g. adding analysis, translations and transcriptions)
conflict in some ways. To enable this, multiple versions of a vCon
may be created. Versions of a vCon may add information (e.g.
analysis added to a prior vCon referenced by the appended
(Section 4.1.9)) and versions that remove information (e.g.
redactions of privacy information removed from the vCon referenced in
the redacted (Section 4.1.8)). Redactions may be at different levels
for example:
* PII masked to remove PII data in the text, audio, video or
transcripts
* De-identified to remove segments or whole recordings that might be
used for voice printing or facial recognition
Different parts and versions of a vCon may be created in different
security domains over a period of time. In addition, some
conversation data may be referenced externally through an HTTPS URL
as opposed to completely contained within the vCon. Typically a
conversation of one mode, will be hosted or observed in a single
domain. This will likely fall into one of the following hosting
situations:
* Enterprise Hosted Communications
* Software as a Service (SaaS) Hosted Communications
* Service Provider Hosted Communications
Petrie Expires 8 January 2026 [Page 37]
Internet-Draft JSON vCon July 2025
The distinction among these has gotten clouded over recent years.
The import consideration is that each is a different security domain.
Information about a conversation captured in an enterprise
communications system (e.g. meta data and Dialog Object(s) recorded
in an IP PBX) is a different security domain from a SaaS
transcription service (i.e. an Analysis Object). Before a vCon
leaves a security domain, it SHOULD be signed to prevent it from
being altered. If the new security domain needs to alter it, a new
vCon is created with the removed or added data and the prior version
is referenced (i.e. via the redacted (Section 4.1.8) or appended
(Section 4.1.9)). See the redacted vCon object tree figure-1 and
appended vCon object tree figure-2. If information is redacted for
privacy reasons, the vCon referenced in the redacted (Section 4.1.8),
if inline, SHOULD be encrypted to protect the privacy information in
the unredacted version of the vCon.
The secure storage and access of externally referenced conversation
data is considered out of scope from this document. Secure
mechanisms for HTTPS access and storage of files are well defined.
Identity and credentials for accessing externally stored data will be
exchanged out of band from the vCon. The one requirement for
externally referenced data from the perspective of this document, is
proof of integrity of that data.
Using the above described approach for redaction and appending of
data, we can reduce the security operations on a vCon to signing and
encryption. Two approaches to signing are needed as we have data, in
JSON format, that is contained within the vCon and may have data
(typically media and file formats, often binary) not contained,
inline in the vCon, that is externally referenced.
Externally referenced data will be "signed" using [SHA-512] hash
which along with the URL of the externally referenced data is
included in the vCon. [SHA-512] was chosen due to the relatively low
cost to generate and verify the signature for what could be very
large externally referenced media files. As the hash for each
externally referenced file is contained in the vCon which will be
signed, the chain of authentication is provided via the signature on
the vCon itself.
This document specifies the JSON format for vCons. So it seemed the
logical solution for signing vCons, is JOSE [JWS] JSON Serialization
and likewise for encrypting vCons is JOSE [JWE] JSON Serialization.
The solutions are well documents, implementations are readily
available and tested.
Petrie Expires 8 January 2026 [Page 38]
Internet-Draft JSON vCon July 2025
Methods of redaction exist for text, audio and video using post
processing of the media. The method of redaction used is out of the
scope of this document. A redacted vCon SHOULD reference it's non-
redacted version. The non-redacted version of the vCon referenced
from the redacted vCon MUST be encrypted such that only those with
permission to view the non-redacted content can decrypt it.
Any time a vCon is shared outside its original security domain, it
SHOULD be signed and optionally encrypted. Files externally
referenced by a vCon SHOULD always be signed with the verification
information included in the vCon that references the external file as
defined in Externally Referenced Files (Section 2.4) and Signing
Externally Referenced Files (Section 5.1). Externally referenced
files SHOULD only be transported over [HTTPS] and SHOULD be access
controlled to those who are permitted to read the contents of that
non-redacted vCon. vCons transported over non-secure channels such as
email MUST be in the encrypted form.
5.1. Signing Externally Referenced Files
In some deployments, it is not practical to include all of the file
contents of a vCon inline. In support of that, a file may be
externally referenced. When external files are referenced, the
signature on the vCon does not secure the file contents from
modification. For this reason any externally referenced files SHOULD
also have a signature. vCons use the [SHA-512] hash method for
integrity checking of externally referenced file content and include
its url and content_hash in the vCon which are included in the
integrity signature for the whole vCon.
After retrieving externally referenced files, before using its
content, the payload of the HTTPS request should be verified using
the signature parameter value for the hash for the url body using the
procedure defined in section 6.3 and 6.4 of [SHA-512].
5.2. Signed Form of vCon Object
A signed vCon uses [JWS] and takes the General JWS JSON Serialization
Syntax form as defined in section 7.2.1 of [JWS]. The vCon General
JWS JSON Serialization MUST include x5c or x5u in the unprotected
header.
* payload: "String"
The value of the payload is the Base64Url Encoded string containing
either: the unsigned form of the JSON vCon; or the gzipped [GZIP]
unsigned form of the JSON vCon. The general construction of the
payload string value is described in section 7.2.1 of [JWK]
Petrie Expires 8 January 2026 [Page 39]
Internet-Draft JSON vCon July 2025
* signatures "Signature[]"
The value of signatures is an array of Signature Objects
(Section 5.2.1)
5.2.1. Signature Object
The Signature Object MUST contain a header, protected and signature
parameter as defined in section 7.2.1 of [JWS].
* header: "Header"
The value of header is defined in Header Object (Section 5.2.2)
* protected: "String"
* signature" "String"
5.2.2. Header Object
The Header Object and its contents are defined in section 4 of [JWS].
The Header Object for a signed vCon MUST include the alg and either
the x5c or x5u arrays. The x5c or x5u requirement makes the
management and use of vCons easier, allowing the certificate chain to
be found as the vCon is moved.
* alg: "String"
The string value of alg is defined in section 4.1.1 of [JWS]. For a
signed vCon this value SHOULD be "RS256" to maximize
interoperability.
* x5c: "String[]" (MUST provide x5c or x5u)
The array of string values for x5c are defined in section 4.1.6 of
[JWS].
* x5u: "String" (MUST provide x5c or x5u)
The string value of x5u MUST contain an [HTTPS] URL as defined in
section 4.1.5 of [JWS].
* uuid: "String" (SHOULD be provided)
Petrie Expires 8 January 2026 [Page 40]
Internet-Draft JSON vCon July 2025
The string value of the UUID for the vCon contained in the payload
parameter. This is added for convenience to not require verification
of the signed vCon to get it's UUID. When the vCon is verified, the
value of this uuid parameter SHOULD be verified against the UUID in
the signed vCon.
TODO: How to deal with expired signatures?
5.3. Encrypted Form of vCon Object
TODO: Check this terminology:
A vCon MUST be signed first using JWS as defined in Signed Form of
vCon Object (Section 5.2), then encrypted using JWE as opposed to
just encrypted with integrity protection. The rationale is that meta
data and dialog will typically be collected in one security domain,
then may be stored or exported to another. The signing is likely for
the lifetime of the vCon, where the encryption may be shorter term or
domain specific. vCons may be stored in unencrypted form, but the
signed form MUST be maintained to ensure its integrity.
A encrypted vCon uses [JWE] and takes the General JWE JSON
Serialization Syntax form as defined in section 7.2.1 of [JWE].
* unprotected: "Unprotected"
* recipients: "Recipient[]"
* iv: "String"
The string value of iv is the Initialization Vector as constructed as
defined in section 7.2.1 of [JWE].
* ciphertext: "String"
The string value of ciphertext is constructed as defined in section
7.2.1 of [JWE] using the signed form of the vCon as the plaintext
input for encryption.
* tag: "String"
The string value of tag is the the Authentication Tag as defined in
section 7.2.1 of [JWE].
5.3.1. Unprotected Object
* cty: "String"
Petrie Expires 8 January 2026 [Page 41]
Internet-Draft JSON vCon July 2025
The string value of cty SHOULD be either "application/vcon" or
"application/vcon+gzip"
* enc: "String"
The string value of enc SHOULD be "A256CBC-HS512"
* uuid: "String" (SHOULD be provided)
The string value of the UUID for the vCon contained in the ciphertext
parameter. This is provided for identification of the encrypted vCon
without the need of the key to decrypt the vCon. The value of this
uuid parameter SHOULD be verified when the vCon is decrypted.
5.3.2. Recipient Object
* header: "Header"
* encrypted_key: "String"
The string value of encrypted_key is defined in section 7.2.1 of
[JWE].
5.3.3. Header Object
* alg: "String"
The string value of alg SHOULD be "RSA-OAEP".
5.4. Differentiation of unsigned, signed and encrypted forms of vCon
vCons in the unsigned, signed and encrypted form are all valid JSON.
It is necessary to distinguish which form a vCon is in order to
properly handle it. For example a signed vCon needs to be verified.
The following is the recommended approaches to identifying which form
a particular vCon is in:
* unsigned
The presence of one or more of the following parameters indicates
that the vCon is in the unsigned form:
- parties
- dialog
- analysis
Petrie Expires 8 January 2026 [Page 42]
Internet-Draft JSON vCon July 2025
- attachments
* signed (JWS)
The presence of both of the following parameters indicates that
the vCon is in the signed (JWS) form:
- payload
- signatures
* encrypted (JWE)
The presence of both of the following parameters indicates that
the vCon is in the encrypted (JWE) form:
- ciphertext
- recipients
6. IANA Considerations
This section includes the information required for IANA to register
the application/vcon media type per [MEDIATYPE].
6.1. JSON Format vCon Mediatype
The JSON format for vCon is mandatory to implement.
* Type name: application
* Subtype name: vcon
* Required parameters: N/A
* Optional parameters: N/A; unrecognized parameters should be
ignored.
* Encoding considerations: [JSON]
* Additional information:
* Security considerations: See Security Considerations section of
this document.
* Interoperability considerations:
* Published specification: VCON, this document
Petrie Expires 8 January 2026 [Page 43]
Internet-Draft JSON vCon July 2025
* Applications that use this media type:
* Fragment identifier considerations:
* Additional Information:
- Deprecated alias names for this type: N/A
- Magic number(s): N/A
- File extension(s): "vcon"
- Macintosh file type code(s): N/A
- Windows Clipboard Name: VCON
* Author: See the Author's Addresses section of this document.
* Change controller: IETF
6.2. gzip Format vCon Mediatype
A gzip format vCon is a JSON format vCon that has been compressed
using the gzip [GZIP] compression algorithm. The gzip format is used
to reduce the size of potentially very large vCons containing audio
or video media in dialog objects. Applications SHOULD support the
receiving of gzip format vCons, but do not need to use the gzip
format when sending.
* Type name: application
* Subtype name: vcon+gzip
* Required parameters: N/A
* Optional parameters: N/A; unrecognized parameters should be
ignored.
* Encoding considerations: [GZIP]
* Additional information:
* Security considerations: See Security Considerations section of
this document.
* Interoperability considerations:
* Published specification: [VCON], this document
Petrie Expires 8 January 2026 [Page 44]
Internet-Draft JSON vCon July 2025
* Applications that use this media type:
* Fragment identifier considerations:
* Additional Information:
- Deprecated alias names for this type: N/A
- Magic number(s): N/A
- File extension(s): "vcon"
- Macintosh file type code(s): N/A
- Windows Clipboard Name: VCON
* Author: See the Author's Addresses section of this document.
* Change controller: IETF
6.3. vCon JSON registry
This document defines a number of new IANA registries for the JSON
vCon schema. Each Object (i.e. dict, map, dictionary) has its own
registry of parameter names. All of those registries have the same
registry template.
6.3.1. Object Registry Template
Parameter Name:
The string name of a parameter to be used within the Object. The
name is case sensitive. Names may not match other registered names
in a case-insensitive manner unless the Designated Experts state that
there is a compelling reason to allow an exception.
Parameter Description:
Brief description of the parameter
Change Controller:
For Standards Track RFCs, list the "IESG". For others, give the name
of the responsible party. Other details (e.g., postal address, email
address, home page URI) may also be included.
Specification Document(s):
Petrie Expires 8 January 2026 [Page 45]
Internet-Draft JSON vCon July 2025
Reference to the document or documents that specify the parameter,
preferably including URIs that can be used to retrieve copies of the
documents. An indication of the relevant sections may also be
included but is not required.
6.3.2. vCon Object Parameter Names Registry
The following defines the initial values for the vCon Object
Parameter Names Registry.
+==============+======================+============+================+
| Parameter | Parameter | Change | Specification |
| Name | Description | Controller | Document(s) |
+==============+======================+============+================+
| vcon | Schema version | IESG | Section 4.1.1 |
| | number | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| uuid | vCon instance UUID | IESG | Section 4.1.2 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| extensions | list of extensions | IESG | Section 4.1.3 |
| | used | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| must_support | list of incompatible | IESG | Section 4.1.4 |
| | extensions used | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| created_at | creation date | IESG | Section 4.1.5 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| updated_at | modification date | IESG | Section 4.1.6 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| subject | conversation subject | IESG | Section 4.1.7 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| redacted | Redacted Object | IESG | Section 4.1.8 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| appended | Appended Object | IESG | Section 4.1.8 |
| | | | RFC XXXX |
+--------------+----------------------+------------+----------------+
| group | Group Objects array | IESG | Section |
| | | | 4.1.10 RFC |
| | | | XXXX |
+--------------+----------------------+------------+----------------+
| parties | Party Objects array | IESG | Section |
| | | | 4.1.11 RFC |
| | | | XXXX |
Petrie Expires 8 January 2026 [Page 46]
Internet-Draft JSON vCon July 2025
+--------------+----------------------+------------+----------------+
| dialog | Dialog Objects array | IESG | Section |
| | | | 4.1.12 RFC |
| | | | XXXX |
+--------------+----------------------+------------+----------------+
| analysis | Analysis Objects | IESG | Section |
| | array | | 4.1.13 RFC |
| | | | XXXX |
+--------------+----------------------+------------+----------------+
| attachments | Attachment Objects | IESG | Section |
| | array | | 4.1.14 RFC |
| | | | XXXX |
+--------------+----------------------+------------+----------------+
Table 1
6.3.3. Party Object Parameter Names Registry
The following defines the initial values for the Party Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 47]
Internet-Draft JSON vCon July 2025
+================+=============+============+================+
| Parameter Name | Parameter | Change | Specification |
| | Description | Controller | Document(s) |
+================+=============+============+================+
| tel | tel URL | IESG | Section 4.2.1 |
| | | | RFC XXXX |
+----------------+-------------+------------+----------------+
| sip | SIP URL | IESG | Section 4.2.1 |
| | | | RFC XXXX |
+----------------+-------------+------------+----------------+
| stir | STIR token | IESG | Section 4.2.3 |
| | | | RFC XXXX |
+----------------+-------------+------------+----------------+
| mailto | mailto URL | IESG | Section 4.2.4 |
| | | | RFC XXXX |
+----------------+-------------+------------+----------------+
| name | participant | IESG | Section 4.2.5 |
| | name | | RFC XXXX |
+----------------+-------------+------------+----------------+
| validation | validation | IESG | Section 4.2.7 |
| | method | | RFC XXXX |
+----------------+-------------+------------+----------------+
| jCard | participant | IESG | Section 4.2.8 |
| | jCard | | RFC XXXX |
+----------------+-------------+------------+----------------+
| gmlpos | participant | IESG | Section 4.2.9 |
| | geolocation | | RFC XXXX |
+----------------+-------------+------------+----------------+
| civicaddress | civic | IESG | Section 4.2.10 |
| | address | | RFC XXXX |
+----------------+-------------+------------+----------------+
| timezone | participant | IESG | Section 4.2.11 |
| | timezone | | RFC XXXX |
+----------------+-------------+------------+----------------+
| uuid | participant | IESG | Section 4.2.12 |
| | UUID | | RFC XXXX |
+----------------+-------------+------------+----------------+
Table 2
6.3.4. Dialog Object Parameter Names Registry
The following defines the initial values for the Dialog Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 48]
Internet-Draft JSON vCon July 2025
+=================+=======================+==========+==============+
| Parameter Name | Parameter Description |Change |Specification |
| | |Controller|Document(s) |
+=================+=======================+==========+==============+
| type | dialog type name |IESG |Section 4.3.1 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| start | dialog start time |IESG |Section 4.3.2 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| duration | dialog duration |IESG |Section 4.3.3 |
| | period | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| parties | dialog parties list |IESG |Section 4.3.4 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| originator | dialog originator |IESG |Section 4.3.5 |
| | party | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| mediatype | dialog content media |IESG |Section 4.3.6 |
| | type | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| filename | dialog content |IESG |Section 4.3.7 |
| | filename | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| body | dialog inline content |IESG |Section 4.3.8 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| encoding | dialog inline content |IESG |Section 4.3.8 |
| | encoding | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| url | dialog referenced |IESG |Section 4.3.8 |
| | content URL | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| content_hash | dialog content hash |IESG |Section 4.3.8 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| disposition | dialog disposition |IESG |Section 4.3.9 |
| | | |RFC XXXX |
+-----------------+-----------------------+----------+--------------+
| session_id | RFC7989 session ID |IESG |Section |
| | | |4.3.10 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| party_history | dialog party events |IESG |Section |
| | history | |4.3.11 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
Petrie Expires 8 January 2026 [Page 49]
Internet-Draft JSON vCon July 2025
| transferee | transferee party |IESG |Section |
| | index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| transferor | transferor party |IESG |Section |
| | index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| transfer_target | transfer target party |IESG |Section |
| | index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| original | original transfer |IESG |Section |
| | dialog index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| consultation | consultation`transfer |IESG |Section |
| | dialog index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| target_dialog | target_dialog |IESG |Section |
| | transfer dialog index | |4.3.12 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| application | dialog source |IESG |Section |
| | application | |4.3.13 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
| message_id | dialog message id |IESG |Section |
| | | |4.3.14 RFC |
| | | |XXXX |
+-----------------+-----------------------+----------+--------------+
Table 3
6.3.4.1. Dialog Type Name Registry
This document defines a new registry for the token name values that
are permitted as values to the dialog type (Section 4.3.1) parameter.
6.3.4.1.1. Dialog Type Name Registration Template
Dialog Type Name:
The string token name of a Dialog Object Type The name is case
sensitive. Names may not match other registered names in a case-
insensitive manner unless the Designated Experts state that there is
a compelling reason to allow an exception.
Petrie Expires 8 January 2026 [Page 50]
Internet-Draft JSON vCon July 2025
Dialog Type Description:
Brief description of the Dialog Object type
Change Controller:
For Standards Track RFCs, list the "IESG". For others, give the name
of the responsible party. Other details (e.g., postal address, email
address, home page URI) may also be included.
Specification Document(s):
Reference to the document or documents that specify the parameter,
preferably including URIs that can be used to retrieve copies of the
documents. An indication of the relevant sections may also be
included but is not required.
6.3.4.1.2. Dialog Type Name Registration Initial Values
The following table defines the initial values for the Dialog Object
Types Registry.
+==================+=============+============+===============+
| Dialog Type Name | Dialog Type | Change | Specification |
| | Description | Controller | Document(s) |
+==================+=============+============+===============+
| text | text dialog | IESG | Section 4.3.1 |
| | | | RFC XXXX |
+------------------+-------------+------------+---------------+
| recording | recording | IESG | Section 4.3.1 |
| | dialog | | RFC XXXX |
+------------------+-------------+------------+---------------+
| transfer | transfer | IESG | Section 4.3.1 |
| | dialog | | RFC XXXX |
+------------------+-------------+------------+---------------+
| incomplete | incomplete | IESG | Section 4.3.1 |
| | dialog | | RFC XXXX |
+------------------+-------------+------------+---------------+
Table 4
6.3.5. party_history Object Parameter Names Registry
The party_history Object Parameter Names Registry uses the Object
Registry Template (Section 6.3.1) registry template. This initial
values for the party_history Object Parameter Names Registry are
listed in the following table.
Petrie Expires 8 January 2026 [Page 51]
Internet-Draft JSON vCon July 2025
+================+=============+============+==================+
| Parameter Name | Parameter | Change | Specification |
| | Description | Controller | Document(s) |
+================+=============+============+==================+
| party | event party | IESG | Section 4.3.11.1 |
| | index | | RFC XXXX |
+----------------+-------------+------------+------------------+
| time | time event | IESG | Section 4.3.11.1 |
| | occurred | | RFC XXXX |
+----------------+-------------+------------+------------------+
| event | event type | IESG | Section 4.3.11.1 |
| | | | RFC XXXX |
+----------------+-------------+------------+------------------+
Table 5
6.3.5.1. party_event Event Name Registry
This document defines a new registry for the token name values that
are permitted as values to the party_event Object event
(Section 4.3.11.1) parameter.
6.3.5.1.1. party_event Event Name Registration Template
party_event Event Name:
The string token name of a party_event Object event type. The name
is case sensitive. Names may not match other registered names in a
case-insensitive manner unless the Designated Experts state that
there is a compelling reason to allow an exception.
party_event Event Description:
Brief description of the party_event Object Event
Change Controller:
For Standards Track RFCs, list the "IESG". For others, give the name
of the responsible party. Other details (e.g., postal address, email
address, home page URI) may also be included.
Specification Document(s):
Reference to the document or documents that specify the parameter,
preferably including URIs that can be used to retrieve copies of the
documents. An indication of the relevant sections may also be
included but is not required.
Petrie Expires 8 January 2026 [Page 52]
Internet-Draft JSON vCon July 2025
6.3.5.1.2. party_event Type Name Registration Initial Values
The following table defines the initial values for the Dialog Object
Types Registry.
+=============+===================+============+==================+
| party_event | party_event Event | Change | Specification |
| Event Name | Description | Controller | Document(s) |
+=============+===================+============+==================+
| join | party join event | IESG | Section 4.3.11.1 |
| | | | RFC XXXX |
+-------------+-------------------+------------+------------------+
| drop | party drop event | IESG | Section 4.3.11.1 |
| | | | RFC XXXX |
+-------------+-------------------+------------+------------------+
| hold | party on hold | IESG | Section 4.3.11.1 |
| | event | | RFC XXXX |
+-------------+-------------------+------------+------------------+
| unhold | party off hold | IESG | Section 4.3.11.1 |
| | event | | RFC XXXX |
+-------------+-------------------+------------+------------------+
| mute | party on mute | IESG | Section 4.3.11.1 |
| | event | | RFC XXXX |
+-------------+-------------------+------------+------------------+
| unmute | party off mute | IESG | Section 4.3.11.1 |
| | event | | RFC XXXX |
+-------------+-------------------+------------+------------------+
Table 6
6.3.6. Attachment Object Parameter Names Registry
TODO: type or purpose
The following defines the initial values for the Attachment Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 53]
Internet-Draft JSON vCon July 2025
+==============+=======================+============+===============+
| Parameter | Parameter | Change | Specification |
| Name | Description | Controller | Document(s) |
+==============+=======================+============+===============+
| start | attachment start | IESG | Section 4.4.2 |
| | time | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| party | sending party | IESG | Section 4.4.3 |
| | index | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| dialog | associated dialog | IESG | Section 4.4.4 |
| | index | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| mediatype | attachment body | IESG | Section 4.4.5 |
| | media type | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| filename | attachment | IESG | Section 4.4.6 |
| | content filename | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| body | attachment inline | IESG | Section 4.4.7 |
| | content | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| encoding | attachment inline | IESG | Section 4.4.7 |
| | content encoding | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
| url | attachment | IESG | Section 4.4.7 |
| | referenced | | RFC XXXX |
| | content URL | | |
+--------------+-----------------------+------------+---------------+
| content_hash | attachment | IESG | Section 4.4.7 |
| | content hash | | RFC XXXX |
+--------------+-----------------------+------------+---------------+
Table 7
6.3.7. Analysis Object Parameter Names Registry
The following defines the initial values for the Analysis Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 54]
Internet-Draft JSON vCon July 2025
+================+=====================+============+===============+
| Parameter | Parameter | Change | Specification |
| Name | Description | Controller | Document(s) |
+================+=====================+============+===============+
| type | analysis type | IESG | Section 4.5.1 |
| | | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| dialog | associated dialog | IESG | Section 4.5.2 |
| | index | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| mediatype | analysis body media | IESG | Section 4.5.3 |
| | type | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| filename | analysis content | IESG | Section 4.5.4 |
| | filename | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| vendor | vendor producing | IESG | Section 4.5.5 |
| | content | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| product | vendor product | IESG | Section 4.5.6 |
| | producing content | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| schema | product schema of | IESG | Section 4.5.7 |
| | content | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| body | analysis inline | IESG | Section 4.5.8 |
| | content | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| encoding | analysis inline | IESG | Section 4.5.8 |
| | content encoding | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| url | analysis referenced | IESG | Section 4.5.8 |
| | content URL | | RFC XXXX |
+----------------+---------------------+------------+---------------+
| content_hash | analysis content | IESG | Section 4.5.8 |
| | hash | | RFC XXXX |
+----------------+---------------------+------------+---------------+
Table 8
6.3.8. Redacted Object Parameter Names Registry
The following defines the initial values for the Redacted Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 55]
Internet-Draft JSON vCon July 2025
+================+===================+============+=================+
| Parameter | Parameter | Change | Specification |
| Name | Description | Controller | Document(s) |
+================+===================+============+=================+
| uuid | less redacted | IESG | Section 4.1.8.1 |
| | vCon UUID | | RFC XXXX |
+----------------+-------------------+------------+-----------------+
| type | redaction type or | IESG | Section 4.1.8.1 |
| | reason | | RFC XXXX |
+----------------+-------------------+------------+-----------------+
| url | referenced less | IESG | Section 4.1.8.1 |
| | redacted vCon URL | | RFC XXXX |
+----------------+-------------------+------------+-----------------+
| content_hash | less redacted | IESG | Section 4.1.8.1 |
| | vCon hash | | RFC XXXX |
+----------------+-------------------+------------+-----------------+
Table 9
6.3.9. Appended Object Parameter Names Registry
The following defines the initial values for the Appended Object
Parameter Names Registry.
+================+==================+============+=================+
| Parameter Name | Parameter | Change | Specification |
| | Description | Controller | Document(s) |
+================+==================+============+=================+
| uuid | prior vCon | IESG | Section 4.1.9.1 |
| | version UUID | | RFC XXXX |
+----------------+------------------+------------+-----------------+
| url | referenced prior | IESG | Section 4.1.9.1 |
| | version vCon URL | | RFC XXXX |
+----------------+------------------+------------+-----------------+
| content_hash | prior version | IESG | Section 4.1.9.1 |
| | vCon hash | | RFC XXXX |
+----------------+------------------+------------+-----------------+
Table 10
6.3.10. Group Object Parameter Names Registry
The following defines the initial values for the Group Object
Parameter Names Registry.
Petrie Expires 8 January 2026 [Page 56]
Internet-Draft JSON vCon July 2025
+================+================+============+===============+
| Parameter Name | Parameter | Change | Specification |
| | Description | Controller | Document(s) |
+================+================+============+===============+
| uuid | child vCon | IESG | Section 4.6 |
| | version UUID | | RFC XXXX |
+----------------+----------------+------------+---------------+
| url | referenced | IESG | Section 4.6 |
| | child vCon URL | | RFC XXXX |
+----------------+----------------+------------+---------------+
| content_hash | prior version | IESG | Section 4.6 |
| | vCon hash | | RFC XXXX |
+----------------+----------------+------------+---------------+
Table 11
6.4. vCon Extensions Names Registry
This document defines and new registry for the token name values that
are permitted as values to the [extensions]s(#extensions) parameter.
However it does not define any values for this registry. Values for
this registry are to be defined in subsequent documents which define
extensions to the vCon schema.
6.4.1. Extensions Registration Template
Extension Name:
The string token name of an extension to the vCon JSON schema. The
name is case sensitive. Names may not match other registered names
in a case-insensitive manner unless the Designated Experts state that
there is a compelling reason to allow an exception.
Extension Description:
Brief description of the the vCon extension
Change Controller:
For Standards Track RFCs, list the "IESG". For others, give the name
of the responsible party. Other details (e.g., postal address, email
address, home page URI) may also be included.
Specification Document(s):
Petrie Expires 8 January 2026 [Page 57]
Internet-Draft JSON vCon July 2025
Reference to the document or documents that specify the parameter,
preferably including URIs that can be used to retrieve copies of the
documents. An indication of the relevant sections may also be
included but is not required.
6.5. JSON Web Signature and Encryption Header Parameters
This document registers the following new parameter in the [JWS] JSON
Web Signature and Encryption Header Parameters registry.
* Header Parameter Name: "uuid"
* Header Parameter Description: UUID of the signed object
* Header Parameter Usage Location(s): JWS
* Change Controller: IESG
* Specification Document(s): Header Object (Section 5.2.2) of RFC
XXXX
6.6. JSON Web Signature and Encryption Unprotected Parameters
TODO: cannot find this registry
This document registers the following new parameter in the [JWS] JSON
Web Signature and Encryption Unprotected Parameters registry.
* Header Parameter Name: "uuid"
* Header Parameter Description: UUID of the encrypted object
* Header Parameter Usage Location(s): JWE
* Change Controller: IESG
* Specification Document(s): Header Object (Section 5.3.1) of RFC
XXXX
7. Non-Upward Compatible Changes to the vCon Container
7.1. Version 0.0.2 to 0.3.0
* "transfer-target" parameter was renamed to "transfer_target" to be
consistent with other compound names that use the underscore
("_").
Petrie Expires 8 January 2026 [Page 58]
Internet-Draft JSON vCon July 2025
* "target-dialog" parameter was renamed to "target_dialog" to be
consistent with other compound names that use the underscore
("_").
7.2. Version 0.0.1 to 0.0.2
* "mimetype" parameters were renamed to "mediatype"
* "alg" and "signature" were combined into "content_hash"
8. References
8.1. Normative References
[DID] W3C, "Decentralized Identifiers (DIDs) v1.0", July 2022,
<https://www.w3.org/TR/did-core/>.
[GEOPRIV] Peterson, J., "A Presence-based GEOPRIV Location Object
Format", RFC 4119, DOI 10.17487/RFC4119, December 2005,
<https://www.rfc-editor.org/rfc/rfc4119>.
[GZIP] Deutsch, P., "GZIP file format specification version 4.3",
RFC 1952, DOI 10.17487/RFC1952, May 1996,
<https://www.rfc-editor.org/rfc/rfc1952>.
[HTTPS] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "HTTP Semantics", STD 97, RFC 9110,
DOI 10.17487/RFC9110, June 2022,
<https://www.rfc-editor.org/rfc/rfc9110>.
[IANA-COSE-ALG]
"COSE Algorithms", n.d.,
<<https://www.iana.org/assignments/cose/cose.xhtml>>.
[JMAP] Jenkins, N. and C. Newman, "The JSON Meta Application
Protocol (JMAP)", RFC 8620, DOI 10.17487/RFC8620, July
2019, <https://www.rfc-editor.org/rfc/rfc8620>.
[JSON] 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/rfc/rfc8259>.
[JWE] Jones, M. and J. Hildebrand, "JSON Web Encryption (JWE)",
RFC 7516, DOI 10.17487/RFC7516, May 2015,
<https://www.rfc-editor.org/rfc/rfc7516>.
Petrie Expires 8 January 2026 [Page 59]
Internet-Draft JSON vCon July 2025
[JWK] Jones, M., "JSON Web Key (JWK)", RFC 7517,
DOI 10.17487/RFC7517, May 2015,
<https://www.rfc-editor.org/rfc/rfc7517>.
[JWS] Jones, M., Bradley, J., and N. Sakimura, "JSON Web
Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May
2015, <https://www.rfc-editor.org/rfc/rfc7515>.
[MAILTO] Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
URI Scheme", RFC 6068, DOI 10.17487/RFC6068, October 2010,
<https://www.rfc-editor.org/rfc/rfc6068>.
[MEDIATYPE]
Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13,
RFC 6838, DOI 10.17487/RFC6838, January 2013,
<https://www.rfc-editor.org/rfc/rfc6838>.
[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
<https://www.rfc-editor.org/rfc/rfc2045>.
[PASSporT] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
<https://www.rfc-editor.org/rfc/rfc8225>.
[PIDF-LO] Winterbottom, J., Thomson, M., and H. Tschofenig, "GEOPRIV
Presence Information Data Format Location Object (PIDF-LO)
Usage Clarification, Considerations, and Recommendations",
RFC 5491, DOI 10.17487/RFC5491, March 2009,
<https://www.rfc-editor.org/rfc/rfc5491>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/rfc/rfc2119>.
[RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
<https://www.rfc-editor.org/rfc/rfc3339>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.
Petrie Expires 8 January 2026 [Page 60]
Internet-Draft JSON vCon July 2025
[SESSION-ID]
Jones, P., Salgueiro, G., Pearce, C., and P. Giralt, "End-
to-End Session Identification in IP-Based Multimedia
Communication Networks", RFC 7989, DOI 10.17487/RFC7989,
October 2016, <https://www.rfc-editor.org/rfc/rfc7989>.
[SMTP] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
DOI 10.17487/RFC5321, October 2008,
<https://www.rfc-editor.org/rfc/rfc5321>.
[TEL] Schulzrinne, H., "The tel URI for Telephone Numbers",
RFC 3966, DOI 10.17487/RFC3966, December 2004,
<https://www.rfc-editor.org/rfc/rfc3966>.
[UUID] Peabody, B. and K. R. Davis, "New UUID Formats", Work in
Progress, Internet-Draft, draft-peabody-dispatch-new-uuid-
format-04, 23 June 2022,
<https://datatracker.ietf.org/doc/html/draft-peabody-
dispatch-new-uuid-format-04>.
8.2. Informative References
[CBOR] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", STD 94, RFC 8949,
DOI 10.17487/RFC8949, December 2020,
<https://www.rfc-editor.org/rfc/rfc8949>.
[CDDL] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data
Definition Language (CDDL): A Notational Convention to
Express Concise Binary Object Representation (CBOR) and
JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610,
June 2019, <https://www.rfc-editor.org/rfc/rfc8610>.
[CDR] ITU, "Recommendation Q.825: Specification of TMN
applications at the Q3 interface: Call detail recording",
n.d., <https://www.itu.int/rec/T-REC-Q.825>.
[ISOBMFF] "Information technology -- Coding of audio-visual objects
-- Part 12: ISO base media file format", ISO/IEC
14496-12:2022, January 2022,
<https://www.iso.org/standard/83102.html>.
[JWT] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
<https://www.rfc-editor.org/rfc/rfc7519>.
Petrie Expires 8 January 2026 [Page 61]
Internet-Draft JSON vCon July 2025
[PY-VCON] "Python open source vCon command line interface, library
and workflow server", n.d.,
<https://github.com/py-vcon/py-vcon>.
[SHA-512] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms
(SHA and SHA-based HMAC and HKDF)", RFC 6234,
DOI 10.17487/RFC6234, May 2011,
<https://www.rfc-editor.org/rfc/rfc6234>.
[SIP] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002,
<https://www.rfc-editor.org/rfc/rfc3261>.
[SIP-XFER] Sparks, R., Johnston, A., Ed., and D. Petrie, "Session
Initiation Protocol (SIP) Call Control - Transfer",
BCP 149, RFC 5589, DOI 10.17487/RFC5589, June 2009,
<https://www.rfc-editor.org/rfc/rfc5589>.
[STIR-PASS]
Wendt, C. and J. Peterson, "PASSporT Extension for Rich
Call Data", Work in Progress, Internet-Draft, draft-ietf-
stir-passport-rcd-26, 5 June 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-stir-
passport-rcd-26>.
[vCard] Kewisch, P., "jCard: The JSON Format for vCard", RFC 7095,
DOI 10.17487/RFC7095, January 2014,
<https://www.rfc-editor.org/rfc/rfc7095>.
[vCon-white-paper]
Howe, T., Petrie, D., Lieberman, M., and A. Quayle, "vCon:
an Open Standard for Conversation Data", n.d.,
<https://github.com/vcon-dev/vcon/blob/main/docs/vCons_%20
an%20Open%20Standard%20for%20Conversation%20Data.pdf>.
Appendix A. Example vCons
This appendix contains example vCons in the unsigned, signed and
encrypted form. The JSON has been indented for readability. The
vCons have been formatted such that long text lines have been wrapped
with a left hand white space indent for readability purposes. Links
for unformatted versions of the vCons are provided for each of the
examples. The example vCons in this document were generated using
the [PY-VCON] command line interface.
Petrie Expires 8 January 2026 [Page 62]
Internet-Draft JSON vCon July 2025
A.1. Two Party Call vCon With Inline Recording
This example vCon is for a simple 2 party PSTN call. It has a single
Dialog Object which contains a single channel wav format recording
with the two parties audio mixed into the single channel.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_int_rec.vcon
{
"vcon": "0.0.2",
"parties": [
{
"tel": "+12345678901",
"name": "Alice"
},
{
"tel": "+19876543210",
"name": "Bob"
}
],
"dialog": [
{
"type": "recording",
"start": "2022-06-21T17:53:26.000+00:00",
"duration": 4.72,
"parties": [
0,
1
],
"mediatype": "audio/x-wav",
"filename": "ab_call.wav",
"encoding": "base64url",
"body": "UklGRioeAABXQVZFZm10IBQAAAAxAAEAQB8AAFkGAABBAAAAAg
BAAWZhY3QEAAAAgJMAAGRhdGH2HQAAoxjXHYXCRekuye4gK4Tsiv4wZeN
htuvu3RMkgyPXme4NeahQLG0yeLayx5HCIiRWK7psbQrQTFm57NwQJvIb
q1aNxk6VpMYAXSm5Bb1rgStIStvEzmCaOIabxs2gjReJ02Rk0BQtOxHkh
UTIZd4VGKoq1KuoCGhrZTx1vRZICuZEcgkGjdH2jiCU1a0NMW6BE8lVHN
-OYFPHcZspr0CSl1aeo2hOWUx3CbovpGqKsApWteunk8gMPMOdynRVFWR
5o0l2BvaQDcWugGRHrQa9NcEbG1LWQq_AWLpsXKdMQefGrZu4ZE2ZSDIR
GJLTKpIzDybqSyZishQmjuVGztMKNlcyt2vW546JsutgllyppQWroAtHb
kyrrGAx3bIiX81g1sR-oVaBbtkobA08fpJYscQSlHHcGm7hDriuWTRm8A
6GKQ1Fbcn10M30DcHctnEchwaAI7dxI2knYCQ5biNHB2Djxm3bFmyU5TA
3ALZt3DaSeABIkiRJcm0AxpEkSZI7AEiSJEmSwUYZ1mQLYNu2bdumPWDb
tm3b9gOAJEmSJFkFgCRJkiQZbHRhTccDtm3btm0qAEaOJEmSPABIkiRJk
jAASJIkSZLBRhfW9CKAJEmS49gCgCRJkiQ5P2Dbtm3bZgSAJEmSJClkcm
VNLgBIkiRJkm8ASJIkSZIvAkiSJEmOswM2btu2bcMVmd3kIoDkyJEkySO
Petrie Expires 8 January 2026 [Page 63]
Internet-Draft JSON vCon July 2025
AJEmS3AgGgCRJkhypC2DjuG3j9mxOWQiyEUQ1DAtyvQJS9aTWWc4KuFqL
O9F4CCJX4yeFkMaSUWSLYMkYinzGa4HzyrEi6-pgHVdXe6mugKzW7VqHY
OzcDDsXWnJkeVXHFKpuLDZSrAroZOQohtASpE4dyZSRxozJQC6hJE2OLG
iNYLM1ruIWzsCcRhEW6c3AJhq6bmp9cZ0IvAy2a5xJVcUMNE8Qq3G0CEJ
y30SNxwrUqUy5NczWkI3S7UCk4iyrBM3AzCvJqkisQPQkcekWjYDoJk4D
pWiPmUzXCtKFMkuy1g7MtWnrqLwMSqpjR8vXDipSKzk1D-bOjdLzgNQol
lapqqCUmjChmctA6jRmYPOLYJtHbatocTAZCfAQ3LHs6O2zDuCC_LyStA
gkklFHZesUspXsSr0S5lCRYg-hXc2tKqMsgeqYkNzSVmLc9mk08zbhzUK
O3fhkzJQsvBTCcNk2s-oUxO5zpatkETyFn-xtrxRaTR0hZk3WDo5ELiFW
Oq7hmMxgKjdcY0SO4Fk7cijHC6EYNXEZI6oDUQz2EeJMMh1orxSOup04u
UUjOtyjwVQ3HdhpuSRyJv0WzpRTo-so7pMpdgKWUk0jlEwjiqBJAwcuw5
lca39VznGdMLAg6o-EEenbKEQxgkeS0xxEteISQcQUNPm8KxaV1xKKIq-
BFEpsm_bjIFPLiJwpRoEoSZEuqWuBJLuu1oxZC8ksQB0Wkt_IqrwaSMq8
p4mzEPrFksdx9i9KZVv36AvGkMmyKsHI864U2eThk-iNKRsvgRsqL1vMT
UHbPK2ZqVwNHW3oEIay3EaN7xJGgV4mmK8Q1k0O4jHPCFpRzHYxBtbOEZ
FMQeMoOVQ2F8GTOXvh9-qARmvOaH9MYaOpdTIFaS-ZJO4OGmZOvo3fEig
5M8lQvwxinfXKhc4QrPGM0pIJthKKkixBYjvlZJlNwXTljSW8VWFex6ts
hg7BUiVuU8VoDtlMwRBEkqXknPYWWNFMRtW_FMhsVIpV4RDESZlqtFXHV
I3GSmHZyNFMV24h48qsHAdLYeumkSKhTYG1Qp0LpWhr1UitEmaJ1DxuXw
gGEe62VbkIUKKbdkv2CFhIZMdnkebSjRKzoCG7Uc32ywDkqkauEsuAzOq
K1vnNoKFOtloMaa5YBWwbZI_aPtKzFMpyqx7WNBXEqt43TasSiiaAKW8U
2NSFxMuA6htzZ8ougZAbtgLVamHcwpHZgq6B40DSETuvriVpKyFIUpxog
TQvwrBFaY5MScRRE6GFMFGqYp5L26r4Eo2kooM941UsSSRC6NVuXVFmol
1pueTN7sLdPY-uiHbuECmzJFAvywh-KivWrRRtmK4u4p1Va666LNhrFMt
F3tZKlTDvgdOFlqN-zUGbWLWajishIrY5DTNLYovSDJJ2co6MCCwrxmmd
6u0wU-CtiptRtUQohlesWT1X0I4kR-NrCEmIIFRGelq51TpDpN2jnuxFr
UWfaop44QqkpsixOkeSsFwpyiIoHV4IN-NAtFJboRbtIqoILbeS0SJe1i
2_tl8Xi4xizaGMTbVg3w4C6biZ8LrTot8bmqK5TWIKQWqUWloIyQhHJaA
MTQaq4SQWNzTeTaoc5MHEkWrWHEY8moxcmLeQkQStoV9lsiM7S6HlKE6n
LKfAJK3GVq0WQeK8fmKNcascCXElWJJd9iwvNSi9mNvGsRwsvvxyHsw0O
qqptnxsWafZojyKIykTLXobrtrgcAoryw9tNE7TVstKaCBBmEJ2LMUsXJ
KCCBk1kWpsul1ZnZRgWoSnleyJ9njK9VrZXCrYFojg6ofqqAam-jOFbEv
QIIcLJF9f-quNDsQiS9ac_ljMEE30OjQXKrmVeCxG7iE3UmIcLO4g0zVP
FXAN5biakMaMydRuQRlJ2NuaTOEqKabgJg8hc8KNG6PLgDxn1fDGZAzRL
OsMhnEGF6--CEZJU6ly4hJmqiXpha4Wumlis26U5hAVtMxgmpVUIzPOoF
gpsVVLLOHiSOrKysoBq0Zx4xZZTVFJOwqozvXM7WEQtpmkq7GqF-ZKnqo
2YBGysVvsSJPm0I1kDMHOdHEkN09hm8NtJWnmgA1HDhVoL2ENW6odeXkN
2SjJCmjxotduUws-l3OyDu8KtGUMMc7ICrJu6XpMSsdQkSTuwEC3ddtk1
sBUQyktmMqA8Ti6G-crYSsVVlmFXE5VLeQOtC5kuFCrCEaqTeuJWQu662
W5sr4KQGcrRVjLFlHVdK1AV8Wt23ivgJmLsuU8TcEjG_ZdREvB1iiaHKh
cz1xJMxPOah1FhvcK8lOaK1nSFjSPk8iRxghUySuliw230olEzwCfOKfz
Wq1gbFMH82iPYAk3rlNhzICdTIYblWwvYSnWDliN3TRvLwcmQhMcPlYJ2
G0NuYpJD0KtVEqpSuaU1fJLgdp0aRyn1kAzM6_jW-6Ab1vxovqtwJTZzm
Z3YM0gTVgRVm-zNm61DvaQaqVr1A4IUsQ8LLkMJpXarHRIxlLSNK3Akqh
uGv2uQA6pcuSkrmCpllETvY4g4sgt3IZgbhUtSQ3orOouknUJ1taUPXRI
Dbq5EVeuvgzEsQQ5jgvmTk10zaCg2G2Tm9ZAzCJO3ZSLwN3M9XWerUD9y
motaWDvHEm_DMyQrMou9w7OsB05t1MLNLZrvBlRCyiKjkSNicYUzuazIJ
WzclQ3ziAtZVVs5a6Azhg6GYPKYGHFPaTKYO5ULdIIuIVksabFDJrRRdw
Petrie Expires 8 January 2026 [Page 64]
Internet-Draft JSON vCon July 2025
9tAxEiUvZpcIOmrAj69TTtpaJsMpgneyUu9ZtweRYk6l2zKDS5JJsq0xh
JBfulMtcL5kscBlAcSNHUsIK9qirs87yELpvrLnOzBCklpo5lYvGlJFUj
IBTKTkkcU2BGheP1KqrgF1TrSljrYDcpm5KK2RSYU1nAERu3LaNXQDIce
RIjmMASHIjSZI0AkiS5EiSgUcX1gQDgCRJkiR5B2Akx5EkqQOAJEmSJJk
FgOQ4kiQZcJQhMbwENm7bxnHnBLZx3MaRbwBIkiTJcTcAOHIkSZLBNhvW
xiSAJEmS5DgFYBxJkiRpB4AkSZIkeTxg27Zt28ZoLB1FqA84qpop2DMPx
B3yyHWxCEq-fmsS1w4YUjo9rZTHlFH0q2AdUZIptdIgy0RuGddqgdyotU
Kb6kDbE4ukV4FunQyxDEpOHKgiUSHekezIka8Kys0TR3PlCFqPHrR10te
OkYSnQKOlepQdzQALJTqbhIqAomiNxIiNQFTXZWWneXHhSPESVm4lyc1O
EahpnMKFsBQojionS9MISIq9u9dX59iNgu2gpbd5mlatoGmpjpyqjmBt5
mp0Za5gpVZzpUR17lgp0gqgLVIIdvMIpMbktErBDJqS65hy7ApUjiOjsZ
jXVtnitEDxJq5aG66ApGvxHWmugByp0ds4LmGdNmmEymntVCmzCtSY5M1
qUBO8kizbWc8NqLsw9nW0Gs7tY1vtFaiWTVDsoGVNdfvy7EFD0zJMJMuh
I8etAzstQSK9TqvpdEzdBMUeNm5USi3YDuxszZiSWgyyWeoovtoMyHWWq
2ZV91RVoMpgpZpQ1zgMgaS7rZxLzEDtpK2trKygm6OGJjhtTtkkxQyorh
vXclcNUm6s1VLtDlhq1joy3Qo2RpWU-ZK3zs1CNSH1RJqjWGsho6Zx2oS
sgGJIcZs6ziDMOLLqmo20XU34CDxWFAlOzAwIclQXst8MptWj3tLfCOz1
7dx5VMYMkhLXgCU1Tg1GjMAbNW7bZkNg47Zt2-bugBtDMS63bTCdKbESG
k7cNHK5EMBNJbmW4hLKcq0pfkQL4lCtJpZcZ5lRYExhk0XS7spt4ROnLe
TaHEJbJykFmkoBhLVwfG1lDRkpRBIW0aM6dXgKONwlc6IpD-5YTcW9ySC
6cTwpkhfWUFbUi2AfdLNotAyhFTuqiuqzQF43RreH1EHc2G2famXv3GQz
EbaFWyWKvA54ay1HF-0WaJMjq906C-JtlpSGDtaOkSItYVtKktMmrGCT1
qEbaSxh1DZOJObUoCBLiW2dhTBZSboKOn4bOVnLCsim9Vyu6wioklaqLM
wMRpELrXJT15RJUHWB4zRiZbPWgFzGEW1m7GCjCpoi6w7ArGdeWR1xUdV
E4AhQkiPNbtYLqG2e6JS1CkRf_tqZwgo4U6xWhpT3lokwzIBRsy3tVIsg
WTSNDUusYBTn6eN4rWCcrBCVxGDNVEXBCm6R5sZ2KBO2buNHk98WyK7DX
HWwCsQ1pNVVy-YUSnKsYVypCiTXrkDsqC4TR61A2aJ02vjOIJ2ujquiZO
-cSL4MSpGOSs3HCiZxVDdx8hbGiZS5qekUStXiHI5P1o5N0sqA6vpMc_u
tIDWYcuJI7GB2uf5jpa2A1k7O2hJ1S50MvwjebFu4sckMmFXwNDJdC2gP
GbeqYB24bSA5bg7XWI0ky2DTiDPkIu6A4WapZRrtoJu8rhnJy4CktZkdm
2QuWUj0CnjWs1anShG4kiTXnKkQFnggS42-DhS-8spVTOYSjjIvgZtOSi
QV7IC9NHYYg8yAy-Sq4mduYeU4rsSaXE-dSdsI1MmiVVS8ErZp3kBO5wj
EUZ4litUKhlYLm5QIFtPFgkxBVCWnInXNoIVYldbH66DrRk768I6gWceU
HbhsbZ1MuBLKqaPWZtUSumrm0pKsEkSW8bZx9gzKVdvYjBkIn41UzoBFK
3LyJsuA6kZz3MUuQeU0DhvnbYEcW5bdqWANoUQrDbibYg2RxwykcQtFxu
oKIuEcw871DDhunD4tzhWRiZKuwORIrt6cHWGatkIUN7RA5GRSnbytgA2
mUh5lce5QSPAOVI1y5IjtErKQGbd1vwxM0p1FrtcMZJIdtTLS1s6NgKxA
tkKwi3lMgWQ3umtJ7EAdaSMlRayAXbdarDp5LxEpxAgMd4zJkKwMhp4iu
TKzDKaQSkOh3w7Gkde4udP2zowSzGDUzMPuSMvAJUlVLASPgOSocix9s4
DzYFbqOmlN2Si5CDBPTUeN3AyiSASTj_gKQrGctqdxE0QupVatDbeMTdK
KQCOVhgu562BiGc8kqZSgbmtJFpWswNs2N6N8cTEdLcAIqLKKN2nHDKay
FL-VSAtmrgY5caoKppCbxnRPxkzJ4IxAzLamG0dPweK2jp0WzCAUF4lmu
GuB5PqpZGWxi-Tdu83IkRu58bvpIpTjyo49xVau11BOPq_Mb1I30pTKhu
LbE-qCppVr1bMoG5MWofRNaO9FTtUULKkcxK1se60u4PnCSpYeriVaxor
WtSTbT3ZK-p8kPe3OUiL2Y0mSV6vGnamuo-xkacV8jGIsCdadKA_ipsBK
XQamggPJeduCoXCctcQSaILpxDhsIvSya1mXrwzUEtw0g9UKyjCDNMmYF
xWa1G6BBUWGlK_WoJooLVmiBGHikq3TOO9AEUt8yriBEt1F5gjCrW17ll
gN6E7bRoi2FDau7PaxcRMsVt5Wr9go19VEzaBf2C4UUY5gmjI1SF2MQJU
Petrie Expires 8 January 2026 [Page 65]
Internet-Draft JSON vCon July 2025
7ZWVKrUDpFujiln1R4UivHsaQmzSNxgpGtiM9t9kSpn4bzbHvCnaKZmWq
2AfTjebrYBCpdao7zaCoRVZr8-pgwzgwjVDtAJ0mjdKkiRBhRbsKSrXlN
KtbD-aKFDROcw1Ehiq5jtAIKHooV3bV9lCVdKsge8N14oiuIJm0ccukra
AjR32iF89grKzNdamJcSEltQ7aTZpjxc0KIillx5XHCHysPSmv5gx4W2O
7Nxf4EFLybMEchVUcy81g-kryZoEsoRzLTe5Iz2DuuJGTo4TWsS7EEqZq
ZPWVzwm8cSfnTlMNZnTdRBWqLFRO0FhyCwrNsgWL4WWmlaQNfAKyp7a_o
iJiLDOWg3KsAU5ZdmQWsYhsm3Ua6JUbian3EvyU9yIn9BBIfVv4gU81SF
F9pZFK-RRuGcuho3tJyUIEIdS4jUsJZ2ElNbAWKI9ApOJ10yWFL91xwha
ia6MmSbQUVIm9V4avEEx1c5up0g7a8M1AJlYnF9pUb4H7NrZay2vBJrc2
k2XXIB0rbxGVbEHSTPLkdHVP3SiyFkrSfMuqxxSoUywTl7IK1nkqWR3qF
NigHFmJWfeOTZKu4OsYU5RWNWLaxG3QKsxAH0Xr5MYsgRRlrRxdeTFZKP
QOWKXeYsHHFFSVOiuy4xLmktxOiccSTLEdt06UeF2KVM1gajRx2oivgNS
oT9Uo1WEamTIm9CohXLeNQMbUdBiaxp2WflvGlTgayFeymZpJEhaXJbvJ
bhY-6rEiNo1q35r2NWEeGLEiFZUh7qBmzS6rAtsoEfP2qgIqN07jV62KJ
L5mJ8xvQMXyuSqOmKTZmr0gILnRjZnWLNy3E6apVcqEmXur4e1Ezc0Mhk
FCmGVjYezBbFiQqsRKoZqj4hX5pCtSP8sQhnUaqW1RJSqSNgF3q6VIkts
6gbI6OvI3h4nQmlz1ozQkau0juIS0Qiw7auE3tEEvYXRsZuaB2jJr6uOY
LyWaxR4Y1iR7T2sS6u4Z3ULmGNjN21tO7hS4nJs8rxUoT9HUi6Ds6-5mx
y1BJLdNZmZPgc7IbpV61UCqx7FkV4FwUSi1CpI5kpRt8Agwbx1liMIIYg
vVuNbBCKTsXsSQmQeVyYQ0IV2XedKKrSAvabkyS-5gMV0WNe3twGuVgdy
kiZNZTb8MQkvFX_GvDiqZ7Jqx6Qy4kc0YieoUxlCMptKYB1WRQO_AZunS
7XqsYBZOkdyUruCy6A2gRc6A21apH0mB9Slu2wbkbbohLvQWuEnhBE2qF
qZQlXpJsBRaRZ4qzkyZ5SIjVEHMJknKsq1BI7RtG_eKABbHbKrC7kCkWI
dGQ4GyoUnzCjItYBipvAq8yFbt7WcMKI5j6s3iDkRSmwxGV-cOlub0oNv
Y0poFzYBrV5kx60thYpm17IgtARLGrKsJfdFYkcIUJrr1mHrzCMLzKzV9
xgy6Vh1Hpe0SuDYd125Nm9hzUw-hHjlS3JiNQJ1Ijdu2fWbj2CcZ14pk8
msp48awbTU3Vhr-TrTvKFIcJPojF333KkjyGUaSZTV6aQ3L1U5roOuwHE
eaE3BkySIiTaBS7LYsgZnfdoSZBqHdpK1LJ6nQXJpwFchNZ-vv8xp4cqv
Lqa0cGpWl9XayEpCRW4nNE_pKXYuXQZRLUfXLKmFox06kAmxhaUUlY2rP
QBndZc5KgVBZVccIYtqqta31CDpUHcdw6hTWRcLIlSsKUoKsXoqS1xKRs
q3AEDV1YXdNQVsLcavky2BUuV3TLK2A5BI-god9seFE9A6yU9tW2-oKUq
Z0RZLgCjw5p0l25BC4kZnYadDW1I1grKALt9LbprSAbMalGvUuQSahbhP
JagGlRHEktWixXCXhDOQRDBlSVh0mU7LYCU0RTgM_Q7Y6EtCuUUuyS_aO
ldRNYTI30c12jsDe9orzdy2Bs1qyYl1X4TtVsuuqWM4YTasUyMbarHYtE
byJ3Bo12BWYivAUrq0sGlIcSajNGBOaV83iXSaO2orMgR1LTvvmbqIkV1
bqhycBO6edpup4cqVNsBKorPfKk-kQVj4uOb2vFDR71CiSzRK2yQu9bRk
2U5GA74Bmmc-a3Duh2wt71OqKId1YaORWTKF70pIrx4lS3SjKDFAtoq5N
RBOoUKRmaXYWRJGeyNbGFNphZDhQSOeQyWBtYUOViaKmq4Ds5tTbOi1hV
D-ObJWqoF3EMeuQZM0kSbIUxka8to7uDEI22iqLLA1GVqU1kdkKUm7juL
HMxtBJwoygoxXHHceqgNI0coPGksAkukX7kCphGrtuXkWBENVIzxI-MSU
nUrAIukf69lHJDDYvE0teUQ1Y1V9IUo3mzkVUz6AUtQccy8pgLSQ5BXnL
IBYzmirr7WBhyUVr9WjuHE0rCwhyWueNtw5IbfpWqrgUNnoiaXLDCiy50
lvsjtdQkWKLAKNekZZirKCnaDVvVu3gHNlVYX3MQLIoSq6KgTCdRPIO0I
2jusa2CmbG5uautQ5Ipl3WT64IOLVbW9PQKNcZZ8-A7Dp3pswbQdQ6PYG
NK6HaxUDiVs2AZRnOzRaRUJ1Z6RRI0iTHyfYKRI4cOjrxEqgqospuKyO4
VZK_1lMokw2JQ2EolrXkqIzAI9wynWjn4FHvUqacrIC0RnZac4WPmUzNE
CZOpSgqWw2qbCREedIMNFu0NS7rDCQRm5iOledUzULLgCLLkIOJzyDaI6
6hO--g3DQi01zLYCJHtJ2biVHhKPYMtKkxqW7hDEp1K9Uh1g6aTE04qTY
Petrie Expires 8 January 2026 [Page 66]
Internet-Draft JSON vCon July 2025
AYJ3fXApcCBWS5MWA3OSpIoePwJXFTVo2rGAVRlHst8tgbmeSpDZxUJUk
sA6kcd4lkuUIso2UtZG9ClrW79RZ6QpmbuLiclb31E2k7CAqw45ki60A4
6rW27Yq4D2fkhOizUDkok4SxYkyWSmyCFauWgc2xgT6dKJu7dAIqpENKQ
bnCDROpEfX1vfUiXK1YHY3fvRXzGD8yJUhCY0A3TJtU4XvgNpMip1KbQ-
VLPQMwoxUJ1rIDDQuKyN5qg5Ek_28smIPSHotx9XY9lJF5MxAqi4uJffq
QLS4qSZr12BVG3lb7q1gmRdtnJiNcF0kyAqGNkw5KuoOyG3XXJbpCMxxZ
zuZ9A7IjBzXzRQHk4Xi66Ciak0sa9ZAk7uQJJmtIBrDQhIZDCCisukrYW
2QWUj1CrhUGrmp9grYb-oYUuwMOGlkzJLUCMht7lzQHpubADSzYJ1ftv4
KrIGVNW4YtUphGyv65IpeYkaXigzfwRxbJK4eULOsuofVTeKhI0V7rVx6
syVN58RFipMWLcXb7HWa0ool1tVSbRerw1U13_R970Yst2rTUDSHiqJEk
dDB3u8tLXXEZRi3iLuKOJJsq89gTZ4TTUs9wXJSZIUvXR-7sZUYe8uDt1
KkJhPJMc6uUfVsadMGMupEzmqFtXHdstEeH4X3qL6u60iO3kZOOfwyo_K
eppGj8RXzk2zV00dWW80n0QTMxLbTfSB8jmdFp02aKlNlK1l97XheSYTX
kOLGwR4faduDnqHCOE2_ZLbx6rq35oJe0p26lepuXOWTt7Ie_DmLNi4ID
SZom4YzSEtD47tmVUra4GERBpUJACE0Uua5njuKvpK2ddy599W22r4k_U
2rbBguUz2dY6tWrvTZuZr9sdZE7-olvZu1lUrIGj9QIfauaCtaeXRZr4k
fW5Hlxb0fr3U2lWqt6sOSaYEyZJEIdkWdSu89fZvqdnrVNRmum_xp2jTn
h2ISAYJiKwN0oNFtnSyD5Eiyw3dPBAY5diql0b9ecXVDBo2Rs63nWNr6t
fuyXTmu8nIabShdNojSNGobq52IxMKBgybmG60GIeX0pUNWh0AA9KxbRY
yBJnluZH2Jc4hI2iigbuXGkTgINqqeKLVUDKTR2dQt6gpWMhzXTRd4B2B
ULCDiSHXDgy8AnTuMqiROgCsJsYs4tGAjt1WcVdE2SATnCLSKbNhtyAJQ
ciPHaL0Eyo0bWcX0DiZu29hwFntXxIIy4KuVckrtDCD4tGYSHctAFDmNz
VbPQCvDauJGqTgafrcINDGcNGnZR7Zt3PoALxSCUqY0wbyrSHmTIZc"
}
],
"analysis": [],
"attachments": [],
"uuid": "0195544a-bd15-8960-b9a2-279e0d16bc46"
}
A.2. Text Chat vCon
TODO: text vCon example
A.3. Email Thread Multipart vCon
The following is an unsigned form of an vCon for a 2 message email
thread between 2 parties. The email messages are multipart MIME
message bodies.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_email_acct_prob_thread.vcon
Petrie Expires 8 January 2026 [Page 67]
Internet-Draft JSON vCon July 2025
{
"vcon": "0.0.2",
"group": [],
"parties": [
{
"mailto": "b@example.com",
"name": "Bob"
},
{
"mailto": "a@example.com",
"name": "Alice"
}
],
"dialog": [
{
"type": "text",
"start": "2022-09-23T21:44:25.000+00:00",
"duration": 0,
"parties": [
0,
1
],
"mediatype": "multipart/mixed; \n\tboundary=\"----=_Part_38
8314_1108189513.1663969465698\"",
"encoding": "none",
"body": "------=_Part_388314_1108189513.1663969465698\r\nCo
ntent-Type: multipart/alternative;\r\n\tboundary=\"----=_
Part_388313_805631480.1663969465697\"\r\n\r\n------=_Part
_388313_805631480.1663969465697\r\nContent-Type: text/pla
in; charset=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\
r\nAlice:Please find the image attached.\r\n\r\nRegards,B
ob\r\n\r\n------=_Part_388313_805631480.1663969465697\r\n
Content-Type: text/html; charset=UTF-8\r\nContent-Transfe
r-Encoding: 7bit\r\n\r\n<html><head></head><body><div cla
ss=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neu
e, Helvetica, Arial, sans-serif;font-size:16px;\"><div di
r=\"ltr\" data-setdir=\"false\"><div><div dir=\"ltr\" sty
le=\"font-family: "Helvetica Neue", Helvetica,
Arial, sans-serif; font-size: 16px;\">Alice:</div><div di
r=\"ltr\" style=\"font-family: "Helvetica Neue"
, Helvetica, Arial, sans-serif; font-size: 16px;\">Please
find the image attached.<br></div><div dir=\"ltr\" style
=\"font-family: "Helvetica Neue", Helvetica, Ar
ial, sans-serif; font-size: 16px;\"><br></div><div dir=\"
ltr\" style=\"font-family: "Helvetica Neue", He
lvetica, Arial, sans-serif; font-size: 16px;\">Regards,</
div><div dir=\"ltr\" style=\"font-family: "Helvetica
Neue", Helvetica, Arial, sans-serif; font-size: 16p
Petrie Expires 8 January 2026 [Page 68]
Internet-Draft JSON vCon July 2025
x;\">Bob</div></div><br></div></div></body></html>\r\n---
---=_Part_388313_805631480.1663969465697--\r\n\r\n------=
_Part_388314_1108189513.1663969465698\r\nContent-Type: im
age/png\r\nContent-Transfer-Encoding: base64\r\nContent-D
isposition: attachment; filename=\"=?UTF-8?b?c2NyZWVuc2hv
dC5wbmc=?=\"\r\nContent-ID: <c4c28087-6fa1-395e-e50f-dcef
d3d6bf96@yahoo.com>\r\n\r\niVBORw0KGgoAAAANSUhEUgAAACYAAA
AeCAIAAADPdvs5AAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT\r\nb2Z0d2F
yZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAALpJREFUSInl1t0NgzAMBOC7
qPvP1gW6Qjdo\r\nj4f0J4qAJI6NROvniE8+mwCvtzv6imTnyf1K/UclH
UFWjIvaIL3CHCABSPKKtJckWfY6zw+sj5dq\r\nISdVIzmj2klzTZG2Rm
e7NKgOwY6qPrMcUs+2PqchL14P+oyz+fHx77K5Sv8xyxAyZ0uBaxn/Spc
U\r\n8NxcosAut1Y3NtjVX7UjZlmpgWTSFyvVQPKB16tSqW53bFnKtyyZ
vYT3rSsAWADWAlOjseYFfwAA\r\nAABJRU5ErkJggg==\r\n\r\n-----
-=_Part_388314_1108189513.1663969465698--\r\n",
"message_id": "<1126698042.388315.1663969465698@mail.yahoo.
com>"
},
{
"type": "text",
"start": "2022-09-23T21:44:59.000+00:00",
"duration": 0,
"parties": [
1,
0
],
"mediatype": "multipart/alternative; \n\tboundary=\"----=_P
art_390234_811845464.1663969499935\"",
"encoding": "none",
"body": "------=_Part_390234_811845464.1663969499935\r\nCon
tent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-
Encoding: 7bit\r\n\r\n Hi Bob:Got it. Thanks.\r\n\r\n
On Friday, September 23, 2022, 9:44:40 PM UTC, Bob <b@exa
mple.com> wrote: \r\n \r\n Alice:Please find the image a
ttached.\r\n\r\nRegards,Bob\r\n \r\n------=_Part_390234_
811845464.1663969499935\r\nContent-Type: text/html; chars
et=UTF-8\r\nContent-Transfer-Encoding: 7bit\r\n\r\n<html>
<head></head><body><div class=\"ydp89e479a0yahoo-style-wr
ap\" style=\"font-family:Helvetica Neue, Helvetica, Arial
, sans-serif;font-size:16px;\"><div></div>\r\n <di
v><div><div dir=\"ltr\" style=\"font-family: Helvetica Ne
ue, Helvetica, Arial, sans-serif; font-size: 16px;\">Hi B
ob:</div><div dir=\"ltr\" style=\"font-family: Helvetica
Neue, Helvetica, Arial, sans-serif; font-size: 16px;\">Go
t it. Thanks.</div></div><br></div><div><br></div>\r\n
\r\n </div><div id=\"ydpdc5150a3yahoo_quoted_
4829810715\" class=\"ydpdc5150a3yahoo_quoted\">\r\n
<div style=\"font-family:'Helvetica Neue', Helvetic
Petrie Expires 8 January 2026 [Page 69]
Internet-Draft JSON vCon July 2025
a, Arial, sans-serif;font-size:13px;color:#26282a;\">\r\n
\r\n <div>\r\n
On Friday, September 23, 2022, 9:44:40 PM UTC, Bo
b <b@example.com> wrote:\r\n </div>\
r\n <div><br></div>\r\n <di
v><br></div>\r\n <div><div id=\"ydpdc5150a
3yiv4578005613\"><div><div style=\"font-family:Helvetica
Neue, Helvetica, Arial, sans-serif;font-size:16px;\" clas
s=\"ydpdc5150a3yiv4578005613yahoo-style-wrap\"><div dir=\
"ltr\"><div><div dir=\"ltr\" style=\"font-family:Helvetic
a, Arial, sans-serif;font-size:16px;\">Alice:</div><div d
ir=\"ltr\" style=\"font-family:Helvetica, Arial, sans-ser
if;font-size:16px;\">Please find the image attached.<br><
/div><div dir=\"ltr\" style=\"font-family:Helvetica, Aria
l, sans-serif;font-size:16px;\"><br></div><div dir=\"ltr\
" style=\"font-family:Helvetica, Arial, sans-serif;font-s
ize:16px;\">Regards,</div><div dir=\"ltr\" style=\"font-f
amily:Helvetica, Arial, sans-serif;font-size:16px;\">Bob<
/div></div><br></div></div></div></div></div>\r\n
</div>\r\n </div></body></html>\r\n------=_Par
t_390234_811845464.1663969499935--\r\n",
"message_id": "<2031327240.390235.1663969499936@mail.yahoo.
com>"
}
],
"analysis": [],
"attachments": [],
"created_at": "2025-03-02T00:39:02.990+00:00",
"redacted": {},
"subject": "Account problem",
"uuid": "0195544a-cc55-8d85-b9a2-279e0d16bc46"
}
A.4. Email Thread Text vCon
The following is an unsigned form of an vCon for a 3 message email
thread between 2 parties. The email messages are plain text message
bodies.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/
ab_email_prob_followup_text_thread.vcon
Petrie Expires 8 January 2026 [Page 70]
Internet-Draft JSON vCon July 2025
{
"vcon": "0.0.2",
"group": [],
"parties": [
{
"mailto": "a@example.com",
"name": "Alice"
},
{
"mailto": "b@example.com",
"name": "Bob"
}
],
"dialog": [
{
"type": "text",
"start": "2022-09-23T23:24:59.000+00:00",
"duration": 0,
"parties": [
0,
1
],
"mediatype": "text/plain",
"encoding": "none",
"body": "Hi Bob:\nI just wanted to follow up to see that yo
ur account is ok now.\n\nRegards,\nAlice\n\n",
"message_id": "<2031327240.390235.1663969499936@mail.yahoo.
com>"
},
{
"type": "text",
"start": "2022-09-23T23:34:32.000+00:00",
"duration": 0,
"parties": [
1,
0
],
"mediatype": "text/plain; charset=UTF-8",
"encoding": "none",
"body": "Hi Alice:\nAll is fine. Thanks.\n\n On Friday,
September 23, 2022, 23:24:59 PM UTC, Alice <a@example.com
> wrote: \n \n Hi Bob:\n I just wanted to follow up to
see that your account is ok now.\n \n Regards,\n Alic
e\n",
"message_id": "<1126698042.388315.1663969465698@mail.yahoo.
com>"
},
{
Petrie Expires 8 January 2026 [Page 71]
Internet-Draft JSON vCon July 2025
"type": "text",
"start": "2022-09-23T23:38:12.000+00:00",
"duration": 0,
"parties": [
0,
1
],
"mediatype": "text/plain",
"encoding": "none",
"body": "Awesome!\n\n On Friday, September 23, 2022, 23:
34: PM UTC, Bob <b@example.com> wrote: \n\n Hi Alice:\n
All is fine. Thanks.\n \n On Friday, September 23
, 2022, 23:24:59 PM UTC, Alice <a@example.com> wrote: \n
\n Hi Bob:\n I just wanted to follow up to see t
hat your account is ok now.\n \n Regards,\n Alic
e\n",
"message_id": "<2031327240.390235.1663969499936@mail.yahoo.
com>"
}
],
"analysis": [],
"attachments": [],
"created_at": "2025-03-02T00:39:04.591+00:00",
"redacted": {},
"subject": "Account issue followup",
"uuid": "0195544a-d292-8cda-b9a2-279e0d16bc46"
}
A.5. Two Party Call vCon With Externally Referenced Recording
This example vCon is for a simple 2 party PSTN call. It has a single
Dialog Object which reference a single channel wav format recording
with the two parties audio mixed into the single channel.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_ext_rec.vcon
Petrie Expires 8 January 2026 [Page 72]
Internet-Draft JSON vCon July 2025
{
"vcon": "0.0.2",
"parties": [
{
"tel": "+12345678901",
"name": "Alice"
},
{
"tel": "+19876543210",
"name": "Bob"
}
],
"dialog": [
{
"type": "recording",
"start": "2022-06-21T17:53:26.000+00:00",
"duration": 33.12,
"parties": [
0,
1
],
"url": "https://github.com/ietf-wg-vcon/draft-ietf-vcon-vco
n-container/raw/refs/heads/main/examples/ab_call.mp3",
"mediatype": "audio/x-mp3",
"filename": "ab_call.mp3",
"content_hash": "sha512-GLy6IPaIUM1GqzZqfIPZlWjaDsNgNvZM0iC
ONNThnH0a75fhUM6cYzLZ5GynSURREvZwmOh54-2lRRieyj82UQ"
}
],
"analysis": [],
"attachments": [],
"uuid": "0195544a-b9b1-8ee4-b9a2-279e0d16bc46"
}
A.6. Two Party Call vCon with Analysis
TODO: fix diarization in transcript
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_ext_rec_analysis.vcon
{
"vcon": "0.0.2",
"parties": [
{
"tel": "+12345678901",
"name": "Alice"
Petrie Expires 8 January 2026 [Page 73]
Internet-Draft JSON vCon July 2025
},
{
"tel": "+19876543210",
"name": "Bob"
}
],
"dialog": [
{
"type": "recording",
"start": "2022-06-21T17:53:26.000+00:00",
"duration": 33.12,
"parties": [
0,
1
],
"url": "https://github.com/ietf-wg-vcon/draft-ietf-vcon-vco
n-container/raw/refs/heads/main/examples/ab_call.mp3",
"mediatype": "audio/x-mp3",
"filename": "ab_call.mp3",
"content_hash": "sha512-GLy6IPaIUM1GqzZqfIPZlWjaDsNgNvZM0iC
ONNThnH0a75fhUM6cYzLZ5GynSURREvZwmOh54-2lRRieyj82UQ"
}
],
"analysis": [
{
"type": "transcript",
"dialog": 0,
"body": {
"metadata": {
"transaction_key": "deprecated",
"request_id": "1a5edb19-c3a3-4a48-9b0a-17da2ee59f3a",
"sha256": "04dc074100461f5082f2a7a286d0161f0e2728025e83
c20592aa7ea3724c2933",
"created": "2025-03-02T00:39:07.666Z",
"duration": 33.119938,
"channels": 1,
"models": [
"33063c07-ad0b-41de-b393-071dbe2b35da"
],
"model_info": {
"33063c07-ad0b-41de-b393-071dbe2b35da": {
"name": "2-meeting-nova",
"version": "2024-02-06.3141",
"arch": "nova-2"
}
}
},
"results": {
Petrie Expires 8 January 2026 [Page 74]
Internet-Draft JSON vCon July 2025
"channels": [
{
"alternatives": [
{
"transcript": "Hello. This is example.com. My n
ame is Bob. How can I help you? Hi. I'd like
to add Sue to my service. Okay. Can you give
me your name and phone number so I can look u
p your account? My name is Alice, and my numb
er is +1 234567890. Thank you. Okay. I've add
ed two to your service. Is there anything els
e I can help you with? No. Thank you. Goodbye
. Goodbye. Have a nice day.",
"confidence": 1,
"words": [
{
"word": "hello",
"start": 1.1999999,
"end": 1.6999999,
"confidence": 0.98950195,
"speaker": 0,
"speaker_confidence": 0.34591234,
"punctuated_word": "Hello."
},
{
"word": "this",
"start": 1.92,
"end": 2.08,
"confidence": 0.9980469,
"speaker": 0,
"speaker_confidence": 0.34591234,
"punctuated_word": "This"
},
{
"word": "is",
"start": 2.08,
"end": 2.32,
"confidence": 0.9838867,
"speaker": 0,
"speaker_confidence": 0.34591234,
"punctuated_word": "is"
},
{
"word": "example.com",
"start": 2.32,
"end": 3.28,
"confidence": 0.95963544,
"speaker": 0,
Petrie Expires 8 January 2026 [Page 75]
Internet-Draft JSON vCon July 2025
"speaker_confidence": 0.34591234,
"punctuated_word": "example.com."
},
{
"word": "my",
"start": 3.28,
"end": 3.4399998,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "My"
},
{
"word": "name",
"start": 3.4399998,
"end": 3.6,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "name"
},
{
"word": "is",
"start": 3.6,
"end": 3.84,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "is"
},
{
"word": "bob",
"start": 3.84,
"end": 4.24,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "Bob."
},
{
"word": "how",
"start": 4.24,
"end": 4.4,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "How"
},
Petrie Expires 8 January 2026 [Page 76]
Internet-Draft JSON vCon July 2025
{
"word": "can",
"start": 4.4,
"end": 4.56,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "can"
},
{
"word": "i",
"start": 4.56,
"end": 4.72,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "I"
},
{
"word": "help",
"start": 4.72,
"end": 4.88,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "help"
},
{
"word": "you",
"start": 4.88,
"end": 5.38,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.66926944,
"punctuated_word": "you?"
},
{
"word": "hi",
"start": 5.68,
"end": 6.18,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "Hi."
},
{
"word": "i'd",
"start": 6.3199997,
Petrie Expires 8 January 2026 [Page 77]
Internet-Draft JSON vCon July 2025
"end": 6.56,
"confidence": 0.951416,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "I'd"
},
{
"word": "like",
"start": 6.56,
"end": 6.7999997,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "like"
},
{
"word": "to",
"start": 6.7999997,
"end": 6.96,
"confidence": 0.99902344,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "to"
},
{
"word": "add",
"start": 6.96,
"end": 7.3599997,
"confidence": 0.9707031,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "add"
},
{
"word": "sue",
"start": 7.3599997,
"end": 7.68,
"confidence": 0.33374023,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "Sue"
},
{
"word": "to",
"start": 7.68,
"end": 7.9199996,
"confidence": 1,
"speaker": 0,
Petrie Expires 8 January 2026 [Page 78]
Internet-Draft JSON vCon July 2025
"speaker_confidence": 0.24804765,
"punctuated_word": "to"
},
{
"word": "my",
"start": 7.9199996,
"end": 8.08,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "my"
},
{
"word": "service",
"start": 8.08,
"end": 8.58,
"confidence": 0.982666,
"speaker": 0,
"speaker_confidence": 0.24804765,
"punctuated_word": "service."
},
{
"word": "okay",
"start": 9.2,
"end": 9.7,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "Okay."
},
{
"word": "can",
"start": 10,
"end": 10.24,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "Can"
},
{
"word": "you",
"start": 10.24,
"end": 10.4,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "you"
},
Petrie Expires 8 January 2026 [Page 79]
Internet-Draft JSON vCon July 2025
{
"word": "give",
"start": 10.4,
"end": 10.639999,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "give"
},
{
"word": "me",
"start": 10.639999,
"end": 10.719999,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "me"
},
{
"word": "your",
"start": 10.719999,
"end": 10.96,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.63695174,
"punctuated_word": "your"
},
{
"word": "name",
"start": 10.96,
"end": 11.12,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "name"
},
{
"word": "and",
"start": 11.12,
"end": 11.28,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "and"
},
{
"word": "phone",
"start": 11.28,
Petrie Expires 8 January 2026 [Page 80]
Internet-Draft JSON vCon July 2025
"end": 11.5199995,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "phone"
},
{
"word": "number",
"start": 11.5199995,
"end": 11.759999,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "number"
},
{
"word": "so",
"start": 11.759999,
"end": 11.92,
"confidence": 0.89746094,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "so"
},
{
"word": "i",
"start": 11.92,
"end": 12.08,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "I"
},
{
"word": "can",
"start": 12.08,
"end": 12.24,
"confidence": 0.99609375,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "can"
},
{
"word": "look",
"start": 12.24,
"end": 12.48,
"confidence": 0.99902344,
"speaker": 0,
Petrie Expires 8 January 2026 [Page 81]
Internet-Draft JSON vCon July 2025
"speaker_confidence": 0.4344439,
"punctuated_word": "look"
},
{
"word": "up",
"start": 12.48,
"end": 12.559999,
"confidence": 0.99609375,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "up"
},
{
"word": "your",
"start": 12.559999,
"end": 12.799999,
"confidence": 0.9980469,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "your"
},
{
"word": "account",
"start": 12.799999,
"end": 13.299999,
"confidence": 0.99902344,
"speaker": 0,
"speaker_confidence": 0.4344439,
"punctuated_word": "account?"
},
{
"word": "my",
"start": 13.815,
"end": 13.974999,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "My"
},
{
"word": "name",
"start": 13.974999,
"end": 14.054999,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "name"
},
Petrie Expires 8 January 2026 [Page 82]
Internet-Draft JSON vCon July 2025
{
"word": "is",
"start": 14.054999,
"end": 14.455,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "is"
},
{
"word": "alice",
"start": 14.455,
"end": 14.955,
"confidence": 0.9506836,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "Alice,"
},
{
"word": "and",
"start": 15.014999,
"end": 15.335,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "and"
},
{
"word": "my",
"start": 15.335,
"end": 15.495,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "my"
},
{
"word": "number",
"start": 15.495,
"end": 15.8949995,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "number"
},
{
"word": "is",
"start": 15.8949995,
Petrie Expires 8 January 2026 [Page 83]
Internet-Draft JSON vCon July 2025
"end": 16.395,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "is"
},
{
"word": "+1",
"start": 16.455,
"end": 16.775,
"confidence": 0.99902344,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "+1"
},
{
"word": "234567890",
"start": 16.775,
"end": 20.474998,
"confidence": 0.9998915,
"speaker": 0,
"speaker_confidence": 0.36550593,
"punctuated_word": "234567890."
},
{
"word": "thank",
"start": 20.775,
"end": 21.015,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.69241047,
"punctuated_word": "Thank"
},
{
"word": "you",
"start": 21.015,
"end": 21.515,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.69241047,
"punctuated_word": "you."
},
{
"word": "okay",
"start": 23.015,
"end": 23.515,
"confidence": 0.99853516,
"speaker": 0,
Petrie Expires 8 January 2026 [Page 84]
Internet-Draft JSON vCon July 2025
"speaker_confidence": 0.69241047,
"punctuated_word": "Okay."
},
{
"word": "i've",
"start": 24.214874,
"end": 24.454874,
"confidence": 0.9946289,
"speaker": 0,
"speaker_confidence": 0.69241047,
"punctuated_word": "I've"
},
{
"word": "added",
"start": 24.454874,
"end": 24.854876,
"confidence": 0.98828125,
"speaker": 0,
"speaker_confidence": 0.69241047,
"punctuated_word": "added"
},
{
"word": "two",
"start": 24.854876,
"end": 25.014875,
"confidence": 0.41625977,
"speaker": 0,
"speaker_confidence": 0.69241047,
"punctuated_word": "two"
},
{
"word": "to",
"start": 25.014875,
"end": 25.094875,
"confidence": 0.6845703,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "to"
},
{
"word": "your",
"start": 25.094875,
"end": 25.334875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "your"
},
Petrie Expires 8 January 2026 [Page 85]
Internet-Draft JSON vCon July 2025
{
"word": "service",
"start": 25.334875,
"end": 25.654875,
"confidence": 0.9885254,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "service."
},
{
"word": "is",
"start": 25.654875,
"end": 25.814875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "Is"
},
{
"word": "there",
"start": 25.814875,
"end": 25.974874,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "there"
},
{
"word": "anything",
"start": 25.974874,
"end": 26.294874,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "anything"
},
{
"word": "else",
"start": 26.294874,
"end": 26.534874,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "else"
},
{
"word": "i",
"start": 26.534874,
Petrie Expires 8 January 2026 [Page 86]
Internet-Draft JSON vCon July 2025
"end": 26.614876,
"confidence": 0.8144531,
"speaker": 0,
"speaker_confidence": 0.54776955,
"punctuated_word": "I"
},
{
"word": "can",
"start": 26.614876,
"end": 26.854874,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.25460207,
"punctuated_word": "can"
},
{
"word": "help",
"start": 26.854874,
"end": 27.014875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.25460207,
"punctuated_word": "help"
},
{
"word": "you",
"start": 27.014875,
"end": 27.174875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.25460207,
"punctuated_word": "you"
},
{
"word": "with",
"start": 27.174875,
"end": 27.674875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.25460207,
"punctuated_word": "with?"
},
{
"word": "no",
"start": 28.054874,
"end": 28.454874,
"confidence": 1,
"speaker": 0,
Petrie Expires 8 January 2026 [Page 87]
Internet-Draft JSON vCon July 2025
"speaker_confidence": 0.25460207,
"punctuated_word": "No."
},
{
"word": "thank",
"start": 28.454874,
"end": 28.774876,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "Thank"
},
{
"word": "you",
"start": 28.774876,
"end": 29.254875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "you."
},
{
"word": "goodbye",
"start": 29.254875,
"end": 29.754875,
"confidence": 0.9980469,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "Goodbye."
},
{
"word": "goodbye",
"start": 30.374874,
"end": 30.874874,
"confidence": 0.9995117,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "Goodbye."
},
{
"word": "have",
"start": 31.014874,
"end": 31.254875,
"confidence": 0.99902344,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "Have"
},
Petrie Expires 8 January 2026 [Page 88]
Internet-Draft JSON vCon July 2025
{
"word": "a",
"start": 31.254875,
"end": 31.334875,
"confidence": 0.99902344,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "a"
},
{
"word": "nice",
"start": 31.334875,
"end": 31.574875,
"confidence": 1,
"speaker": 0,
"speaker_confidence": 0.65151024,
"punctuated_word": "nice"
},
{
"word": "day",
"start": 31.574875,
"end": 32.074875,
"confidence": 0.9995117,
"speaker": 0,
"speaker_confidence": 0.20106936,
"punctuated_word": "day."
}
],
"paragraphs": {
"transcript": "\nSpeaker 0: Hello. This is ex
ample.com. My name is Bob. How can I help y
ou? Hi.\n\nI'd like to add Sue to my servic
e. Okay. Can you give me your name and phon
e number so I can look up your account? My
name is Alice, and my number is +1 23456789
0. Thank you.\n\nOkay. I've added two to yo
ur service. Is there anything else I can he
lp you with? No. Thank you.\n\nGoodbye. Goo
dbye. Have a nice day.",
"paragraphs": [
{
"sentences": [
{
"text": "Hello.",
"start": 1.1999999,
"end": 1.6999999
},
{
Petrie Expires 8 January 2026 [Page 89]
Internet-Draft JSON vCon July 2025
"text": "This is example.com.",
"start": 1.92,
"end": 3.28
},
{
"text": "My name is Bob.",
"start": 3.28,
"end": 4.24
},
{
"text": "How can I help you?",
"start": 4.24,
"end": 5.38
},
{
"text": "Hi.",
"start": 5.68,
"end": 6.18
}
],
"speaker": 0,
"num_words": 14,
"start": 1.1999999,
"end": 6.18
},
{
"sentences": [
{
"text": "I'd like to add Sue to my se
rvice.",
"start": 6.3199997,
"end": 8.58
},
{
"text": "Okay.",
"start": 9.2,
"end": 9.7
},
{
"text": "Can you give me your name an
d phone number so I can look up you
r account?",
"start": 10,
"end": 13.299999
},
{
"text": "My name is Alice, and my num
ber is +1 234567890.",
Petrie Expires 8 January 2026 [Page 90]
Internet-Draft JSON vCon July 2025
"start": 13.815,
"end": 20.474998
},
{
"text": "Thank you.",
"start": 20.775,
"end": 21.515
}
],
"speaker": 0,
"num_words": 37,
"start": 6.3199997,
"end": 21.515
},
{
"sentences": [
{
"text": "Okay.",
"start": 23.015,
"end": 23.515
},
{
"text": "I've added two to your servi
ce.",
"start": 24.214874,
"end": 25.654875
},
{
"text": "Is there anything else I can
help you with?",
"start": 25.654875,
"end": 27.674875
},
{
"text": "No.",
"start": 28.054874,
"end": 28.454874
},
{
"text": "Thank you.",
"start": 28.454874,
"end": 29.254875
}
],
"speaker": 0,
"num_words": 19,
"start": 23.015,
"end": 29.254875
Petrie Expires 8 January 2026 [Page 91]
Internet-Draft JSON vCon July 2025
},
{
"sentences": [
{
"text": "Goodbye.",
"start": 29.254875,
"end": 29.754875
},
{
"text": "Goodbye.",
"start": 30.374874,
"end": 30.874874
},
{
"text": "Have a nice day.",
"start": 31.014874,
"end": 32.074875
}
],
"speaker": 0,
"num_words": 6,
"start": 29.254875,
"end": 32.074875
}
]
}
}
]
}
]
}
},
"encoding": "json",
"vendor": "deepgram",
"schema": "deepgram_prerecorded",
"product": "transcription"
}
],
"attachments": [],
"uuid": "0195544a-b9b1-8ee4-b9a2-279e0d16bc46"
}
A.7. Signed vCon
This example vCon is the signed form of the Two Party Call vCon With
Externally Referenced Recording (Appendix A.5) example. The private
key used to sign this can be found at:
Petrie Expires 8 January 2026 [Page 92]
Internet-Draft JSON vCon July 2025
https://raw.githubusercontent.com/vcon-dev/vcon/main/certs/fake_grp.key
The certificate chain is included in the x5c parameter of the header
Object.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_ext_rec_signed.vcon
{
"payload": "eyJ2Y29uIjoiMC4wLjIiLCJwYXJ0aWVzIjpbeyJ0ZWwiOiIrMTI
zNDU2Nzg5MDEiLCJuYW1lIjoiQWxpY2UifSx7InRlbCI6IisxOTg3NjU0MzIx
MCIsIm5hbWUiOiJCb2IifV0sImRpYWxvZyI6W3sidHlwZSI6InJlY29yZGluZ
yIsInN0YXJ0IjoiMjAyMi0wNi0yMVQxNzo1MzoyNi4wMDArMDA6MDAiLCJkdX
JhdGlvbiI6MzMuMTIsInBhcnRpZXMiOlswLDFdLCJ1cmwiOiJodHRwczovL2d
pdGh1Yi5jb20vaWV0Zi13Zy12Y29uL2RyYWZ0LWlldGYtdmNvbi12Y29uLWNv
bnRhaW5lci9yYXcvcmVmcy9oZWFkcy9tYWluL2V4YW1wbGVzL2FiX2NhbGwub
XAzIiwibWVkaWF0eXBlIjoiYXVkaW8veC1tcDMiLCJmaWxlbmFtZSI6ImFiX2
NhbGwubXAzIiwiY29udGVudF9oYXNoIjoic2hhNTEyLUdMeTZJUGFJVU0xR3F
6WnFmSVBabFdqYURzTmdOdlpNMGlDT05OVGhuSDBhNzVmaFVNNmNZekxaNUd5
blNVUlJFdlp3bU9oNTQtMmxSUmlleWo4MlVRIn1dLCJhbmFseXNpcyI6W10sI
mF0dGFjaG1lbnRzIjpbXSwidXVpZCI6IjAxOTU1NDRhLWI5YjEtOGVlNC1iOW
EyLTI3OWUwZDE2YmM0NiJ9",
"signatures": [
{
"header": {
"x5c": [
"MIID0TCCArkCAQEwDQYJKoZIhvcNAQELBQAwgasxCzAJBgNVBAYTAl
VTMQswCQYDVQQIDAJNQTERMA8GA1UEBwwIRmFrZXRvd24xETAPBgN
VBAoMCEZha2VWY29uMREwDwYDVQQLDAhEaXZpc2lvbjEYMBYGA1UE
AwwPZGl2LmZha2V2Y29uLmlvMSEwHwYJKoZIhvcNAQkBFhJhZG1pb
kBmYWtldmNvbi5vcmcxGTAXBgNVHREMEGRpdi5mYWtldmNvbi5vcm
cwHhcNMjIwNjA0MDE0MzI1WhcNMzIwNjAxMDE0MzI1WjCBsDELMAk
GA1UEBhMCVVMxCzAJBgNVBAgMAk1BMREwDwYDVQQHDAhGYWtldG93
bjERMA8GA1UECgwIRmFrZVZjb24xDjAMBgNVBAsMBUdyb3VwMRwwG
gYDVQQDDBNncnAuZGl2LmZha2V2Y29uLmlvMSEwHwYJKoZIhvcNAQ
kBFhJhZG1pbkBmYWtldmNvbi5vcmcxHTAbBgNVHREMFGdycC5kaXY
uZmFrZXZjb24ub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAtMtTCxeIROb1FmWIexe7Op95qYIVNEqn+fDghxWqoYm6T
75BGsl4rB9txFQeef3Q5SJIzeqffJDssXDsyREuwQ2iTcOrZaZxs8
h1NX9NjVD6MMAwx7tw0Cgmu8rj6+/Kjs0KI8OzCuDXZGTGf/bH6EQ
W85qYh9IF0Pvijf3uq+HCke6WApusx76LpUp36IzvYEuTbWBFeoLo
+dyUdWmXpj0ghHiWZtT5zxJn9VrUhJX5KlaI0palWd0fOnr7mkdq7
9sFsKjEOcr1lanceAicCpD3/zRW+7AS8atGKAMfe2CcXEABucI7Dt
tLMXcDIJM6EOkyW7n4due1RXGuNgnjeQIDAQABMA0GCSqGSIb3DQE
BCwUAA4IBAQAQLjhKomSx1OqThhcO+aK0rzX6RjKh0eM0X7O7pPC8
1HxZKCDLhDvnUO9++17U6ba0bTnznKYKKG7HnDcB4dKBbH8XP2u3E
nDskyoMrKpYRsRKwwJa8+RwOS7JEg+OtXYCRbWZvPjAC/z6o6OZK+
Petrie Expires 8 January 2026 [Page 93]
Internet-Draft JSON vCon July 2025
QPTyK5Grw2Px2mTr6BAdBQv7XsYWBRwOZyvSGnKyK60jcPlYUnu6Q
t0fYXiYp6qF5l956fuT0d2UyDkM7S/Z7K+OC9+aIBNKH32B3nfXqZ
PuP8WuiTOxcMwnefPwjxaqndFUkyk2Y+i6nXU8oN/DGUOTfY4xbm3
s3q7Dq5QPtq5kljB9yYkvcOULCSAmWBZl+G",
"MIIEyTCCArECAQEwDQYJKoZIhvcNAQELBQAwgagxCzAJBgNVBAYTAl
VTMQswCQYDVQQIDAJNQTERMA8GA1UEBwwIRmFrZXRvd24xFTATBgN
VBAoMDEZha2VWY29uIEluYzESMBAGA1UECwwJQ29ycG9yYXRlMRQw
EgYDVQQDDAtmYWtldmNvbi5pbzEhMB8GCSqGSIb3DQEJARYSYWRta
W5AZmFrZXZjb24ub3JnMRUwEwYDVR0RDAxmYWtldmNvbi5vcmcwHh
cNMjIwNTI5MjEzOTMxWhcNMzIwNTI2MjEzOTMxWjCBqzELMAkGA1U
EBhMCVVMxCzAJBgNVBAgMAk1BMREwDwYDVQQHDAhGYWtldG93bjER
MA8GA1UECgwIRmFrZVZjb24xETAPBgNVBAsMCERpdmlzaW9uMRgwF
gYDVQQDDA9kaXYuZmFrZXZjb24uaW8xITAfBgkqhkiG9w0BCQEWEm
FkbWluQGZha2V2Y29uLm9yZzEZMBcGA1UdEQwQZGl2LmZha2V2Y29
uLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM81
SKie1S78VAOBDc3LflYNSL9phecmjQs/9P+iqDXSVm3xpoqszGoLn
7w21aUAxl++F9Z80Tc70URn2qqUcVTYcx3SmgHuYgspEmJsMRor/m
n3HpHr2ajh+26RKgDGPBrtebeH1si8mX15a/ICzHxrUaE2Y/6DZ/2
wGTXrAE4bYAOUaYft5GGSZl6yP6dXg3EJy2bK2cUTdMIZG/Y7Ny1D
3N4V7MBirDd5FU7k6pMbyr3d/xoi8VL8F1mRCf6zxfFOjaMFT0atE
iTp3M0rw6iS08hy0cDFsPJzIcPgXEitUgGPo/NLgeb8ZmL1kg9B2v
MgaanbuZB6il79A4GgDIUCAwEAATANBgkqhkiG9w0BAQsFAAOCAgE
AWOJJlvSQDsDROQZNdX3kMkAH3HYyAlE7LHNtIYHVhyt7I7WuqS6Z
GvSoxSfkT0GdAN7cV+jchdZpAnpCXGX+yHuSvrw4oSqigdSLeSUMx
2zaSv4wLAvydC/zDkHIRObyuDEKyy/pa4Na0aunPU3E1Bg0V+JqQ3
RUJIy1v6AGLrliwaEIgP3Clzi/u640dWBHabOEjxFj9bX73+FRWhi
t4EzOJYKvti1EXlmRjMbj3SmsrcbGMrpu4WipEG5S05VlMhXXSyQq
9IScFho5CFtamDgI3jL49lyrx0+CcjDkw0nW9fXdAtB3BhSYEXdLu
JAvLRQixUQFwH23doumPi1uW8euEhHTRo1pEFWQ5U59NOTUA5Ghuu
po0aM2CnDD5Re8uO3ChilCUb0FlwgMD/7ABSd1LChU8iluhKy9CEB
R2zc8uTqW43Gcv/psBaejgOKJlxZuusGVvuV1nTHRa4hmFYxxPel7
ogeZzGQqFjBlb35CE+BcGYY0ViaHefy+fmi/fN6NrrN6pBOPjVZbp
CFn+wFTUyrMU5Vq/FaPe0us7i3paQcwIz9wyide5OztpxebY8UnXm
y22X+6PkHB0jnL35Qe8xl7Z0nMZNdy4xkzGgaa6talRDPhKkY1lId
w+KdCXJuUc7rkLKa5po9SPdvVLhEPu26SHkI0I+d5hz+gMp8=",
"MIIGMzCCBBugAwIBAgIUHk/6QbzjDZ9AONAFvwYJqB/jbvowDQYJKo
ZIhvcNAQELBQAwgagxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNQTE
RMA8GA1UEBwwIRmFrZXRvd24xFTATBgNVBAoMDEZha2VWY29uIElu
YzESMBAGA1UECwwJQ29ycG9yYXRlMRQwEgYDVQQDDAtmYWtldmNvb
i5pbzEhMB8GCSqGSIb3DQEJARYSYWRtaW5AZmFrZXZjb24ub3JnMR
UwEwYDVR0RDAxmYWtldmNvbi5vcmcwHhcNMjIwNTI5MjEzOTMxWhc
NMzIwNTI2MjEzOTMxWjCBqDELMAkGA1UEBhMCVVMxCzAJBgNVBAgM
Ak1BMREwDwYDVQQHDAhGYWtldG93bjEVMBMGA1UECgwMRmFrZVZjb
24gSW5jMRIwEAYDVQQLDAlDb3Jwb3JhdGUxFDASBgNVBAMMC2Zha2
V2Y29uLmlvMSEwHwYJKoZIhvcNAQkBFhJhZG1pbkBmYWtldmNvbi5
vcmcxFTATBgNVHREMDGZha2V2Y29uLm9yZzCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBAMIeaqkm8pn6mwUzWBgnQiY9Jr3Vy
VamxBc9/duT8eCN9mmANGzX5zGj86KtGjlDcoAzANrtsr2Dpz4zra
Petrie Expires 8 January 2026 [Page 94]
Internet-Draft JSON vCon July 2025
29HWbwbOa1ZTOOaR93QgifkS802zp+zHGGRaKlq3euDqDVzyXinhs
vXOVlEwkOrAvV6kUcTIzcxVibrFfHttzv/hXUNxjCouAE7MIG6wO8
y+E2bBkg7R5ydfeU4Q9npBefwtiQ8oWf0C46mDYFQ8l31goae17Vp
iyS3t4h5HL+1yqdYJSWms5Qh0vp9req5AjwuHIDBxNLpO2gY1SQmS
dO03oLcZwBglGKlpQSwYgr9J5uo2B+NV9aYKEO51bySinSF8T4D/o
4cq6oyJLXBwmSsLbjjVIQBoSdRBmWh8zE2ZzFNaaBlYO9ikIaWXwb
tkbsE+4QpOaOj/kUIHLFI9iOhOidsInaOfgYzw12FtGE1Wq5x5Xsz
wWpPWU8NQw8gzTzFzVObxrfcsXrs0s6feuTCDMt5Zht2HCWFr9TmY
DFAfOB05kFWTi5sE5KYaP54iJvjAFmuTDjlif7Z8ZWVal9XB+g3sM
yQ8DVEj/0dXS+nRVuJQlUH4ql9SUIwK63RKdedALYC6X1j2lgK9aT
uL+cyNJ5SbuNA95CxNgvWtBrcO6HxlbmIDxKrAAo5aj4hnlQcY4RR
bNwppCAjK+zcASlpyvRAgMBAAGjUzBRMB0GA1UdDgQWBBSSDtfqU6
+DEyYPCar08yVnnZSFzTAfBgNVHSMEGDAWgBSSDtfqU6+DEyYPCar
08yVnnZSFzTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4ICAQC8JDxTdmc86YFdKElWQnWxoPMsPeRyDYQoVTC2wydZsdJ5d
GbkAhYlPPxK+zypP18fGry5PHAHl9mZYz+FdGjNTwllcfN9/G0Sdo
y4kU9eN9KfC9OUIkBIq8D0r7ANT3l3XmGbnIxWJEtb0SyTcqk3dwW
cNTqGguhQ03jUKW5yUpVoQjN4TtmHyweoYTNi+HKsCUvEXGdA9wdh
4jVOqYeepmsax5eTUJsKuCKqQ3+xB7JONw85imfVotySCXsoMe7lu
SRYuldn8SBIpKYUGJlpWIi6Gr0mLwHarrYoi9bwtcKAxRNXZiGQgh
iUw2Zsw+jmgBrEtI4Iarg8wWqJ5Mov7MsTVpnoZ5Xywr0GznDlgcN
tyqMibOULeM8yLPQrHn/tQjSiP3eUPz6+Zb9FqzQJCCi2UiauD4mO
gzBSCCbew9PDYb2QeMZqNZmN3eVNMV4hh7t9jTc0zqPF5jluddVmp
dHxLx/T9XZuSV21p8clNprJNQxprtHpxDxjhNMIrcV39rzi9tNikw
mzRMf0r40f/JWnaV668sekDXtvIj8pZwyE4FNuaiJwojkQxDfjqk6
7Qs5NUQsFcaIwMes8It74ASHm8DUKEhDT2ASgMtUDwKWrOBefrSPq
jY7+EMh2yVZnQhMwpx4s7CH0za32Yq+KC8GotHdI6jisDEom7aHgl
g=="
],
"alg": "RS256",
"uuid": "0195544a-b9b1-8ee4-b9a2-279e0d16bc46"
},
"signature": "K4FPWnAsriqGjrvDyIGqHd_L4SjdjjF1YUFQJcFU79tdK
Ay9fVQ6cHRA_EgkJkGnymKYtLgn6Gu6vYMPkfOedQuZOWkNyA4R5Nl5V-
8GRLxZconPJYGpXzEWVl-y_pjBKVGa7VieyLhQlWM2EbqrHLsow6D9mDA
HCUsCGTcXN-oCV8DISQNNNiF9biPE5C7hhA3ZQt0g8NasZb5kWPnWTXZ7
zg91cno-dUq8lokyjrmDmKODtFsQKwwI_IksG4Aeco0YAfI4RcZqHMbid
AaFMirA0z_30yVFYVLP6RZIv8fIcCadTmuRjgrDIPjzq_pESKdYEZdgNo
p3Ox6Jvzn4tw",
"protected": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIng1YyI6W
yJNSUlEMFRDQ0Fya0NBUUV3RFFZSktvWklodmNOQVFFTEJRQXdnYXN4Q3
pBSkJnTlZCQVlUQWxWVE1Rc3dDUVlEVlFRSURBSk5RVEVSTUE4R0ExVUV
Cd3dJUm1GclpYUnZkMjR4RVRBUEJnTlZCQW9NQ0VaaGEyVldZMjl1TVJF
d0R3WURWUVFMREFoRWFYWnBjMmx2YmpFWU1CWUdBMVVFQXd3UFpHbDJMb
VpoYTJWMlkyOXVMbWx2TVNFd0h3WUpLb1pJaHZjTkFRa0JGaEpoWkcxcG
JrQm1ZV3RsZG1OdmJpNXZjbWN4R1RBWEJnTlZIUkVNRUdScGRpNW1ZV3R
sZG1OdmJpNXZjbWN3SGhjTk1qSXdOakEwTURFME16STFXaGNOTXpJd05q
QXhNREUwTXpJMVdqQ0JzREVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQ
Petrie Expires 8 January 2026 [Page 95]
Internet-Draft JSON vCon July 2025
kFnTUFrMUJNUkV3RHdZRFZRUUhEQWhHWVd0bGRHOTNiakVSTUE4R0ExVU
VDZ3dJUm1GclpWWmpiMjR4RGpBTUJnTlZCQXNNQlVkeWIzVndNUnd3R2d
ZRFZRUUREQk5uY25BdVpHbDJMbVpoYTJWMlkyOXVMbWx2TVNFd0h3WUpL
b1pJaHZjTkFRa0JGaEpoWkcxcGJrQm1ZV3RsZG1OdmJpNXZjbWN4SFRBY
kJnTlZIUkVNRkdkeWNDNWthWFl1Wm1GclpYWmpiMjR1YjNKbk1JSUJJak
FOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdE10VEN
4ZUlST2IxRm1XSWV4ZTdPcDk1cVlJVk5FcW4rZkRnaHhXcW9ZbTZUNzVC
R3NsNHJCOXR4RlFlZWYzUTVTSkl6ZXFmZkpEc3NYRHN5UkV1d1EyaVRjT
3JaYVp4czhoMU5YOU5qVkQ2TU1Bd3g3dHcwQ2dtdThyajYrL0tqczBLST
hPekN1RFhaR1RHZi9iSDZFUVc4NXFZaDlJRjBQdmlqZjN1cStIQ2tlNld
BcHVzeDc2THBVcDM2SXp2WUV1VGJXQkZlb0xvK2R5VWRXbVhwajBnaEhp
V1p0VDV6eEpuOVZyVWhKWDVLbGFJMHBhbFdkMGZPbnI3bWtkcTc5c0ZzS
2pFT2NyMWxhbmNlQWljQ3BEMy96UlcrN0FTOGF0R0tBTWZlMkNjWEVBQn
VjSTdEdHRMTVhjRElKTTZFT2t5VzduNGR1ZTFSWEd1TmduamVRSURBUUF
CTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFBUUxqaEtvbVN4MU9xVGho
Y08rYUswcnpYNlJqS2gwZU0wWDdPN3BQQzgxSHhaS0NETGhEdm5VTzkrK
zE3VTZiYTBiVG56bktZS0tHN0huRGNCNGRLQmJIOFhQMnUzRW5Ec2t5b0
1yS3BZUnNSS3d3SmE4K1J3T1M3SkVnK090WFlDUmJXWnZQakFDL3o2bzZ
PWksrUVBUeUs1R3J3MlB4Mm1UcjZCQWRCUXY3WHNZV0JSd09aeXZTR25L
eUs2MGpjUGxZVW51NlF0MGZZWGlZcDZxRjVsOTU2ZnVUMGQyVXlEa003U
y9aN0srT0M5K2FJQk5LSDMyQjNuZlhxWlB1UDhXdWlUT3hjTXduZWZQd2
p4YXFuZEZVa3lrMlkraTZuWFU4b04vREdVT1RmWTR4Ym0zczNxN0RxNVF
QdHE1a2xqQjl5WWt2Y09VTENTQW1XQlpsK0ciLCJNSUlFeVRDQ0FyRUNB
UUV3RFFZSktvWklodmNOQVFFTEJRQXdnYWd4Q3pBSkJnTlZCQVlUQWxWV
E1Rc3dDUVlEVlFRSURBSk5RVEVSTUE4R0ExVUVCd3dJUm1GclpYUnZkMj
R4RlRBVEJnTlZCQW9NREVaaGEyVldZMjl1SUVsdVl6RVNNQkFHQTFVRUN
3d0pRMjl5Y0c5eVlYUmxNUlF3RWdZRFZRUUREQXRtWVd0bGRtTnZiaTVw
YnpFaE1COEdDU3FHU0liM0RRRUpBUllTWVdSdGFXNUFabUZyWlhaamIyN
HViM0puTVJVd0V3WURWUjBSREF4bVlXdGxkbU52Ymk1dmNtY3dIaGNOTW
pJd05USTVNakV6T1RNeFdoY05Nekl3TlRJMk1qRXpPVE14V2pDQnF6RUx
NQWtHQTFVRUJoTUNWVk14Q3pBSkJnTlZCQWdNQWsxQk1SRXdEd1lEVlFR
SERBaEdZV3RsZEc5M2JqRVJNQThHQTFVRUNnd0lSbUZyWlZaamIyNHhFV
EFQQmdOVkJBc01DRVJwZG1semFXOXVNUmd3RmdZRFZRUUREQTlrYVhZdV
ptRnJaWFpqYjI0dWFXOHhJVEFmQmdrcWhraUc5dzBCQ1FFV0VtRmtiV2x
1UUdaaGEyVjJZMjl1TG05eVp6RVpNQmNHQTFVZEVRd1FaR2wyTG1aaGEy
VjJZMjl1TG05eVp6Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQ
URDQ0FRb0NnZ0VCQU04MVNLaWUxUzc4VkFPQkRjM0xmbFlOU0w5cGhlY2
1qUXMvOVAraXFEWFNWbTN4cG9xc3pHb0xuN3cyMWFVQXhsKytGOVo4MFR
jNzBVUm4ycXFVY1ZUWWN4M1NtZ0h1WWdzcEVtSnNNUm9yL21uM0hwSHIy
YWpoKzI2UktnREdQQnJ0ZWJlSDFzaThtWDE1YS9JQ3pIeHJVYUUyWS82R
FovMndHVFhyQUU0YllBT1VhWWZ0NUdHU1psNnlQNmRYZzNFSnkyYksyY1
VUZE1JWkcvWTdOeTFEM040VjdNQmlyRGQ1RlU3azZwTWJ5cjNkL3hvaTh
WTDhGMW1SQ2Y2enhmRk9qYU1GVDBhdEVpVHAzTTBydzZpUzA4aHkwY0RG
c1BKekljUGdYRWl0VWdHUG8vTkxnZWI4Wm1MMWtnOUIydk1nYWFuYnVaQ
jZpbDc5QTRHZ0RJVUNBd0VBQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQW
dFQVdPSkpsdlNRRHNEUk9RWk5kWDNrTWtBSDNIWXlBbEU3TEhOdElZSFZ
oeXQ3STdXdXFTNlpHdlNveFNma1QwR2RBTjdjVitqY2hkWnBBbnBDWEdY
K3lIdVN2cnc0b1NxaWdkU0xlU1VNeDJ6YVN2NHdMQXZ5ZEMvekRrSElST
Petrie Expires 8 January 2026 [Page 96]
Internet-Draft JSON vCon July 2025
2J5dURFS3l5L3BhNE5hMGF1blBVM0UxQmcwVitKcVEzUlVKSXkxdjZBR0
xybGl3YUVJZ1AzQ2x6aS91NjQwZFdCSGFiT0VqeEZqOWJYNzMrRlJXaGl
0NEV6T0pZS3Z0aTFFWGxtUmpNYmozU21zcmNiR01ycHU0V2lwRUc1UzA1
VmxNaFhYU3lRcTlJU2NGaG81Q0Z0YW1EZ0kzakw0OWx5cngwK0NjakRrd
zBuVzlmWGRBdEIzQmhTWUVYZEx1SkF2TFJRaXhVUUZ3SDIzZG91bVBpMX
VXOGV1RWhIVFJvMXBFRldRNVU1OU5PVFVBNUdodXVwbzBhTTJDbkRENVJ
lOHVPM0NoaWxDVWIwRmx3Z01ELzdBQlNkMUxDaFU4aWx1aEt5OUNFQlIy
emM4dVRxVzQzR2N2L3BzQmFlamdPS0pseFp1dXNHVnZ1VjFuVEhSYTRob
UZZeHhQZWw3b2dlWnpHUXFGakJsYjM1Q0UrQmNHWVkwVmlhSGVmeStmbW
kvZk42TnJyTjZwQk9QalZaYnBDRm4rd0ZUVXlyTVU1VnEvRmFQZTB1czd
pM3BhUWN3SXo5d3lpZGU1T3p0cHhlYlk4VW5YbXkyMlgrNlBrSEIwam5M
MzVRZTh4bDdaMG5NWk5keTR4a3pHZ2FhNnRhbFJEUGhLa1kxbElkdytLZ
ENYSnVVYzdya0xLYTVwbzlTUGR2VkxoRVB1MjZTSGtJMEkrZDVoeitnTX
A4PSIsIk1JSUdNekNDQkJ1Z0F3SUJBZ0lVSGsvNlFiempEWjlBT05BRnZ
3WUpxQi9qYnZvd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z2FneEN6QUpCZ05W
QkFZVEFsVlRNUXN3Q1FZRFZRUUlEQUpOUVRFUk1BOEdBMVVFQnd3SVJtR
nJaWFJ2ZDI0eEZUQVRCZ05WQkFvTURFWmhhMlZXWTI5dUlFbHVZekVTTU
JBR0ExVUVDd3dKUTI5eWNHOXlZWFJsTVJRd0VnWURWUVFEREF0bVlXdGx
kbU52Ymk1cGJ6RWhNQjhHQ1NxR1NJYjNEUUVKQVJZU1lXUnRhVzVBWm1G
clpYWmpiMjR1YjNKbk1SVXdFd1lEVlIwUkRBeG1ZV3RsZG1OdmJpNXZjb
WN3SGhjTk1qSXdOVEk1TWpFek9UTXhXaGNOTXpJd05USTJNakV6T1RNeF
dqQ0JxREVMTUFrR0ExVUVCaE1DVlZNeEN6QUpCZ05WQkFnTUFrMUJNUkV
3RHdZRFZRUUhEQWhHWVd0bGRHOTNiakVWTUJNR0ExVUVDZ3dNUm1GclpW
WmpiMjRnU1c1ak1SSXdFQVlEVlFRTERBbERiM0p3YjNKaGRHVXhGREFTQ
mdOVkJBTU1DMlpoYTJWMlkyOXVMbWx2TVNFd0h3WUpLb1pJaHZjTkFRa0
JGaEpoWkcxcGJrQm1ZV3RsZG1OdmJpNXZjbWN4RlRBVEJnTlZIUkVNREd
aaGEyVjJZMjl1TG05eVp6Q0NBaUl3RFFZSktvWklodmNOQVFFQkJRQURn
Z0lQQURDQ0Fnb0NnZ0lCQU1JZWFxa204cG42bXdVeldCZ25RaVk5SnIzV
nlWYW14QmM5L2R1VDhlQ045bW1BTkd6WDV6R2o4Nkt0R2psRGNvQXpBTn
J0c3IyRHB6NHpyYTI5SFdid2JPYTFaVE9PYVI5M1FnaWZrUzgwMnpwK3p
IR0dSYUtscTNldURxRFZ6eVhpbmhzdlhPVmxFd2tPckF2VjZrVWNUSXpj
eFZpYnJGZkh0dHp2L2hYVU54akNvdUFFN01JRzZ3Tzh5K0UyYkJrZzdSN
XlkZmVVNFE5bnBCZWZ3dGlROG9XZjBDNDZtRFlGUThsMzFnb2FlMTdWcG
l5UzN0NGg1SEwrMXlxZFlKU1dtczVRaDB2cDlyZXE1QWp3dUhJREJ4Tkx
wTzJnWTFTUW1TZE8wM29MY1p3QmdsR0tscFFTd1lncjlKNXVvMkIrTlY5
YVlLRU81MWJ5U2luU0Y4VDREL280Y3E2b3lKTFhCd21Tc0xiampWSVFCb
1NkUkJtV2g4ekUyWnpGTmFhQmxZTzlpa0lhV1h3YnRrYnNFKzRRcE9hT2
ova1VJSExGSTlpT2hPaWRzSW5hT2ZnWXp3MTJGdEdFMVdxNXg1WHN6d1d
wUFdVOE5RdzhnelR6RnpWT2J4cmZjc1hyczBzNmZldVRDRE10NVpodDJI
Q1dGcjlUbVlERkFmT0IwNWtGV1RpNXNFNUtZYVA1NGlKdmpBRm11VERqb
GlmN1o4WldWYWw5WEIrZzNzTXlROERWRWovMGRYUytuUlZ1SlFsVUg0cW
w5U1VJd0s2M1JLZGVkQUxZQzZYMWoybGdLOWFUdUwrY3lOSjVTYnVOQTk
1Q3hOZ3ZXdEJyY082SHhsYm1JRHhLckFBbzVhajRobmxRY1k0UlJiTndw
cENBaksremNBU2xweXZSQWdNQkFBR2pVekJSTUIwR0ExVWREZ1FXQkJTU
0R0ZnFVNitERXlZUENhcjA4eVZublpTRnpUQWZCZ05WSFNNRUdEQVdnQl
NTRHRmcVU2K0RFeVlQQ2FyMDh5Vm5uWlNGelRBUEJnTlZIUk1CQWY4RUJ
UQURBUUgvTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElDQVFDOEpEeFRkbWM4
NllGZEtFbFdRbld4b1BNc1BlUnlEWVFvVlRDMnd5ZFpzZEo1ZEdia0FoW
Petrie Expires 8 January 2026 [Page 97]
Internet-Draft JSON vCon July 2025
WxQUHhLK3p5cFAxOGZHcnk1UEhBSGw5bVpZeitGZEdqTlR3bGxjZk45L0
cwU2RveTRrVTllTjlLZkM5T1VJa0JJcThEMHI3QU5UM2wzWG1HYm5JeFd
KRXRiMFN5VGNxazNkd1djTlRxR2d1aFEwM2pVS1c1eVVwVm9Rak40VHRt
SHl3ZW9ZVE5pK0hLc0NVdkVYR2RBOXdkaDRqVk9xWWVlcG1zYXg1ZVRVS
nNLdUNLcVEzK3hCN0pPTnc4NWltZlZvdHlTQ1hzb01lN2x1U1JZdWxkbj
hTQklwS1lVR0pscFdJaTZHcjBtTHdIYXJyWW9pOWJ3dGNLQXhSTlhaaUd
RZ2hpVXcyWnN3K2ptZ0JyRXRJNElhcmc4d1dxSjVNb3Y3TXNUVnBub1o1
WHl3cjBHem5EbGdjTnR5cU1pYk9VTGVNOHlMUFFySG4vdFFqU2lQM2VVU
Ho2K1piOUZxelFKQ0NpMlVpYXVENG1PZ3pCU0NDYmV3OVBEWWIyUWVNWn
FOWm1OM2VWTk1WNGhoN3Q5alRjMHpxUEY1amx1ZGRWbXBkSHhMeC9UOVh
adVNWMjFwOGNsTnBySk5ReHBydEhweER4amhOTUlyY1YzOXJ6aTl0Tmlr
d216Uk1mMHI0MGYvSlduYVY2NjhzZWtEWHR2SWo4cFp3eUU0Rk51YWlKd
29qa1F4RGZqcWs2N1FzNU5VUXNGY2FJd01lczhJdDc0QVNIbThEVUtFaE
RUMkFTZ010VUR3S1dyT0JlZnJTUHFqWTcrRU1oMnlWWm5RaE13cHg0czd
DSDB6YTMyWXErS0M4R290SGRJNmppc0RFb203YUhnbGc9PSJdfQ"
}
]
}
A.8. Encrypted vCon
This example vCon is the encrypted form of the Signed vCon
(Appendix A.7) example. The private key to decrypt it can be found
at:
https://raw.githubusercontent.com/vcon-dev/vcon/main/certs/fake_grp.key
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_ext_rec_encrypted.vcon
{
"protected": "eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZDQkMtSFM1M
TIifQ",
"iv": "_0zAYOxo66NUDUsER-5jBA",
"ciphertext": "jTPmEFYMr8W_Saab3mZAF6QOiqlijll5Y5Yqob0lnINq2OcD
xddWx-_v_mqPv92-Z8ZGJDgxNZfV9HAT54wbmjfj5SgOrJS6nMFBruFBQU4ew
EvvTqiG6wGIbnZG5I-KJsN2xVGhBpUkh-eWhrkNxdugy8ekg9ZpggIofIn2AD
Fjdx9x46wS_YShj5l7EOIv130F-lM3yx9NpICwKW563161TRKKoKfDLZRrDCM
Wpc860sDUHafPutHXasW5iwjRxq7UFrvc-_BYUoTXrrKz3wMAxwJUKFWdIv3J
_mUQJMO1U-qq-8cgJWv-1aQWcl1p2OKQRaWy0CVn6IC_u0GQYp3sRHCYaO0hu
zUIxnL0SPJziCLWPVMUsWIEezshwfPa_MH5lJgFjkcIYaq2vkHt4r0oiop52R
0LnV49njC2KaN_8Q-XB-If-m9tEDBLzkdnEV35HGstgXv-I_UN2FXMRL4KgHH
-8_hmwH-jVbmFXZBqSddTYu1izjQu22bHSzVFc0IV1jMllxFd9y3Td00vIw-c
eVWgd1hEhtjV9TmvRZR7dJk7kDlBbtMiLgdSLhYC5kM5aQPHxuk1mfCDuimF1
HmsdXx30zTXoOLQ79POtDf_7TSsR8OkVq9_NenupmpJ4DxnGcx56zPN5OrHVJ
KsjoP19UPrO__jGvpDpo1x_PabwUG7TGNUwlR5eQlTXMzwjpB9AubSnrZkXz9
1m2O8O7cmIsf6T5KijI3rpGFRgFNdxbihrhaynRirw6H5rmLqYYVY97Lblqt-
Petrie Expires 8 January 2026 [Page 98]
Internet-Draft JSON vCon July 2025
97LxSotK7orTrRWOKeWYO1dxiM2PgCh3mFPKuAqEV4CkvXfOljHflNe5S78DH
KZUmNTczfNCEs6dCo1MnmPSgwh2jdy4zP-9hvheDDWoHu6zEdjiP4XYGI-UFj
zR1eNzZejCIFgjOiNH7nG6iVKp-zdkgQnE5N6U4Jj0mMwyD-gVVbotd-h2wWZ
XpjhPeB5yuaSDIizeSs9Ndqq5Ev8XpJgu2ndDaxGAEujNcgFRhvvgZ2rDoHbj
bjGeiaxC5fCvczH_zuTXMHiNwQxc4AVV5y_9BjXfBcr-_16JUotSvNjPMvmOP
_vbYAm9Rnec4_x76DbPh3X98FQMkzAFZOKhBwQJ1wyAcDCh7p9Ee2gwV-LgOm
OBD22kuoKnf8AqLsEjLWnNdUDcKtr6EKrC7Z1OU2vIFoN85jEs2m-fxLsagwt
ntrEpoELl19ekSd5J1dU85MQfuuIwHit12O-YbBAikfD9TDjFJ3YhuIG5Coai
CHwYGwEB6rOeL0MzEpcnQATK_HySImse5Z62rd7UL1hZQ7psg1IdtMIblmcsZ
mXc3xqfQer3dorNU3-pQUWi68Ggf0BPGNe4mDtJeNH9f-Un_nhsT835THa1rI
0pknzTrKoU3ep7gIFdvun1evf4Po664sqVB_obt7BFmqMfaX3FfoAZpbA5CHT
JVdKEmAwBm_pxxJRfEQCzzOLLx-ti5-QRCehxLX98Q7sJtIXvN2wf-WKjsycb
_UkXDm_iRBuaub3lfsj_VS9ur2oLIh0wqYGfTTEqcGCmz2bHf6yu7o2dK7Y8d
w4Rc0ViwCU0--C1XI-XMGEPFC-CYdkQMakTpvgeZy8JDbyAZMdeX-e4zleuBQ
7dr36zFlFA-hqptPv51qswcKZU-7iQd02a9ANKeYVKuXqcB5Iw8x2JlWQf9cA
4qIBj33YUXfEgo_DSQLRqPz4-vP97cuOJahoEQDI2rSJghCwiO585Gu7QePSL
EFRhGQubQIf5iWEa1WZS88yCCcR20OkOTQVc_NNZzVWZzorhkIsjPG-Jzjybp
bzkbv3AYHrKmBVD5Lrnsm7FuHE8Hp8kwa7XcusPjKdMjqp1f2K60udw7iQf5v
9_CJ_vjOTbgdLGxOiwk86LUAmM9XLxSvv9CfhDT3WSrCBrSqrEeDTiRqQ3sHI
cOlTnadub5gKWgXl0VOkhpF_WdoH_Uv8FWzS5Q-2YPEFL8LfQ2EqAxk8fwVcm
8dCCFAVt3-H8uQopqinum3X2zMLco8YRO4RMA34s5uHSG6QuPu-6pS0oWBnk6
59XWkP0-oyC6_enE-yUCjE3CbnAw-X7MjmTImWFfmeTih0X2G1M9V8c-Y6OFR
8QbHZjP6K9D_5Xsz8wBmhSvErrHFbH3EPg-0Jssrb2mr_CvXo6Cw1jIU74y_G
d8xNrvwQWu1Xw1E2fVyhv4dPI2w9U2y_bdL_LLwa2TvfM9myGr61pZABMpl5G
jO4H81HMUW46bAeREO8v8E7Y2OpmGKuvQJ9sBXMfjHfAiSyEI2M5gbp5qha_p
RF6BUmKo0eAhklxaxjul3GcgzNQzWIEJ9WWrJ4pC-Tk_9egj1xRrsy9ZjKY5E
T_wuy0haXOZ0MNKmG99VOreLXW02OtihkNV7u6CZqAjX7nyyNyD9dqMSZX2cU
FLVoJ6GLLOz_gFv_xUYomXuViPG8feO7jg3EBYshAuQ-DO5LCpiymtPDIe5Uf
AYtvH9Ytcz_sdTrZJKAUiVILeS2-JKq2J49JpST6Iv6Zyyb6K_bxnegNy5QwB
MRYsXiYAWm2UdOZfaKilkZNrX_egOyU4QwtK8DUgvC2obMD5hD35wPC0DNFKa
SRJkdG1GHDTeiYCy6IswRjKY4jkAY3jVFmaEsA1BPFt_jwTcvUElZ2QVF-czq
CfGZM4JvMek_hP7bcbgOniNdYrxmnLUZQBgfWbjBQG4qcR-eDsx23cdulWhSV
e39iYoRF3UKfXevQxJraY7Ifwo997ZAD6yWzrKvFqqYAMZaGoIwEvN62CdCL8
u5mcyGIJ8YiuZT8tdKMVlUK1BEs8bXy1CSDF_vJdbgjPk22f2-a2fmmkzBPjL
yqhYuSenPhqaTeBbgdyBCr9ITNhQabmX8O1KcLfRX_tAjJTZJ-HG2gYHjGLd1
LhNobbbUFE2Y4167oOK-d9NX5nOVfwLZa0Oyp7mn5537vKOdmkXj_YjxRG_db
oNpH_xCnXoWKGth3MZsx9yvKaHIBjnq6z7TC3UxaKIQLKrX4Wieut0aGq3oJa
dVIgIt5y19rT8Z4gyDEvAe3dcfVn-GNC_ORLh8Vy56mZ6T7PDHFqz74JX79f8
DVdyCEdJFUiPaOoaBcaVcy8AW5aBdVH7ZyyCgfEGpynWgYMFZUUIAG2IThrAy
kOn9_dM3BkX9GiyB1MsgWrv-y2VZKtiMIO-V6chQP1HFRXF-_ZmRZqz7qHtBF
JQpZPHMOTE_jBk1njvZc90IZhkM0A2ZxQKAK-TXXUUdj_e00tyH7berjdJwuQ
n87_j8l3O1q3Ph9hFEr7_bwxclFCgzgiYEdd0We_twN2mmG32bGoThpgAdnY3
p6KYgWTmeTo92PXC23A2htjUKTqpbji5d1QhOip6mHUHYCnAaSZugWv6zTqlt
nOIilt2SGyvBP_Hnh5ilTh2fzPVqiEOfPQehuESBb71eOWqpxgjkRay_tP7K2
LKMAo3YTh7vj5GcFldro4hs4PV4x7AL3mrZFUoj7pFnVRrhohilae1sL2YuJA
wv7s-0NiMlegRrDQUL4AL9k3m75Pcxatzl1OZvN--d6P7An2CMmvUFpQEfWcQ
5FehmOV8cpsitIujLP8CWHa7PtWB_qSJLjfuU6RzY0Ke2rksW_4aaZDgqsTyu
r9CXBjhpZmo1s_0gaia-JhuZHsmiCHvEmdmaT60PeZhKq7LyeNZ9Az32vrdKq
Petrie Expires 8 January 2026 [Page 99]
Internet-Draft JSON vCon July 2025
QrtM2R_onDrOCwtMAmbxLTmrdzdnUO-H-pdiGQwgFdDmQwO7Si4UHX_i6ASXZ
agk3YodlxuXJev1INnCSENSgLabVkOTt1_RTSAaesOrHPOZQ-t0ikwv41EFVv
9vkhMBabg6VC7eBepRxLeZ7I-dBXUtGgK-quXYFgKxqt9usErcOK6euN1TyCv
EHFYWxjhK2IWFbixO7SRsNC2wu_oOTYpbxKkJy9GpCt8Gjc2erpRYHd1wyu8O
0h8YwWbfbJqhDNGorUU6O7seTfhZYFdn7fs-7QpCXv_iMWH96f6ft7Yq38UqU
Tun6FiM30mx9K6hpWJM493GcIVWGEH55g37k7Xv1f9EcSRViC-dOo9I_Bmit0
XkFwDpc4ZUOFV78RpvaLkUUjCzjcxim4Z3YHZwiftOnhxBDxVW9fgC-Z5molN
UNu19WTqsSjRH8pHgmyAOp-6pTsar8ZM1LVFZTRtjVhvVSkjfMvU4FZ1yF4gY
GuaDD0sjhxSd2cHBw1kUIvEEh7S9bd3rrEoICcRcnUWxDCeKVQA7UH4OHZP-T
ohRAcRnxvw0Wlxh1BOWD-h8yfU_ZeS9aXKXr6qNGBMXUKi9OsPq9tzDA7PsD1
BKdCWvJZ0_9oNNdcJafk1GkJctS-kqyzT-lP0lRVRxaEam2n8_6a7RHDX9Zfu
G29Y00EjBUFK9uAWSpE5-apAv_kjQUliGVaqVNmdk_TN8xlziYUZvrP0aX61a
-14bZm-XOSk7DpRn3Jaiqzwx_tAbDs-RF686wsQDlxmsoDfH5PT8vaZLabP92
Nu8BBrf8BSdbgp1bAbahA2KMWKa34OoCE-CH5WKQIwuVNZw6JZojZVAFzI1OV
E_pf3FiXXIQpeM5_YFzaP8QY8rr_6W9uvc16bhlJqRMVFeP9C6VA5ikjUCbFE
FXUwQAO1IX4ZP7zd3lFA4BisBL1vixYeB_4cG1Zlfb6tA6jsBsKfJoSK4enzm
utntVm6rthxbgc5ONcU8DrZXKplCwyiXB6LQOnPgTgs55c1ZPsD1hseXs9WoZ
Qo2tbrF-Bnzx9WMY_lyn4pd118VmJZt2jUhVduGHVJoYqUUBYrmXjst4QYYTV
Xv4azmWUIXx-jGYnnI4En76o7ZVszRzFHjzbL_2Zb4mo2hzV2ppZl3CVdGaAl
XcSUNez7iM9CTuRZT3jk4ZYFcy6PE5E5RvS_kVCk7U94PfKfU0Fh0GCzS9rOh
q6KTN0CtGz1B7DP49AFNb_NS0spVnnaY_jiCtzh0P5Lt_btpLhw_jnL6fn4nU
l79MGGfNdrdfHQu3_Y1_Rm4wI5UxzTwlFqw8HsDGa2Yt9gYoQiDr_Abd4GePb
jZzoCbyLh_SMpOcHxfF7XFG6S6D_fS6G8mc6cGbTW-LtIO31u7TUeV7YX6F7y
uF5VjTzMSbGWARQlAYNvCiG0A-dK5jx_DB1xLOUKRPlVFE4W8puNiknd5Y6gP
wkbeeTF2U_sOklx2_Y39sfp8m2UX9xFRpd6G25fFbuHy9LpXZMptqW5uom344
M1h5_WbvjU3GsJkgj-La3N73ybnZeFcupHMzYIqOqsjO7NaH4JkNaZ2Vp9gPf
4wFHRSZCFh3y2I9zw2a80IWUa5yLNZsVPzOlQ_Pxn1OPMYXy05tdsDlHKvhin
kNWozt1JTOSEsoyV3GlKNSJVRIsFpea8PhpH0G3t-YZ3AOOjG82V6USv8O8eq
2Xwa-WPazZlMsr1AijSyhtzPQjsqqeRnl4pleMFZOrXhCIjUDmnSnFpjwioWA
KKcW744c9P7QlwWqAaTrYqB--yGWMYLYzQR7eOsOQ4zYcEbvpO1tqCwLRkl59
_BPNlyqGDiMiW9qfBuTE1-jw1WlN2Y20BjsHvUyrcgXiFJ6Wh2UM_EKovoJse
HRucWWsR8rxxlSSd5GI55vpel43-yz2hKBSfwc12daEEfkE8_ZpmgnvqIUi-r
K3zivoWEFm8-u5jflrG1uiA3UkjUAFPEkaJKtEf-mu22Ya4nG6H6dS6W32mj7
U--pg7fWn6I88KSci6GbWuLkhEAOOjoYMq-w6KUarGwH6MZdT9EN6XUcZDxkA
yxC6SxLL1tlLPZeL9ZWeBUu0so6AYpvKZH_E68eCUHexmuaheMMxTbaArTdTr
vBUYdIMuF3uQcOopxmbc5d9xCtY8bszij_yeV8X-Ai3q1j7YOkA8gsCTAQBgG
Z-KMrNawXg6oeS5G4H1wY1APlgkLf5rY1PtAt4LTFvvG39_WQ_ewbWdOZJKux
LHwxwuiB8tuxXw--_6DxHXZBxsVqyJRIu3RPG0CLzo90fHf6NaWVY72yZktpU
41Eo4nkgjyTELzJ0dwxlXVdf94Cf_FwILkAFMKTLkQxzn3j_Wl6zAFLAbyPp5
Qxv_QlP0vfAjlJVMaUAGcoTyHKy1Et8HteckZVZGgy6rePipI3sEYPGTlvtMP
PZBgwpJuUQFNoirGOd7q4CJsUiDfuOdSlpdn-1o3Ae0bWnwkELj9PhNOBk2xe
s-lb9kmN1FEV7o8hIqOaJwfTRrkYsQFzz-p6XFiYyvoq8T9DAxvHttWV-3JDv
zsmGsK8qQuM3KHykI9ztycQlX3MFfB8FCA1QMR0NWzytAsQc3SGJyNQefknOr
XZRX7frTP2AQpxqR6mr-HhaJZj3A74eY7JjA3me0RkQn4_WmeQBbCwU0ABaFk
PR9JYLU6nZqM8OWPS6lK9iMnlKkJMPhQJvLLj_yD0MxzawyH-uFJzgfDpALXQ
tFvqdovhLqDQ2UwjgFAjQNAyhknk8j7w_06FllWFBSc38OCx2CFiw5D1OuJXB
QyWdFNU7xrtJZ5-IY4Qz98yDloqKY40P0Q3TTGO3Qu9Bkh1uRNrTwqLQllEfy
cWEFi0vyXDuMQulT97mjQ3dfVNNsVAz_FiSC23GKqH3BXO6bAiHdWLbcc8DwY
Petrie Expires 8 January 2026 [Page 100]
Internet-Draft JSON vCon July 2025
EYkAAJL9NHzmMrGk6Jo2BDBh9aSzSOzI7qHGNw-a3WPRQLWwNy9M-BwSiLam4
pifeWgozWKeCG20tmLG0Rp_DYRrkYUQoZ-b_AHf1qRWdHMEusUxZmE2_9yWMv
ttaIkuObkvwmcFFoPuAFEn2edJU0OMhNtqL6145VftAKd6Sa_0WdYpNsAq6D4
34atkPogDmn6JVq8woL4Ob3x3Hm7mG37nOG6ItR8vTH1A9Gg_5ioLXm3TaoxS
c7pXVQxe387hIRMjXdJY6_klCPqmhKtUy32luLWOxVO7-RSJ5ylG9FeWMFa77
tS5I2GXzRCUm6HR1hLtka25qJG8WB7C3_nFAumkgaFju7EkaBlMWysho_RRDb
1YVaIQpQpPBUFAn2Xkra14RVPOc1r0m1EAwGIH6ZG4kp_vnoBmZMNvE3-chxz
whX9n3AtOgXgQ649RrUPIhzAD3PsT3OUIbjxTR1hc2_ag5mZZVw7tUdiPcY44
uw8bGQnqhb9XPn52SYcpA7ykiEuvEzVUQivmtmkQRKKH2SBAgc_trt4eRYa1M
F1QEZisYNKw2V-Kjwvl0Ei1bHMrn3v-r4PnaseeamzzHiBwxJF9DeBhp_geGE
avVZ9iTnkAaM4HWDrPmiNsO7LK0SPQ3SKU4yco7eD9bZzMAyUiHQCbjbqmWtZ
2bxvH5CipMBuB7aElBvQ0zZdgZ-pOOx8jvYFWfw5RIQ7YMzkhC3auS16_RFEi
TcaJJz0_ZTsvCc5orMTBgg6pD3RvhjNMO-fJ8uDinSuGs2bPJcwc5G8IN4Z5o
K4uErvIKY2z2ZeQVkWL4QvSY6AB2WZTYSa9bIHO4PHKbWLtS5-D-xH70X_XSE
1_poLgBUpvCwiMx_2ac_HPXNP3kNtI66949rU8Nk9_-s1M1xE7B3_Xi9OkKCp
hTwcfoxT-_t5fDIZBzTX-BH_JiMeOMHgmVzMpDV3UshvPACNs11r-Mjgrzp0o
F5vMSu_goAsjB9NE1nSuN3X3RHKPm5859vUZCQnVeM8r0bDHWOAEgyeXJ0njy
d9Rtl6F-2ogZ5mspDCR6Gby-Q0UDCY0LukF09g2T8KD5T1BbKgnplvZDCLd-C
M0y3PzMMWBi2mUewtRxYQB5H_47WLq3s_UZxxyVL1IeCBo6mx56FEH1LiEhnX
5ioACHAAULrmICnqkcaDcSY1TwwfSt9UEqZ-_D8o3S7DroPN6oSjQiUYigrpo
QtRZlkEHRzY66MC4fjh1EnSgHECWl2x10Rg_a6PjVnt4Fs_tSY4dDcJXhLp_M
dVs9ocXiLkaWmd6Ac7tYregLhaOZh9MMLCKFTQfeUv6_jXj1yqBbMEcatXhtZ
PJIFe64IrUKnHvBql7A6CToylP8zcrh6LMJvBHTLD7NcWZSbcSoFLCaqhcxum
cLqPgRySAfh1e4-ipvE7rFYTXaNrYMbwFtw1Lb22h4DNnMVuJRZsdMvENNQGt
lpbx_XCErwVabJ6fo7vs8K5MtVYymYs8qkVSSp6HrOdN9gd7tf9Ls4CZ1lOzf
xjPht4UKY9WRkNYzdGoBYVeMF_Yc3jQQQEiRVfPJ-JHwi4S0JmIx2VTHSnnc5
KgxivkjOwj5nxzpf9sltdJdJeXSegMWS1q0sgwpoudpPQC_yKVbULnpVuiH2O
pgAD28M2UzUOvJ-_UQ4TYC1S15dFQ4j5EYBJPhLmHFoR8m9lXiwpXBlq8dpS5
KO1Dc7a9nHBrnwpAHOz7pV5RIKZIKX3sWyASRr487Rp8Vc6LhAofX2sz6mIzb
a1pZTdXDmytYbDyezdmmvFYpaB0F1lHzcXVfGd5wCmGhj4pqLg1xXUnb-KQOS
WRN0MBcP0AURSJ8OSqMfUmkobE6spy28TbdE6bkJ8J4-vOYlC9mXYKzyml38L
YmXdqIETdcnXTchuhNDwcHyiBsCVjAyWNr6SUvM4k4L_i0jpn3B0z9rZU380Q
qUUtY-U3DVvlbPprM7JE1_1KvSmG_p0OZRt0ICe-VFRf4brn8W2NugQr83DHS
qzpTJzIo5UbCAGP-VIMOvOnyKs3QrZdS4K-luHwcAdmPrSWJ_W7jv16ShK_KO
A15UkkLN1k-WfzL97fzGFloMwErSg1uFB2AkuL2mJUxNcFZrnuH32M-W-qtob
LRAxT_bkELx3B8qe5GJHOYYVOFc-jJgkDR_sQF0mh7qC8XQI2ZWCRHPFxCUaM
SJF56-LZELrZLbqbVzpjV2VLkHzxZIUkLdFDXGBgHkactGP_O-f3zxHS_2HZ1
nK4sQiVos-l70aH_TnmSicaG0K2VOavtfigZozYfxOuDqSMQKK05PqBxVtqdU
kdCdJnQSZxRsI2bmhX6IatQsRzU6OqRopYk-ezd4Gy-rBlGBPztpiCo3q_WmM
DpsT1FqlHQ1kGscTzcQAgRoSRkG0VOjM3KCGe0WLV86QGkmur7-2oDA56S7zb
a7JlZROnqwV9aEqTzRz34i-SZY0RX6NjHpDVi0V0naCqs3OHrqIBO54i1VNiI
vwoleO-YEj6GShMoEJfayZTSFBM6F5a0arcE37TVy5oNr87nBZI9b9DuA6l2V
_CYpJE-PPpm_-wJPSmch6f2_9B7FGqVU1A9YsAHlq-flmdlpL5xFAIZvaemyc
3Igq3PCXQrNJdF8m78h6O4e3fg_4H4JaK8_pnBU4oAzaSfmiofdHnSpVaQu1L
cTjCQma1O8dpBsf0Mb7Buwuee1osuLVfdQkSFdL1scRi7QZXU5b5xz7uEZTnD
mHM97RkUhn2tIEl9DDDOgybxKWxN5mvph2XuX8JPXsdbueFrKmmj_WD1iF8d1
gtSI_O3avgo06TyvzP48fb-cWZRsgET6YWBReIwBp-ZwmaqOhcKgQM9uie7BE
fc6xWJVOya_DmbkdbmZCFscGsxCai9RA0lgo5g_dVk0rrblDk8bUJ4qn6V1Vc
Petrie Expires 8 January 2026 [Page 101]
Internet-Draft JSON vCon July 2025
ACReYg-knSf94lbw-KwfqvswZHHNZ2vZkRsueiQxqJ4dESjl1wYSTZHit63DO
Zfu-4RLUXbw27R4y57dbQc7TP42z_s-RvaddiyBl-mTePMorZOVy8p3XAdp8l
YN1OFkiof-iW0dCODHwuhUPAV24zjVv7b6zFUoi0DqyYrE7smWaTMcz9c74We
aZxFtXSyqo04khEsfPXIKTdUNZ6Hv52ViVlUGN1mrDjEcFs5jQIXXf2YEPSFu
lfzZYZ-teFpCiWHts5xfJdSdQ-Cy-95xBnlrBgkMffNhVvzZ6iB-Cg7Lir7JA
NAsGo4w_oJOf4FPBaM6rCt3vCOJ28IsJ2v5EoDD4GgDGHEeAGIkZHtVxz_r_T
PlsvKFu2awqVB4vG41_y3Ozmgs1PSBrN7ztcslfxIJ4zsSV4pQUDwKCzjOS-Y
oYyH4LjNm4yA-X6BraWejYsWP4sPTZDKKT3IaK4XpDFJP649NkdkVctFIN2Ys
zcinC14PDen9qCQPxrNL8p_CIMGLjPfsT3Gs-DJrCTlJ8iDG5QQ7LkCT4ul-S
kvCdc4FtJtd53B1xPRB_s4uFdgZIfCn2lY5qnoRxk0j8fH90rrZqubNhBon6s
I8wyaZBZmaA857xUtybs6_tlBfgU94m6jeJDC_O7evqJ9fsD0ONx-gMtKo4tj
2kcYW7tKRfdImGPQ6TiQ7lR0iorpj-a1jWSGgsYeNSWAkzwsKRi7ovrak99AE
gi6hRZFqdCjyOW0nFjrtBs_K7GbOOTnl1KPOWgMmBBI0O1ojyxkVtdxT2l6jq
X3ewzE6xfNLSXFsVGBMkS9ZHHTbIG5qOmVOz2aVB48rc_-6JrxfUVT7h6ps-X
uP-zKpZJRumMXUYtRBkJOKsi_nnIhiU2Smc8DCqCoJdUhoU-e1r09g-VN4OyE
vAcTpaLjBzE9jXRqTTp1vl-q6c1kuI2ieakrPIdoAG6nTLDGD7zS87hlpfZGs
xZDieBwH1NAu92NmpE69NGO9xmJtUPIyXwh4OiIpZLkWAxGspBV7qroERL0QM
uXrHzpcmvrOsTLfCd9o3llOknflwd4wLEi7vQRHklu08MY9ln_WmzTNu9LBJt
xyHOJRfaewMhlrSvh0Ac3Z6UU86nsWCohH8INIFCgi_Q1dnor4YkCdsREWIc1
MD4He0fqVCmPTz58qene99dNSodYlkjCtIjAeTAnZDGc8RNz-X3S82_I3eYzY
dT00OUu3vFAMTI1HJlfiwvfoCBMQd_kPMzB2AzUW0HE5Y6j6sXoFhiQyEog1u
w16qcDPkEQonn9AnV3qmE00nMqC2eNcZ2RWV1E0lPQApnFG8CTNIj6lVJx0Lb
l8TNpE0GRvlpjhM5_qDZ4-aiMiq6h1_nHEK7jtsTSbNWu6Mr4GjAJ-TqZPqh_
IDHsHwPkrLKZy0A6in93PPDYCE_kaHhZfSWvZpAOX6H_c968QWtr_SWHgWvx0
TdLvbwzgYCZ53kpcyQV_1CVHzKWn2PnvG4beqrfV1p4tjBiYDndz1Fl98PA_b
1dkX4SuxU8JuvA0ODCAISJEZO7AmLnDrjzipm3sEKAarpyEJnjMv-uuDv761f
SKFXHaTpXumZSVgVpM_oso1F9_M93kJEAQjLvWF2XAE6QT2oHOTw_B-ta9XZM
7tKEelYz-l_ByWo_DRXX5FC6HAx6wRMyjzTYh16DfEyHKJBwDEg5j0eNrVSgY
Ux3PIYSRbh_wGnGSGsjFcr3aOEBiiYpkNlIwGK8Wk4oyP2rl1q9ewar39F03j
MUOnG2ThEujhJtrH1zVDY9MI9NifaA5RnLd-63JAetGQK_aSkm_K6-Asz_H5S
w_JOevadNY29BmiVaccELs4SRdKWbnSbR-cjQhz29Z15BlrqiTjCXvnusHa4r
W-1J4B5hzoRB45mxMfjaChsrYK4fb-rDKkN49J2kWcbyDBvn0BSQYY33ch0nB
LU4pT-qPic9r53DapHtRdD0--FS50Bu-h0F0UucQbVhAkUzeryPUkLEJgfopV
gVLRYAIOMzBlnsAIoceaG90TnGD8kGGislS3jhwqWHo2iJKE4ey_pUeSc_Taw
DaPKPNeEtbDFJQoL7O5JmJ_Sd6yDdyzTdSo5pt2ECSe1963g6GUjAlZ9ujL41
NQ_D2_d9j7JFfrtoWhxoSh6_RnckmhUVHorDS5VL0-9CT3HoULVBkxJhdiTvZ
JY12UyhLZ6i6Sw5_Tm0914J7yb2kkZ4UjSltVDzn9Ij2Lx5ATPTArfZVNLuhb
D5VRta3qqYdlZDmu8psWjvkPzxByH1FyRO3e4GYdiN3dAg_l2IU-GN4yS2Mj-
4ccEZ6IF09OceQlpT_4vwf0AffUQ_2n1xVe1_e6qKQ2QZjU_D_MIthdQHmVYX
P7dly0yIIrCGrjadB87LM9hjKgN6WKbrd2J9XRE31SLvowa5Juw0Nhq1GJALa
aZh-_PTuuafaGuMLIXpdKTVY8uOE6uUp3J2ofMRu-rM67Gg-p8VZnhFkg-AQz
TsMqmJls0N8IOtw0l1fSNzl4BkJcYm4bJM0JgHko7cPqMxV-0124o4LICkrAE
_KwbmsnsV7rt1EV0Z4vg999DBTJkzk40Ad-FdC0c7nOio4kOy3tg2wGWeYXKD
dCLpAst9hAcV5ZYTgBpNnVtPYxOK5RgZmYFvrrHULuwclh0Lmn0HS9SyZjpSl
wB_1y6DCtyIkFMHs0YRXQjO3dTSEyYjyGKSyu8sO8mJbgo0cqXvt-qrwnHAuA
YzXroSY5UC-ROI5giAHkLFAESj5XzWWpCkPCzV-8MpaaDevFrtDKLd3StNT-Y
udjuiVupPf9JSTplkUGBify_GdTniZchElGbU8sBuJQmTXVoW2h1_Tu3j2VZm
IjwxWfwcrKcmjF-2TFho-Uz5LD0r97GrSXI_Z1p_EzDN4b8bqQ-qMyH3OlQvH
Petrie Expires 8 January 2026 [Page 102]
Internet-Draft JSON vCon July 2025
vjkxZ3Qldy8ErmGBNclmekgbS24e75UfM0m4cd7-Qh4roO4yRGmfASY2SsLyQ
BsBC0Et1LiyLnRemkhRCKIUo62wqRZJEIS1LoKQrrSgMAN6yibeJAJX2nyTwF
RyeIZVM19oRwDI6etQJQkPRpBfCmgwEykVKo6loV09Fd_kRVqr9cw5mgeCVZb
CRo_gSFwmptdM-sABWowMh7hRCC8Nm2_WnMtIRfq7oKo2feARrA9tHAOpcgdk
D1ZxgxrzzbxAYGw03CUonAl6d7ktZ9MUQDotd1TElc_bfamw1ASYKCU7WVmvR
FBMiv8KuQKDpFAEKNGS2s9Vos3ZTa3EVbSXMCfeOg4MXZeojHoSzZ3WEmTDf8
A1m1lpSVMq7d5O35PrX4g60e6tHVwbYaYxyXeGCGoTQouktaKndvi6vwhJxg_
86-Q8thPX7HLJDxmlSEKoYYBRq8OVny8_ui-sK5hMcWnSzZg9Vl75iJwdg7OC
iu6L5chD3CRk69b4OeDkU73v2F3_OAF_bgTJO8nJdZOJENq5EPgV-UWVQnMY1
3o9m3PLw48Q5gUC6twe4C8OgmqbH2yfPKV-N6Ka9GvBDcvOlTgST3CO0LWCmh
eCeygxVRlGXu_eYSdHYu8aT9iSpgyMBZUP71st3OArmOslfuam__MMbts5eD5
OaQA_a6mSfTa3d9nOK7rqY8T6-vuxlo-Hggc2r8BjoE41yuNbWzUXeD-Jfwr8
PdUMvbEgF2bErs8oDzuV5EXhMT-C7MWm-gx8qdVuwxDWDphHy3Cd6HibH_z2q
HMBzA6Zw5jSw5Mr_INYrUGw-0eI-17pAv52U_LqDwSwAkZBUnfo2GCYGyJMkG
VoDhhZQLsZG0EtltH3OrfW38yXBD2S9-6CmeMQeJV4l6g9vROS08ggqXhWsQk
gEePeGYem6cegTEJ4r9yopMxMy7KvvhB4vN6pp2FoC03__NqjW4u-_DwNfuYZ
8BCLMt6NG6oC31okXeKx7WBUPI5abUbVDXmWHZLRqjtqv-esY1uPalBYQka0x
CSUVNv7YyP258HLpfw12-dudUkxsNOyW6NGskSmux56S4D0QTTn56PMVC3Th6
vS1Vw-t5GYp7QRtXCEpgQ_Deyyz-M9UHoJREJnNxVGIqrScSZew3Zk1ts6K-a
hAimGKCwqKEl-zf2xp6pdjxdrXdL56GVB646XBhC_PwWAmDPWB0aglvntfkfn
-VM9FhAiIxcIEAs9rs21XO3uj1RXMbWyl4xfgfVd4udoUZb-eekZWphYtcuGw
8_KzUdJomtDNqie4R-vC8UOcGArNg4CdsPuHhyTtxPNnbNTf-IkA1DH3ozt6x
hAv8QxKJii2g8brDVgN0vi7HUXKbbATTBlgg_WZBZ-iRC7ckaC-0NCiP0cRkJ
Yz7Slk4k7ICKEGVmQRGic4A5ZAo2qj4Z6E89NlmsoPRHVkUtup9SFxF0Cfwde
9YrKPZo37q6_XyjAg2ZXmSIRwTKgJIwtxwa7ygXmXiBmkNO9cE-X-RZA6sVkg
l2PYHZEi_VPa6r4t6eTs4TJegDFibnC144wbr-bcFKJ8uCRaUVnfOvfEDfmPR
6SIYw2auUrmJ4JrTeo-t79NgXPJwDVCN6p2enP7CjsIeBCa23DmYGfxcS52WG
dEKwebIgg-Cx0eGF2KAW64HGkouWSIy3j3CrBX4nshzAk-M-zosrYOv7hHiZX
jbSfZiLe8rPMQOjgl1o9sSy2R2WLwiHInIYKKZ4swsDL-aOjeuq-WRApL1pGk
1Brg3YQf67otXP11KIC9Ev9Pifm3E68oSbOIryiX2EwrVuuET03Z5WfNw8Yt_
nPKyW_iBKNQ3dHPCGn-_M0DlXojPQhNmRQRofd5wVekZhexZIA-LrH1yOi5O4
6L8ItBV9gLXOM134zoWdJFeAT3SUPY4h6J7-_By-z4JmMeWk9ht0TS5loEOBq
Qx3TFfNh90oPW8s9MjpaqTF7c8wmPeElqicdo7RyzZph5DhxcakxOFZSLijMQ
2aAXOkYL7_cORdacL-zgSgyS9GYWL2BH7ReTRL7vz4NGBs6NGs4Fh8AY37hmN
tZ0rN_tTW7EPdGa-tc9PVBP9bLnAK2I6ehOPQvIpyGJhSP8HS2ErE68bV6UNo
2LbZhFJ1gMKbCWhROa2USLv9EhgHXsBc2MkJpk4qTCsacwerWI514BzARBJnN
I2v2tjuBdQubLnjE2_MvTYVWm2Nj4jysdr0UJynJhmJPLAXP8Gd5YKE2-uqiZ
ZylNqSk5WVrLc2YpeOJUh7L-34s3Lno5hEfDhoLN-3QDu--BVyrr7iV7X6ybi
MwbO15Ja37H3U_Qw7NvrxuyIcSidGQNXbTjk8es1EQ2lfkqkeBtSGhnnLhiaF
ozMutaB372y_bdwoakpMnSrYRRREr3-pUhT36BkE5lwCHv9BcWOGpIYrOGjsa
1iIVnC9deR8f6Lp9uzHLTpBZSVOZkVQQ4_4_c2n_Hm3nnyUcFsH0zgOJaMCzj
0Z48O7z_HZNwzRCxq09VrHaGDH5eXZW1hL4-Z8g_GHhdiCm1SIkYi3kovyssk
hM2rlzG8oNDvLx2PMF0jYPICIW7M18T84GzwQlONO8xP-hawtGFRI9P2G4uf2
FcV1K-4vbTV_v936ePSEnSWoPDgaOHX-q5Y-g8HfzISB71mkZxoqvn09JqIZR
o2oQ1cOExqI0XpTzHdg-rooCHzHvV7XBkEcH_ytC1FirJpNLv146kWTiiEjSS
Xm3Abgus9lRmW6N9Lc3uvf5yf15GwluylY_ad2LZGdUkDcmgFD6HWnGrECl4K
VsWMivcuw0W-sQKjHNfgDAHqMXYTByx8TbWIRgl-dhfzMZlSd41acK4C2O5U0
4pSAMBzowPKAQFMKMEmK4DFgwy0CrdWGfzM1kTZP76TMgDzvnDsGycujamRfL
Petrie Expires 8 January 2026 [Page 103]
Internet-Draft JSON vCon July 2025
fkuB87af5IPUvmgShIpC6F-9-mXpGB3yI99MpeJ_p2QAcyfxneXBeEcfEMmsp
j98ejs7dJsvXCjfpCQYkQ7iyxMH6U_0iEnOkw9G6eRBDO0TZWRcsawgUj1urt
mn8F_D9qMBgKTfiCiqR-5R2qfKrvO2UJisWKC0KhIddR4Eue2W5PFhU-wP-nA
bo3MjOEXvLsewm4Dr36wembHAnPRL6h_3oDu7Sr7dFVnzQaf6LLhbuId2WXX2
X6lcwxQ2UjLjzpUoQbnbnzZ3S-IS8LhyBskQNeIq45p4OAlzohHPm_S00_1Ru
UyNZj1v1fg0S5evXqw17jFljX57m5VksWy6uHTGDme60-SzXRZ4MqTpUDgcJo
M4snw6IcWSxIPJmmleVnKzKLaZVeSEEv_56miRrzX6ap65vdO1fyPtaeHh9rE
iDzngsEaVlJia5Gi32X6GuDkd18_82u-VGoI8ncnN5QOODAISwL4_Dk-ovmkn
QTzMBfV_AxDLBE3eonkUG6pAGJ7IJAbMP_2lq1TFvqOt3OChL8t5T1JRsDdNs
wM1JmvL5ECtbUTKn7mlCP-6N9pBfuMJuxXAZGLq1yXsg_dyDYe58rrMOMlfTS
2RL1vGlSE3XLKPH2gujj8_7YuO70aPm_APB9F34BSk171RrjnYj02wsbiHoZR
0PGyjBLt5skpanyiuyFqXIbDbqiWHQbBr_UryyGTYiRnfocJdVJ4f47cgQlpj
MzFxwxBBBkXym7b1WnIQGbz_p84Oo1pGgqBWCoYt46XrM9Tz1Btiafu4RR4ii
afPa_MrQaFwHBapPFadJNQAGghBp-1jM_xQ7X5XC9QRJDfQtUUhagIhTAY_p0
nThos4tSJzZolqQiQ7kcxMaXqO8p4q4lh9ePbVNlbSek2EnYk5jFT3x9_cRPl
-b7eavQ10QKMeE1egiZAWwOMsmU1eGJ1_VPd1qNtxmDMXnYBeVmK0FSDXCf1E
To9d3cC6ahenVBxHwvD3PQkP8BB9bqhGYBU6DgPh9ilS4nINZHou9PwseHLyp
UtnUv2RzCHZ2kG2HK9s-0AdGp9d_CZU3wZeFKcNn8gaEWM-jYh7CtfCoCG1VP
l-WE81d3u5xWAnq5TcvN3toguZJ9juZ4wz65D-OM_Jsg-I_asoJqURI-lSYYM
Ql1Yhbr0gLln9L-k6QFoLWNq43Zxgk0gHh9mYMLTO8CpdMKybk-SRhPD94cRK
RBrjGEZoafRmVOBn-_ze7EDn-Btg7jobsLxkz2OEZw_xf672_zqMm40Xv7Dyo
19V8UWlI-GZ9hZhc2OkBKtaAmDFpdtzLkySW8hPe71O3qhSfDqEmIj6-4Vcg3
RlJ0AmlS8UpKNEBIGRD6ghn6qids6s1ytd4t6F4xy7mybTMeMI0gzLDEwQcAK
-NeNGhHBjopMjdHZsbRp8qN80IR_om4J8_kTzfnFCgORCiXMVuJvnpmY9BWzj
Pk1fgX5TpLzijX68xrHKHYTpVdNpXINESy00JkBCoAc7OGf25tR-9R3v5py_F
niWVi_B_68i0t8WxQSQgZN4MPuOzKnnNaev36pLxAOKK6pdwVMmP9tnyuIqtC
7ITAqlbI4VQFocGJyo46bn-sB7mE_m2Jt199g7p_IzwH2awrsk7lNsUzuoWVu
yR48j7ef_7wEvoqKkcYJvuKsw4BkwvOZubMBuCP1oJhbsxy0CG_Ojy57J_FPj
uWrw-XowWN8pn58rjjeATOAdtYrfo5aEqD8a47noQZ-tSRuumKiOlkUN5b3BL
AEGth5O4BvfcOfNxfiXtHYv4V6OSRKIKjDRVO59vhUMuE7Vj5RPJbYFIM6GoB
f6X_t9-kQyamWk3bHDtOivUi7Bcax1hzI3iV-fYfxK7AzX7gU1-VWBGy-xFnL
G_r8oq0g45k7OFU42qmpWPU8X0EThqQyFFLp7TgrluihVTSIO49kH1zBixe57
Qszpl_rjXZVXSC3ltkq3ORloy35AtACpUK917bWqZ7eOcHJnthdRJB_gEDnkb
bBXcW5F6RPvrmkb79w8-RvSUi_DfrThR3bqvM98HVjwlJgeNDu0Lpc5tPcDhP
5J_OPct-Mre6-AL0Z8Kp5PWbS2aIskLneZHK_x85Kv",
"tag": "yUtOAEWMDlRDiYc1UShGMRYC9wddGWhYbQbkDRCxj1s",
"recipients": [
{
"header": {
"enc": "A256CBC-HS512"
},
"encrypted_key": "XyeGomw_HGQj0bqeWDEdYnFug_m8kFPO-lRUtAn4K
l-T6dbg95JUPDItGG2IL7j4lfoE1HhCzI-K26vvAy6Gft7EcajZ-MaczG
XMRwYgGWM1F2gpvyVEhPtBHDrx8I_UfHFwOed45-FFKC2Nzdiu6knhzDM
PGwSiUoVJWNboTcdAtXHpvgPaY4sn6zrKKiJJurGaiFdPCBo9Zc8zZVh8
YVGzBNF1Q69DjH_fYPnI_XmeA2whuh3OrBYtYECA-ezVCBYfngzIqaNyg
0jYcKeRKhqkMWo7E6nYHLz2-7-b8ran__migQBTzJvg6VCtzfHzzOGWoa
ciolkRhx2VZxyq2g"
Petrie Expires 8 January 2026 [Page 104]
Internet-Draft JSON vCon July 2025
}
],
"unprotected": {
"uuid": "0195544a-b9b1-8ee4-b9a2-279e0d16bc46",
"cty": "application/vcon+json",
"enc": "A256CBC-HS512"
}
}
A.9. Redacted vCon
This is an example redaction of the vCon in the example Two Party
Call vCon With Externally Referenced Recording (Appendix A.5). Most
notable is the Redacted object (Section 4.1.8) which references the
lesser redacted version of this vCon. In addition the *url*
parameter has been redacted from the Dialog Object (Section 4.3), but
the rest of the Dialog Object (Section 4.3) was left in the
redaction.
The unformatted version of the following example can be downloaded
from: https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-
vcon-core/refs/heads/main/examples/ab_call_ext_rec_redacted.vcon
{
"vcon": "0.0.2",
"parties": [
{
"name": "Alice"
},
{
"name": "Bob"
}
],
"dialog": [
{
"type": "recording",
"start": "2022-06-21T17:53:26.000+00:00",
"duration": 33.12,
"parties": [
0,
1
],
"mediatype": "audio/x-mp3",
"filename": "ab_call.mp3",
"content_hash": "sha512-GLy6IPaIUM1GqzZqfIPZlWjaDsNgNvZM0iC
ONNThnH0a75fhUM6cYzLZ5GynSURREvZwmOh54-2lRRieyj82UQ"
}
],
Petrie Expires 8 January 2026 [Page 105]
Internet-Draft JSON vCon July 2025
"analysis": [
{
"type": "transcript-redacted",
"dialog": 0,
"body": [
{
"parties": 0,
"start": "2022-06-21T17:53:27.200000+00:00",
"duration": 4.9800001,
"text": "Hello. This is {{URL}}. My name is Bob. How
can I help you? Hi."
},
{
"parties": 0,
"start": "2022-06-21T17:53:32.320000+00:00",
"duration": 15.1950003,
"text": "I'd like to add Sue to my service. Okay. Can
you give me your name and phone number so I can look
up your account? My name is Alice, and my number is
{{INTEGER}} {{SSN}}. Thank you."
},
{
"parties": 0,
"start": "2022-06-21T17:53:49.015000+00:00",
"duration": 6.239874999999998,
"text": "{{US_STATE}}. I've added two to your service.
Is there anything else I can help you with? No. T
hank you."
},
{
"parties": 0,
"start": "2022-06-21T17:53:55.254875+00:00",
"duration": 2.8200000000000003,
"text": "Goodbye. Goodbye. Have a nice day."
}
],
"encoding": "json",
"vendor": "CapitalOne",
"schema": "data_labeler_schema",
"product": "dataprofiler"
}
],
"attachments": [],
"uuid": "01928e10-193e-8231-b9a2-279e0d16bc46",
"redacted": {
"uuid": "0195544a-b9b1-8ee4-b9a2-279e0d16bc46",
"type": "PII Redaction"
}
Petrie Expires 8 January 2026 [Page 106]
Internet-Draft JSON vCon July 2025
}
A.10. Appended Signed vCon
TODO: appended vCon example
A.11. vCon Group
TODO: group vCon example
Acknowledgments
* Thank you to Thomas McCarthy-Howe for inventing the concept of a
vCon and the many discussions that we had while this concept was
developed into reality.
* Thank you to Jonathan Rosenberg and Andrew Siciliano for their
input to the vCon container requirements in the form of I-D:
draft-rosenberg-vcon-cc-usecases.
* Thank you to Rohan Mahy for his help in exploring the CDDL schema
and CBOR format for vCon.
* The examples in this document were generated using the command
line interface (CLI) from the py-vcon [PY-VCON] python open source
project.
* Thank you to Steve Lasker for formatting and spelling edits.
Author's Address
Daniel G Petrie
SIPez LLC
Email: dan.ietf@sipez.com
Petrie Expires 8 January 2026 [Page 107]