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.
<?}
?>
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 = เบอร์โทรศัพท์ภายใน