radiusone/phpagi

PHPAGI是用于Asterisk网关接口的PHP类。

v3.0.1 2024-01-22 22:04 UTC

This package is auto-updated.

Last update: 2024-09-21 15:15:28 UTC


README

欢迎使用PhpAgi。

PhpAgi是一组用于在Asterisk网关接口和Asterisk管理接口开发应用程序的PHP类,并使用GNU通用公共许可证(参见COPYING以获取条款)授权。

兼容性

PhpAgi类的这个版本(版本3)与旧版本相比进行了重大改进。类已被命名空间化和重命名。类属性现在是严格类型的,方法参数和返回值也是如此。已添加许多新方法,旧方法可能已重命名或其签名和从上一个版本的行为已更改。

以下是一些可能不完整的向后不兼容变更列表:

AGI::evaluate(string $command, ...$args)
返回数组中code元素的值现在始终是整数;所有其他元素的值始终是字符串。这是一个私有方法,但它的返回值被用于所有AGI命令方法。
这不是一个破坏性更改,但以前此方法仅接受一个字符串参数。现在,如果提供了多个参数,第一个参数被视为printf()格式说明符,其余参数被传递到字符串中。在使用此模式时,任何字符串值都将被双引号括起来。
AGI::exec(string $application, array $args)
以前,$args可以是字符串或数组。现在,只能传递数组。
AMI::Atxfer(string $Channel, string $Exten, string $Context, string $ActionID = null)
Asterisk不支持$Priority参数,因此已删除。
AMI::Getvar(string $Variable, string $Channel = null, string $ActionID = null)
AMI::Setvar(string $Variable, string $Value, string $Channel = null, string $ActionID = null)
$Variable$Channel参数已互换位置,因为通道现在是可选的。如果省略,则返回或设置全局变量。
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)
为了与其他方法保持一致,添加了一个或多个额外的参数以匹配AMI命令的更新。新参数被插入,$ActionID作为最后一个参数。
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)
此方法已大量更改参数,以反映$ExtraChannel参数是可选的,并允许设置其他可选的$Extra*值。

安装

安装此扩展的首选方式是通过composer

composer require radiusone/phpagi "^3.0"

文件

  • src/AGI.php - AGI类。

  • src/AMI.php - Asterisk管理类。

  • src/fastagi.php - 基本FastAGI服务器的示例。

  • docs/ - 类的README文件。

  • api-docs/ - API文档(html)

文档

  • README - 主要的README

  • README.ami - AMI 说明书

  • README.fastagi - FastAGI 说明书

  • phpagi.example.conf - 一个示例配置文件

  • fastagi.xinetd - FastAGI 服务器 xinetd.conf 的示例配置

支持

phpagi 的支持可在项目网站获得。