Sufficit.Asterisk.Manager
1.25.806.1917
dotnet add package Sufficit.Asterisk.Manager --version 1.25.806.1917
NuGet\Install-Package Sufficit.Asterisk.Manager -Version 1.25.806.1917
<PackageReference Include="Sufficit.Asterisk.Manager" Version="1.25.806.1917" />
<PackageVersion Include="Sufficit.Asterisk.Manager" Version="1.25.806.1917" />
<PackageReference Include="Sufficit.Asterisk.Manager" />
paket add Sufficit.Asterisk.Manager --version 1.25.806.1917
#r "nuget: Sufficit.Asterisk.Manager, 1.25.806.1917"
#:package Sufficit.Asterisk.Manager@1.25.806.1917
#addin nuget:?package=Sufficit.Asterisk.Manager&version=1.25.806.1917
#tool nuget:?package=Sufficit.Asterisk.Manager&version=1.25.806.1917
Sufficit.Asterisk.Manager
Description
Sufficit.Asterisk.Manager
provides comprehensive Asterisk Manager Interface (AMI) integration for .NET applications, supporting both quick operations and persistent multi-provider services. This library offers dual-pattern architecture for different use cases: temporary connections for specific operations and persistent services for multi-server applications with automatic reconnection and event monitoring.
Features
Core AMI Client Features
- Lightweight AMI client for temporary connections
- High-level abstraction for sending Manager Actions (Originate, Hangup, Status, etc.)
- Automatic connection management with proper disposal patterns
- Flexible connection options (keepAlive configurable)
- Comprehensive error handling and logging
Multi-Provider Service Features
- Multiple provider management with automatic lifecycle handling
- Automatic reconnection with configurable retry logic
- Event handling infrastructure for real-time monitoring
- Health monitoring and status reporting
- Connection state management and cleanup
- Extensible architecture for custom implementations
Smart Event Management (NEW)
- Intelligent unknown event detection with helpful diagnostic information
- Smart logging deduplication - no more log spam for repeated unknown events
- Custom UserEvent registration with runtime discovery
- Performance optimized event parsing with cached constructors
- Diagnostic methods for monitoring unknown events and registration status
Framework Support
- Multi-target framework support (.NET Standard 2.0, .NET 6-9)
- ASP.NET Core integration (through derived implementations)
- Dependency injection ready
- Modern async/await patterns throughout
Installation
dotnet add package Sufficit.Asterisk.Manager
Usage
For detailed usage examples and documentation, see USAGE.md.
License
This project is licensed under the MIT License.
References and Thanks
This project builds upon the excellent foundation provided by several open-source Asterisk .NET libraries. We extend our heartfelt gratitude to the original authors and contributors:
Reference Projects
Asterisk.NET by roblthegreat - One of the original Asterisk .NET implementations that provided crucial insights into AMI protocol implementation, connection management, and event handling patterns.
AsterNET by AsterNET Team - A comprehensive library that served as an excellent reference for AMI action implementations, event parsing strategies, and authentication mechanisms.
These pioneering projects were instrumental in understanding AMI protocol nuances, connection lifecycle management, and best practices for .NET integration with Asterisk. Our implementation builds upon this knowledge while introducing modern patterns and enterprise-grade reliability.
Made with ❤️ by the Sufficit Team
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Http.Connections.Common (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Options (>= 9.0.8 && < 10.0.0)
- Sufficit.Asterisk.Core (>= 1.25.728.2133)
- Sufficit.Asterisk.Shared (>= 1.25.715.1625)
- System.Text.Json (>= 9.0.8 && < 10.0.0)
- System.Threading.Channels (>= 9.0.8 && < 10.0.0)
-
net7.0
- Microsoft.AspNetCore.Http.Connections.Common (>= 8.0.19 && < 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2 && < 9.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 8.0.19 && < 9.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.1 && < 9.0.0)
- Microsoft.Extensions.Logging (>= 8.0.1 && < 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.3 && < 9.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 8.0.1 && < 9.0.0)
- Microsoft.Extensions.Options (>= 8.0.2 && < 9.0.0)
- Sufficit.Asterisk.Core (>= 1.25.728.2133)
- Sufficit.Asterisk.Shared (>= 1.25.715.1625)
- System.Text.Json (>= 8.0.6 && < 9.0.0)
- System.Threading.Channels (>= 8.0.0 && < 9.0.0)
-
net8.0
- Microsoft.AspNetCore.Http.Connections.Common (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Options (>= 9.0.8 && < 10.0.0)
- Sufficit.Asterisk.Core (>= 1.25.728.2133)
- Sufficit.Asterisk.Shared (>= 1.25.715.1625)
- System.Text.Json (>= 9.0.8 && < 10.0.0)
- System.Threading.Channels (>= 9.0.8 && < 10.0.0)
-
net9.0
- Microsoft.AspNetCore.Http.Connections.Common (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Logging.Configuration (>= 9.0.8 && < 10.0.0)
- Microsoft.Extensions.Options (>= 9.0.8 && < 10.0.0)
- Sufficit.Asterisk.Core (>= 1.25.728.2133)
- Sufficit.Asterisk.Shared (>= 1.25.715.1625)
- System.Text.Json (>= 9.0.8 && < 10.0.0)
- System.Threading.Channels (>= 9.0.8 && < 10.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sufficit.Asterisk.Manager:
Package | Downloads |
---|---|
Sufficit.Blazor
Package Description |
|
Sufficit.Blazor.Client
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.25.806.1917 | 256 | 8/6/2025 |
1.25.728.2134 | 126 | 7/28/2025 |
1.25.715.1625 | 170 | 7/15/2025 |
1.25.712.1726 | 101 | 7/12/2025 |
1.25.710.2051 | 142 | 7/10/2025 |
1.25.710.1339 | 141 | 7/10/2025 |
1.25.707.1547 | 151 | 7/7/2025 |
1.25.701.1436 | 211 | 7/1/2025 |
1.25.630.1922 | 157 | 6/30/2025 |
1.25.628.2319 | 94 | 6/28/2025 |
1.25.612.2201 | 322 | 6/12/2025 |
1.25.611.1814 | 314 | 6/11/2025 |
1.25.611.1801 | 294 | 6/11/2025 |
1.25.410.1244 | 808 | 4/10/2025 |
1.25.331.1339 | 277 | 3/31/2025 |
1.24.1129.1445 | 162 | 11/29/2024 |
1.23.1129.2233 | 485 | 11/29/2023 |
1.22.1119.1438 | 1,071 | 11/19/2022 |