2017-01-30 4 views
1

私はfreepbxでたくさんのモジュールを見て、彼らが成功することなくどのように動作するかを理解しようとします。freepbxへのアプリケーションの書き方

ポイント私は、彼らが呼ばれるように、呼び出しが行われたとき、彼らは呼び出しをフックし、どのように理解し、彼らは例えば

は私が呼び出しが行われたとき、「呼び出しが行われ、」印刷モジュールを書くと言うことができます動作しないことができます と私は今、私はinstall.phpをしてuninstall.phpとmodule.xmlとfunction.inc.phpと に必要なすべてのファイルを持っていると私はfunction.inc.php

function callmade(){agi->Verbose("Call is Made");} 

を次のコードを持っています私は私のPHPを呼び出すextension_freepbx.conf(extension.confではなく)でダイヤルプランマニュアルを作成することができますが、どのようにfreepbx autoを行うか知っていますそれヘルパー

答えて

1

install.phpまたはfunctions.inc.phpへの参照は古くなっていますが、これは現代のFreePBXモジュールの構築方法ではありません。すべての作業は、FreePBX\modules名前空間のクラスで行われます。だからあなたのモジュールディレクトリ内あなたはこのクラスファイルがあります:

Mymodule.class.php

<?php 
namespace FreePBX\modules; 

class Mymodule extends \FreePBX\FreePBX_Helpers implements \FreePBX\BMO 
{ 
    public function install() 
    { 
     // here is the install stuff 
    } 

    public function uninstall() 
    { 
     // here is the uninstall stuff 
    } 

    public function myDialplanHooks() 
    { 
     // signal our intent to hook into the dialplan 
     return true;   
    } 

    public function doDialplanHook(&$ext, $engine, $pri) 
    { 
     // this is run when the PBX is reloaded 
     $context = "from-internal"; 
     $extension = "s"; 
     $ext->splice($context, $exten, "n", new \ext_log(1, "Call is made"));  
    } 
} 

をこれが機能するかどうか、私は考えています。私はFreePBXモジュールをよく知っていますが、通常はダイヤルプランにフックしないでください。しかし、それはあなたにどこから始めるべきかを知らせるでしょう。 FreePBXが提供するモジュールを見て、コードを掘り下げてみてください。多くのモジュールが上記のレガシーファイルを使用していますが、非推奨となり、将来のバージョンでは削除されることに注意してください。

0

アスタリスクとfreepbx内部の知識がなくてfreepbxためUnfortanly決してライト・アプリケーションのための私の英語 thksため、私は申し訳ありません

(すべてのモジュールのような)。

freepbx wikiサイトにはマニュアルがあります。

freepbxは、アスタリスクのCREATE config以外は何もしません。

アスタリスクの設定に関しては、ほとんどのモジュールではmodulename_configのような機能ではfunctions.inc.phpにあります。

freepbxのほとんどはagiをまったく使用しません。アスタリスクの経験が少なく、歴史的な理由からfreepbxに含まれている人だけが実際に使用します。そのほとんどは、少ないコードでダイヤルプランによって書き換えられます。

関連する問題