<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-vcon-cc-extension-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="vCon CC Extension">The JSON vCon - Contact Center Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-cc-extension-02"/>
    <author fullname="Daniel G Petrie">
      <organization>SIPez LLC</organization>
      <address>
        <email>dan.ietf@sipez.com</email>
      </address>
    </author>
    <author fullname="Jonathan Rosenberg">
      <organization>Five9</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <date year="2026" month="July" day="01"/>
    <area>Applications and Real-Time</area>
    <workgroup>Virtualized Conversations</workgroup>
    <keyword>conversation</keyword>
    <keyword>vcon</keyword>
    <keyword>CDR</keyword>
    <keyword>call detail record</keyword>
    <keyword>call meta data</keyword>
    <keyword>call recording</keyword>
    <keyword>email thread</keyword>
    <keyword>text conversation</keyword>
    <keyword>video recording</keyword>
    <keyword>video conference</keyword>
    <keyword>conference recording</keyword>
    <abstract>
      <?line 95?>

<t>A vCon is container for data and information relating to a human conversation.
This document defines an extension for the JSON vCon schema in support of call, support or contact center application of the vCon conversational data exchange format.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-vcon.github.io/draft-ietf-vcon-cc-extension/draft-ietf-vcon-cc-extension.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-vcon-cc-extension/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Virtualized Conversations Working Group mailing list (<eref target="mailto:vcon@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/vcon/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/vcon/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-vcon/draft-ietf-vcon-cc-extension"/>.</t>
    </note>
  </front>
  <middle>
    <?line 100?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document adds a number of new parameters to the Party Object and the Dialog Object defined as part of the JSON vCon schema in <xref target="VCON-CORE"/>.
The vCon parameters defined in this document have been determined to be need and are specific to the contact center uses of vCon.
The general framework and requirements for defining an extension to the JSON vCon schema are defined in <xref target="VCON-CORE"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<section anchor="terminology">
        <name>Terminology</name>
        <t>See section 2.1 of <xref target="VCON-CORE"/> for terminology used in this document.</t>
      </section>
      <section anchor="json-notation">
        <name>JSON Notation</name>
        <t>This document uses the same JSON notation that is used in <xref target="VCON-CORE"/>.
For the ease of documentation, the convention for JSON notation used in this document is copied from section 2.2 of <xref target="VCON-CORE"/>.</t>
        <ul spacing="normal">
          <li>
            <t>"String" - a JSON string type</t>
          </li>
          <li>
            <t>"A[]" and array of values of type A.</t>
          </li>
        </ul>
        <t>All parameters are assumed to be mandatory unless other wise noted.</t>
        <t>Objects or arrays with no or null values <bcp14>MAY</bcp14> be excluded from the vCon.</t>
      </section>
    </section>
    <section anchor="vcon-json-object">
      <name>vCon JSON Object</name>
      <t>This vCon extension adds a new extensions parameter name value token.
The string token "CC" <bcp14>SHOULD</bcp14> be included in the extensions array of the vCon Object.
It is not required that consumers of vCons with the <strong>CC</strong> extension content support this extension.
It does not change the semantics or remove any parameters form the core vCon schema.
There is no need to list the CC extension name in the <strong>critical</strong> parameter.</t>
      <section anchor="party-object">
        <name>Party Object</name>
        <t>This vCon extension adds the following new parameters to the Party Object in support of Contact Center use cases.</t>
        <section anchor="role">
          <name>role</name>
          <t>The role that the participant played in the conversation.
In a call center there are roles: such as: agents, customer, supervisor and specialist.
In conferences there are roles: host, cohost, speaker, panelist, participant and other roles.
The role parameter provides the ability to label the role that the part played in the conversation.
This role parameter is distinct from the Party Object type parameter defined in <xref target="VCON-CORE"/>.
The type parameter indicates the nature of the party, such as whether it is a human, bot or other entity, whereas role indicates the function the party served in the contact center, for example a subject matter expert or supervisor.</t>
          <ul spacing="normal">
            <li>
              <t>role: "String" (optional)</t>
            </li>
          </ul>
          <t>The following values for the role parameter <bcp14>MAY</bcp14> be used:</t>
          <ul spacing="normal">
            <li>
              <t>"agent"</t>
            </li>
            <li>
              <t>"customer"</t>
            </li>
            <li>
              <t>"supervisor"</t>
            </li>
            <li>
              <t>"sme" (for subject mater expert)</t>
            </li>
            <li>
              <t>"thirdparty"</t>
            </li>
          </ul>
          <t>Other values for the role parameter <bcp14>MAY</bcp14> also be used.</t>
        </section>
        <section anchor="contact_list">
          <name>contact_list</name>
          <t>In a contact center scenario, the conversation with this party may be part of a larger effort of contacting a group of parties, individually or perhaps in groups.
It is sometimes useful to reference the list from which this party was included.
The contact_list may be used as a label for foreign key reference to the contact list that this party was on.</t>
          <ul spacing="normal">
            <li>
              <t>contact_list: "String" (optional)</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="dialog-object">
        <name>Dialog Object</name>
        <t>This vCon extension adds the following new parameters to the Dialog Object in support of Contact Center use cases.</t>
        <section anchor="campaign">
          <name>campaign</name>
          <t>In a contact center scenario, a dialog may be initiated as part of a campaign or set of dialogs initiated with a common goal or focus or to be handled or treated in a specific way.
The campaign parameter is string that may be used as a label or foreign key in reference to an external specification for how the communication is to be initiated, handled or treated.
In some case it may be appropriate to attached the campaign data as an Attachment Object.</t>
          <ul spacing="normal">
            <li>
              <t>campaign: "String" (optional)</t>
            </li>
          </ul>
        </section>
        <section anchor="interaction_type">
          <name>interaction_type</name>
          <ul spacing="normal">
            <li>
              <t>interaction_type: "String" (optional)</t>
            </li>
          </ul>
          <t>TODO: add enumerated values from JDR</t>
        </section>
        <section anchor="interaction_id">
          <name>interaction_id</name>
          <t>In a contact center scenario, interactions with a party are often labeled with an identifier.
In some case the interaction is contained in a single dialog.
In others there may be multiple dialogs (e.g. messages or calls) that are all part of a single interaction.
There may also be many interactions for a single conversation or vCon.
The interaction parameter is used as a label or foreign key in reference to the interaction ID.</t>
          <ul spacing="normal">
            <li>
              <t>interaction_id: "String" (optional)</t>
            </li>
          </ul>
        </section>
        <section anchor="skill">
          <name>skill</name>
          <t>A contact center may service multiple purposes or customers.
In this scenario it is important to label the conversation segment or dialog.
The agent or automata which services the dialog are required to have a specific skill.
To facilitate this in a vCon dialog, the skill parameter is provided.
The string values of the skill parameter are contact center specific.</t>
          <ul spacing="normal">
            <li>
              <t>skill: "String" (optional)</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="compatibility-considerations">
      <name>Compatibility Considerations</name>
      <t>This extension is Compatible as defined in <xref target="VCON-CORE"/>.
It only adds new optional parameters to the Party Object and the Dialog Object.
It does not change the meaning, structure or permitted values of any parameter defined in <xref target="VCON-CORE"/>, and it does not redefine or deprecate any existing parameter.
The parameters added by this extension are role and contact_list in the Party Object, and campaign, interaction_type, interaction_id and skill in the Dialog Object.
Each of these parameters is an independent optional label, and none of them changes how any other parameter is interpreted.
An implementation that does not recognize these parameters can therefore continue to process the vCon correctly by ignoring them.
Because this extension is Compatible under all conditions, the CC extension name appears in the extensions parameter and is not listed in the critical parameter.</t>
    </section>
    <section anchor="incompatibility-considerations">
      <name>Incompatibility Considerations</name>
      <t>This extension introduces no incompatibilities.
All parameters defined in this document are new, optional and additive.
None of them changes the semantics, structure or permitted values of any parameter defined in <xref target="VCON-CORE"/>.
No processing operation, such as transcription or redaction, needs to understand these parameters in order to process the remainder of the vCon correctly.
Because no incompatibility is introduced, the CC extension name is not required to appear in the critical parameter.</t>
    </section>
    <section anchor="privacy-and-integrity-considerations">
      <name>Privacy and Integrity Considerations</name>
      <t>The parameters defined in this extension are short labels that describe the role of a party or the handling of a dialog within a contact center.
They do not carry conversational media, transcripts or analysis.
The role, interaction_type, interaction_id and skill parameters are operational labels and are not expected to contain party-identifying data or PII.
The contact_list and campaign parameters are normally internal identifiers, though depending on an organization's naming conventions a value could be indirectly revealing.
A redactor that removes or de-identifies party information can treat contact_list and campaign as candidates for review, while recognizing that in most deployments they carry no PII.</t>
      <t>This extension does not add any url or content_hash parameters, and therefore introduces no new externally referenced content.
The integrity mechanisms defined in <xref target="VCON-CORE"/>, such as content_hash for externally referenced files, are unchanged by this extension.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations are covered in the <xref target="VCON-CORE"/> document.
This extension to vCon adds no additional security concerns.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="vcon-json-registry-additions">
        <name>vCon JSON Registry Additions</name>
        <section anchor="vcon-extensions-names-registry">
          <name>vCon Extensions Names Registry</name>
          <t>The following extension name is added to the vCon Extensions Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Extension Name</th>
                <th align="left">Extension Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">CC</td>
                <td align="left">Contact Center</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="vcon-json-object"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="party-object-parameter-names-registry">
          <name>Party Object Parameter Names Registry</name>
          <t>The following defines additional values for the vCon Party Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">role</td>
                <td align="left">agent party role</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="role"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">contact_list</td>
                <td align="left">contact_list including this party</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="contact_list"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="dialog-object-parameter-names-registry">
          <name>Dialog Object Parameter Names Registry</name>
          <t>The following defines the additional values for the vCon Dialog Object Parameter Names Registry.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter Name</th>
                <th align="left">Parameter Description</th>
                <th align="left">Change Controller</th>
                <th align="left">Specification Document(s)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">campaign</td>
                <td align="left">campaign to which dialog is part of</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="campaign"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">interaction_type</td>
                <td align="left">dialog interaction type</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="interaction_type"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">interaction_id</td>
                <td align="left">dialog interaction id</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="interaction_id"/> RFC XXXX</td>
              </tr>
              <tr>
                <td align="left">skill</td>
                <td align="left">required skill</td>
                <td align="left">IESG</td>
                <td align="left">
                  <xref target="skill"/> RFC XXXX</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="contact-center-use-cases">
      <name>Contact Center Use Cases</name>
      <section anchor="types-of-applications">
        <name>Types of Applications</name>
        <t>In the contact center, there are several different types of applications which require consumption of recordings. These typically go under the moniker of Workforce Optimization (WFO). This section describes the main ones.</t>
        <section anchor="recording">
          <name>Recording</name>
          <t>Call Recording applications receive call recordings from the core, and then provide long term storage, playback, and search functionality. Recording storage is needed for archival purposes, and is often a requirement to meet compliance regulations in certain industries.</t>
        </section>
        <section anchor="quality-management-qm">
          <name>Quality Management (QM)</name>
          <t>Quality Management (QM) applications are used by contact center managers to make sure agents are following guidelines on proper handling of calls. Many consumers are familiar with the greeting played in voice response systems which say, "This call may be monitored for quality and training purposes". That greeting refers specifically to QM applications.</t>
          <t>QM applications allow a user - an employee in the quality management group typically -  to playback recordings for a particular agent, and then based on that recording, rate them on how they performed. These ratings are made against a questionnaire that defines the rubric against which agents are scored. This rubric will often include questions like, "Did the agent thank the customer for calling and ask them how they can help"? Or, "Did the agent upsell the customer on the newest product?". These scorecards are then shared with the agents and their managers (the supervisors), along with coaching and training materials to handle cases where the agent didn't do well. Originally, scoring was done entirely by humans, and as a consequence, only a handful of calls for each agent could possibly be scored. These were often done by sampling calls at random.</t>
          <t>It is also common for QM applications to use speech recognition technology to transcribe calls into text. This allows a call to be scored more quickly, and enables search functions for selection of specific calls that would be good candidates for scoring.</t>
          <t>A part of the agent role involves usage of corporate applications, such as ordering, billing, shipping, to handle the customer inquiry. To determine whether agents are using these tools correctly, it is common in the contact center for agents to have desktop recording applications installed. These record the screen content as a video file. Typically, the vendor of the QM software provides the desktop screen recording and backend applications which receive and store the recording. These are then combined with the audio, email, or chat recordings that come from the core. The following shows the flow of recordings in this use case:</t>
          <figure anchor="fig-qm">
            <name>QM Recording Exchanges</name>
            <artwork><![CDATA[
+--------+
|Customer|
+--------+
    ^ Real Time
    | Voice
    |
    V    Recording                    +--------+
  +----+ Transfer   +----+  Access    |Quality |
  |Core+----------->| QM +----------->|Manager |
  +----+            +----+            +--------+
    ^ Real Time       ^
    | Voice           |
    |                 | Desktop
    V                 | Recording
+-------+             |
| Agent |-------------+
+-------+

]]></artwork>
          </figure>
          <t>In this flow, the customer calls into the contact center, and is connected to the core. Typically this is done through the Session Initial Protocol (SIP) <xref target="RFC3261"/> and the Real-Time Transport Protocol (RTP) <xref target="RFC3550"/>. The call is delivered to the agent, also typically using SIP and RTP. The core will record the call, and then at the end of the call, the recording is transferred to the QM system. During the call, the agent desktop is recorded, and this recording is transferred to the QM system. At a later time, the Quality Manager can log into the QM application, and access the recording, inclusive of the audio, the transcript and the desktop recording.</t>
          <t>In practice, there are many variations on this basic exchange. Sometimes, the ACD sends the audio portion of the call to the QM system using real-time streaming, sometimes using SIPREC <xref target="RFC7866"/>. This is then augmented with meta-data using proprietary REST APIs. In other cases, the audio is sent post-call, and similarly, meta-data is obtained using proprietary REST APIs. When transcription takes place, it is most often done by the QM system but not always. In some cases, a transcript is sent from the core to the QM system instead of, or in addition to, the audio recording.</t>
          <t>In a similar way, the transfer of the desktop recording from the agent's computer to the QM system can happen in real-time or post-call. Post-call systems will often upload the recording in chunks, sometimes doing so after hours or when the agent is not on a call.</t>
          <t>A key considering for this use case is the concept of recording stitching.</t>
          <t>In a typical call in the contact center, there are multiple segments, each of which represents a phase of the call. There will be a segment that contains the customer's interaction with the voice response system, where no agents were present. When the customer is connected to an agent, there will be a segment representing the portion of the call where the customer talks to the agent. As the call is conferenced, transferred or held, each corresponds to an additional segment.</t>
          <t>The process of assembling together these segments into a complete recording is referred to as stitching. Different stitches are needed depending on the use case. In a QM use case, the quality manager is rating the agent, and thus what matters is the call as seen by that agent. In the case where a call was handled by multiple agents (a common use case in the contact center), a single call would result in two separate stitched recordings - one representing the customer's time with the first agent, and the second with the second agent. This is different than recording use cases as described above, where what matters is the entire call as seen by the customer.</t>
        </section>
        <section anchor="speech-analytics">
          <name>Speech Analytics</name>
          <t>Speech analytics applications provide graphs and dashboards on the content of conversations. For voice calls, this includes metrics like cross-talk, silence durations, and anger, which are computed directly from the voice. Voice calls are often transcribed to text, and further analysis is provided on the text. This might include customer sentiment, frequency of common reasons for call, and so on. These tools will also often provide discovery features, such as word clouds and clustering.</t>
          <t>Speech analytics tools are often used to help companies decide which calls should be reviewed for quality management. This is an improvement over pure random based sampling. They are also used to help companies improve their processes in the contact center, identifying areas where agents are inefficient. For example, speech analytics can be used to determine that there has been a spike in customer refund requests, and the agents are taking too long to handle these types of calls.</t>
          <t>Architecturally, speech analytics look a lot like recording. At the end of the call, a transcript is sent from the core platform to the speech analytics platform for processing. Meta-data is then fetched.</t>
        </section>
      </section>
      <section anchor="pii-and-pci-redaction">
        <name>PII and PCI Redaction</name>
        <t>A common requirement in contact center use cases is the redaction of payment card information (PCI) and personally identifiable information (PII) from recordings and transcripts. This happens in several ways.</t>
        <t>For payment cards, it is common for the agent to transfer the call to dedicated voice response systems whose job is to collect the credit card numbers and process them. This way, the agent never hears this information. Furthermore, the system can be configured to pause the recording so that this particular segment is not recorded. For cases where the agent does collect the credit card information, it is common for systems to have a "pause recording" button that can be triggered manually by the agent to ensure that this content is not recorded. Another common solution is to instrument the website where credit card information is entered, so that when the agent places their mouse into this form, the recording is paused. It would be useful in the vCon to indicate that this particular section of the recording was absent for PCI reasons.</t>
        <t>It is also a common request to remove PII information, such as first and last name, street address, email address, and phone numbers, from recordings and from transcripts. In such cases, it is desirable to clearly indicate in the transferred recording that this has happened, so that downstream analytics applications function properly. Just replacing a first name with "XXX" is likely to confuse a word cloud tool in a speech analytics application, and make it think that "XXX" is a common word in the transcript. At the same time, just removing the PII entirely results in transcripts that are improperly formed language, making it harder to process by natural language understanding (NLU) tools.</t>
      </section>
      <section anchor="omni-channel">
        <name>Omni Channel</name>
        <t>In contact center, the term "omni channel" is used to refer to the usage of non-voice communications with a customer. Sometimes, this means an email exchange or web chat from a widget on a web page. In other cases, it can involve a combination of voice with these other technologies. For example, a customer might call into the contact center, and then the agent uses SMS to send the customer links to information, or collect information from the customer. In that case, the overall interaction is composed of a voice segment and an SMS segment combined together.</t>
        <t>In some cases, video is used in contact center applications. Mostly, this is in support of the "see what I see" case, where the customer uses the front camera on their mobile phone to show something to the contact center agent. For example, a customer might show the agent a part that is broken and needs to be replaced, to help the agent identify which part to send. In other use cases, traditional person-to-person video is used, in high touch support or sales use cases.</t>
        <t>Co-browsing is also used in contact center applications. This is sometimes used in support situations, where a customer is having trouble navigating the website. The agent can take control over the browsing experience and get the customer where they need to be. This is different than screen sharing use cases common in meetings.</t>
        <t>As it relates to recording, all of these additional channels need to be included in the vCon.</t>
      </section>
      <section anchor="deployment-topologies">
        <name>Deployment Topologies</name>
        <t>As one might imagine, there are a variety of deployment topologies for these applications, mixing and matching on-premise vs cloud delivery. The core platform can be delivered on-premise, or via cloud. The supporting applications can also be delivered on-premise or via cloud. In the cloud delivery model, they can be co-resident with the core application (meaning, the vendor of the core service also deploys and operates the supporting application), or be delivered via different cloud services.</t>
      </section>
    </section>
    <section anchor="example-vcons">
      <name>Example vCons</name>
      <t>TODO</t>
    </section>
    <section anchor="json-schema-for-the-cc-extension">
      <name>JSON Schema for the cc Extension</name>
      <t>This appendix provides a JSON schema for the parameters defined by the cc extension.
The text in the preceding sections of this document defines the normative definition of these parameters.
If the JSON schema provided below differs from that in the text of the preceding sections, the text is the definitive definition and the JSON schema below is to be considered incorrect.</t>
      <t>This schema supplements, and does not replace, the core vCon JSON schema.
It constrains only the parameters added by this extension and relies on the core vCon schema to validate all other parameters.
Because this extension is Compatible with the core vCon schema, a vCon that uses these parameters also validates against the unmodified core vCon schema.
To fully validate a vCon that uses this extension, apply both the core vCon schema and this schema to the vCon.</t>
      <t>The JSON schema definition below has been formatted with line breaks to print nicely on the page.
The unformatted version of the JSON schema can be downloaded from:
https://raw.githubusercontent.com/ietf-wg-vcon/draft-ietf-vcon-cc-extension/refs/heads/main/cc_json_schema.json</t>
      <artwork><![CDATA[
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://ietf.org/vcon/schemas/cc-extension.json",
  "title": "vCon Contact Center (cc) Extension",
  "description": "Supplemental JSON schema for the parameters def
    ined by the vCon Contact Center (cc) extension, RFCXXXX. This
     schema is applied in addition to the core vCon schema; it co
    nstrains only the parameters added by this extension and leav
    es all other parameters to the core schema. The text of this 
    document is normative; this schema is informational.",
  "type": "object",
  "properties": {
    "parties": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/PartyCcExtension"
      }
    },
    "dialog": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/DialogCcExtension"
      }
    }
  },
  "definitions": {
    "PartyCcExtension": {
      "type": "object",
      "description": "Contact center parameters added to the core
         Party Object",
      "properties": {
        "role": {
          "type": "string",
          "description": "Role played by the party in the contact
             center interaction"
        },
        "contact_list": {
          "type": "string",
          "description": "Identifier of the contact or dialing li
            st from which the party was contacted"
        }
      }
    },
    "DialogCcExtension": {
      "type": "object",
      "description": "Contact center parameters added to the core
         Dialog Object",
      "properties": {
        "interaction_type": {
          "type": "string",
          "description": "Type of contact center interaction repr
            esented by the dialog"
        },
        "interaction_id": {
          "type": "string",
          "description": "Identifier correlating the dialog with 
            the originating contact center system"
        },
        "campaign": {
          "type": "string",
          "description": "Identifier of the campaign associated w
            ith the dialog"
        },
        "skill": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of skill associated with the dialog
            "
        }
      }
    }
  }
}

]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <ul spacing="normal">
        <li>
          <t>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.</t>
        </li>
        <li>
          <t>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.</t>
        </li>
        <li>
          <t>The examples in this document were generated using the command line interface (CLI) from the py-vcon <xref target="PY-VCON"/> python open source project.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="JSON">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="UUID">
          <front>
            <title>New UUID Formats</title>
            <author fullname="Brad Peabody" initials="B." surname="Peabody">
         </author>
            <author fullname="Kyzer R. Davis" initials="K. R." surname="Davis">
         </author>
            <date day="23" month="June" year="2022"/>
            <abstract>
              <t>   This document presents new Universally Unique Identifier (UUID)
   formats for use in modern applications and databases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-peabody-dispatch-new-uuid-format-04"/>
        </reference>
        <reference anchor="VCON-CORE">
          <front>
            <title>The JSON format for vCon - Conversation Data Container</title>
            <author fullname="Daniel Petrie" initials="D." surname="Petrie">
              <organization>SIPez LLC</organization>
            </author>
            <date day="21" month="January" year="2026"/>
            <abstract>
              <t>   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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-vcon-vcon-core-02"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="vCon-white-paper" target="https://github.com/vcon-dev/vcon/blob/main/docs/vCons_%20an%20Open%20Standard%20for%20Conversation%20Data.pdf">
          <front>
            <title>vCon: an Open Standard for Conversation Data</title>
            <author initials="T." surname="Howe" fullname="Thomas Howe">
              <organization>STROLID Inc.</organization>
            </author>
            <author initials="D." surname="Petrie" fullname="Daniel Petrie">
              <organization>SIPez LLC</organization>
            </author>
            <author initials="M." surname="Lieberman" fullname="Mitch Lieberman">
              <organization>Conversational X</organization>
            </author>
            <author initials="A." surname="Quayle" fullname="Alan Quayle">
              <organization>TADHack and TADSummit</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CDR" target="https://www.itu.int/rec/T-REC-Q.825">
          <front>
            <title>Recommendation Q.825: Specification of TMN applications at the Q3 interface: Call detail recording</title>
            <author>
              <organization>ITU</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PY-VCON" target="https://github.com/py-vcon/py-vcon">
          <front>
            <title>Python open source vCon command line interface, library and workflow server</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="R. Sparks" initials="R." surname="Sparks"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="E. Schooler" initials="E." surname="Schooler"/>
            <date month="July" year="2002"/>
            <abstract>
              <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
            <author fullname="S. Casner" initials="S." surname="Casner"/>
            <author fullname="R. Frederick" initials="R." surname="Frederick"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of- service for real-time services. The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC7866">
          <front>
            <title>Session Recording Protocol</title>
            <author fullname="L. Portman" initials="L." surname="Portman"/>
            <author fullname="H. Lum" initials="H." role="editor" surname="Lum"/>
            <author fullname="C. Eckel" initials="C." surname="Eckel"/>
            <author fullname="A. Johnston" initials="A." surname="Johnston"/>
            <author fullname="A. Hutton" initials="A." surname="Hutton"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document specifies the use of the Session Initiation Protocol (SIP), the Session Description Protocol (SDP), and the Real-time Transport Protocol (RTP) for delivering real-time media and metadata from a Communication Session (CS) to a recording device. The Session Recording Protocol specifies the use of SIP, SDP, and RTP to establish a Recording Session (RS) between the Session Recording Client (SRC), which is on the path of the CS, and a Session Recording Server (SRS) at the recording device. This document considers only active recording, where the SRC purposefully streams media to an SRS and all participating user agents (UAs) are notified of the recording. Passive recording, where a recording device detects media directly from the network (e.g., using port-mirroring techniques), is outside the scope of this document. In addition, lawful intercept is outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7866"/>
          <seriesInfo name="DOI" value="10.17487/RFC7866"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8U963Ybt5n/+RRYevfEdkg6Tps2UbtNVclulGNbjiSn6UnT
