定制 radiusone/phpagi 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

radiusone/phpagi

Composer 安装命令:

composer require radiusone/phpagi

包简介

PHPAGI is a PHP class for the Asterisk Gateway Interface.

README 文档

README

Welcome to PhpAgi.

PhpAgi is a set of PHP classes for use in developing applications with the Asterisk Gateway Interface and Asterisk Manager Interface, and is licensed under the GNU Lesser General Public License (see COPYING for terms).

Compatibility

This release (version 3) of the PhpAgi classes is a significant overhaul from the old versions. Classes have been namespaced and renamed. Class properties are now strictly typed, as are method parameters and returns. Many new methods have been added, and old ones may have been renamed or had their signatures and behaviour changed from the previous version.

A possibly-not-exhaustive list of backwards-incompatible changes includes:

AGI::evaluate(string $command, ...$args)
The value of the code element of the return array will now always be an integer; the values of all other elements will always be strings. This is a private method, but its return is used for all AGI command methods.
Not a breaking change, but previously this method only accepted one string parameter. Now, if multiple parameters are provided, the first is treated as a printf() format specification, and remaining ones are passed into the string. When using this mode, any string values are wrapped in double quotes.
AGI::exec(string $application, array $args)
Previously, $args could be a string or an array. Now, only an array can be passed.
AMI::Atxfer(string $Channel, string $Exten, string $Context, string $ActionID = null)
The $Priority parameter is not supported by Asterisk and has been removed.
AMI::Getvar(string $Variable, string $Channel = null, string $ActionID = null)
AMI::Setvar(string $Variable, string $Value, string $Channel = null, string $ActionID = null)
The $Variable and $Channel parameters have swapped places, as the channel is now optional. If ommitted, a global variable will instead be returned or set.
AMI::Originate(string $Channel, string $Exten = null, string $Context = null, string $Priority = null, string $Application = null, string $Data = null, $Timeout = 0, string $Variable = null, string $Account = null, bool $Async = false, string $ActionID = null, bool $EarlyMedia = false, string $Codecs = null, string $ChannelId = null, string $OtherChannelId = null, string $CallerID = null)
AMI::ParkedCalls(string $ParkingLot = null, string $ActionID = null)
AMI::QueueStatus(string $Queue = null, string $Member = null, string $ActionID = null)
AMI::Status(string $Channel = null, string $Variables = null, bool $AllVariables = false, string $ActionID = null)
One ore more additional parameters were added to match updates to the AMI commands. For consistency with other methods, the new parameters were inserted, keeping $ActionID as the last parameter.
AMI::Redirect(string $Channel, string $Exten, string $Context, string $Priority, string $ExtraChannel = null, string $ExtraExten = null, string $ExtraContext = null, string $ExtraPriority = null, string $ActionID = null)
The parameters of this method have been extensively changed to reflect that the $ExtraChannel parameter is optional, and to allow the setting of other optional $Extra* values.

Installation

The preferred way to install this extension is through composer.

composer require radiusone/phpagi "^3.0"

Files

  • src/AGI.php - The AGI class.

  • src/AMI.php - The Asterisk Manager class.

  • src/fastagi.php - An example of a basic FastAGI server.

  • docs/ - README files for the classes.

  • api-docs/ - API Documentation (html)

Docs

  • README - The main README

  • README.ami - The AMI README

  • README.fastagi - FastAGI README

  • phpagi.example.conf - An example configuration file

  • fastagi.xinetd - xinetd.conf sample configuration for the FastAGI server

SUPPORT

Support for phpagi is available from the project website.

radiusone/phpagi 适用场景与选型建议

radiusone/phpagi 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 146 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 01 月 07 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 radiusone/phpagi 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 radiusone/phpagi 我们能提供哪些服务?
定制开发 / 二次开发

基于 radiusone/phpagi 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 146
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 95
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-2.1-or-later
  • 更新时间: 2024-01-07