FreePBX使用AMI接口调起拨打sip分机内线电话
安装FreePBX
打开https://downloads.freepbxdistro.org/ISO/ 找到SNG7-FPBX-64bit-1805-2.iso
这里是下载的这个版本安装进行测试的
需要注意的是低版本的AMI接口参数会有变化,需要自行检查了
在虚拟机安装好就能进行测试了
增加pjsip分机
用FreePBX 管理员登陆后,使用“应用->分机”功能增加分机进行测试
这里便于测试密码设置得简单些
提交后记得“更新配置”
使用OpenEye验证一下分机注册
分机注册登陆成功
在这里要测试分机通话,至少要增加两个分机
查看FreePBX AMI接口参数配置
cat /etc/asterisk/manager.conf
取得接口参数
帐号=admin
密码 secret=MQ5d8RRKnMFz
查看接口参数
cd /var/lib/asterisk/agi-bin
cat phpagi-asmanager.php
创建测试接口应用
为便于测试,在/var/lib/asterisk/agi-bin创建测试配置 amitest.conf及amitest.php
创建amitest.conf
vi amitest.conf
[asmanager]
server=127.0.0.1
port=5038
username=admin
secret=MQ5d8RRKnMFz
创建amitest.php,注意这里使用的FreePBX跟有些低版本参数会有点不一样,请自行比较phpagi-asmanager.php
vi amitest.php
#!/usr/bin/php -q
<?php
include "phpagi-asmanager.php";
$ams=new AGI_AsteriskManager("amitest.conf");
$result = $ams->connect();
//$res=$ams->Originate('pjsip/1003','1003','from-internal','1',30000,'1001',NULL,NULL,'Dial','pjsip/1001');
$res=$ams->Originate('pjsip/1001','1001','from-internal','1',30000,'1003',NULL,NULL,'Dial','pjsip/1003');
var_dump($res); //查看输出信息的调试代码
echo "Dial end\n";
?>
修改权限
chmod 777 amitest.php
如果不改执行会提示没有权限
当两个分机都登陆后就可以测试了