VoiceSessionRecord
AgentPrism.Abstractions.dllThe summary record of a real-time voice connection.
public sealed record VoiceSessionRecord : IEquatable<VoiceSessionRecord>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”IEquatable<VoiceSessionRecord>
Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”The audio content does not sit in this record. The
record is only for measurement and observability: who, when, how many
turns, how much audio. If audio is stored (default no), the bytes
are in the attachments table.
Each conversation turn also produces a normal runs row. Voice does
not change the run path; it only changes the input and output format.
Constructors
Section titled “Constructors”VoiceSessionRecord()
Section titled “ VoiceSessionRecord()”public VoiceSessionRecord()Properties
Section titled “Properties”AgentName
Section titled “ AgentName”The name of the agent being talked to.
public required string AgentName { get; init; }Property Value
Section titled “Property Value”CreatedBy
Section titled “ CreatedBy”The actor who opened the connection.
public string? CreatedBy { get; init; }Property Value
Section titled “Property Value”EndReason
Section titled “ EndReason”Why the connection closed.
public VoiceSessionEndReason? EndReason { get; init; }Property Value
Section titled “Property Value”EndedAt
Section titled “ EndedAt”The moment the connection closed; null while still open.
public DateTimeOffset? EndedAt { get; init; }Property Value
Section titled “Property Value”The connection’s identifier.
public required Guid Id { get; init; }Property Value
Section titled “Property Value”InputSeconds
Section titled “ InputSeconds”The total resolved audio duration (seconds). Stays null if the provider does not report duration — AgentPrism does not fabricate a duration.
public decimal? InputSeconds { get; init; }Property Value
Section titled “Property Value”OutputChars
Section titled “ OutputChars”The total characters synthesized to speech.
public long? OutputChars { get; init; }Property Value
Section titled “Property Value”long?
SessionId
Section titled “ SessionId”The identifier of the agent session the conversation runs in.
public required string SessionId { get; init; }Property Value
Section titled “Property Value”StartedAt
Section titled “ StartedAt”The moment the connection opened.
public required DateTimeOffset StartedAt { get; init; }Property Value
Section titled “Property Value”TenantId
Section titled “ TenantId”The tenant. Resolved when the connection is established and fixed for the connection’s lifetime.
public required string TenantId { get; init; }Property Value
Section titled “Property Value”The number of completed conversation turns.
public int Turns { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(VoiceSessionRecord?)
Section titled “ Equals(VoiceSessionRecord?)”public bool Equals(VoiceSessionRecord? other)Parameters
Section titled “Parameters”other VoiceSessionRecord?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(VoiceSessionRecord?, VoiceSessionRecord?)
Section titled “ operator ==(VoiceSessionRecord?, VoiceSessionRecord?)”public static bool operator ==(VoiceSessionRecord? left, VoiceSessionRecord? right)Parameters
Section titled “Parameters”left VoiceSessionRecord?
right VoiceSessionRecord?
Returns
Section titled “Returns”operator !=(VoiceSessionRecord?, VoiceSessionRecord?)
Section titled “ operator !=(VoiceSessionRecord?, VoiceSessionRecord?)”public static bool operator !=(VoiceSessionRecord? left, VoiceSessionRecord? right)Parameters
Section titled “Parameters”left VoiceSessionRecord?
right VoiceSessionRecord?