HHAGJBENZ9jBjGQmcp9ln2WfbL8bbkNSSdrurs+JTYIzwIfvfgMynU5Hne0q
c6TGVyujPr88f6VuTppaTRX83emiUyem7kyrnr3tTO1sU49Hej5vzQ28Qk+e
nKS/Fbozy6bdHinXlaNR2RS1XsP0ZasX3dSabjG9KZp6WhRT49+afvDhaOT6
+do6/NptN/DC2bOr50o9ULpyDSxl69JsDPxVd+OJGp8d/wH+aVr4dHH1fDyq
+/XctEejEpY/GsECDqbu3ZHq2t6MANZfjHRrNEx0vNlUFqCEhZzSdakujK6m
V3ZtxqPbpr1etk2/gee+tG3X68p+b0pExY1pHb80Hl2bLTxZHo0AS0XyE37H
zeG/J6cX9LOuKlWaTttKtaaAt8LoGkYVwKvDCD9g6yWOmDW+060AanqnA3Tt
rmZL0+Tv8RA8uDCtqQsjQMq35NkbU/eAK6V+wo6VYqKM/wQYgpfVH/EdHEco
kRNgid8jdWdNu8Rx3RYrGF913cYdPXmCj+GQvTEz/9gTHHgyb5tbZ57gBE/w
xaXtVv0cKY68crskdnlyH/vgWxXQ3XXJgunbM55zZpt757n3x9mqW1fj0Uj3
3appkfSwqlKLvqqYwU91bU2l/qhem661hn6FTcLo94TFI3V59tp8r168OKHf
DGOu1DUh5PfObsz3s6JZj3bn/rypdbfStbpogK+B0Zd7pn8OuP0knfq7ssXH
fy//zmrTjUZ1067hhRugPDyL8n6kLp6ffPzhR5/gwJs3Z6cge9PTGSNjY/S8
KbfT0rqN7orVtDa307635XRBE+E7X56cv5qenF88S1+MWGRUNq0ZjWy9yJZH
/TG9XdnOTDd6g/KL4He6XRqgpSelUA9QQ1wyLc0Ns8u8aubIWUC5pnBPcDb3
7X98+IGu4a9z0Bbwz2UHMq7bEj7C2vB3ytnw9RQEcLYpF7yyqEKc6QiUg8JJ
lJ9CwQSZYCh8eUxvBragP1P5Vylbgw66mqnPmlsTBpmoV6tmrV3+C1AU+OTq
4vzF2ak6q4vZ/glPZymXxSmFBwe/8aQZ8+3M+HKmXlgDnLXW9WDSlxbovudX
mjZFh67UV/tnP56pL3q9rYbwHleA48EvNO3V8elnurgm/QyfL/v12hKvgVrd
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
P1KQ2MfXZgAA

-->

</rfc>
