<?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.43 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rosenberg-vcon-restructure-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="VCON Restructure">Virtualized Conversations (VCON) Restructure to Facilitate AI Agent Use Cases</title>
    <seriesInfo name="Internet-Draft" value="draft-rosenberg-vcon-restructure-00"/>
    <author fullname="Jonathan Rosenberg">
      <organization>jdrosen.net</organization>
      <address>
        <email>jdrosen@jdrosen.net</email>
      </address>
    </author>
    <date year="2026" month="September" day="11"/>
    <area>Applications and Real-Time</area>
    <workgroup>Virtualized Conversations</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>AI-native</keyword>
    <abstract>
      <?line 44?>

<t>The Virtualized Conversations (VCON) specification provides a structured format for storing recordings of conversations, including phone calls, email threads and multi-party chats. VCONs also store metadata like call transcripts and mid-call events, like a call hold or addition of a party. Its structure is well suited for 2-party and basic multiparty phone calls. However, there is a need for the VCON format to also act as a record of AI Agent conversations, which are just another type of conversation. This document proposes changes to the object model in VCON to make it a more suitable format for handling AI Agent conversations, as well as more complex conferencing use cases.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://jdrosen.github.io/vcon-restructure/draft-rosenberg-vcon-restructure.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rosenberg-vcon-restructure/"/>.
      </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/jdrosen/vcon-restructure"/>.</t>
    </note>
  </front>
  <middle>
    <?line 49?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Virtualized Conversations (VCON) specification <xref target="VCON"/> provides a structured format for storing recordings of conversations, including phone calls, email threads and multi-party chats. VCONs also store metadata like call transcripts and mid-call events, like a call hold or addition of a party. Its structure is well suited for 2-party and basic multiparty phone calls.</t>
      <t>However, there is a need for the VCON format to also act as a record of AI Agent conversations, which are just another type of conversation. Recent work by Birkholz <xref target="BIRK"/> has proposed a new format for recording AI Agent conversations, and a merged draft has been written to try and bring those into VCON <xref target="HOWE"/>.</t>
      <t>During the VCON interim meeting on 9th September 2026, a proposal was floated for a change to VCON that would cover these additional cases. This document writes up the change that was discussed. It presents the core data model, composed of two new objects - session and events. It then goes on to look at a variety of use cases and shows how they are handled by this data model.</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>
    <section anchor="data-model">
      <name>Data Model</name>
      <t>The basic data model is backwards compatible with the current vcon spec, and is composed of four primary objects:</t>
      <ol spacing="normal" type="1"><li>
          <t>Session (new): A session is a container for a conversation, which includes events, dialogs and participants, Most importantly, a session can contain other sessions, enabling a VCON to model a sidebar or usage of AI subagents.</t>
        </li>
        <li>
          <t>Events (new): An event is something that happens at a single point in time, such as a tool call request, tool call response, DTMF button, and so on.</t>
        </li>
        <li>
          <t>Dialog (existing, but modified): A dialog is record of information exchanged amongst participants, such as an audio recording, a text message, or an image.</t>
        </li>
        <li>
          <t>Parties/Participants (existing, but modified): Entities (human users or AI users) which were involved in a session.</t>
        </li>
      </ol>
      <t>VCON defines many other attributes, like extensions, subject, etc. which are unchanged and not discussed further here. The goal here is to explain just the primary first-class objects, and then show how they are used to model use cases. As such, this document is not an implementable specification - it is meant to illustrate a proposed data model.</t>
      <section anchor="session">
        <name>Session</name>
        <t>The session object is new to this proposal. A session represents an instance of a continuous conversation amongst one or more participants, for which the context of the conversation starts empty and grows through the conversation. We use the term context here to refer to both the memory collected in the minds of the humans participating, but also to Large Language Model (LLM) context which would be fed into an LLM with an AI Agent in the conversation. A session has a start and it has an end.</t>
        <t>Within the confines of the session, there is a timeline that contains both events and dialogs. An event is a point-in-time action performed by a singular participant relevant to the conversation, such as pressing a DTMF key, the departure of a user from the conversation, or the invocation of a tool. A dialog is a record of information exchanged amongst participants, such as an audio recording, a text message, or an image.</t>
        <t>In a simple phone call between two people, there is a single session. A traditional conference call - like a Zoom or Webex meeting - would also be a single session. Even though participants may come and go in a meeting, there is still a collective advancement of the context as the meeting progresses. For example, a user might join 10 minutes late and then inquire, "hey, what happened so far?". The answer given by someone who has been in the meeting represents this context.</t>
        <t>Along similar lines, a conversation between a user and ChatGPT with fresh context represents a single session. If a user calls a 1-800 number and is connected to a voice AI Agent, that is also a single session.</t>
        <t>Importantly, a session can contain other sessions. This happens when the parent session spawns the child session. The child session - being a full-fledged session - has its own start and stop, and has a reset of context when it begins - though it will typically be started with context created by the parent session. We consider two examples to make this clear. The first is a meeting which spawns two sidebars. Each sidebar is, in its own right, a distinct meeting - with distinct participants and a distinct timeline. Similarly, an AI Agent session - such as a Claude Code session - can result in spawning of sub-agents to perform a certain task. Each of those would be a distinct session.</t>
        <t>A session has participants, which refer to the entities (humans and AI agents) which were privy to at least some portion of the session. They may not have all been there all of the time, however.</t>
        <t>A session has an ID, unique only to the internals of the VCON document. This allows for sessions to reference each other within a VCON.</t>
        <t>The top level VCON has an array of sessions. One use case where there might be more than one, is when a VCON represents all of the calls made by a particular user in a given month, exported as a single VCON. In that case, there would be many sessions, one for each call. The top-level parties object would contain that user's party information, but also there would be an entry for every other person that the user in question spoke to.</t>
        <t>In summary:</t>
        <ul spacing="normal">
          <li>
            <t>Session
            </t>
            <ul spacing="normal">
              <li>
                <t>Participants</t>
              </li>
              <li>
                <t>Start</t>
              </li>
              <li>
                <t>EndTime</t>
              </li>
              <li>
                <t>ID</t>
              </li>
              <li>
                <t>Child Sessions</t>
              </li>
              <li>
                <t>Dialogs</t>
              </li>
              <li>
                <t>Events</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="parties-and-participants">
        <name>Parties and Participants</name>
        <t>The VCON specification defines Parties as an array of participants at the top-level of the VCON object. This remains as it is - a list of participants that were involved somehow in the conversaion(s) decribed by the VCON object. This document proposes adding an "id" parameter, which is an identifier for this participant unique only within the confines of the VCON object. This allows for easy reference to each party from the other objects in the data model - session, event and dialog.</t>
        <t>A session contains an array of Participants, each one of which is the id of a participant that was involved in the session. As noted above, a party is included in the list of participants in the session if that party was involved in the session at some point.</t>
        <t>A dialog contains an array of Participants, each of which is the id of a participant that received the entire content of the dialog.</t>
        <t>An event contains a single Participant, which is the id of the participant that generated the event.</t>
        <t>Simply put - Parties is a flag list of human or AI entities, without regard to their specific involvement in a session, dialog or event. Participants is a reference to one of more of those parties - referenced by id - indicating which of them were involved in a session, dialog or event.</t>
        <t>The current VCON includes a parties array as a child of dialog. The Participants array provides an alternative to it, referencing each participant specifically by ID, instead of by index. The usage of a reference by ID means it is trivial to redact/remove parties or participants without changing the indexing operation.</t>
      </section>
      <section anchor="events">
        <name>Events</name>
        <t>An event is a point-in-time action performed by a singular participant relevant to the conversation, such as pressing a DTMF key, the departure of a user from the conversation, or the invocation of a tool by an AI Agent.</t>
        <t>An event always happens within a context of a session. In other words, the session is a container and it contains events (and dialogs). This means that the session object includes an array of events. This is optional, since there may not be any events.</t>
        <t>An event is always invoked by a particular participant, which is the one that is responsible for causing that event. An event, being a point-in-time, has a time at which it happened. Events have a type, which defines the type of event. And then it has data, which is a data specific to the event type. For a keyup event, the data would be the DTMF key that was pressed (e.g., the number 8).</t>
        <t>The event object replaces and subsumes the Party_History object defined in VCON. Each of the party history events -  join, drop, hold, unhold, mute, unmute, keydown, keyup - are a supported value for the event type.</t>
        <t>This document also suggests adding two additional events: start-speaking and end-speaking, which can be used to capture active speaker detection in a call or conference. These events would contain the id of the party who started (or stopped) speaking.</t>
        <t>For an AI Agent session, there would be additional events for tool call request, tool call response, and reasoning event, which would be defined in an extension to VCON for AI Agents.</t>
        <t>Transfer gets modeled as an event also - more accurately, by a set of events: blind-transfer, consult-start, consult-transfer, and consult-conference. The blind-transfer event is used for blind transfers. It contains a reference to the session (session, not dialog) which is the result of the blind transfer. Often this would be the last event in the parent session, since the session ends upon transfer. The consult-start event indicates that a consultation transfer has begun, and it too contains a reference to the session which represents the consultation call. If the consult call results in a transfer, the original session would see a consult-transfer, and the second spawned session ends. The consult-conference event handles the case where the consultation results in a conference and not a transfer. Examples are provided in detail in sections below.</t>
        <t>The events are extensible.</t>
        <t>In summary -</t>
        <ul spacing="normal">
          <li>
            <t>event
            </t>
            <ul spacing="normal">
              <li>
                <t>id</t>
              </li>
              <li>
                <t>time</t>
              </li>
              <li>
                <t>participant</t>
              </li>
              <li>
                <t>type</t>
              </li>
              <li>
                <t>data</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="dialogs">
        <name>Dialogs</name>
        <t>A dialog represents a piece of content contributed by one or more participants, and then shared to one or more other participants in the session. A dialog has a start and optional duration. It also has a mediatype, allowing the dialog to represent audio, video, text, images or other content types.</t>
        <t>In this data model, Dialogs are included within a session. Each session has an array of Dialogs. The VCON spec allows the Dialog object to exist as a top-level object too. This document proposes retaining that for backwards compatibility; but go-forward implementations should include them only at the session level.</t>
        <t>The main example of a dialog is an audio recording. Their usage in VCON allows for several distinct ways to represent the audio content of a session. One common way is to have a single dialog. Even then, the model allows several distinct ways to use the dialog.</t>
        <ol spacing="normal" type="1"><li>
            <t>A single dialog for the entire session, representing the mix of audio from all participants, in a single audio channel.</t>
          </li>
          <li>
            <t>A single dialog for the entire session, with multiple channels, and a channel dedicated to each participant</t>
          </li>
          <li>
            <t>A single dialog for the entire session, with multiple channels, and each channel contains a mix of one or more participants. This is a common use case when stereo recordings are made off of a multiparty call; one participant usually shows up in one channel, and the mix of the others in the second channel.</t>
          </li>
        </ol>
        <t>Alternatively, a single session can have multiple dialogs. There are many distinct and useful use cases for this.</t>
        <ol spacing="normal" type="1"><li>
            <t>One dialog for each participant. In this case, each dialog runs for the duration that the user was in the session.</t>
          </li>
          <li>
            <t>One dialog for each block of 5mins in the session. For example, a 60min call would have 12 dialogs, each representing a 5min block of time. In this case, each dialog might contain audio from multiple participants, and can be created using any of the three single-dialog approaches noted above.</t>
          </li>
          <li>
            <t>One dialog per speaking turn per speaker. If multiple users speak at the same time, then the dialogs overlap in time. This is the most natural way to model conversations between a human and an AI Agent.</t>
          </li>
        </ol>
        <t>The goal is that the dialog object can support all of these, and it is up to the generator of the VCON to decide which to use.</t>
        <t>Dialogs are the core object in VCON and largely unchanged by this proposed restructuring. However, to make the role of participants clear, this document proposes adding the following additional parameters:</t>
        <ul spacing="normal">
          <li>
            <t>Contributors: The list of parties (by id) who contributed to the content in this dialog.</t>
          </li>
          <li>
            <t>Participants: This is a list of parties (by id) who received this dialog in its entirety.</t>
          </li>
          <li>
            <t>ChannelParticipantMap: This is a map which maps a channel in the audio recording, to a list of participants whose audio is mixed into that channel for the entirety of the dialog. If the audio recording is dual-channel, the map would have two entries - 0 and 1. This is optional and only relevant for multi-channel audio.</t>
          </li>
        </ul>
        <t>Note well - the omission of a user from the participants list does NOT mean that they didn't receive that dialog. It just means there is no definitive statement about whether they received it or not.</t>
        <t>There is in essence two distinct lists of participants here - those that contributed, and those that received. This allows the dialog model to represent asymmetric use cases. One such example is a town-hall style meeting, where an executive is speaking to the company. In such a use case, there would be a single contributor, but multiple participants receiving it. Indeed, the model allows for the VCOn to capture who heard what portions of the meeting, which can be useful for cases where a user is required to participate in a meeting, and their attendance is to be recorded.</t>
        <t>For backwards compatibility, the dialog object still supports the parties attribute, but it is effectively superceded by the two new attributes defined here.</t>
        <t>There is a list of Participants in the dialog, but also at the Session level. These allow for different granularity of modeling. Participants at the session level just indicate "who was here" without specifics on exactly what they heard and didnt hear. Participants at the dialog level specifically indicate that the given participant received that dialog. A VCON which has a single dialog for an entire meeting, would not have participants at the dialog level, and only at the session level. A VCON used to demonstrate exactly who heard what portions of a meeting - perhaps for purposes of demonstrating participation - might have them only at a dialog level and not bother at a session level.</t>
        <t>The recording-set type is removed in this proposal, replaced by the session concept.</t>
        <t>The transfer type is also removed in this proposal, replaced by transfer events.</t>
        <t>OPEN QUESTION: if a document is shared amongst participants, for example in a group chat - it was uploaded to the group chat - should that be a dialog and not an Attachment?</t>
        <t>In summary:</t>
        <ul spacing="normal">
          <li>
            <t>Dialog
            </t>
            <ul spacing="normal">
              <li>
                <t>Start</t>
              </li>
              <li>
                <t>Duration</t>
              </li>
              <li>
                <t>ID</t>
              </li>
              <li>
                <t>Contributors</t>
              </li>
              <li>
                <t>Participants</t>
              </li>
              <li>
                <t>ChannelParticipantMap</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="example-use-cases">
      <name>Example Use Cases</name>
      <t>This section shows example use cases and how the data model would be used to model it.</t>
      <section anchor="basic-phone-call">
        <name>Basic Phone Call</name>
        <t>In this basic case, user A calls user B and they have a phone call. The call is recorded by their mobile operator or perhaps their UCaaS provider if it was a business call.</t>
        <t>The VCON in this case is simple - one session, one dialog. There are two parties, and both are contributors and participants in the mixed audio recording. The call started at time T1 and ended at time T2. The VCON would look like this.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Bob</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>P1</t>
                      </li>
                      <li>
                        <t>P2</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog1</t>
                          </li>
                          <li>
                            <t>Start: T1</t>
                          </li>
                          <li>
                            <t>Duration: T2 - T1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>P1</t>
                              </li>
                              <li>
                                <t>P2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>Participants
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>P1</t>
                              </li>
                              <li>
                                <t>P2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="basic-online-meeting">
        <name>Basic Online Meeting</name>
        <t>Consider a simple Webex or Zoom meeting or similar. There are three participants. They all join at slightly different times near the start of the meeting at T1. There is a single recording of the audio content of the meeting, which is a single channel audio recording containing a mix of all participants.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Bob</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party3</t>
                  </li>
                  <li>
                    <t>Name: Charlie</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                      <li>
                        <t>Party3</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog1</t>
                          </li>
                          <li>
                            <t>Start: T1</t>
                          </li>
                          <li>
                            <t>Duration: T2 - T1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                              <li>
                                <t>Party2</t>
                              </li>
                              <li>
                                <t>Party3</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 1</t>
                          </li>
                          <li>
                            <t>type: join</t>
                          </li>
                          <li>
                            <t>time: T1 + 1</t>
                          </li>
                          <li>
                            <t>participant: Party1</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 2</t>
                          </li>
                          <li>
                            <t>type: join</t>
                          </li>
                          <li>
                            <t>time: T1 + 2</t>
                          </li>
                          <li>
                            <t>participant: Party2</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 3</t>
                          </li>
                          <li>
                            <t>type: join</t>
                          </li>
                          <li>
                            <t>time: T1 + 4</t>
                          </li>
                          <li>
                            <t>participant: Party3</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>It looks a lot like the VCON for the 2-party call with notable differences. First, there is a third party in the party list. There is still a single dialog, representing the recording of the entire meeting from time T1 to T2. We also have the list of contributors - Party1, Party2 and Party3. Being in the list means that they contributed to the dialog at some point. Notice however, there is no list of contributors in the dialog object. This is because the three parties joined at different times a few minutes after the meeting start (1, 2 and 4mins into the meeting). The definition provided for the contributors object in a dialog is that - presence there means that user received the entirety of the dialog. In this case, none of them were present for the entirety.</t>
        <t>There is a participant list in the session itself, which conveys the general list of "who was in the meeting" without consideration of exactly when those users were in the meeting.</t>
      </section>
      <section anchor="online-meeting-speaker-separation">
        <name>Online Meeting - Speaker Separation</name>
        <t>The previous use case had a single, mixed audio recording for the entire meeting, containing the combination of the audio contributed by all three participants. In this example, the vcon instead provides speaker separated audio, with each participant having its own single-channel audio recording.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Bob</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party3</t>
                  </li>
                  <li>
                    <t>Name: Charlie</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                      <li>
                        <t>Party3</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog1</t>
                          </li>
                          <li>
                            <t>Start: T1 + 1</t>
                          </li>
                          <li>
                            <t>Duration: T2 - (T1 + 1)</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog2</t>
                          </li>
                          <li>
                            <t>Start: T1 + 2</t>
                          </li>
                          <li>
                            <t>Duration: T2 - (T1 + 2)</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog3</t>
                          </li>
                          <li>
                            <t>Start: T1 + 4</t>
                          </li>
                          <li>
                            <t>Duration: T2 - (T1 + 4)</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party3</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
