Reference: Chrome extensions - Asterisk Click2Call - By bitree.ru

1. Click to Call

เมื่อคอนฟิกเสร็จเรียบร้อย เราสามารถ

1.1 เลือกเบอร์โทรศัพท์ที่ปรากฏบนหน้า web browser Chrome คลิกขวา กด "Call" แล้ว

Elastix server จะโทรมาหาโทรศัพทฺ์ของเรา เมื่อเรารับสาย Elastix server จะต่อสายเราไปยัง

เบอร์โทรศัพท์ที่เราเลือก

1.2 สามารถพัฒนา CRM system ให้เรียก web service บน Elastix server เพื่อทำ Click to Call ได้

 

2. คอนฟิก Elastix server กันก่อน

2.1 เพิ่ม 5 บรรทัด ข้างล่าง ลงในไฟล์ /etc/asterisk/manager.conf

[bitree]

secret=bitree_secret

writetimeout=100

read=system,call,log,verbose,command,agent,user,config,originate

write=system,call,log,verbose,command,agent,user,config,originate

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

2.2 สร้าง php script   /var/www/html/c2c/click2call.php   ตามขั้นตอนดังนี้

#mkdir -p /var/www/html/c2c

สร้างไฟล์ click2call.php ในโฟลเดอร์ /var/www/html/c2c ดังนี้

// ==============================================

<? if (!empty( $_REQUEST['phone'])   && !empty( $_REQUEST['exten']  ) )

{

$num = $_REQUEST['phone'];

$ext = $_REQUEST['exten'];

//      $num = preg_replace( "/^\+7/", "8", $num );

$num = preg_replace( "/\D/", "", $num );

 

if ( ! empty( $num ) )

{

echo "Dialing $num\r\n";

$timeout = 10;

$asterisk_ip = "127.0.0.1";

$socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);

fputs($socket, "Action: Login\r\n");

fputs($socket, "UserName: bitree\r\n");

fputs($socket, "Secret: bitree_secret\r\n\r\n");

$wrets=fgets($socket,128);

echo $wrets;

fputs($socket, "Action: Originate\r\n" );

fputs($socket, "Channel: Local/$ext@from-internal\r\n" );

fputs($socket, "Exten: $num\r\n" );

fputs($socket, "Context: from-internal\r\n" );

fputs($socket, "Priority: 1\r\n" );

fputs($socket, "Async: yes\r\n" );

fputs($socket, "WaitTime: 15\r\n" );

fputs($socket, "Callerid: $num\r\n\r\n" );

$wrets=fgets($socket,128);

echo $wrets;

}

else

{

echo "Unable to determine number from (" . $_REQUEST['phone'] . ")\r\n";

}

}

else

{?>Please enter a number to dial.

<?}

?>

// ==============================================
2.3 change owner และ permission ดังนี้
#chown asterisk.asterisk /var/www/html/
#chown asterisk.asterisk /var/www/html/* -R
#chmod 755 /var/www/html/c2c/click2call.php

 

3. ติดตั้ง & คอนฟิก Chrome Extensions - Asterisk Click2Call


 

 

Asterisk extension: 200    (คือเบอร์โทรศัพท์ของเรา)

AMI script location: https://192.168.2.250/c2c/click2call.php   (192.168.2.250 = IP address ของ Elastix server)

 

4. ทดสอบ

ใช้ web browser Chrome (ที่เราเพิ่งติดตั้ง Asterisk Click2Call Extensions) เปิดหน้าเว็บที่มีเบอร์โทรศัพท์ ไฮไลท์เบอร์

โทรศัพท์บนหน้าเว็บ คลิกขวา คลิก "Call"   ถ้าไม่มีอะไรผิดพลาด Elastix server จะ call มาที่เบอร์ 200 เมื่อเรารับสาย

Elastix server จะต่อสายเราไปเบอร์ที่เราคลิดบนหน้าเว็บ   ขอให้โชคดี :)

 

5. Click to Call from CRM to Elastix Server

เมื่อ CRM ต้องการให้ Elastix server originates call

CRM ต้อง requests ตามฟอร์แมทนี้

https://192.168.2.250/c2c/click2call.php?phone=025255134&exten=200

 

192.168.2.250 = Elastix server IP address

025255134 = เบอร์โทรศัพท์ปลายทาง

200 = เบอร์โทรศัพท์ภายใน