A2B 與多個 Asterisk/FreePBX 連接

    版本為 15:01, 20 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    A2B 可以與多個 Asterisk 做連接,這樣的架構有以下好處:

    1. A2B 與 Asterisk 安裝在不同的主機上
    2. 各自運作的效能提升,硬體資源使用不會互相影響
    3. 如果有使用 FreePBX,它的 DB 不會與 A2B 的 DB 放在同一部主機,資料安全性較高
       

    主機的配置及架構

    總共需要兩部獨立的 Linux 主機,分別為主機 A,B。

    主機 A) A2B網站

    1. A2B 網站主程式
    2. A2B 資料庫
    3. Asterisk (不需要 FreePBX,主要用作 A2B 的 outbound trunk,並且給所有的 FreePBX 做外撥路由使用)
       

    主機 B) FreePBX,所有用戶將會註冊到這一台主機

    1. FreePBX
    2. FreePBX 資料庫
    3. Asterisk
    4. A2B 的 AGI 及 dialplans
       

    步驟開始

    在 A2B 主機上)

    複製 A2B 檔案
    將 A2B 的有關檔案複製到 Asterisk 主機上

    • /etc/asterisk/a2billing.conf
    • /etc/asterisk/extensions_a2billing_1_6.conf
    • /usr/src/a2billing/addons/sounds
    • /var/lib/asterisk/agi-bin
      • a2billing.php
      • a2billing_monitoring.php
      • lib/
    在 Asterisk 主機上)

    將以下檔案複製這些路徑

    • /etc/asterisk/a2billing.conf,建立連結到 /etc/a2billing.conf
    • /etc/asterisk/extensions_a2billing_1_6.conf
    • /var/lib/asterisk/agi-bin
      • a2billing.php
      • a2billing_monitoring.php
      • lib/
    • 修改以上檔案目錄權限為 asterisk 可存取
       

    編輯 extensions_custom.conf (註: 以 FreePBX 為例)

    加上這一行
    ;this is for A2B
    #include extensions_a2billing_1_6.conf
    

    編輯 /etc/a2billing.conf

    修改 A2B DB 的連線資訊
    [database]
    hostname = <A2B DB Host>
    ; port for postgres is 5432 by default
    port = 3306
    user = a2billinguser
    password = <DB password>
    dbname = mya2billing
    ; dbtype setting can either be mysql or postgres
    dbtype = mysql 
    

    安裝A2B語音檔

    cd sounds/
    sh install_a2b_sounds.sh
    
    chown -R asterisk:asterisk /var/lib/asterisk/sounds/ 
    

    註: 如果預設語音檔目錄不是 /var/lib/asterisk/sounds,必須修改 script 檔。

    Powered by MindTouch Core