Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

มอนิเตอร์ 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 2

wget http://downloads.sourceforge.net/project/monast/MonAst%20for%20Asterisk%201.4_1.6/1.4/monast-
1.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


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

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


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

# 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


มอนิเตอร์ 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 7

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

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

You might also like