Skip to content
Tracon

LiveVoiceEvent

Namespace Tracon · Assembly Tracon.Abstractions.dll

One event observed on a live voice session’s sideband.

public sealed record LiveVoiceEvent : IEquatable<LiveVoiceEvent>

objectLiveVoiceEvent

IEquatable<LiveVoiceEvent>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

A single record with optional fields, distinguished by LiveVoiceEvent.Kind. The growth surface is the record and the enum, not the interface: a provider that reports a new fact adds a field here without breaking a consumer.

public LiveVoiceEvent()

Gets the delegation this event belongs to.

public string? DelegationId { get; init; }

string?

Gets when a transcript segment ends, in milliseconds from the session’s start.

public int? EndMilliseconds { get; init; }

int?

Gets the provider’s identifier for the conversation item, when it carries one.

public string? ItemId { get; init; }

string?

Gets what the event says.

public required LiveVoiceEventKind Kind { get; init; }

LiveVoiceEventKind

Gets the point in the conversation, in milliseconds from the session’s start, that a delegation was cut at.

public int? OffsetMilliseconds { get; init; }

int?

This answers “which part of the conversation is the delegated task”. It is the start of the last utterance segment before the delegation, so a cut that keeps every entry starting at or before it includes that segment.

Gets the provider’s stated reason for a close.

public string? Reason { get; init; }

string?

Gets the session duration the provider reports as billable, in seconds.

public decimal? Seconds { get; init; }

decimal?

The provider’s number, not a wall clock. Tracon does not see the media and therefore cannot measure the duration itself; when the provider reports none, the duration stays null rather than being invented.

Gets the provider’s session identifier, when the event carries one.

public string? SessionId { get; init; }

string?

Gets when a transcript segment begins, in milliseconds from the session’s start.

public int? StartMilliseconds { get; init; }

int?

Gets the text of a transcript delta or of an error.

public string? Text { get; init; }

string?

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(LiveVoiceEvent? other)

other LiveVoiceEvent?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(LiveVoiceEvent?, LiveVoiceEvent?)

Section titled “ operator ==(LiveVoiceEvent?, LiveVoiceEvent?)”
public static bool operator ==(LiveVoiceEvent? left, LiveVoiceEvent? right)

left LiveVoiceEvent?

right LiveVoiceEvent?

bool

operator !=(LiveVoiceEvent?, LiveVoiceEvent?)

Section titled “ operator !=(LiveVoiceEvent?, LiveVoiceEvent?)”
public static bool operator !=(LiveVoiceEvent? left, LiveVoiceEvent? right)

left LiveVoiceEvent?

right LiveVoiceEvent?

bool