(omitted for clarity)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>The important thing to note in this case is that there are three dialogs, and they are for overlapping periods of time. Each dialog ran for the duration for which its respective participant was in the meeting. Furthermore, each dialog has but a single contributor - the one party whose audio is represented in that dialog.</t>
        <t>This use case is really interesting, since it provides speaker separated audio, without making use of multiple channels in the audio format itself. Rather, it is the vcon which provides the speaker separation.</t>
      </section>
      <section anchor="online-meeting-speaker-separated-multi-channel">
        <name>Online Meeting - Speaker Separated Multi-Channel</name>
        <t>In this use case, we once again have an online meeting. However, the audio recording format uses a multi-channel format, and each participant is present as one of the channels in the audio file.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Bob</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party3</t>
                  </li>
                  <li>
                    <t>Name: Charlie</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                      <li>
                        <t>Party3</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Dialog1</t>
                          </li>
                          <li>
                            <t>Start: T1</t>
                          </li>
                          <li>
                            <t>Duration: T2 - T1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                              <li>
                                <t>Party2</t>
                              </li>
                              <li>
                                <t>Party3</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>ChannelParticipantMap
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>0: Party1</t>
                              </li>
                              <li>
                                <t>1: Party2</t>
                              </li>
                              <li>
                                <t>2: Party3</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
