มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

1

มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst
มีบทความเกี่ยวกับ Asterisk, Elastix, VoIP อีกมากมายที่ http://www.voip4share.com
สวัสดีครับ ผมมีโปรแกรมอีกตัวหนึ่งมานาเสนอ โปรแกรมนี้มีชื่อว่า MonAst ครับ เป็นโปรแกรมแบบ Open Source เอาไว้มอนิเตอร์ Asterisk
ใช้งานได้ฟรี ทางานผ่านเว็บเบราเซอร์ ติดตั้งง่ายไม่ต้องมี Data Base มาเกี่ยวข้อง แค่เพิ่ม User/Pass เข้าไปในไฟล์ manager.conf ของ
Asterisk เท่านี้เองครับก็จะมอนิเตอร์ได้แล้ว ทั้งหมดนี้จะแสดงแบบ Real Time ครับ เป็นอีกทางเลือกหนึ่งสาหรับท่านที่เบื่อๆ FOP (Flash
Operator Panel) ดูรูปตัวอย่างก่อนครับ

สิ่งที่โปรแกรม MonAst สามารถแสดงผลให้เราดูได้ ก็มีดังต่อไปนี้ครับ
Peers/Users แสดงสถานะการออนไลน์/ออฟไลน์ การโทร ดูได้ทั้งของ SIP/IAX Clients และ Trunks เลยนะครับ
Meetme Rooms สถานของห้อง Conference
Channels/Calls หลักๆแล้วหน้านี้จะแสดงสถานะของ Trunk สายที่กาลังโทรเข้า โทรออก ระยะเวลาที่โทร
Parked Calls แสดงคอลที่กาลัง Park สายอยู่
Queues แสดง Queue ทั้งหมดที่คอนฟิกไว้ สายที่โทรเข้ามาใน Queue ระยะเวลาที่โทร
Asterisk CLI ให้เราพิมพ์คาสั่งใน Asterisk Console ได้โดยไม่ต้องล๊อกอินเข้าเครื่อง
เอาหล่ะครับเรามาติดตั้งโปรแกรมนี้กันดีกว่า
1. ดาวน์โหลดโปรแกรม
ดาวน์โหลดโปรแกรมจากเว็บไซต์นี้
http://sourceforge.net/projects/monast/
โค้ด: เลือกทั้งหมด

บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst
wget http://downloads.sourceforge.net/project/monast/MonAst%20for%20Asterisk%201.4_1.6/1.4/monast1.4.tar.gz?use_mirror=nchc

2. แตกไฟล์
แตกไปไว้ในไดเร็คตอรี่ที่เรียกได้จาก Web Server
tar xzvf monast-1.4.tar.gz -C /var/www/html
mv /var/www/html/monast-1.4 /var/www/html/monast
cd /var/www/html/monast

3. แก้ไขไฟล์ manager.conf ของ Asterisk
vi /etc/asterisk/manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects = yes
timestampevents = yes
[monast]
secret=password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
writetimeout=100
read=system,call,log,verbose,command,agent,user,config
write=system,call,log,verbose,command,agent,user,config
อย่าลืมแก้ไข username/secret ให้เป็นของเราเองด้วยนะครับ เสร็จแล้วรีโหลด Asterisk เพื่อให้มีผล
asterisk -rx "reload"
4. ก๊อปไฟล์คอนฟิก
cd pymon
cp monast.conf.sample /etc/monast.conf

บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

2

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

5. แก้ไขไฟล์คอนฟิกของ MonAst
vi /etc/monast.conf
[global]
# Dados para conectar ao AMI
hostname = localhost
hostport = 5038
username = monast
password = password
# Bind client connetions on host:port
bind_host = 127.0.0.1
bind_port = 5039
# Default user context
default_context = from-internal
# Context to use in transfer calls
transfer_context = default
# Context and prefix for meetme
meetme_context = default
meetme_prefix =
[users]
# sort peers (options: peer, callerid, calleridname, calleridnum)
sortby = callerid
# defualt show/hide
default = show
# hide peer when default = show
SIP/user-1 = hide
บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

3

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

# show peer when default = hide
SIP/user-2 = show
# always show peer.
#SIP/user-3 = force
# force CallerID (only in forced mode)
#SIP/user-4 = force,Diego Aguirre <5555>

