编程语言
首页 > 编程语言> > 使用FreePBX和Asterisk调用PHP脚本

使用FreePBX和Asterisk调用PHP脚本

作者:互联网

因此,我通过FreePBX服务器设置了VOIP系统.我想拥有它,以便当FreePBX接听新电话时,星号会将呼叫者ID和呼叫ID发送到php脚本,然后该脚本将使用该信息来收集与该呼叫者ID相关的帐户的票证信息.然后它将使用找到的信息更新数据库.当用户接听电话时,我想将用户的分机号和呼叫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
将您的var传递为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);
?>

标签:asterisk,php,freepbx
来源: https://codeday.me/bug/20191010/1885753.html