我想在应用程序/扩展部分(在freepbx管理面板中)添加一个复选框,选中时启用对讲模式,未选中时禁用对讲模式。我也想在另一个页面中做同样的事情。我已经做了这么多,但我找不到对讲模式值(或自动应答值)的存储位置/存储方式。
我认为不错的页面开始是 http://www.freepbx.org/development
发现拨号计划的简单方法是执行以下操作:
asterisk -r
core set verbose 10
enable intercom, call
disable intercom, call
大多数值都在 db 或星号数据库中。
我终于想通了。它在星号的SQLite数据库中。用于存储/读取此代码的代码位于/var/www/html/admin/modules/core/functions.inc.php。这个文件包含了更多的东西和核心功能。
我写了两个函数来设置和获取对讲状态
<?php
function setIntercomStatus($extension,$status)
{
global $db;
global $amp_conf;
global $astman;
if($extension!='')
{
if($astman)
{
$result = $astman->database_put("AMPUSER",$extension."/answermode","""
. (isset($status) ? $status : '')
. """);
}
else
{
die("Error connecting to database");
}
}
}
function getIntercomStatus($extension)
{
global $db;
global $amp_conf;
global $astman;
if($extension != '' and $astman)
{
$answermode=$astman->database_get("AMPUSER",$extension."/answermode");
if($answermode)
{
return (trim($answermode) == '') ? 'disabled' : $answermode;;
}
else {
return "Extension Not Found";
}
}
}
?>
设置功能中的$status可以是"对讲机"或"禁用"
$astman 是 phpAGI 软件包中AGI_AsteriskManager的一个实例(位于/var/www/html/admin/libraries/php-asmanager.php)。分机的对讲状态存储在数据库"AMPUSER"/extension_number/应答模式中。