我每次接听电话时都需要运行PERL或PHP脚本(使用SIP电话的人)。
我正在使用freepbx,并且该系统将用于管理扩展,因此无论我做什么,我都需要确保添加新扩展名或从FreepBX接口中修改一个,不会擦除调用脚本的部分。
该人可以直接拨打扩展名,已通过环组或IVR进入扩展名,或者可能已转移。脚本需要在所有情况下运行。
我知道我需要沿着:
的行中添加一个配置文件中的一行。enden => s,n,system(myperlscript.pl" caller = $ {arg1} exten = $ {arg2} nater = $ {arg3}")
那只是代码的一个示例,我很可能会找出那部分。
问题是我不知道要放入什么配置文件,或将其放入该文件中。
我已经弄清楚了,所以我将答案在此处放在这里,以防万一。
在Freepbx Web管理员中有两个文件
/libararies/extensions.class.php/modules/core/functions.inc.php
在Extensions.Class.php中添加了以下类
class ext_crmagi extends extension {
var $pri;
var $ext;
var $context;
function ext_crmagi($pri, $ext = false, $context = false) {
if ($context !== false && $ext === false) {
trigger_error("$ext is required when passing $context in ext_crmagi::ext_crmagi()");
}
$this->pri = $pri;
$this->ext = $ext;
$this->context = $context;
}
function incrementContents($value) {
$this->pri += $value;
}
function output() {
return 'AGI(myphpscript.php, ${CALLERID(num)}, ${CALLERID(name)}, ${EXTEN}, ${SIPCALLID}, ${UNIQUEID})' ;
}
}
in functions.inc.php i添加
$ext->add('ext-local', $exten['extension'], '', new ext_crmagi('',''));
然后,每当您使用Web界面添加扩展程序时,它也将在AGI脚本中添加,从而使您可以使用PHP与星号进行连接。