Extensions
Shows which vCon extension drafts exist, what token each one uses, and where its data sits in a vCon, so you can add structured data without breaking readers.
The core draft, draft-ietf-vcon-vcon-core-04, keeps the container small. Anything beyond the core parties, dialog, analysis and attachment fields belongs in an extension: a separate draft that defines new parameters, attachment purpose values or analysis type values, and registers a token for them.
How extensions are declared
Two top-level arrays carry extension names (core-04 Sections 4.1.3 and 4.1.4):
extensionslists every extension whose parameters appear in the vCon. It SHOULD be present when any are used.criticallists the extensions a reader must support to interpret the vCon correctly. A reader that finds a name it does not support incriticalMUST NOT process the vCon except to reject it or report it.
Core-04 calls an extension Compatible when an unaware reader can ignore it safely, and Incompatible when it changes meaning. Only Incompatible extensions, or ones whose draft says so, go in critical. All the extensions below are Compatible.
A top-level fragment for a vCon carrying an agent trace that downstream systems must honor, plus a lawful basis attachment:
{
"extensions": ["agent_session", "lawful_basis"],
"critical": ["agent_session"]
}There is no must_understand field. must_support is the 0.3.0 name for critical. See the field reference for every renamed field.
Available extensions
wtf_transcription
analysis[] with type: "wtf_transcription"
agent_session
agent parties[], analysis[] with type: "agent_trace", attachments[] with agent_* purposes
sip-signaling
sip_* party and dialog parameters, attachments[] with sip-* and stir-* purposes
Contact Center
CC
party role, contact_list; dialog campaign, interaction_type, interaction_id, skill
Lifecycle is listed here because it is usually read alongside Lawful Basis, but it defines no extension token and adds nothing to the vCon itself.
Every attachment uses purpose, never type. That includes lawful_basis.
Related work outside the vCon WG
draft-howe-sipcore-mcp-extension is a SIP protocol extension that carries MCP payloads inside SIP sessions. It adds nothing to a vCon.
draft-birkholz-verifiable-agent-conversations defines Verifiable Agent Conversation records. It is not a vCon extension; the Agent Session extension embeds its records.
Writing a new extension
Check first whether your data fits as an analysis entry (anything derived from the conversation) or an attachment with a new purpose (anything supplied alongside it). Most data does, and needs no new draft.
If you need new parameters, write an Internet-Draft. Core-04 Section 2.5 says what it must contain: the extension name and whether it goes in extensions, critical or both; each new parameter and where it appears; compatibility and incompatibility considerations; and privacy and integrity considerations. Register the token in the vCon Extensions Names Registry (core-04 Section 6.4). Bring it to the IETF VCON working group.
Last updated
Was this helpful?