Verbara.Sdk
2.1.2
dotnet add package Verbara.Sdk --version 2.1.2
NuGet\Install-Package Verbara.Sdk -Version 2.1.2
<PackageReference Include="Verbara.Sdk" Version="2.1.2" />
<PackageVersion Include="Verbara.Sdk" Version="2.1.2" />
<PackageReference Include="Verbara.Sdk" />
paket add Verbara.Sdk --version 2.1.2
#r "nuget: Verbara.Sdk, 2.1.2"
#:package Verbara.Sdk@2.1.2
#addin nuget:?package=Verbara.Sdk&version=2.1.2
#tool nuget:?package=Verbara.Sdk&version=2.1.2
Verbara.Sdk
Core abstractions for the Verbara.Sdk ecosystem — shared interfaces, base types, telemetry catalogs, and source-generator attributes consumed by every other package in the family. Native AOT, zero reflection, MIT licensed.
What it does
This package is referenced (transitively) by every other Verbara.Sdk.* package. Most consumers do not install it directly — they install Verbara.Sdk.Hosting or one of the protocol-specific packages (Verbara.Sdk.Ami, Verbara.Sdk.Ari, Verbara.Sdk.Agi) and pick this one up automatically. Install it explicitly only when building a custom package that needs the abstractions without the protocol implementations.
Public surface
- AMI core types —
IAmiConnection,IAmiConnectionFactory,ManagerAction,ManagerEvent,ManagerResponse,IEventListenerand the protocol-defined enums consumed by source generators inVerbara.Sdk.Ami. - AGI / ARI base types — protocol-shared enums and base records mirrored across
Verbara.Sdk.AgiandVerbara.Sdk.Ari. AsteriskSemanticConventions— public static catalog of 60 const strings across 14 nested classes (Resource,Channel,Bridge,Calls,Dialplan,Sip,Media,Queues,Agent,VoiceAi,Events,Tenant,Event,Node). Use these asActivity.SetTag(...)keys instead of hard-coded strings so dashboards survive SDK version bumps. Pinned by 14+ unit tests.AsteriskTelemetry— runtime-discoverable lists of everyActivitySourceName(9) andMeterName(15) shipped by the SDK family. Plug intoOpenTelemetrywith one call:tracerBuilder.AddSource([.. AsteriskTelemetry.ActivitySourceNames]).- Source-generator attributes —
[ManagerActionAttribute],[ManagerEventAttribute],[JsonSerializable(typeof(...))]markers that drive the four Roslyn source generators inVerbara.Sdk.Ami.SourceGenerators. Replace runtime reflection entirely.
Install
dotnet add package Verbara.Sdk
Most consumers will instead want:
dotnet add package Verbara.Sdk.Hosting # meta-package: Sdk + Ami + Agi + Ari + Live + Activities + Sessions + Config + DI
OpenTelemetry one-liner
using Verbara.Sdk; // AsteriskTelemetry
using OpenTelemetry.Metrics;
using OpenTelemetry.Trace;
builder.Services.AddOpenTelemetry()
.WithTracing(t => t.AddSource([.. AsteriskTelemetry.ActivitySourceNames]).AddOtlpExporter())
.WithMetrics(m => m.AddMeter([.. AsteriskTelemetry.MeterNames]).AddOtlpExporter());
For the batteries-included variant (Console + OTLP + Prometheus exporters wired automatically):
dotnet add package Verbara.Sdk.OpenTelemetry
builder.Services.AddAsteriskOpenTelemetry().WithAllSources();
Native AOT
Zero runtime reflection. All serialization paths use Roslyn source generators (ActionSerializerGenerator, EventDeserializerGenerator, EventRegistryGenerator, ResponseDeserializerGenerator). Trim-safe (<IsTrimmable>true</IsTrimmable>); 0 trim warnings across the package family. See ADR-0001 and ADR-0003 for design rationale.
License
MIT. Part of the Verbara.Sdk project.
| 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.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Verbara.Sdk:
| Package | Downloads |
|---|---|
|
Verbara.Sdk.Sessions
Session Engine - call session correlation, state machines, and domain events |
|
|
Verbara.Sdk.Ami
Asterisk Manager Interface (AMI) client - actions, events, responses and protocol handling |
|
|
Verbara.Sdk.Live
Live API - real-time domain objects for channels, queues, agents and conferences |
|
|
Verbara.Sdk.Ari
Asterisk REST Interface (ARI) client - HTTP + WebSocket for Stasis applications |
|
|
Verbara.Sdk.Agi
FastAGI and AsyncAGI server - AGI commands, script execution and mapping strategies |
GitHub repositories
This package is not used by any popular GitHub repositories.