(omitted for clarity)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>You can see in the example above there is a single dialog with a body. The body would be a multi-channel audio file. THere is now also an explicit ChannelParticipantMap object which maps the participants into the channels.</t>
      </section>
      <section anchor="ai-agent-voice-session">
        <name>AI Agent Voice Session</name>
        <t>We now consider the interesting case of an AI Agent voice chat session. In this simple case, a user is speaking to a customer support voice AI Agent, which they have called over the phone. The vcon was produced by the AI Agent harness. Because this is where the recording is taken, the vcon is able to represent each turn of the conversation as a distinct dialog. We can see that in the increasing start timers for each dialog.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                  <li>
                    <t>tel: +17325551234</t>
                  </li>
                  <li>
                    <t>tyoe: person</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Erica</t>
                  </li>
                  <li>
                    <t>tel: +18007329194</t>
                  </li>
                  <li>
                    <t>type: bot</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn1</t>
                          </li>
                          <li>
                            <t>Start: T1</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn1 - T1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {audio of AI agent initial greeting}</t>
                          </li>
                          <li>
                            <t>utteranceType: configured</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn2</t>
                          </li>
                          <li>
                            <t>Start: StartOfTurn2</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn2 - StartOfTurn2</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {audio of human response}</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn3</t>
                          </li>
                          <li>
                            <t>Start: StartOfTurn3</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn3 - StarOfTurn3</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {audio of AI agent first response}</t>
                          </li>
                          <li>
                            <t>tokens: 45342</t>
                          </li>
                          <li>
                            <t>utteranceType: llm-generated</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn4</t>
                          </li>
                          <li>
                            <t>Start: EndOfTurn3 - 2s // (an interruption of 2s)</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn4 - (EndOfTurn3 - 2s)</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {audio of human overtalk}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
(omitted for clarity)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Analysis
            </t>
            <ul spacing="normal">
              <li>
                <t>Analysis
                </t>
                <ul spacing="normal">
                  <li>
                    <t>type: transcript</t>
                  </li>
                  <li>
                    <t>dialogId: Turn1</t>
                  </li>
                  <li>
                    <t>transcript: "Hi thanks for calling Erica how can I help you"</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Analaysis
                </t>
                <ul spacing="normal">
                  <li>
                    <t>type: transcript</t>
                  </li>
                  <li>
                    <t>dialogId: Turn2</t>
                  </li>
                  <li>
                    <t>transcript: "Yeah I am really mad about this late fee"</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Analaysis
                </t>
                <ul spacing="normal">
                  <li>
                    <t>type: transcript</t>
                  </li>
                  <li>
                    <t>dialogId: Turn3</t>
                  </li>
                  <li>
                    <t>transcript: "I can help you with that, how about I"</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Analaysis
                </t>
                <ul spacing="normal">
                  <li>
                    <t>type: transcript</t>
                  </li>
                  <li>
                    <t>dialogId: Turn4</t>
                  </li>
                  <li>
                    <t>transcript: "I don't want to hear it, put a human on"</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>There are several interesting things to note about this vcon.</t>
        <t>First, the Party list shows two parties. The second of them is an AI Agent. It is designated as such, with a type of bot. We also see that the AI Agent has a name, in this case it is "Erica" which is the branded agent name used by Bank of America on their website and apps. Notice that there is also a phone number for the agent, which is the Bank of America number that the customer called to reach the agent.</t>
        <t>You can also see from the vcon that each turn of the conversation is a unique dialog. This allows us to capture each utterance independently. That is useful because it also allows us to adorn each utterance with meta-data. You can see in the example above that there is a "tokens" attribute on one the agent dialogs which indicates how many tokens were spent (this is just examplary of the idea of how meta-data works). A second example of meta-data is also present in the example - the "utteranceType" attribute. This attribute indicates whether the audio content was created by an LLM inference operation (llm-generated) or is hard-coded by the agent designer (configured). Both of these examples illustrate why it is really a good idea to have each turn modeled as a distinct dialog, because we can include meta-data specific to that audio segment.</t>
        <t>Another interesting element of this vcon is that there is overtalk. You can see that the human user interrupted the AI Agent at the end of its turn. This is a common occurence. The timestamps in the two dialogs (Turn3 and Turn4) clearly indicate what has happened. The user's interruption (Turn4 dialog) starts 2 seconds before the end of the AI Agents dialog (Turn3), indicating that there was an interruption and also conveying its exact duration.</t>
        <t>The final interesting element of this vcon is the inclusion of an Analysis section, which here shows the transcript of each of the turns. Note that, each analysis entry refers to the dialog it analyzes using the dialogId. This replaces the mechanism in <xref target="VCON"/> which references a dialog by indiex. Because we can now have multiple sessions, each with its own set of dialogs, it is no longer possible to reference the dialog by index. Because the ID is always unique within the vcon, each analysis element can reference any dialog.</t>
      </section>
      <section anchor="ai-agent-chat-session">
        <name>AI Agent Chat Session</name>
        <t>This example is actually quite similar to the one above, but now shows how it works when the exact same exchange happens over SMS, using the same phone numbers.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                  <li>
                    <t>tel: +17325551234</t>
                  </li>
                  <li>
                    <t>tyoe: person</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Erica</t>
                  </li>
                  <li>
                    <t>tel: +18007329194</t>
                  </li>
                  <li>
                    <t>type: bot</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Start: T1</t>
                  </li>
                  <li>
                    <t>EndTime: T2</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn1</t>
                          </li>
                          <li>
                            <t>Start: T1</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn1 - T1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "Hi thanks for calling Erica how can I help you"</t>
                          </li>
                          <li>
                            <t>utteranceType: configured</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn2</t>
                          </li>
                          <li>
                            <t>Start: StartOfTurn2</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn2 - StartOfTurn2</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "Yeah I am really mad about this late fee"</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn3</t>
                          </li>
                          <li>
                            <t>Start: StartOfTurn3</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn3 - StarOfTurn3</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "I can help you with that, how about I reduce it by 10%"</t>
                          </li>
                          <li>
                            <t>tokens: 45342</t>
                          </li>
                          <li>
                            <t>utteranceType: llm-generated</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn4</t>
                          </li>
                          <li>
                            <t>Start: StartOfTurn4</t>
                          </li>
                          <li>
                            <t>Duration: EndOfTurn4 - StartOfTurn4</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "I don't want to hear it, put a human on"</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
