回答呼叫时,星号运行脚本

时间:2012-10-23 17:39:17

标签: asterisk

我需要在每次接听电话时(由使用SIP电话的人)运行perl或php脚本。

我正在使用FreePBX,该系统将用于管理扩展,所以无论我做什么,我需要确保添加新扩展或从FreePBX接口修改一个不会消除调用脚本的部分

此人可以直接拨打分机,通过振铃组或IVR接听分机,或者可能已经转接。脚本需要在所有情况下运行。

我知道我需要在其中一个配置文件中添加一行:

  

exten => s,n,System(myperlscript.pl“caller = $ {ARG1} exten = $ {ARG2} called = $ {ARG3}”)

这只是代码的一小部分,我很可能会找出那部分。

问题是我不知道将它放在哪个配置文件中,或者将它放在该文件中的哪个位置。

1 个答案:

答案 0 :(得分:0)

我明白了,所以我会把答案放在这里以防万一它可以帮助任何人。

在FreePBX网站管理员中有两个文件

/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我添加了

$ext->add('ext-local', $exten['extension'], '', new ext_crmagi('',''));

然后,只要您使用Web界面添加扩展名,它就会添加到agi脚本中,允许您使用php与星号接口。