apntalk/ami-client
Composer 安装命令:
composer require apntalk/ami-client
包简介
High-performance, non-blocking Asterisk Manager Interface (AMI) client for PHP 8.4+
README 文档
README
Dialer-optimized, multi-server AMI client for PHP/Laravel.
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
GenericActionfor arbitrary AMI actions. - Laravel 12 adapter layer (
src/Laravel) withami:listen.
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.mdand*-pr-remediation-artifacts-index.md
If the latest chaos suite is not green, release notes must include an accepted-outcome decision record:
Install (Core)
composer require apntalk/ami-client
Requirements:
- PHP
>=8.4
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)
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)
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
- Usage guide:
docs/ami-client/usage-guide.md - NBRC:
docs/contracts/non-blocking-runtime-contract.md - Active batch pointer:
docs/ACTIVE-BATCH.md - Delta index:
docs/deltas/INDEX.md
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.
apntalk/ami-client 适用场景与选型建议
apntalk/ami-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 02 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 apntalk/ami-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 apntalk/ami-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-27