PHPackages                             apntalk/ami-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. apntalk/ami-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

apntalk/ami-client
==================

High-performance, non-blocking Asterisk Manager Interface (AMI) client for PHP 8.4+

v1.0.1(2mo ago)05MITPHPPHP &gt;=8.4

Since Feb 27Pushed 2mo agoCompare

[ Source](https://github.com/apn-ra/APN-AMI-CLIENT)[ Packagist](https://packagist.org/packages/apntalk/ami-client)[ RSS](/packages/apntalk-ami-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (3)Used By (0)

apntalk/ami-client
==================

[](#apntalkami-client)

Dialer-optimized, multi-server AMI client for PHP/Laravel.

Key Features
------------

[](#key-features)

- Multi-server tick multiplexing with `AmiClientManager::tickAll()`.
- Non-blocking runtime contract (NBRC) for tick/connect/reconnect behavior.
- Strong per-node isolation across correlation, parsing, queues, and reconnect state.
- Bounded buffers/queues with backpressure controls.
- Typed actions plus `GenericAction` for arbitrary AMI actions.
- Laravel 12 adapter layer (`src/Laravel`) with `ami:listen`.

Production Readiness
--------------------

[](#production-readiness)

Use current gate artifacts as the source of truth (do not rely on hardcoded scores in README).

Resolve the latest files by UTC timestamp in filename:

- Latest score/verdict: `docs/ami-client/production-readiness/audits/*-production-readiness-score.md`
- Latest findings: `docs/ami-client/production-readiness/findings/*-findings.md`
- Latest chaos final suite: `docs/ami-client/chaos/reports/*-final-chaos-suite-results.md`
- Latest remediation report/index: `docs/ami-client/production-readiness/reports/*-pr-remediation-report.md` and `*-pr-remediation-artifacts-index.md`

If the latest chaos suite is not green, release notes must include an accepted-outcome decision record:

- [`docs/ami-client/production-readiness/decisions/accepted-chaos-outcome-template.md`](docs/ami-client/production-readiness/decisions/accepted-chaos-outcome-template.md)

Install (Core)
--------------

[](#install-core)

```
composer require apntalk/ami-client
```

Requirements:

- PHP `>=8.4`

Install (Laravel Adapter)
-------------------------

[](#install-laravel-adapter)

The core package is framework-agnostic. To use `src/Laravel/*`, install Laravel components in your app:

```
composer require illuminate/support illuminate/console
```

Quickstart (Laravel 12)
-----------------------

[](#quickstart-laravel-12)

```
use Apn\AmiClient\Cluster\AmiClientManager;
use Apn\AmiClient\Protocol\Ping;

$manager = app(AmiClientManager::class);
$manager->default()->send(new Ping());
```

`GenericAction` example:

```
use Apn\AmiClient\Cluster\AmiClientManager;
use Apn\AmiClient\Protocol\GenericAction;

app(AmiClientManager::class)
    ->server('node_1')
    ->send(new GenericAction('QueueSummary', ['Queue' => 'support']));
```

Start listener worker:

```
php artisan ami:listen --server=node_1
# or all configured servers
php artisan ami:listen --all
```

Quickstart (Pure PHP)
---------------------

[](#quickstart-pure-php)

```
use Apn\AmiClient\Cluster\ConfigLoader;
use Psr\Log\NullLogger;

$config = require __DIR__ . '/config/ami-client.php';
$manager = ConfigLoader::load($config, new NullLogger());

while (true) {
    $manager->tickAll(25); // bounded selector wait (ms), avoids hot-spin
}
```

Docs
----

[](#docs)

- Usage guide: [`docs/ami-client/usage-guide.md`](docs/ami-client/usage-guide.md)
- NBRC: [`docs/contracts/non-blocking-runtime-contract.md`](docs/contracts/non-blocking-runtime-contract.md)
- Active batch pointer: [`docs/ACTIVE-BATCH.md`](docs/ACTIVE-BATCH.md)
- Delta index: [`docs/deltas/INDEX.md`](docs/deltas/INDEX.md)

Contributing / Governance
-------------------------

[](#contributing--governance)

NBRC is authoritative for runtime behavior. Execute work by active batch/task files, and keep delta/task updates batch-scoped rather than appending to large plan files.

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance85

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Total

2

Last Release

76d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/238e8532f139bb499d647642d72681c9237ef2ca159e1bd285af3a32392ef2c7?d=identicon)[apn-ra](/maintainers/apn-ra)

---

Top Contributors

[![apn-ra](https://avatars.githubusercontent.com/u/226252440?v=4)](https://github.com/apn-ra "apn-ra (16 commits)")[![grimange](https://avatars.githubusercontent.com/u/41313767?v=4)](https://github.com/grimange "grimange (4 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/apntalk-ami-client/health.svg)

```
[![Health](https://phpackages.com/badges/apntalk-ami-client/health.svg)](https://phpackages.com/packages/apntalk-ami-client)
```

###  Alternatives

[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[api-platform/metadata

API Resource-oriented metadata attributes and factories

243.5M96](/packages/api-platform-metadata)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[laravel-shift/curl-converter

A command line tool to convert curl requests to Laravel HTTP requests.

935.3k](/packages/laravel-shift-curl-converter)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
