整合 VtigerCRM 與 Asterisk

  • You do not have permissions to view this page - please try logging in.

版本為 23:35, 28 Jul 2026

到這個版本。

返回到 版本存檔.

查閱目前版本

簡介

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

(http://wiki.vtiger.com/index.php/Vti...e_Installation)
官方網站:http://www.vtiger.com/index.php
官方下載:http://www.vtiger.com/get-started/download

注意:如果要安裝 VtigerCRM 5.3,必須有 PHP 5.2.x 以上版本。

安裝套件

相依性其他套件

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

 

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 的運用。

重啟 Apache 服務

使用瀏覽器,輸入 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 的客戶資料,也會顯示客戶名稱。

Tips:

* 不支援 Queue,請注意。

網頁撥號測試

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

Tips:

* Leads 的電話號碼格式若是像這樣 (800)677-5522,Asterisk 仍可以正常撥出號碼但會影響 Inbound Calls 的來電號碼搜尋功能。

FAQ

Q:如何模擬 incoming pop up

A: 執行以下 SQL statement

INSERT INTO vtiger_asteriskincomingcalls (refuid,from_number,from_name,to_number,callertype,flag,timer) VALUES(1314450735.9,800677522,'alang',101,'SIP',0,1314450741);

Notes:

  • refuid : 這值來自於 table vtiger_asteriskincomingevents。
  • flag : 手動輸入 0 -> pop up 後 -> vtiger 自動改成 1。
  • 此筆紀錄完成 pop up 後,會自動被清除。
Q:如何修改 pop up 的訊息內容

A: 請修改檔案 /var/www/html/vtigercrm/modules/PBXManager/TraceIncomingCall.php

Powered by MindTouch Core