整合 VtigerCRM 與 Asterisk

    版本為 12:47, 26 Dec 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    簡介

    Vtiger CRM 整合與 Asterisk

    目的

    • 當 Asterisk 有來電時,VtigerCRM 會跳出視窗顯示客戶的資料。
    • 客服人員(Agent) 可以直接點選 VtigerCRM > Leads 的電話號碼,進行電話撥號。
       

    系統環境

    • PIAF 1.7.5.5
    • Asterisk 1.6.2.17
    • CentOS 5.5
    • VtigerCRM 5.2.1

    VtigerCRM

    安裝套件

    相依性其他套件

    yum install libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel xfree Xfree86-dev openssl openssl-devel kbr5 kbr5-devel make zlib krb5-devel binutils automake gcc flex autoconf bison libxml2-devel gcc-c++ perl-XML-LibXML
    

    下載 VtigerCRM:http://www.vtiger.com/index.php?opti...d=30&Itemid=57

    cd /usr/src
    wget https://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%205.2.0/Core%20Product/vtigercrm-5.2.0.tar.gz/download
    tar xzf vtigercrm-5.2.0.tar.gz

    假設 VtigerCRM 的網頁目錄是 /var/www/html/vtigercrm

    mv vtigercrm /var/www/html 
    
    設定 VtigerCRM

    設定權限

    chmod -R a+rw /var/www/html/vtigercrm/
    chown -R asterisk:asterisk /var/www/html/vtigercrm/ 
    

    設定 PHP 的建議參數

    cd /var/www/html/vtigercrm
    mv htaccess.txt .htaccess
    vi .htaccess 
    

    .htaccess :

    Options -Indexes
    php_value max_execution_time 600
    php_flag display_errors on
    php_flag allow_call_time_pass_reference on
    php_flag log_errors off
    php_value error_reporting "2 8 8192"
    

    新增一個 Apache 設定檔
    /etc/httpd/conf.d/vtiger.conf

    <Directory "/var/www/html/vtigercrm">
      Options Indexes FollowSymLinks
      AllowOverride Options
      Order allow,deny
      Allow from all
    </Directory>
    

    Tips:

    * 目錄路徑必需正確

    * 如果不使用分開的 Apache 設定檔,會影響到 FreePBX 的運用。

    使用瀏覽器,輸入 123.123.123.123/vtigercrm,以介面方式來安裝。
    選擇 Install > Agree > PHP 建議參數偵測

    註:如果有出現紅字,必須先作修正,IMAP Support 必須有安裝 Webmail 模組。

    Next >
    Database Information

    HostName = localhost
    UserName = db_user
    Password = db_pass
    DatabaseName = db_name
    [*] Create Database 如果尚未建立料庫,這要勾選,且必須在下方輸入 root 帳號密碼

    CRM Configuration

    URL = 首頁網址
    Currnecy Name = 幣別

    User Configuration

    Password = 管理密碼
    Email = 管理者信箱

    確認所有設定 > Next > 選擇所有模組 > Next >

    系統開始安裝

    Finish

    電話整合的設定

    1. 設定 Asterisk 連結
      Vtiger Admin > Settings > Module Manager > PBX Manager Settings
      Asterisk Server IP = localhost
      Asterisk Server Port = 5038
      Asterisk Username = vtigercrm
      Asterisk Password = THISisPASS
      Asterisk Version = 這裡無法選擇,請直接修改資料庫 vtigercrm520.vtiger_asterisk。
    2. 為 admin 設定一個分機號碼
      Vtiger Admin > Settings > Users > Edit
      Asterisk Extension = 分機號
      Receive Incoming Calls = [勾選]
       

    設定有電話來電時,可以跳出訊息視窗

    下載 AsteriskClient.php for Vtiger 5.2.0

    cp 520AsteriskClient.php /var/www/html/vtigercrm/cron/modules/PBXManager/
    chown asterisk:asterisk /var/www/html/vtigercrm/cron/modules/PBXManager/520AsteriskClient.php
    chmod 0755 /var/www/html/vtigercrm/cron/modules/PBXManager/520AsteriskClient.php

    測試 520AsteriskClient.php

    cd /var/www/html/vtigercrm/cron/modules/PBXManager/
    php 520AsteriskClient.php

    正常應該要出現:

    Connecting to asterisk server @ 2011-08-01 09:57:21
    Connected successfully

    Trying to login to asterisk
    Logged in successfully to asterisk server

    設定這個程序保持運行中
    新增一個啟動的 PHP 檔

    /var/www/html/vtigercrm/alang/inbound_popup.php

    reference to undefined name 'syntax' Exception of type 'MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException' was thrown. (click for details)

    /etc/crontab

    # for VtigerCRM
    */5 * * * * root /usr/bin/php /var/www/html/vtigercrm/alang/inbound_popup.php&
    

    設定網頁撥號

    編輯 /var/www/html/vtigercrm/modules/PBXManager/utils/AsteriskClass.php

    reference to undefined name 'syntax' Exception of type 'MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException' was thrown. (click for details)

    Tips:

    from-internal 是在 Asterisk 用來撥出的 context。

    Asterisk

    新增 Vtiger 的 AMI 連接
    編輯 /etc/asterisk/manger.conf,增加以下內容。 (使用 FreePBX 者,請改成 manager_custom.conf)

    [vtigercrm]
    secret = THISisPASS
    deny = 0.0.0.0/0.0.0.0
    permit = 127.0.0.1/255.255.255.0
    read = all
    write = all

    重啟 Asterisk

    VtigerCRM 測試

    進線來電測試

    1. 確定 520AsteriskClient.php 有在執行中。
    2. VtigerCRM Admin > My Preferences > Edit >
      Asterisk Extension = 輸入分機號
      Receive Incoming Calls = [勾選]
    3. 使電話撥入 Asterisk,然後轉接到剛剛設定的分機號。
    4. 在 VtigerCRM 網頁右下角會顯示來電號碼,如果符合 Leads 的客戶資料,也會顯示客戶名稱。
       

    網頁撥號測試

    • 確定分機已經註冊中,且正常待機。
    • 登入 VtigerCRM > SALES > Leads
      選擇一個要聯絡的客戶,點選 Phone 的電話號碼
    • VtigerCRM 右下角會顯示撥號的訊息
    • 目前帳號的分機號會接收到來電,接起後,系統會自動撥到客戶的電話號碼。

    Tips:

    * Leads 的電話號碼格式可以為 (800)677-5522,Asterisk 仍可以正常撥出號碼。

     

    Powered by MindTouch Core