Was this page helpful?

ICT FAX - 傳真主機

    ICT FAX 是一個基於 Asterisk + astbill + drupal + spandsp 的開放原始碼套件。

    軟體應用為:

    • Email to fax / web to fax / fax to email
    • G.711 Origination / Termination / Gateway
    • T.38 Origination / Termination
    • PSTN Origination / Termination / Gateway

    系統安裝開始

    初始系統環境:CentOS 5.5 (package 選 Server)

    必要的套件安裝
    yum install httpd mysql-server mysql
    yum install php php-common php-cli php-gd php-imap php-curl php-mysql
    yum install perl perl-DBD-mysql
    yum install ghostscript ImageMagick curl 
    yum install gcc libtiff-devel gcc-c++ libxml2-devel ncurses-devel
    
    安裝 Asterisk 相關套件
    1. SpanDSP 0.0.6pre18
    2. Asterisk 1.6.2.16.1
    3. Asterisk-Addons 1.6.2.2
    4. Asterisk core sounds
       

    // 安裝 SpanDSP

    cd /usr/src
    wget http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6pre18.tgz
    tar xzf spandsp-0.0.6pre18.tgz
    cd spandsp-0.0.6
    ./configure
    make
    make install
    

    // 安裝 Asterisk 主程式

    建立帳號/群組

    useradd -r -c "Asterisk PBX" -d /var/lib/asterisk asterisk
    mkdir /var/run/asterisk
    mkdir /var/log/asterisk
    chown -R asterisk:asterisk /var/run/asterisk
    chown -R asterisk:asterisk /var/log/asterisk
    chown -R asterisk:asterisk /var/lib/php/session/
    

    編譯安裝主程式

    cd /usr/src
    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-current.tar.gz
    tar xzf asterisk-1.6.2-current.tar.gz
    cd asterisk-1.6.2*
    ./configure
    make menuselect  ;確定有勾選 Applications > app_fax,離開時按 x 存檔。
    make
    make install
    make config
    make samples  

    // 安裝 Asterisk-Addons

    cd /usr/src
    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2-current.tar.gz
    tar xzf asterisk-addons-1.6.2-current.tar.gz
    cd asterisk-addons-1.6.2*
    ./configure
    make menuselect    ;不用作任何修改,按 x 存檔離開。
    make
    make install
    make samples
    

    // 安裝必要的語音檔

    cd /usr/src
    wget http://downloads.asterisk.org/pub/telephony/sounds/asterisk-core-sounds-en-alaw-current.tar.gz
    cd /var/lib/asterisk/sounds/en
    tar xzf /usr/src/asterisk-core-sounds-en-alaw-current.tar.gz 

    //  初始化設定
    編輯 /etc/init.d/asterisk,移除註解

    AST_USER="asterisk"
    AST_GROUP="asterisk"
    

    // 設定目錄權限

    chown -R asterisk:asterisk /var/run/asterisk
    chown -R asterisk:asterisk /etc/asterisk
    chown -R asterisk:asterisk /var/log/asterisk
    chown -R asterisk:asterisk /var/spool/asterisk
    chown -R asterisk:asterisk /var/lib/asterisk 
    

     

    F.A.Q

    安裝 Asterisk 時,執行 make menuselect,出現錯誤:Terminal must be at least 80 x 27. menuselect changes NOT saved!

    Ans: 將終端機的視窗放大,重新執行一次。

    安裝 ICTFAX 主程式

    // 修改網頁設定檔 httpd.conf

    sed -i 's/User apache/User asterisk/g' /etc/httpd/conf/httpd.conf
    sed -i 's/Group apache/Group asterisk/g' /etc/httpd/conf/httpd.conf 
    

    // 下載/安裝 ICTFAX

    cd /usr/src
    wget http://downloads.sourceforge.net/project/ictfax/ictfax_0.2-beta.tar.gz?r=http%3A%2F%2Fwww.ictfax.org%2Fcontent%2Finstallation-guide-ictfax&ts=1297403734&use_mirror=ncu
    tar xzf ictfax_0.2-beta.tar.gz
    mv ictfax /opt
    cd /opt
    chown -R asterisk:asterisk /opt/ictfax
    chmod -R u+rw /opt/ictfax/wwwroot/files
    chmod u+rw /opt/ictfax/logs
    
    建立資料庫

    // 啟動資料庫

    service mysqld start
    mysqladmin -u root password 'ROOT_PASS'     ;設定 root 密碼 
    

    // 匯入資料庫

    echo 'CREATE DATABASE ictfax;' | mysql --user=root --password='ROOT_PASS'
    mysql --user=root --password='ROOT_PASS' ictfax < /opt/ictfax/database/ictfax.sql 
    mysql --user=root --password='ROOT_PASS' ictfax < /opt/ictfax/database/ictfax_proc.sql

    以上指令會新增一個資料庫帳戶 ictfaxuser, 密碼 ictfax768。

    F.A.Q

    匯入資料時出現錯誤:ERROR 1062 (23000) at line 7935: Duplicate entry '2009' for key 1
    Ans: 這是因為 line 7935 與 7931 的 id 欄位有重複,將 line 7931 的 id 改成 2005,然後再匯入一次。

    匯入資料時出現錯誤:ERROR 1136 (21S01) at line 17228: Column count doesn't match value count at row 1
    Ans: 這是因為 line 17228 少了一個數值,比較前一行的資料,找出缺少的數值然後補上。

    匯入資料時出現錯誤:ERROR 1449 (HY000) at line 17621: There is no 'ictfaxuser'@'localhost' registered
    Ans: 刪除所有 DEFINER 的資料行

    網頁介面設定
    cd /var/www/html
    ln -s /opt/ictfax/wwwroot ictfax
    vi /opt/ictfax/wwwroot/sites/default/settings.php
    

    settings.php:

    $db_url = "mysql://ictfaxuser:[email protected]/ictfax";
    $base_url = 'http://111.222.333.444/astbill';
    
    • 如果有變更密碼 ictfax768, 在 db_url 也要修改。
    • 取代 111.222.333.444 為主機的 IP 位址。

    啟動網頁

    service httpd start
    

    開啟瀏覽器,輸入 URL: http://111.222.333.444/ictfax,預設登入 admin : demoictfax 

    F.A.Q

    網頁顯示錯誤:Connection Failed
    Ans: 檢查 iptables 是否呈關閉狀態。

    後端 / Asterisk AGI

    // 檢查編輯 /opt/ictfax/ictfax.conf

    dbhost = localhost
    dbname = ictfax
    dbuser = ictfaxuser
    dbpass = ictfax786
    dbdsn  = ictfaxdns
    

    這是預設資料庫連結參數,若有調整,這裡也要修改。

    // 檢查編輯 /opt/ictfax/etc/asterisk/res_mysql.conf
    這裡的DB預設參數,若有調整時,這也要修改。

    cp /opt/ictfax/sounds/*  /var/lib/asterisk/sounds/en
    cp -f /opt/ictfax/etc/asterisk/* /etc/asterisk
    cp  /opt/ictfax/agi-bin/* /var/lib/asterisk/agi-bin   ;若提示要覆蓋,輸入 y
    
    mkdir -p /var/spool/asterisk/fax/inbox
    mkdir -p /var/spool/asterisk/fax/outbox
    chown -R asterisk:asterisk /var/spool/asterisk
    chown -R asterisk:asterisk /var/lib/asterisk
    chmod -R u+rw /var/spool/asterisk
    chmod -R u+rx /var/lib/asterisk/agi-bin
    

    // 重啟 Asterisk

    service asterisk restart
    
    Was this page helpful?
    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core