FreePBX使用AMI接口调起拨打sip分机内线电话

安装FreePBX

打开https://downloads.freepbxdistro.org/ISO/  找到SNG7-FPBX-64bit-1805-2.iso

这里是下载的这个版本安装进行测试的

FreePBX使用AMI接口调起拨打sip分机内线电话_sip

需要注意的是低版本的AMI接口参数会有变化,需要自行检查了

在虚拟机安装好就能进行测试了

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_02


增加pjsip分机

用FreePBX 管理员登陆后,使用“应用->分机”功能增加分机进行测试

FreePBX使用AMI接口调起拨打sip分机内线电话_sip_03

FreePBX使用AMI接口调起拨打sip分机内线电话_sip_04

这里便于测试密码设置得简单些

FreePBX使用AMI接口调起拨打sip分机内线电话_sip_05

 提交后记得“更新配置”

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_06

使用OpenEye验证一下分机注册

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_07

分机注册登陆成功

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_08

在这里要测试分机通话,至少要增加两个分机


查看FreePBX AMI接口参数配置

cat /etc/asterisk/manager.conf

取得接口参数

帐号=admin

密码 secret=MQ5d8RRKnMFz

FreePBX使用AMI接口调起拨打sip分机内线电话_php_09

查看接口参数

cd /var/lib/asterisk/agi-bin

cat phpagi-asmanager.php

FreePBX使用AMI接口调起拨打sip分机内线电话_php_10

创建测试接口应用

为便于测试,在/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

如果不改执行会提示没有权限

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_11

当两个分机都登陆后就可以测试了

测试效果

FreePBX使用AMI接口调起拨打sip分机内线电话_asterisk_12