ami_client_plus library

Classes

AmiAction
Base class for all AMI actions.
AmiClient
High-level AMI client facade.
AmiClientFactory
Factory for creating AmiClient instances with dependency injection.
AmiConnectionPool
Connection pool for managing multiple AMI connections.
AmiDataSource
Data source interface for AMI operations.
AmiEvent
Immutable AMI event entity.
AmiMessage
Immutable base class for all AMI messages.
AmiProtocolParser
AMI protocol parser implementation.
AmiRepository
Repository interface for AMI operations.
AmiRepositoryImpl
Repository implementation for AMI operations.
AmiResponse
Immutable AMI response entity.
Authenticate
Use case for authenticating with the AMI server.
BridgeAction
Bridge action to bridge two channels together.
CircuitBreakerStrategy
Circuit breaker reconnection strategy.
CommandAction
Command action to execute an Asterisk CLI command.
ConnectionInfo
Immutable connection information entity.
ConnectionStats
Statistics for a server's connections.
ConnectToAmiServer
Use case for connecting to an AMI server.
Credentials
Credentials for AMI authentication.
DisconnectFromServer
Use case for disconnecting from the AMI server.
EventFilter
Filter for AMI events.
EventFilterBuilder
Builder for creating event filters with a fluent API.
ExponentialBackoffStrategy
Simple exponential backoff strategy without circuit breaker.
ExtensionStateAction
ExtensionState action to get extension state.
GenericAction
Generic action for custom/unsupported actions.
GetVarAction
GetVar action to get a channel variable.
HangupAction
Hangup action to terminate a call.
KeepAliveService
Service for maintaining connection health through periodic ping.
LeastConnectionsStrategy
Least connections load balancing strategy.
ListenToEvents
Use case for listening to AMI events.
LoadBalancingStrategy
Strategy for selecting which server to use.
LoginAction
Login action for authentication.
LogoffAction
Logoff action to end the session.
MailboxStatusAction
MailboxStatus action to get mailbox status.
MessageParser
Interface for parsing AMI protocol messages.
MonitorAction
Monitor action to start recording a channel.
NetworkConnector
Interface for network connectivity.
OriginateAction
Originate action to initiate a call.
PingAction
Ping action for keep-alive.
QueueAddAction
QueueAdd action to add a member to a queue.
QueuePauseAction
QueuePause action to pause/unpause a queue member.
QueueRemoveAction
QueueRemove action to remove a member from a queue.
RandomStrategy
Random selection load balancing strategy.
ReconnectionStrategy
Reconnection strategy with circuit breaker pattern.
RedirectAction
Extended AMI actions for advanced functionality. Redirect action to redirect a channel to a different extension.
Result<T>
Result type for operations that can succeed or fail.
RoundRobinStrategy
Round-robin load balancing strategy.
SendAction
Use case for sending AMI actions.
ServerConfig
Configuration for a server in the pool.
SetVarAction
SetVar action to set a channel variable.
StatusAction
Status action to get channel status.
StopMonitorAction
StopMonitor action to stop recording a channel.
TcpAmiDataSource
TCP socket implementation of AmiDataSource.
WebSocketAmiDataSource
WebSocket implementation of AmiDataSource.

Enums

CircuitState
Circuit breaker states.
ConnectionState
Connection state for AMI connections.
KeepAliveStatus
Keep-alive service status.
MessageType
Type of AMI protocol message.

Exceptions / Errors

AmiAuthenticationException
Authentication-related exceptions.
AmiConnectionException
Connection-related exceptions.
AmiException
Base exception for all AMI-related errors.
AmiParsingException
Parsing exceptions.
AmiStateException
Invalid state exceptions.
AmiTimeoutException
Timeout exceptions.