หน้า 1 จากทั้งหมด 1

แนะนำ PAMI (PHP Asterisk Management Interface)

โพสต์โพสต์แล้ว: 11 พ.ย. 2013 17:40
โดย nuiz
สวัสดีครับ ผมขอแนะนำทูลอีกตัวหนึ่งซึ่งเหมาะกับนักพัฒนา 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
โค้ด: เลือกทั้งหมด
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 มาให้ดูนะครับ กำลังลองเล่นอยู่ครับ **