แนะนำ PAMI (PHP Asterisk Management Interface)
โพสต์แล้ว: 11 พ.ย. 2013 17:40
สวัสดีครับ ผมขอแนะนำทูลอีกตัวหนึ่งซึ่งเหมาะกับนักพัฒนา Application ที่ใช้ Asterisk เป็นฐานครับ ทูลที่ว่านี้มีชื่อว่า PAMI ครับ
PAMI ย่อมาจาก PHP Asterisk Manager Interface เป็น API (Applicatoin Programing Interface) ที่สั่งงาน Asterisk ครับ เขียนด้วย PHP ให้เราเรียกสั่งงาน Asterisk ผ่านทาง AMI โดยตรง โดยเราแทบไม่ต้องเขียน Code เองเพราะเขาเตรียมไว้ให้เราเรียกใช้งานอยู่แล้ว สามารถสั่งงานและตรวจสอบสถานะต่างๆของ Asterisk ได้โดยตรงครับ
PAMI (PHP-AMI) ทำแบบนี้ได้
- มอนิเตอร์ Asterisk
- ติดตามสถานะของ Call เช่น CDR, Billing
- รับส่ง Call, SMS, Text
- จัด Queue และพักสาย (Park) ได้
- ควบคุมการ Call ของ Asterisk
- รับส่งสถานะ Event ของ Asterisk แบบ Realtime
- เชื่อมต่อกับ Application ภายนอกได้แบบ Realtime เช่น โปรแกรม CRM โปรแกรม Callcenter ต่างๆ
- ทำ IVR ได้
เว็บไซต์
http://marcelog.github.io/PAMI/index.html
เวอร์ชั่น PHP ที่รองรับ
รองรับ PHP 5.3 ขึ้นไปรับ ยกเว้นเวอร์ชั่น 5.3.9 และ 5.3.10
ติดตั้ง php-pear
การติดตั้ง PAMI
ง่ายมากครับ แค่รันสองคำสั่งต่อไปนี้
1. คำสั่ง pear channel-discover pear.marcelog.name
ผลลัพธ์
Adding Channel "pear.marcelog.name" succeeded
Discovery of channel "pear.marcelog.name" succeeded
2. คำสั่ง pear install marcelog/PAMI
ผลลัพธ์
downloading PAMI-1.70.1.tgz ...
Starting to download PAMI-1.70.1.tgz (34,932 bytes)
.........done: 34,932 bytes
install ok: channel://pear.marcelog.name/PAMI-1.70.1
ติดตั้ง Log4php
รัน 2 คำสั่งนี้ครับ
โฟลเดอร์เก็บ PAMI
PAMI เก็บในโฟลเดอร์นี้ครับ
ภายในจะมีโฟลเดอร์ย่อยๆอีกครับ ได้แก่
- AsyncAgi
- Autoloader
- Client
- Exception
- Listener
- Message
การใช้งาน PAMI
1. Enable Asterisk AMI
ไฟล์ /etc/asterisk/manager.conf
2. เพิ่ม manager ในไฟล์ /etc/asterisk/manager.conf
3. รีโหลด Asterisk AMI
4. เขียน PHP Code เรียกใช้งาน PAMI
ตามบทความในเว็บนี้ได้เลยครับ
** ผมยังไม่มี Code มาให้ดูนะครับ กำลังลองเล่นอยู่ครับ **
PAMI ย่อมาจาก PHP Asterisk Manager Interface เป็น API (Applicatoin Programing Interface) ที่สั่งงาน Asterisk ครับ เขียนด้วย PHP ให้เราเรียกสั่งงาน Asterisk ผ่านทาง AMI โดยตรง โดยเราแทบไม่ต้องเขียน Code เองเพราะเขาเตรียมไว้ให้เราเรียกใช้งานอยู่แล้ว สามารถสั่งงานและตรวจสอบสถานะต่างๆของ Asterisk ได้โดยตรงครับ
PAMI (PHP-AMI) ทำแบบนี้ได้
- มอนิเตอร์ Asterisk
- ติดตามสถานะของ Call เช่น CDR, Billing
- รับส่ง Call, SMS, Text
- จัด Queue และพักสาย (Park) ได้
- ควบคุมการ Call ของ Asterisk
- รับส่งสถานะ Event ของ Asterisk แบบ Realtime
- เชื่อมต่อกับ Application ภายนอกได้แบบ Realtime เช่น โปรแกรม CRM โปรแกรม Callcenter ต่างๆ
- ทำ IVR ได้
เว็บไซต์
http://marcelog.github.io/PAMI/index.html
เวอร์ชั่น PHP ที่รองรับ
รองรับ PHP 5.3 ขึ้นไปรับ ยกเว้นเวอร์ชั่น 5.3.9 และ 5.3.10
ติดตั้ง php-pear
- โค้ด: เลือกทั้งหมด
yum -y install php-pear
การติดตั้ง PAMI
ง่ายมากครับ แค่รันสองคำสั่งต่อไปนี้
1. คำสั่ง pear channel-discover pear.marcelog.name
- โค้ด: เลือกทั้งหมด
pear channel-discover pear.marcelog.name
ผลลัพธ์
Adding Channel "pear.marcelog.name" succeeded
Discovery of channel "pear.marcelog.name" succeeded
2. คำสั่ง pear install marcelog/PAMI
- โค้ด: เลือกทั้งหมด
pear install marcelog/PAMI
ผลลัพธ์
downloading PAMI-1.70.1.tgz ...
Starting to download PAMI-1.70.1.tgz (34,932 bytes)
.........done: 34,932 bytes
install ok: channel://pear.marcelog.name/PAMI-1.70.1
ติดตั้ง Log4php
รัน 2 คำสั่งนี้ครับ
- โค้ด: เลือกทั้งหมด
pear channel-discover pear.apache.org/log4php
pear install log4php/Apache_log4php
โฟลเดอร์เก็บ PAMI
PAMI เก็บในโฟลเดอร์นี้ครับ
- โค้ด: เลือกทั้งหมด
/usr/share/pear/PAGI
ภายในจะมีโฟลเดอร์ย่อยๆอีกครับ ได้แก่
- AsyncAgi
- Autoloader
- Client
- Exception
- Listener
- Message
การใช้งาน PAMI
1. Enable Asterisk AMI
ไฟล์ /etc/asterisk/manager.conf
- โค้ด: เลือกทั้งหมด
;
[general]
enabled = yes
;webenabled = yes
port = 5038
bindaddr = 0.0.0.0
allowmultiplelogin = yes
displayconnects = yes
timestampevents = yes
2. เพิ่ม manager ในไฟล์ /etc/asterisk/manager.conf
- โค้ด: เลือกทั้งหมด
[admin]
secret=secret
read=all
write=all
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
3. รีโหลด Asterisk AMI
- โค้ด: เลือกทั้งหมด
asteriks -rx "manager reload"
4. เขียน PHP Code เรียกใช้งาน PAMI
ตามบทความในเว็บนี้ได้เลยครับ
- โค้ด: เลือกทั้งหมด
http://marcelog.github.io/articles/pami_introduction_tutorial_how_to_install.html
** ผมยังไม่มี Code มาให้ดูนะครับ กำลังลองเล่นอยู่ครับ **