Verbara.Sdk.Sessions
2.1.0
See the version list below for details.
dotnet add package Verbara.Sdk.Sessions --version 2.1.0
NuGet\Install-Package Verbara.Sdk.Sessions -Version 2.1.0
<PackageReference Include="Verbara.Sdk.Sessions" Version="2.1.0" />
<PackageVersion Include="Verbara.Sdk.Sessions" Version="2.1.0" />
<PackageReference Include="Verbara.Sdk.Sessions" />
paket add Verbara.Sdk.Sessions --version 2.1.0
#r "nuget: Verbara.Sdk.Sessions, 2.1.0"
#:package Verbara.Sdk.Sessions@2.1.0
#addin nuget:?package=Verbara.Sdk.Sessions&version=2.1.0
#tool nuget:?package=Verbara.Sdk.Sessions&version=2.1.0
Verbara.Sdk.Sessions
Session Engine for the Verbara.Sdk ecosystem. Provides call session correlation, lifecycle state machines, and domain events for real-time telephony monitoring.
Features
- CallSession - Models the full lifecycle of a call: Created, Dialing, Ringing, Queued, Connected, OnHold, Transferring, Conference, Completed, Failed, TimedOut
- CallSessionManager - Automatic session creation and correlation by LinkedId, with 4-tier O(1) indexing
- SessionReconciler - Orphan detection and timeout handling for abandoned sessions
- Domain Events - Observable stream of CallStarted, CallConnected, CallQueued, CallHeld, CallEnded, CallFailed events
- Extension Points - Abstract base classes for custom routing (CallRouterBase), agent selection (AgentSelectorBase), and persistence (SessionStoreBase)
- SessionMetrics - System.Diagnostics.Metrics counters for sessions created, completed, failed, timed out
Quick Start
services.AddAsterisk(options => { /* AMI config */ });
services.AddAsteriskSessions(options =>
{
options.InboundContextPatterns = ["from-external"];
options.OutboundContextPatterns = ["from-internal"];
});
var sessionManager = app.Services.GetRequiredService<ICallSessionManager>();
sessionManager.Events.Subscribe(evt => Console.WriteLine(evt));
Custom Persistence
public class PostgresSessionStore : SessionStoreBase
{
public override ValueTask SaveAsync(CallSession session, CancellationToken ct) { /* ... */ }
public override ValueTask<CallSession?> GetAsync(string sessionId, CancellationToken ct) { /* ... */ }
}
services.AddSingleton<SessionStoreBase, PostgresSessionStore>();
services.AddAsteriskSessions();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- System.Reactive (>= 6.1.0)
- Verbara.Sdk (>= 2.1.0)
- Verbara.Sdk.Ami (>= 2.1.0)
- Verbara.Sdk.Live (>= 2.1.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Verbara.Sdk.Sessions:
| Package | Downloads |
|---|---|
|
Verbara.Sdk.Hosting
Verbara.Sdk.Hosting - DI extensions and meta-package referencing all Asterisk SDK sub-packages |
|
|
Verbara.Sdk.Sessions.Postgres
Verbara.Sdk.Sessions.Postgres - Postgres-backed SessionStoreBase for multi-instance deployments. Ships PostgresSessionStore + fluent UsePostgres(...) registration for Verbara.Sdk.Sessions. AOT-safe (source-generated JSON only, raw Npgsql parameterized SQL). |
|
|
Verbara.Sdk.Sessions.Redis
Verbara.Sdk.Sessions.Redis - Redis-backed SessionStoreBase for horizontal scale-out. Ships RedisSessionStore + fluent UseRedis(...) registration for Verbara.Sdk.Sessions. AOT-safe (source-generated JSON only). |
GitHub repositories
This package is not used by any popular GitHub repositories.