radiusone / phpagi
PHPAGI是用于Asterisk网关接口的PHP类。
v3.0.1
2024-01-22 22:04 UTC
Requires
- php: ^7.4|^8.0
- symfony/polyfill-php80: ^1.0
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 的支持可在项目网站获得。