4

(一口電話を使用している人が)電話に出るたびに、perlまたはphpスクリプトを実行する必要があります。

私はFreePBXを使用しており、そのシステムは拡張機能の管理に使用されるため、新しい拡張機能を追加したり、FreePBXインターフェイスから拡張機能を変更したりしても、スクリプトを呼び出す部分が消去されないようにする必要があります。

内線番号を直接ダイヤルするか、リンググループまたはIVRを介して内線番号に到達したか、または転送された可能性があります。スクリプトはすべての場合に実行する必要があります。

次の行に沿って構成ファイルの1つに行を追加する必要があることを知っています。

exten => s、n、System(myperlscript.pl "caller = $ {ARG1} exten = $ {ARG2} called = $ {ARG3}")

これはほんの一例のコードであり、おそらくその部分を理解することができます。

問題は、それをどの構成ファイルに入れるか、またはそのファイルのどこに置くかがわからないことです。

4

1 に答える 1

0

私はそれを理解したので、それが誰かを助ける場合に備えて、ここに答えを置きます。

FreePBXWeb管理者内には2つのファイルがあります

/libararies/extensions.class.php/modules/core/functions.inc.php

extends.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})' ;
}
}

私が追加したfunctions.inc.phpに

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

次に、Webインターフェイスを使用して拡張機能を追加すると、agiスクリプトにも追加され、phpを使用してアスタリスクとインターフェイスできるようになります。

于 2012-10-27T21:34:34.980 に答える