บรรทัด bind_host, bind_port เป็น IP และ Port ที่โปรแกรม MonAst Daemon จะรันครับ รอรับคอนเน็คชั่นจาก MonAst Web
6. ลองรัน MonAst Daemon ดู
./monast.py
ถ้าเวอร์คจะเห็นข้อความคล้ายๆนี้ครับ
[Wed Mar 31 23:46:42 2010] NOTICE :: MonAst :: Initializing...
[Wed Mar 31 23:46:42 2010] NOTICE :: MonAst.parseConfig :: Parsing config
[Wed Mar 31 23:46:42 2010] NOTICE :: AsteriskManager :: Initializing...
[Wed Mar 31 23:46:43 2010] NOTICE :: AsteriskManager.connect :: Trying to connect to localhost:5038
[Wed Mar 31 23:46:43 2010] NOTICE :: AsteriskManager.login :: Logging in...
[Wed Mar 31 23:46:43 2010] NOTICE :: AsteriskManager.threadRecvQueue :: Authentication accepted
ถ้าไม่มี Error ให้กด Ctrl+C เพื่อยกเลิก ก็จะเห็นข้อความคล้ายๆแบบนี้
[Wed Mar 31 23:47:25 2010] NOTICE :: AsteriskManager.close :: Finishing...
[Wed Mar 31 23:47:25 2010] NOTICE :: AsteriskManager.logoff :: Logging off...
[Wed Mar 31 23:47:27 2010] NOTICE :: AsteriskManager.disconnect :: Closing connection to localhost:5038
[Wed Mar 31 23:47:28 2010] NOTICE :: Monast :: Finished...
แล้วรันคาสั่งนี้
./monast.py --daemon
จะมี Process ของ MonAst รันอยู่ครับ แบบนี้
root 18596 1 0 23:48 ? 00:00:00 /usr/bin/python -u /var/www/html/monast/pymon/monast.py --daemon
บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

4

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

5

ต้องให้ monast.py นี้รันอยู่ตลอดเวลานะครับ เพราะมันเหมือนเป็นตัวกลางระหว่าง MonAst ที่เราดูผ่านเว็บกับ Asterisk เพราะถ้ามันไม่รัน
เราก็จะมอนิเตอร์ไม่ได้
7. ทาให้ MonAst Daemon รันทุกครั้งที่เปิดเครื่อง
vi /etc/rc.d/rc.local
เพิ่มบรรทัดนี้เข้าไป
/var/www/html/monast/pymon/monast.py --daemon

8. แก้ไขไฟล์ config.php
เป็นออปชั่นในการแสดงผลข้อมูลบนหน้าเว็บครับ
cd /var/www/html/monast/lib
vi config.php
แก้ไขบรรทัดต่อไปนี้ตามที่ต้องการ ซึ่ง HOSTNAME, HOSTPORT ต้องให้ตรงกับข้อมูลใน # Bind client connetions on host:port ของไฟล์
/etc/monast.conf ด้วยนะครับ
define("HOSTNAME", "localhost"); // monast.py hostname
define("HOSTPORT", 5039); // monast.py port
define("MONAST_SOCKET_DURATION", 20); // 20 seconds
define("MONAST_BROWSER_REFRESH", 60 * 10); // 10 minutes
define("MONAST_CALL_TIME", true); // enable or disable call timer
define("MONAST_CLI_TAB", true); // enable or disable Asterisk CLI TAB
define("MONAST_DEBUG_TAB", false); // enable or disable debug TAB
9. ใช้งานโปรแกรม
http://x.x.x.x/monast/
10. ข้อสังเกตุในการใช้งาน
1. โปรแกรมนี้ไม่มีหน้าล๊อกอิน หากต้องการให้มี Login ก็ต้องใช้ Apache Auth ครับ

บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

6

2. หน้าเว็บเพจอาจจะแฮ้งค์ได้ในบางครั้งเป็นตอนที่เปิดหน้าเว็บค้างไว้นานๆครับ เราอาจต้องกด Refresh หรือปุ่ม F5 เพื่อให้ Refresh หน้า
เว็บใหม่ให้โปรแกรมเรียกข้อมูลใหม่
11. ตัวอย่างเว็บ
ผมมีตัวอย่างหน้าเว็บให้ดคู รับ ก๊อบมาจากของผมเอง
Channels/Calls

Mixed Channels

บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

มอนิเตอร์ Asterisk ผ่านเว็บด้วย MonAst

ท่านที่กาลังมองหาโปรแกรมลักษณะนี้อยู่ ผมหวังว่าคงตอบสนองความต้องการได้นะครับ

บทความโดย “คุณหนุ่ย” แห่งเว็บ www.voip4share.com

7

Sign up to vote on this title
UsefulNot useful