使用 FreePBX 和 Asterisk 调用 PHP 脚本

Calling a PHP script using FreePBX and Asterisk

所以我通过 FreePBX 服务器设置了一个 VOIP 系统。我想要它,以便当 FreePBX 接听新电话时,asterisks 会将呼叫者 ID 和呼叫 ID 发送到 php 脚本,然后该脚本将使用该信息来收集相关帐户的票证信息到那个来电显示。然后它将用找到的信息更新数据库。当用户回答 phone 时,我想将用户的分机号和呼叫 ID 发送到另一个 php 脚本并使用新信息更新数据库。

我已经研究过 PHPARI,但我缺少文档。我只需要它以一种方式运行,据我所知,PHPARI 和类似的库似乎专注于双向运行。

我的互联网搜索一无所获,所以我向你们寻求帮助和指导。

FreePBX 版本:13.0.83 星号版本:13.7.1

看看 Asterisk AGI 你应该可以通过拨号计划编写脚本 (extensions.conf) 并包括任何变量,如呼叫者 ID。

我已经通过 extension.conf;

进行了快速测试

s用于捕获上下文中没有使用被叫号码的地方。

exten => s,1,Verbose(Incoming call from Sip line CallerID=${CALLERID(all)})
exten => s,2,AGI(phone.php,${CALLERID(all)})
exten => s,3,Goto(internal-ext,3001,1)

我的 phone.php 位于 /var/lib/asterisk/agi-bin/phone.php 将您的变量作为 script.php,<var>,<var>...

传递

不要使用 script.php?callNum=,因为它仅对 Web 应用程序有效,应将其视为命令行。

该脚本写入位于 /tmp/phone 的文件,该文件已使用主叫方 ID 更新。

在我的 php 脚本中,我执行了以下操作;

#!/usr/bin/php

<?php
    $query = $argv[1];
    $file = fopen("/tmp/phone", "w");
        fwrite($file,$query);
        fclose($file);
?>