(omitted for clarity)</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Analysis
            </t>
            <ul spacing="normal">
              <li>
                <t>Analaysis
                </t>
                <ul spacing="normal">
                  <li>
                    <t>type: sentiment</t>
                  </li>
                  <li>
                    <t>dialogId: Turn4</t>
                  </li>
                  <li>
                    <t>sentiment: angry</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>There are several differences in the resulting vcon to be noted.</t>
        <t>Firstly, the body attribute of each dialog now contains the actual text, rather than an audio file. There is also no transcript element in the analysis, because it is clearly not needed - the media was natively text. THere is also no longer an interruption - something less meaningful in text-based interactions. However, the timestamps are still highly relevant even in the text interaction. They help convey how long the LLM took to generate the response; how long the user waiting before starting to type their answer; and how long it took them to type their answer.</t>
      </section>
      <section anchor="coding-agent-with-subagents">
        <name>Coding Agent with SubAgents</name>
        <t>In this example, we show one of the main use cases for multiple sessions in a vcon - usage of subagents. It is becoming more common for one AI Agent to spwan a second agent - synthesizing its prompt  - in order to take care of some kind of task. In this example, the user is interacting with a coding agent. They've asked the coding agent to explain a piece of code. To do so, it has spawned a sub-agent to analyze the code, and provide its results back.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: ClaudeCode</t>
                  </li>
                  <li>
                    <t>type: bot</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party3</t>
                  </li>
                  <li>
                    <t>Name: ClaudeCode SubAgent</t>
                  </li>
                  <li>
                    <t>type: bot</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn1</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "What does function ComputeRate do?"</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn2</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "Spawning sub-agent to analyze it"</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: Turn3</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party2</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: "It computes the interest via a database lookup of the user".</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 1</t>
                          </li>
                          <li>
                            <t>type: spawn-subagent</t>
                          </li>
                          <li>
                            <t>SpawnedSessionId: Sess2</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 2</t>
                          </li>
                          <li>
                            <t>type: subagent-completion</t>
                          </li>
                          <li>
                            <t>SpawnedSessionId: Sess2</t>
                          </li>
                          <li>
                            <t>result: "It computes the interest via a database lookup of the user".</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Session
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>ID: Sess2</t>
                      </li>
                      <li>
                        <t>Participants
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>Party2</t>
                          </li>
                          <li>
                            <t>Party3</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialogs
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>Dialog
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>ID: Turn2.1</t>
                              </li>
                              <li>
                                <t>Contributors
                                </t>
                                <ul spacing="normal">
                                  <li>
                                    <t>Party2</t>
                                  </li>
                                </ul>
                              </li>
                              <li>
                                <t>body: "analyze the file RateComputer.java and summarize what it does."</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>Dialog
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>ID: Turn2.2</t>
                              </li>
                              <li>
                                <t>Contributors
                                </t>
                                <ul spacing="normal">
                                  <li>
                                    <t>Party3</t>
                                  </li>
                                </ul>
                              </li>
                              <li>
                                <t>body: "It computes the interest via a database lookup of the user".</t>
                              </li>
                            </ul>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Events
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>Event
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>ID: ToolCall1</t>
                              </li>
                              <li>
                                <t>type: ToolCallRequest</t>
                              </li>
                              <li>
                                <t>Contributors
                                </t>
                                <ul spacing="normal">
                                  <li>
                                    <t>Party2</t>
                                  </li>
                                </ul>
                              </li>
                              <li>
                                <t>tool-name: read file</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>Event
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>ID: ToolCall2</t>
                              </li>
                              <li>
                                <t>type: ToolCallResponse</t>
                              </li>
                              <li>
                                <t>Contributors
                                </t>
                                <ul spacing="normal">
                                  <li>
                                    <t>Party2</t>
                                  </li>
                                </ul>
                              </li>
                              <li>
                                <t>tool-name: read file</t>
                              </li>
                              <li>
                                <t>tool-result: {file}</t>
                              </li>
                            </ul>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>This is now a much more complex case. For brevity, the timestamps have all been omitted.</t>
        <t>Firstly, we see that there are two sessions. The main session is between Alice (Agent 1) and the Claude Code agent (Party 2). Alice asks for an analysis of a file. In that session, we see two important events - spawning of a sub-agent (which is a unique session) and completion of the subagent. Note that the spawning and completion events contain a reference to the session identifier for the session that was spawned.</t>
        <t>The session that is spawned - is a proper session. It has participants. In this case, there are two of them - the main claude code agent, and the sub agent that it spawned. In this simplified example, the main agent provides input to the sub-agent - telling it to analyze a specific file - and the sub-agent comes back with its answer. This second session also has events. Here, there is a tool call request and a result. The tool call request is to read a file, and the response is the file itself. We also see that, in the second session, the sub-agent responds to the inquiry which its summary of what happnes in the file (dialog Turn2.2). This result is then taken by the main agent and passed on to the user in the main session (Turn 3).</t>
      </section>
      <section anchor="meeting-sidebar">
        <name>Meeting Sidebar</name>
        <t>This final use case shows the usage of multiple sessions in a purely human conversation - the usage of sidebars in a meeting. In meetings, a sidebar is quite literally a second meeting with its own set of participants (potentially including new ones) and content. It is spawned from the main meeting, and when it ends, the participants return to the main meeting conversation. This is identical to what is happening in the AI subagent coding example above!</t>
        <t>In this simple example, the main meeting has three participants, and it spaws a sidebar with two of them.</t>
        <ul spacing="normal">
          <li>
            <t>Parties
            </t>
            <ul spacing="normal">
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party1</t>
                  </li>
                  <li>
                    <t>Name: Alice</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party2</t>
                  </li>
                  <li>
                    <t>Name: Bob</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>Party
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Party3</t>
                  </li>
                  <li>
                    <t>Name: Charlie</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Sessions
            </t>
            <ul spacing="normal">
              <li>
                <t>Session
                </t>
                <ul spacing="normal">
                  <li>
                    <t>ID: Sess1</t>
                  </li>
                  <li>
                    <t>Participants
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Party1</t>
                      </li>
                      <li>
                        <t>Party2</t>
                      </li>
                      <li>
                        <t>Party3</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Dialogs
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Dialog
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: MainMtg</t>
                          </li>
                          <li>
                            <t>Contributors
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>Party1</t>
                              </li>
                              <li>
                                <t>Party2</t>
                              </li>
                              <li>
                                <t>Party3</t>
                              </li>
                            </ul>
                          </li>
                          <li>
                            <t>body: {main mixed audio file}</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Events
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 1</t>
                          </li>
                          <li>
                            <t>type: start-sidebar</t>
                          </li>
                          <li>
                            <t>SpawnedSessionId: Sess2</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Event
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>ID: 2</t>
                          </li>
                          <li>
                            <t>type: end-sidebar</t>
                          </li>
                          <li>
                            <t>SpawnedSessionId: Sess2</t>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>Session
                    </t>
                    <ul spacing="normal">
                      <li>
                        <t>ID: Sess2</t>
                      </li>
                      <li>
                        <t>Participants
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>Party2</t>
                          </li>
                          <li>
                            <t>Party3</t>
                          </li>
                        </ul>
                      </li>
                      <li>
                        <t>Dialogs
                        </t>
                        <ul spacing="normal">
                          <li>
                            <t>Dialog
                            </t>
                            <ul spacing="normal">
                              <li>
                                <t>ID: Sidebar</t>
                              </li>
                              <li>
                                <t>Contributors
                                </t>
                                <ul spacing="normal">
                                  <li>
                                    <t>Party2</t>
                                  </li>
                                  <li>
                                    <t>Party3</t>
                                  </li>
                                </ul>
                              </li>
                              <li>
                                <t>body: {sidebar mixed audio file}</t>
                              </li>
                            </ul>
                          </li>
                        </ul>
                      </li>
                    </ul>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
        <t>In this example, there are two distinct audio recordings embedded in the VCON. One - for the main meeting. The other - for the sidebar. The structure of the VCON is the same as the coding sub-agent case. The second session is a child of the first; there are events for the spawn and completion operations, which also convey the ID of the spawned session.</t>
      </section>
    </section>
    <section anchor="ai-authorship-declaration">
      <name>AI Authorship Declaration</name>
      <t>No AI was used to author this document.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Not covered in this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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">
          <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="7" month="September" 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-04"/>
        </reference>
        <reference anchor="BIRK">
          <front>
            <title>Verifiable Agent Conversation Records</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         </author>
            <author fullname="Tobias Heldt" initials="T." surname="Heldt">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
         </author>
            <date day="31" month="August" year="2026"/>
            <abstract>
              <t>   Autonomous agents based on large language models increasingly perform
   consequential tasks on behalf of humans and other agents.
   Demonstrating that recorded agent behavior truthfully represents
   actual behavior is essential for accountability, compliance, and
   human oversight.  This document defines a data format for verifiable
   agent conversation records using CDDL, with representations in both
   JSON and CBOR.  The format captures session metadata, message
   exchanges, tool invocations, reasoning traces, and system events in a
   structured, extensible CDDL definition for verifiable agent
   conversation records.  COSE is used as the signing method to allow
   for native interoperability in SCITT Transparency Services and the
   CDDL definition allows for seemless integration in Evidence as
   specified in RFC 9334.  The specification supports cross-vendor
   interoperability by defining a common representation that
   accommodates translation from multiple existing agent implementations
   with distinct data structure layouts that are typically represented
   in JSON.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-verifiable-agent-conversations-01"/>
        </reference>
        <reference anchor="HOWE">
          <front>
            <title>vCon Agent Session</title>
            <author fullname="Thomas McCarthy-Howe" initials="T." surname="McCarthy-Howe">
              <organization>VCONIC</organization>
            </author>
            <date day="20" month="May" year="2026"/>
            <abstract>
              <t>   This document defines an "agent_session" extension for Virtualized
   Conversations (vCon) that profiles the use of vCon parties, dialog,
   analysis, and attachments to carry the record of an autonomous AI
   agent's internal session - its prompts, tool invocations, tool
   results, reasoning, and file or artifact provenance - alongside the
   human-facing conversation that the agent participated in or acted
   upon.

   The extension is a Compatible vCon extension.  It introduces no new
   top-level fields and does not alter the semantics of existing ones.
   Instead, it specifies (a) how an autonomous agent is represented as a
   vCon party, (b) how agent message turns are placed in the dialog
   array, (c) how the internal agent trace (tool calls, results,
   reasoning, system events) is carried as a structured analysis entry
   whose body conforms to the Verifiable Agent Conversations (VAC) CDDL
   schema [I-D.draft-birkholz-verifiable-agent-conversations], and (d)
   how files and artifacts modified by the agent are carried as
   attachments.

   By projecting agent-session data into the vCon model, implementations
   inherit vCon's party/identity model, the lawful basis framework
   [I-D.draft-howe-vcon-lawful-basis], the lifecycle and redaction
   machinery [I-D.draft-howe-vcon-lifecycle], and JWS-based signing,
   without re-specifying any of those concerns.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-howe-vcon-agent-session-00"/>
        </reference>
      </references>
    </references>
    <?line 722?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAJNXpGoAA+09a3Mbx5Hf8SsmcF2ZvGAhkZITh87FoSg55p31iEjHlUul
