1. เป้าหมาย

เป้าหมายในการเชื่อมต่อ vtiger CRM เข้ากับ Elastix คือ สามารถทำ click-to-call จากหน้าเว็บ

ของ vtiger CRM ได้ และมี balloon pop-up บนหน้าเว็บ vtiger CRM เมื่อมี incoming call เข้ามา

 

ขั้นตอนแรก มาดู diagram กันก่อน

- IP ของ vtiger CRM คือ 192.168.1.240

- IP ของ Elastix คือ 192.168.1.100

- IP Phones หมายเลข 201, 202, 203 register กับ Elastix

- Elastix มี SIP trunk ชื่อ myvoip สำหรับเชื่อมต่อไปภายนอกองค์กรผ่าน router/firewall/SBC

 

2. คอนฟิก vtiger CRM

ล็อกอินเข้าหน้าเว็บ vtiger CRM

คลิกรูปฟันเฟืองตรงมุมบนขวา เลือก CRM Settings → Integration → PBXManager

Edit Asterisk Server Details ดังรูป

 

แล้วคลิกไปที่ My Preferences

ในหัวข้อ More Information ให้ใส่ CRM Phone Extension = 201 (หรือหมายเลขอื่นๆ ของ Elastix ที่เราใช้งาน)

 

3. คอนฟิก Elastix

3.1 ติดตั้ง java 1.7

#yum install java-1.7.0-openjdk.x86_64

3.2 ติดตั้ง VtigerAsteriskConnector

#cd /

#wget https://www.vtiger.com/products/apps/VtigerAsteriskConnector/VtigerAsteriskConnector-1.4.zip

#unzip VtigerAsteriskConnector-1.4.zip

 

3.3 edit ไฟล์   /VtigerAsteriskConnector/conf/VtigerAsteriskConnectors.properties ดังนี้

=======================================

// Location where the application server will be running

ServerIP   = 192.168.1.100

ServerPort = 8484

// Call Recordings storage path

StorageDir = /VtigerAsteriskConnector/recording

// Enable(true) or Disable(false) call recordings

Recording = true

// Location where the applications database files will be stored

AsteriskAppDBPath = /VtigerAsteriskConnector/recording

// Asterisk Server Details

AsteriskServerPublicIP = 192.168.1.100

AsteriskServerIP   =  192.168.1.100

AsteriskServerPort = 5038

AsteriskUsername   = admin

AsteriskPassword   = myippbx

// Vtiger CRM URL

VtigerURL = http://192.168.1.240/vtigercrm

VtigerSecretKey = 465590920562139fd2f5c1

//Enable(true) or Disable(false) Asterisk Events and Database Logs in Connector

AsteriskLog = true

DatabaseLog = true

==========================================================

VtigerSecretKey นำมาจาก PBXManager ของ vtiger CRM ในข้อ 1



3.4 edit ไฟล์   /etc/rc.local โดยเพิ่ม 2 บรรทัดนี้เข้าไป

# start VtigerAsteriskConnector at boot time

/VtigerAsteriskConnector/bin/start.sh


3.5 edit ไฟล์   /etc/asterisk/manager.conf ดังนี้

[general]

enabled = yes

port = 5038

bindaddr = 0.0.0.0

displayconnects=no ;only effects 1.6+

[admin]

secret = myippbx

deny=0.0.0.0/0.0.0.0

permit=127.0.0.1/255.255.255.0

permit=192.168.1.240/255.255.255.0

read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

writetimeout = 5000

#include manager_additional.conf

#include manager_custom.conf


3.6 edit ไฟล์   /etc/asterisk/cdr_manager.conf ดังนี้

[general]

enabled = yes


3.7 สร้าง directory สำหรับเก็บไฟล์เสียง

#mkdir /VtigerAsteriskConnector/recording

#chown asterisk.asterisk /VtigerAsteriskConnector/recording


3.8 start connector

#/VtigerAsteriskConnector/bin/start.sh


3.9 เพิ่ม vtiger_inbound, vtiger_outbound contexts ในไฟล์   /etc/asterisk/extensions_custom.conf

[vtiger_outbound]

exten => _X.,1,Agi(agi://192.168.1.100/incoming.agi)

[vtiger_inbound]

exten => _X.,1,Agi(agi://192.168.1.100/incoming.agi)

3.10 เพิ่ม contacts และ เบอร์โทรศัพท์ ใน vtiger CRM แล้วลอง click-to-call ได้เลย :)