rgbYAbDWYhfZByHY5f9yv+V+2fVzHguQomzHl3MllbKIfcz09PS7e3qzLBt1
RVe6MzP+U9F0vS2Lb1xuLurqxjWt7Yq6as3Rny5evjg2r13bNf286xtnutp8
ZudFWXS2c+b80pwvXdWZL1tnLmzr2vHIzmaNu8Fx4eX43fFoDu8s62Z3Zopq
UY9GeT2v7BpgyBu76LKmbl01c80yu5nXVdaEV7MS3my7UdvP1kXbAnDdbgPv
XT67/syYD4wt2xpmLKrcbRz8p+rGEzN2edHVTWFL/HF5/gT+qRv46/X1Z+NR
1a9hqrNRDiOfjWA+mLvt2zMDc7oRwP9oZBtnYdTzzaYs5oISW+WwJltm18Ua
VrStmzfLpu43d+FxPHrjdvBkfjYymanc284A0lxDd/FSXxXzuqE/zy+zCq7f
AAiu6gEyY+4xvjGMj/FXAE9RLc0f8B28vrZFCdcRob8vXLeY1s0Sr9tmvoLr
q67btGcPHuBjeAkmnupjD/DCg1lTb1v3AAd4gC8ui27Vz+DVr3ParwfDvcKH
eLui8eXhKb89Leq91x68iwamq25djkcj23erukFUwkTGLPqyZCIa/3sNqFvZ
yrzWQcb0CKzFVsU3hKwzo6BUrqO7TlAk138f3YfZqrpZ036cjUZItOGXMUjg
QIPZ0ynDjohjsOk/sKUOH3ty+fo/4sdmRfNmVZffZLCDxaKws9JlFrkI3oh2
FV/9/OVXz+JXV/XW8eD8AjAcMkP28OEI/pdlmbEzQJidd6PR9cqZd7J2u3Fz
gIGp22ya+qbIHVC58WjPDS8a/4GrwE9AXo2DxeXwV2vqhUnAngBvz8seb5rN
qq6cmduyhMuEZ9OtgKly5qN1X3ZFtrFNtzPzle3aKaG0JXamuZxZu84Ci1pT
Fm94KGBQW7Xzpth0MkyRZ3TDAct0MBM9avlhQHSOXG9zEAa4RoDXGppzai5h
hCDaitZsHbzS9kXHyzanAh1OM7NtMWeY+WK0uqn5HHYGkDCBBToeywKnyzAd
bgVKQ0ElCFFaIuyTsfgk4xNh8xJ1gNTtqpivgGud+bpv4a2qxomI7YdbMDXX
K5gfhGu/xpFgVzdA0S3iuFrCvzA9QlTPvnYAwLrOXQmbxhDCvbUF9BUwB9yC
+RAdSKMxHcBAeYk7fBu4VnAJ/9Ig83q9Kd1bfGwB+Knm+HLfIvoAsqkQL+xk
XgLPfGAuq66pc9gY3LJvPyjw53ffi6b/ghf/+k/S/t6kPRr9Q9H2azfHIVDx
mtnOPBFhav6CYvavQJmtEnxOYG7jTfabezvhVvjaGnQHvE9Cl4acOVeZbVN0
HfyL/NMI5ohmQCEBKQOR1oyKv6Dc/itg7mkv9wVH8AjI/DWM7zq8AZv2m25l
rtymc2iOmNOHp7+a4C7SEmxptjD5oqytbpsVLjY6Fyg8xEYPtDCvbxxtCACj
RAFDMIsNhAKuBbih3xBwOiaNBTPmRTvvW0AhEhIAAyMC+fGjSLpEtiQ4JsTa
hG3Yqm5bE8pZtLRgz4iGImQxEdOQMFJlljVAUBM+y7p+YyzKnBvbgB7d4Whe
PtDbLSi/Foh+iy/viFxIDMHMQAcdrc6DNUUhQtKhCnbbU7coqkKUK4oSMMuQ
kIBnx8+/vLpGMxH/NS9e0t+vn/3xy8vXz57i31efn3/xhf9jJE9cff7yyy+e
hr/Cmxcvnz9/9uIpvwxXTXJpNH5+/ucxU9v45avry5cvzr8YoxDukl2ybHHP
HFMObATSgW1HIMlATMzgB7zz5OLV//z3yWPz7be/eP3ZxenJyW+++05+fHzy
68fwYwvo5tnqqtzJT0TjyG42zjY4CoqUud2AsC9ZgCPCK4MsD9j8178gZv56
Zn47m29OHv9OLuCCk4uKs+Qi4Wz/yt7LjMQDlw5M47GZXB9gOoX3/M/Jb8V7
dPG3n4JWcyY7+fjT36FF9YF5iiT1HEmKSYZFZSA0lIYzO3+ztUhGyAsgSVBb
bsHSZYbpmwb3Es020k28EUWbcM6i7htgtGJtQbII+4CReTIF4cAcdASMdXxm
zj1LkRyGQTsLMDcqHSJxppKVtRawkWqRHHyieslMgQK/mIPcpzvPaxDABYDV
dHCh3KEs0vnmYFnLdIYltNxBDViBiYASzQYzgtADr4PanQGJAXh9C2araAJw
5ciGBQVzOjXPCDK/xopBxSW2NejJFUtRi8IYCBb5uaOhqyWgelMX+CwwD/hk
ExgZtQkip6vrknVl4/7WgysxSS61G/T6Jubp9fPPzKzvulqYBNQXqJrRo6l5
SpgyR+5t0aLEnuBzuDQwMFxO28HIRFCDpvOeAqDNvWXpCny7rsGs6AYo9+AC
C4JtUQclhcjv0FtcA54BWeS+wmNAJEvgycdT8wpHcu2DV9GIdwD7DIQhPm+O
Vv0aBgIB27Q4KOwH/X0sFLMlPV/d1OUNixhPBWiq0Q7nKExhKBhnJ+Rguw5k
Ug96RQwVgB32iikE9huJGkilm08jld9XHj2AeVD9QfmAb9fQwCSDDLLfsgaF
plYIEJl7uymRHslwQG5TFloUTQsOVWnbVtmJ95Y0D4q2VJX0OJ+n2mCZmvOW
dmgykMzwN8JKuwGWLV4jIzk1PjO0o+HRtYOdweGLsuzRQeucV/JoZyR66wNl
eZY4yn5iruPEoGHJhi9abyhMI8HQOK+xEb6qBV6eOzYPkYGLqq/7NhEVnjbR
7gOCIKM9pVOUL7xtbAZURJqo9PlnGAvma2But96IfbnEGALax3W/XO09PzVf
Ef7pBmi5tR+cNrpDjligYQOKsBahunYAIZjWdVkCUphG6XpR5a0CRUTehmUE
niALFcb7woKdB/+tlj1KJpLz5uiLL54fexiEIcjAAj28oLnQyK0MPMdiHv72
9qQAki4w7M3KsgsCMLEaYPsSRnBVDrv/VYHCTodgFpPlyBCJGY4Sj1QWCUeR
zi3jiaU9zSICf5pIVsuCMyuqDIdBi52CAK5B4cVmFcvYvgT5HVEDbEjpboSk
h6sNEg2psGWlQCIWzC0CHmQHDoaOCdEkih6zaOr1gbHEw0BZJDxFr6AYnybC
1/7U4nd0SWKR2D9ymIBIui16C2gLb1wNd5MdE52l4hTWAOIg2OrqH8tgmXp8
/1kDemD+r9wM3Gj1HzIhTKLnmTswPCpW9E+Q8eKFg9xG9sFtRwatWcjLuBHA
oEjQjVdOK27QtbhBeUJiMLA/Ycq2wp0MHginJdIAytHPAHj31q4JH7Ln62K5
6szXQIXm5CHyLuoOCh4GUV1Uf+uLBt4Zr5B8tsEIcKSoF7b5dMzKAZgdFJdZ
FrhmIF40HXBbtqs6OHEqKATESFaSPJWVwPael0AuuL8YGTXIZKhBUkmney3r
QaAvAMA/vLpmwbCAsVceO7Fc3tuoS88J5HbDj5Ps44cPDcepg8lYVSzwUASZ
m7qYhyj8hKVAIVGGvTmAZN/XshO3Ua0udBxYzVqyaXWAdmO3lfiHqwII0i/r
engJaHbmWChg6DZbgAOH3Blu41YVgCP0PoKgbLt6wxp8JWGF1nUSHhBBjbvb
wehLFIGZUj1c2iINd7tNgajdIaPQuDAr7ZKOMG8c+dnkTg7XSFoK0wRgzjbE
3ELNrY+ZMQGV4E/xuskGYa5XcmNtouiCQcQ6BkQ/s3hHjOWCgk0eDQ0yCu5Y
TpYdRu2CBMAl+OsJj3Mww99TZQE+BVM1UUGku8IeBBv6ogSx6MCXzl10HykG
dqAvSeHReiiesUA7j4PThBdRJsg3riH66mz7RhZLwgMjJ167RsAGok2VZyq9
GZ/ePsBtc6mRy1iAJTJQiYULxuLNjjipM7BtsFkoMgzyiGiaSO/Snu5IbqLl
t7IoCkneM080/FNeYldkxZGzvUUA9i6fTjDvA24J++QCPfn5oAm81mdjW8xO
YUeYBw0qClsKo3oziXSHI/QSJ2/ZoGC/bMomJbASrPcGbB0aXSCyTWMp7hKY
/2XlvC2MDNY4WSlLbtgxMhQp6QKSdkKBxpXT6RKJF3DDAm5tgaLIxOAtJSOD
BCCBy1IcVHYHtjeY+XXDoY8g1mhB5rIS28e2XtF6eiLnJHipqAwQaYQehIL5
FNCRMTo27E+pra1hNZaMNA0C+CFT4S62M2K7MoWBTDuMF9LMQA3qLgFvtLUM
i2jRtZOnylK1RqlSs63R9mv0bM5Go8w7CAZYMfb96MIVyjb661mVY5qS/r58
Sv9ckCyW9/l59nH5b/bDyQkR35LYJ5mDo/C4vamzox6hfzGlqlQy8ZID5mNq
Z+wLrTcYXK9oNPalMoMR87bbG5Ojl4nniuyMbt7AKAdoj0AS5E5iaCLw9yff
z6FgXBWVV2XGRT5GAOzadRgcl1gL+1yYgkavu5EYeZEIroTxt7db/PsARZwP
8moXsTw6w0jWTJnemmZS03iszBOFr7LgVrBjENyFRGp51yLe0leJLGahU5FR
75FBMi0PqQnFgA81x1GGRNqek4eNPD+rb8hmFKZrNaDl3zlIDul4pljwnDzI
HTMjbYoaAGFMSBAv4944uO/6wdVwBUKgeqsRUzpY1mEr1HMLUKggjECYHJpZ
jJl0bqlA0MlxaJjlCt2ZndmALMs8I5MFsyjt0iOaw0ccOFJ9OyFKrntc1tI2
uWi0ovFiQjG+Fj/ZBtoTDLOERD2XRLTEvYtIXciMtI83I1R6Z+FZ4m3AQgbz
5SSovBHGiFnfEevaB4tln0Z0JaUjwVXr52faIFXFpi9MJftI+iZZGz8c0pMY
iCcTgHwtDBnBpup6EHrP5bqdXgqTbbsjywKDPs7SzIiAKndveW4fgo0RSi9R
kEqFbAeWEUDMVkVu590DkMPAhkFDNim36d6Ts605L5qX7MKNVLtwfEu1zM8p
GkHwBVs65lhbbu0ucqLUIotiaDZyBNUHo8zUJBViachfAkheIkjE5ygK+RyL
4uDN9bbGMKjoiTiSbJquo/fh//WGgxQT3IW5twTFHiZLZ6cvDfaWEYBoe6M7
GRl9m1vlV62RLTIEKF5fSCkC2G9969MCIjV00on3MROimojvyASmsb0iBBR8
IoKte0pBK0hq3pDdIqlpP60GKziah/o1NghY4XoxqI4KoQeH4uiIRZLsN7oC
r6i9JYlXlHSDAiW6Bqweuelyyq9JzODjYxFYPJPsNdjkpZ1rUrWfgV0pq0K5
tPuvzwssT9AklCw71wKR2HVzokxX8oaQX2YopAPSs0GXHcsU0NXhf9d95/AX
/wsLycG/ncjKMwrFA6b6jdj7N7bsna8ziDCGC0sypVRX0S+XYDt7Kw0d7CgR
zvCdsfOfwXbYN2zL5Rh89Rd059DHnYXMwNxuSEhYjoLR04DkHKw/FlXM0+Tn
NFEgj+Ru6xQ7Q59iqKR3FK7S+MQRV6YAdebHRgGExX/Gocih577nAO2tnnF5
v7wYIqYBM7Mm317IchAPj8gDHR1N+PjyhAUbCeeS6htdY4ULeutLh0FItEHF
rQvSEnYyY9Vu56BrwUjBQAXLf4756E5izjHPOhlzQvGZvoS9RfSFn+EBXJJe
HWzRYLAgvYgAcB30gNEHuJAhssYSAyUWskd+dzi9hYL5OBV0EksROkgnAjd8
QWUnSPCJMCgxZCFwHorLRZLaA+MwQdJvcIv8+Nes6ALq/KBkMzlRHFYfYtXn
McWx1WUv2dMCFXF9L8xo+GZQYRJNwl765SK+4+kU/m6Z7cIOk9poCrBBgOb9
PIS11rmwhgFRMFRwL+doVhSRRIylOIqi9IwoLkQR8JNYSbqaBOZoFE192mhT
nml40VKkiuxD4jOQOFhuhnE3ljyIfXALY2HPbwk7gsZMQggmwxgCPUcVsGAc
5/JHx+EC/DPSynoTBK/8iYqJTDkNHgQvKYlybwo31yKuTr0XThKTHXB7ujHK
1dqGJXD8sIRQbnf4ouzQMOemhozJe7FKkZNJ7vCjYG4WlnU/Odxqz8p4ZBTL
IjlpNDG4O/AP2nMTzhCRjcxg6uJxyJa3YlCvNFFE0r55/9abiiGfQ1HiNJTo
LbanmuZLIjQaNCDzQRwa1u2UQEeXTqolfDBGb9e3xkEaJMLK218kHvfKYPCY
wO4Tiowt6wyewdtRwpyJt10Rd8qi2SmjyMjAViXYhMgxJqQBeLafo0zgXiaP
EFJo/YmWuiZRVDDykSA0+kz2arLPCAkPG3no0cZgqBTWvUZpY3dSniBmpPjp
6gNKTk5qsLRQhqG5FRJNkPuAwAmlleORg53EoQSvBfwqlJDXxVsCn9ZDvg5K
1JQBme54fFk4iLkKt+D0/lNTdoIrS0unI/g6S/kNIo0VTZ6EsVT6PPpxpuOo
r8wYaSdBxm2iKDhAVjc4DoljjgqkeERtzMMU3q4XCyaTqLYWldcnNFsSEWx7
8t+5yhFs4YIi6gpvUFICrY/tRXKPtJffpNF5iCNIui9JB5J9SwTq8ZVH8gOt
r0Yi6J4YEQhY/KKPSmR8hBOmfMx8EG3ScDMlYI+JMgrY033VHH3V+p1V2TyI
j3PgLhH0o48Ozzor6/kbxNVHa9zooXoYJKR/9RCeYsuCrQVCzcmpIkVATVjJ
0tBhItSedy2QsyZq+0fc53dgXweKF6K5SfZ5qeZKEk2rBswa3tpM5gFvtqlh
XpeEUKejXyWI2rjGuxQGXJsqXEH7A2wuDxYXitEtL5XtWrNcnWaFta4Q65BL
u9GSvMBBLO5A4QBZ9g2VN+9C1VVSih3l1jnaSBIjCbCQJqCKsCIKbeSJikP0
iTsZpaDUu+FgFxZBs10qQVFU3FEEHm7m4LrnTuufSBpjeXekszutjfYhFdEy
ME2JZUbA3KHWTSuWfQlYOOhE+iqU3PvcMjgJNSu7xOqhfPOwOm2YrsC3F7Wa
MpFT6PMXLeWVLtQ6q+ECWRFJaB2TqhRPPSYnNbblQuit8+4IQiTaKk1TnUUi
9a4Jovi4H0vT4iz5ux2OfcEyL5riud3Ek6yBGHnv4K82UjwiFPYqf6i64mBa
YUuhZn4B42rFW60I4zSkDJwqqM6zq9oA4tEMJsYRc1AEmRf7xDEIfZBJVHuA
mKdQ90OisJP9MF0o9/bxUQSKT6YomDQ/stILkBN8RiRj3SLnLA/FRBN8EJJy
rOTH2msMM3pWRMWRVx/6PAff8BjouGpTI5NScFTVHFMoOMqCx0w5wDPD8DIo
XLKoaXRPHsDGsDIQdWwd8kBoILYte52AMa/DEOB2b1vprUwSCb6YTqhbta+/
pzOnWblI+rBASx2FdrcGVmuKeVxeivKYItRqzHJZX72tshXKq7bblS7UZbFf
SZEWN+8JRUUbSXHlQrC/qx2pIg5/+yn3I0RqFswD70vh8CGlJEsnWiVlnjvE
z54dGx0NquLoGdViOXQDqJJLSi18xjNaaBqCQ5ODo74o1gQNkjJvKYxViJcY
yj3doKhNTKiCKpXBq6eqWDbUZ06Y0OUSXbvFm5kc0DFcIydapg0sgvJXS6IZ
paxv3GLBpXRo7/WgdOcuD1loPUMTqql9kE3OYlyHakIVUa8OOMIMZFSYIAry
KvGnJDpJ20YYzosFhSXAZ2tshQH6gsUX7S9ppzSBdcBLY87W8JEZ466j5YaA
j32uSAPidAgI6H/e0dkUFR5MJpzLyDHIQoVVh+aW7eCpk3SYB8GbB1xXkqaP
vJaJxNM5q2+mw1VcdxLZmVzbUTQx4RJj+QqhQ1UPMbjRqZyD7q7CoVHo3IED
IhXkAWW38pSNCsWA0Fao/RDwTd+wgYCpST8k1WyGammq9GKblRVP7JnbFOsa
wZrpUYCovDB23L2qyzCUS3kULvKofSY+qmqfaLbCc0dUjzB3G83I+lCkDkj0
fs9Rk4AvejEvXz17Yf745bMrPB90hpUDNin8l4jU4XriRXArpJAJj+LTIVA+
DoB80G/K2ubBbEqekXgIUaPUxLFVr0FCMIK7Dsx7hOfTvdogNkoHlUBPe+02
EJUCRcbe4Uqig3YVHYuS4GTo+yD5GIlIihureEgP8sm5i7gKxWuj9BhG0XG+
+AkdunpFNdYXwNchgsbHsVixkTI4l+oy+vFERf5OIzGhTlsiuqhj/dEdT2YF
xgFA4DvJXNd0fEkZiB/48sLaKw3MNkglsrkWJG6LqcKWJ4oKporINSRK4urx
jFx9H8Soq2AnBk+c6slZrbDQoCJ/2ySae/9MVzgZgYbqocAYI0EzTpbrRM31
iSbG4ounUWyRN41OblKRusQAfN2IhIopq0h/M+2d8ZUTf+kFdW84L4u5u/uV
08ErT+pZqIWT2jdfGKdv4pUT+U38AH6B/pb6OLhyGs0csYBcDLC+0gdD0Vz8
W37q3HzxJLqaQiCvCm8iGPAzuTfg0XDj1Un68zR66cAi3v3SrM53Z+bb7+jY
o7Lcy4oOlzxnHTIaXWj9sz/4wOcRgDnogII/19xo4XxCwRSqGMbW8AAW0B+d
AsDSqxIVTrmL7BAkPTz1ZNmk5EB+ajDim9cnOll80CL4VnXscg3KrAZ2ZzxA
4ipFw0kYh+NAGlAdRFF/cna484VHgxdAvDdl4X4aHkoXOVhABN4/AGvFoB4A
dw/kAQMJXrjGSe8+89m2sIYYGu7fg0wQX2TEnphfJs9GFLZHPYfmOX2PeU7v
nOf0znkevcc8j++c5xEIocuOdAt5OXWnKiY0m6Af2sWC47YY/AcLiQ5iqviY
0+EjPImRHpxbFU3uy7ij6gv0qCI5ouefEtv/QEZlT8ykfoEET0SxgoGDmvQr
p0nHG8nnizeXKHQlyIlsgS/I3j2amidU5hSXwaaFXrtDQTq1J5M6V/Oi7vAw
0Wqv2UdVHwYscTPTMmW0zBwWaLkoRq0+MRIF2xRDEW/NAhxfPQdmFx1HejwS
WfIfASoYC48lsC/rkseO2UbJfbeHkD1XsknWEQK2cRaxY2OctzlUuwXskoV5
oIL3QKwvSQhUUrva+eJTjRANY4apqx+7rLQfwwLnrnXlwkdOMJa+a6Oodul3
0bvj6Vm44JjrMSdf4hg8TT5N2GpKQIpn42GmbECkpgPKZymYusJyS3ZGyDCG
1d8UeB7ZZ9VWNvccNzlsuA4TgF5/R1pZImGzovLrSPV/VIdAzXcOmCe6dT5R
hCNQJwetsPWVu1oQ1vL6FGbJSe5V7QLTcxBNDrpxAucWY+OfdoTO+BPaEQOt
O7AljviB4+9hUQxshXfAdnoLbKfvgu30/rAddATuAdujW2B7/C7YHt8ftvva
WEf1GtszsZCfc9jymEWMb2hipJNITXnRPXdctWbir/j8r48l4D2cRNKcGwqb
uaaopfUApTyfxYltW+3ntUM/haLj6mY5Xx1LiX0pDcYMd8XAQoU0vUx1eH13
MKRvJK1TRVWmcR7LGzQaLwuhUAntePFMT0t0FUsfpNcIlxoW3T0lIuqZNWct
cOR6sV+2kWbnpI0Xq7mpeW0RCRM9r6BimTHqQSAFmYIhTUzuoaIA4OeULZM4
WAg7hWzKFnGKFXxLTOlzlAkrN2hkv2VxB7VDqmzN9kSrlSJZlEaEe1H9Skwc
RWtCcskEs+I2BBZUB/hPRWL2ZPLP0iE9HL2NX3l4dmjsk7NDw5+e/SjiePTn
uueiDOcNRw0TU5VK7KSlCRdutUKTSsE2/BUnMg+ktpnozfXn3pfZSi6sot5B
gJjuMKL8GeBQNrCX+/aehzIch6t9Vf6fqD2D7+YD/h7OH5oIrFwsQlm6YhQp
KuznDg+UGYhPCJEUkhAcC6KQDI2zwdbM+7YDL6/xVTDDnhG+p48EydGVxp5k
0kuQQ+aMcJaw3GEx76OsjAcXGBgD3+iYqvvH7mAoiE6KHTqQt1VsVcO2o/ee
ZM5J8FGB0qFuQxRx99l99bmwWYNQGR8gkrMWFRZStcGZRGXdtKFozOu8Hywm
KeDhyjPzy5NfPzr96KOPTk4fPQ53djU8zUfA30+qPmuKuR3O8PHDhzDJb05+
E8+AEZhZ3f0fi9N7ys9r2N/7S0+A6uWCXnk/KXrA0GU5wU3prLRwKjo8/Lhs
WH9/F73Ug0xrsHDgmtBLJ7aX2Ev23as7YMjTP7yQw+a8X+epvrT/9Hu7HX7F
XFinB37eYfHjtAfs/QioR3cv4ZG8tP/wj7Bn3GtluBTigxpETHtmHn/06PHp
7TtZluvMn4l+NyYe72MiWehpax48wJOYLOGbfqMxiNP2+G48PUYvaTDYD3Iz
B/uNkr2z5Zv3UNuZOa9suWsLliDRjyBpQu9iucyi9DKPeTuLHjsz488LlM7V
m1Zqe0rqIUkSjtLEKMIvzcqVG7Or+7Gf3L7v7KeHZv+zsysY3q7Vn1nbXOrM
SG1RI6qFcz9g3keH5r3k0mtZlXYKRTMf18wAXP6ASR8fnjSvsRZvKwelV9T2
FebckMcopFGNRxp0tFRXz6cRYiuFXOjW+9ARvlCDY/WUD7YzRXLckSsCoiQ2
mxRSta7xUD6+4Wt8sUgQSyJdWywrKw1guB2jWIN6Ehf0XAioe60/sE2ocbXF
kuXU86dJxkR24/Rc3gxQSAlwGgHf5RIF7DwNdEsiCAwIpFcqVcfCgK2btYW0
MLObTetD61F4IfTo4ooEObGrQQIbm2YCynA+ecWv0xt6YsCRCWWlXaOVkmm1
vj2afFEnmV98lvpOc4sMc+lfEooUQhFk38blfjSWl7Qm+kBHSUa81ROWWN+n
KYNC69XiEW1eA0SD8fi4h+tshsUkU3MP5yLZAjNm7TAO1Xa4j3zsXLDmq9q1
ma6eiURmpeMRPAbHwsH4hleO1OylOjgGgRr7MkLB+rckj3EEhZ5amuN5/XNl
iuh8U3hKKUeN48EyOcwzTpRbtDrdK7/asJyotHaQI0eLP+qNJp0vC3960Xd3
MEeJFj3GOgDqHtfk2byOahwFscTWMOVRMKNg/U+wrkXr9EOXtah16na1E6YV
wW3Nsq5zxqseuwpkHJ8yHnoKE091W/YY9BhawHh6bt/KkT/YpOVaGz1w0Vss
JV0ZNUgU2TgIMRatV8Up5XqWDl16gxUhuSYv1eRRx0IUQ4m45gOHlmo8Sx1O
O1PGrQPc+igRV0kzrR+x6YEijDTKMZ8ziCsqpRNjGzVPuJZTOh+2qdVzxGaN
nnyW/rCnQueYK1zU4h06rwzCsXENADBQx5O4l0uEz62VfrfRzCSDkV04H6YZ
F8pnheOfHCVe0JHh+22inNH0FfKVt4m0BE6lN4Emyk8rFUknU14t6qWA28a6
wok1QHetjstNxOgodTvI5KLAxMe+wY7+bXpa9VKL1H3fBw4mY8iiaNe4+fKJ
jKiXHqXNQzqUW8gU2EPmScotGM9Iz5BFPcERfJLQPsnFp/d9RL3oNL9cV0s8
zlu33N8jaWYXLTT0snkSpZcvn0ZNRkQ1RV21cNf2kCk7y30MwzHsXQgApKEc
bOsZ92UOOUGae97x8b2/4Qc2fNNQ/dBK5bSJFYbnEWfhYwYFf8si6q3JxEnn
q7R5re8dQ1GZq+dXk2if6cnYjPhRyo7+Gb74fxG++B4ulA7wMwhlvJcL9441
/YPENu7nHWJXrp7TbSATTx7+S7yxP1nEI8LP4YxvEtO45en33vN7e7L81vcL
b+w73VTttQ49Mw773P6pM9Amy2Z30J2OatPU+OLOIMi67IjRkSQ6vKsedSln
jyjrEbkriyQHLAkGPttOpjapJmlM0Vgx8ek8bZoiSfzSqo4tFdWWmk4UZE1i
j61ovYmIhxTw+1AuF3eE+mmQfabH0QmeKC+jk4ohMDTjsugzICUW1mMdFvxA
rxGBgsGymW35JKZruHfc4KtsscVLm0GVfatiuYqPSOIhEG8QY3O2aECpVibW
ZHuSWJL6hOPz6BV1WA4Pu6eMpZtLYclP0uflQHtB2y42MNnGepQPYxscU+DW
5p/48xM0BjfaecORk0PPS577ouZPXpEhQ/Lkqp+xaR1S2r7CacvmapxPpm4b
6YH/PXuP6+eIeLPQZTB85UVCOUAxwILV0n8Wbi2lEDidt7ZgMe1ma7nzCfnC
7DECHewq9AuLb9SU3zT1GkjUZNQxocmlEbSlT6pxTz+qcnxTiGdB/acP1nVp
As1veeWTjnNGIYdRiAw+xEx/+0bcsfh+/F2SpANOjmwGPhYsrp5orzjtNmRD
52wKd7A9r4PLeXWpa9CKEeolhAcVf9K0PncEx4bgB4y1O0fay/f7kTxF/lD7
76ex7t5bZ31F9TR4SnrRV3xE6gLoFgT4axQSef3pPSyU+1tKB8yKK+3RfpDM
iu49LaT3N2s6Okjbd079Z/azzQ2oBu6QiBKcar77jUoeZMnx9JAmv29JPfFX
pnIotmGY8YScUI/jn3dXuO9X0uvAGX/hslPKvM8c+ARz8Y+Dn5gzYt5Iy1r2
TgYd2LMBt6Y8coBGEiqdpuUkt1DKgXkjaonFH9onWO7lhGOa6df2xkr7Sjz3
WHwj0aiCeWw6vi+kp+8F6aNDkP7gfduj7H3i80DXdYnnH1MEMyHqvdfc0fEH
bAG2gsz4k8r4QVPC/71BO70TNDaD/l6w+QeUqb7F23SiTaOhVP8DxguW9CTf
pYUt4pZA+PFyf84/MhnT7z2IGxHb5mg3uSTDoKc244+piDEVNfTVPjekic0R
G0Anx77hU/wBDpbbR5xWO8VcAb0Edkir59F9iItOf7Ntr99ICG2yBFYALtTG
+vat8ec8YrPkKDocJ2E2GfFYGmuqCPSfzhDpGIU1pSRTZhi8JiD4Dkm3d47c
67AfbvnOuGJaTdPvqGk/YTW8Mjle0dSb8OEbMleHnxsZnuRId1lTmFkwmee8
dXO/dVGvyX6m1qJILoU2Le+iT/elZioNze/6OteiQudXceR3jAJsZaG+glf3
UVKDpGsWwyXv4seh2LoMQVxxK4ye9aZ2mdo2X/snat9o9O3SM1fDtrPSBY7Z
Vb/FMXymkEZ8dCgEoQ1IVL9KY/K0Fi0QHiaDJ4NGaXHL3GjZPGbuQ+z8/ald
VKqtXTSpzb98jaoKnjwBcSTuuKiZYx+D50/mELgVV79pTizaVj7DTV2dORYQ
vJMqPOvby+Ik5tGxeHtaznzFnxIS2cfJDV/DHRIS3lW7xaPb9A366xxVSTLB
Wfq+fskoabpC1Cx/t9yDTj9wJLHyskBni5N4sjP+Y0kHcgdJ/eXRpsYEZSHF
6PptbvoCMeyISiXKYqoDqmzvE9+Ey6RHjH5JChu/MnkkszaOsop66Cx6/dBn
2PH/JKvm3E5/K+KHI/rR6b3om6jqTia5618EX10KP/elgsKxog+xDY8z+Z5n
iIM22gyOMQYZ9jOsEv9JasCfwx487+Krf6dDxrzZ0cE4NnT4me/nJnFPdJEZ
4e6P4yVRe/X3GvsfwZu5GkD8vubqnY7Dt8p8+9u4H5NLLY3QjjM9SYKfXJ25
PPowDnfsxx5jmTeTYkHBOperF8ITApkUaElbQh8M5EYmbUg9Wm3bnafhBbap
r/c0rlQl6JdRWGeCEf1JtMy4Wb3ai3s2ppad+O/ARZl+TQyrIZr29CZVSeHG
vlvBTq6KjXnqMB8gB1Nf1HiXWvVIRxpLT5qkzyIPc+XmPfXIuoiPzbbm2w9a
ufMd9dcDyEA5RP2I4mFA4mYZWVsE2fwNeCr4ZcQ18fK3Z5zZdfm/jRewSjeG
Ia9fPn1prH/STUf/C+yOP1zWiQAA

-->

</rfc>
