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

Asterisk Opensource IP Pbx

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

โพสต์โดย voip4share » 15 มี.ค. 2010 13:04

ดาวน์โหลดบทความ Asterisk Montoring นี้ในรูปแบบไฟล์ pdf

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

sample-small.png
MonAst
sample-small.png (130.86 KiB) เปิดดู 11999 ครั้ง


สิ่งที่โปรแกรม 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/
โค้ด: เลือกทั้งหมด
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 manager"

เทสว่ามี manager ชื่อ monast แล้วหรือยัง
โค้ด: เลือกทั้งหมด
asterisk -rx "manager show users"


username
--------
monast
-------------------
1 manager users configured.

4. ก๊อปไฟล์คอนฟิก
โค้ด: เลือกทั้งหมด
cd pymon
cp monast.conf.sample /etc/monast.conf


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

# 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...

ถ้ารันแล้วมี Error ให้ดูวิธีการแก้ไขตอนท้ายๆบทความนะครับ

ถ้าไม่มี Error ให้ลองรันเป็น daemon ดู
โค้ด: เลือกทั้งหมด
./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

ต้องให้ monast.py นี้รันอยู่ตลอดเวลานะครับ เพราะมันเหมือนเป็นตัวกลางระหว่าง MonAst ที่เราดูผ่านเว็บกับ Asterisk เพราะถ้ามันไม่รันเราก็จะมอนิเตอร์ไม่ได้

7. ทำให้ MonAst Daemon รันทุกครั้งที่เปิดเครื่อง

โค้ด: เลือกทั้งหมด
cd contrib/init.d
cp rc.redhat.monast /etc/init.d/monast
chmod 755 /etc/init.d/monast
chkconfig --level 35 monast on
service monast start


ในไฟล์ /etc/init.d/monast นะครับ ให้แก้ไขไดเร็คตอรี่ระบุไฟล์ monast.py ให้ถูกต้องตามจริง ยกตัวอย่างเช่น ไฟล์ monast.py อยู่ที่ /var/www/html/monast/pymon ต้องแก้ไขไฟล์ /etc/init.d/monast ตามนี้ครับ

เดิม
elif [ -f /opt/monast/monast.py ]; then
MONAST=/opt/monast/monast.py

เป็น
elif [ -f /var/www/html/monast/pymon/monast.py ]; then
MONAST=/var/www/html/monast/pymon/monast.py

ไม่อย่างนั้นจะสตาร์ท monast ไม่ได้ครับ เพราะมันหาไฟล์ไม่เจอ

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 ครับ

apache-auth-small.png
Apache Auth
apache-auth-small.png (32.55 KiB) เปิดดู 11993 ครั้ง


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

11. ตัวอย่างเว็บ
ผมมีตัวอย่างหน้าเว็บให้ดูครับ ก๊อบมาจากของผมเอง
Channels/Calls
monast-channel-small.png
Channes/Calls
monast-channel-small.png (48.49 KiB) เปิดดู 11999 ครั้ง

Mixed Channels
mixed-channels-small.png
Mixed Channels
mixed-channels-small.png (97.83 KiB) เปิดดู 11999 ครั้ง


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

ข้อความ Error ที่อาจจะเจอนะครับ
1. หา twisted ไม่เจอ
โค้ด: เลือกทั้งหมด
# ./monast.py
Traceback (most recent call last):
  File "./monast.py", line 45, in ?
    from AsteriskManager import AsteriskManagerFactory
  File "/var/www/html/monast/pymon/amapi/AsteriskManager.py", line 32, in ?
    from twisted.protocols import basic
ImportError: No module named twisted.protocols

สาเหตุเป็นเพราะยังไม่ได้ลง Twisted Python ครับ ดาวน์โหลดจากเว็บนี้ http://twistedmatrix.com และติดตั้งก่อนรัน monast.py

2. หา Zope ไม่เจอ
โค้ด: เลือกทั้งหมด
Traceback (most recent call last):
  File "./monast.py", line 45, in ?
    from AsteriskManager import AsteriskManagerFactory
  File "/opt/a2billing/Public/monast-2.0/pymon/amapi/AsteriskManager.py", line 32, in ?
    from twisted.protocols import basic
  File "/usr/lib64/python2.4/site-packages/twisted/protocols/basic.py", line 19, in ?
    from zope.interface import implements
ImportError: No module named zope.interface

เป็นเพราะว่ายังไม่ได้ติดตั้ง Zope ครับ ดาวน์โหลดจากเว็บนี้ http://pypi.python.org/pypi/zope.interface#downloads และติดตั้ง

วิธีการติดตั้ง Twisted Python
มีขั้นตอนตามนี้ครับ
โค้ด: เลือกทั้งหมด
wget http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2
tar xvf Twisted-10.2.0.tar.bz2 -C /usr/src
cd /usr/src/Twisted-10.2.0
python setup.py install

เสร็จแล้วครับ กลับไปลองรัน ./monast.py ใหม่อีกครั้ง

ถ้ารัน python setup.py install ไม่ได้ และฟ้องว่าหา python.h ไม่เจอ ให้ติดตั้ง python-devel ด้วยครับ

โค้ด: เลือกทั้งหมด
yum -y install python-devel


ขั้นตอนการติดตั้ง Zope Interface
มีขั้นตอนตามนี้ครับ
โค้ด: เลือกทั้งหมด
wget http://pypi.python.org/packages/source/z/zope.interface/zope.interface-3.6.1.tar.gz
tar xzvf zope.interface-3.6.1.tar.gz -C /usr/src
cd /usr/src/zope.interface-3.6.1
python setup.py install

เสร็จแล้วครับ กลับไปลองรัน ./monast.py ใหม่อีกครั้ง



บทความที่เกี่ยวข้อง
เทคนิคการรัน MonAst มากกว่า 1 โพรเซสบนเครื่องเดียวกัน
ดูสถานะการทำงานของ Extensions/Trunks แบบ Real Time ด้วยโปรแกรม FOP
โปรแกรม MonAst เวอร์ชั่น 3.0
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย opatsavao » 30 มี.ค. 2010 22:46

ผมเข้าหน้าเว็บไม่ได้อ่ะครับ พอผม start ./monast.py แล้วมันขึ้นอย่างนี้ถูกหรือป่าวครับ

โค้ด: เลือกทั้งหมด
[root@localhost]# /opt/monast/./monast.py
[Tue Mar 30 22:45:46 2010] NOTICE   :: MonAst :: Initializing...
[Tue Mar 30 22:45:46 2010] NOTICE   :: MonAst.parseConfig :: Parsing config
[Tue Mar 30 22:45:46 2010] NOTICE   :: AsteriskManager :: Initializing...
[Tue Mar 30 22:45:47 2010] NOTICE   :: AsteriskManager.connect :: Trying to connect to 96.166.133.29:5038
[Tue Mar 30 22:45:47 2010] NOTICE   :: AsteriskManager.login :: Logging in...


และก็ไม่เข้าใจตรง bind_host กับ bind_port ว่าต้องใส่ยังไงครับ

รบกวนหน่อยครับผม

ขอบคุณครับ
opatsavao
Bronz Member
 
โพสต์: 12
ลงทะเบียนเมื่อ: 14 ม.ค. 2010 15:49

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย nuiz » 31 มี.ค. 2010 09:45

โปรแกรม MonAst จะมีอยู่ 2 ส่วนครับ คือส่วนที่เป็น Daemon และ Web
ถ้าเราติดตั้ง Daemon และ Web ไว้ในเครื่องเดียวกัน เราก็ใส่แบบนั้นแหล่ะครับ

bind_host=127.0.0.1
bind_port=5029

ไม่ทราบว่าเครื่องของคุณ opatsavao ติดตั้งไว้แบบนี้หรือเปล่าครับ

ส่วนข้อความตอนรับ MonAst เห็นค้างอยู่แค่ Logging in หน่ะครับ นี่แสดงว่า MonAst ยังคอนเน็คกับ Asterisk Manager Interface บนโฮสต์นั้นไม่ได้นะครับ แสดงว่า MonAst กับ Asterisk อยู่คนละเครื่อง ลองเช็ค Firewall หรือไม่ก็ไฟล์ manager.conf ดูครับ

ถ้ายังไม่ได้อีก ลองสมมติไอพีมาให้ผมก็ได้ แล้วผมจะบอกว่าต้องเขียนอะไรยังไง หน่ะครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย opatsavao » 31 มี.ค. 2010 13:15

nuiz เขียน:โปรแกรม MonAst จะมีอยู่ 2 ส่วนครับ คือส่วนที่เป็น Daemon และ Web
ถ้าเราติดตั้ง Daemon และ Web ไว้ในเครื่องเดียวกัน เราก็ใส่แบบนั้นแหล่ะครับ

bind_host=127.0.0.1
bind_port=5029

ไม่ทราบว่าเครื่องของคุณ opatsavao ติดตั้งไว้แบบนี้หรือเปล่าครับ

ส่วนข้อความตอนรับ MonAst เห็นค้างอยู่แค่ Logging in หน่ะครับ นี่แสดงว่า MonAst ยังคอนเน็คกับ Asterisk Manager Interface บนโฮสต์นั้นไม่ได้นะครับ แสดงว่า MonAst กับ Asterisk อยู่คนละเครื่อง ลองเช็ค Firewall หรือไม่ก็ไฟล์ manager.conf ดูครับ

ถ้ายังไม่ได้อีก ลองสมมติไอพีมาให้ผมก็ได้ แล้วผมจะบอกว่าต้องเขียนอะไรยังไง หน่ะครับ


ขอขอบคุณก่อนเลยครับ

เครื่องผมเป็นแบบที่คุณ nuiz บอกครับลงไว้ในที่เดียวกันเลยครับ สงสัยต้องไปเช็คที่ manager.conf อีกทีแล้วล่ะครับ

เรื่อง hostport ต้องเป็นอันเดียวกับ bind_port หรือป่าวครับ เพราะว่าผมเห็นว่ามันเป็นคนละอย่างเวลารัน ./monast.py แล้วมันจะ error ครับ แต่ถ้าเป็นอันเดียวกันจะขึ้นค้างตรง log in ... แบบนั้นแหละครับ
opatsavao
Bronz Member
 
โพสต์: 12
ลงทะเบียนเมื่อ: 14 ม.ค. 2010 15:49

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย nuiz » 31 มี.ค. 2010 15:09

ครับ ต้องเป็นเลขเดียวกัน
ไฟล์ /etc/monast.conf เอาไว้คอนฟิกเวลาทำงานเป็น Daemon และตอนที่ MonAst คอนเน็คกับ Asterisk Manager ครับ
ส่วนไฟล์ /var/www/html/monast/lib/config.php เอาไว้คอนฟิกค่าให้ Web ใช้คอนเน็คกับ Daemon ครับ ประมาณว่าให้มันรู้ว่าจะดึงข้อมูลมาจาก Host ไหนแล้วก็ Port ไหนอ่ะครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย opatsavao » 31 มี.ค. 2010 21:33

nuiz เขียน:ครับ ต้องเป็นเลขเดียวกัน
ไฟล์ /etc/monast.conf เอาไว้คอนฟิกเวลาทำงานเป็น Daemon และตอนที่ MonAst คอนเน็คกับ Asterisk Manager ครับ
ส่วนไฟล์ /var/www/html/monast/lib/config.php เอาไว้คอนฟิกค่าให้ Web ใช้คอนเน็คกับ Daemon ครับ ประมาณว่าให้มันรู้ว่าจะดึงข้อมูลมาจาก Host ไหนแล้วก็ Port ไหนอ่ะครับ


ยังไม่สามารถทำได้เลยครับ ตรวจสอบดูในไฟล์ manager.conf กับ monast.conf ก็ทำถูกหมดแล้วนะครับ

ติดเหมือนเดิมถ้า server ip เป็น 192.168.1.33 แล้วต้องใส่ค่าอื่นๆยังไงหรอครับ

ขอรบกวนหน่อย
opatsavao
Bronz Member
 
โพสต์: 12
ลงทะเบียนเมื่อ: 14 ม.ค. 2010 15:49

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย nuiz » 31 มี.ค. 2010 23:53

ถ้าทุกอย่างอยู่บน Host เดียวกัน ก็ไม่ต้องใช้ IP อื่นเลยครับ ใช้ 127.0.0.1 แล้วก็ localhost อย่างเดียวเลย ตามนี้ครับ

1. ไฟล์ manager.conf

[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

2. ไฟล์ /etc/monast.conf

[global]
hostname=localhost
hostport=5038
username=monast
password=password

bind_host=127.0.0.1
bind_port=5039

3. ทดสอบการรัน monast.pyh
./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

ยกเลิกกด 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...

4. ไฟล์ /var/www/html/monast/lib/config.php

define("HOSTNAME", "localhost");
define("HOSTPORT",5039);

เท่านี้ครับ

ไม่ทราบว่าติดตรงขั้นตอนไหนเหรอครับ เอาข้อความมาดูหน่อย
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย opatsavao » 01 เม.ย. 2010 06:39

nuiz เขียน:ถ้าทุกอย่างอยู่บน Host เดียวกัน ก็ไม่ต้องใช้ IP อื่นเลยครับ ใช้ 127.0.0.1 แล้วก็ localhost อย่างเดียวเลย ตามนี้ครับ

1. ไฟล์ manager.conf

[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

2. ไฟล์ /etc/monast.conf

[global]
hostname=localhost
hostport=5038
username=monast
password=password

bind_host=127.0.0.1
bind_port=5039

3. ทดสอบการรัน monast.pyh
./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

ยกเลิกกด 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...

4. ไฟล์ /var/www/html/monast/lib/config.php

define("HOSTNAME", "localhost");
define("HOSTPORT",5039);

เท่านี้ครับ

ไม่ทราบว่าติดตรงขั้นตอนไหนเหรอครับ เอาข้อความมาดูหน่อย


ตามนี้เลยครับ...

โค้ด: เลือกทั้งหมด
[root@localhost ~]# /opt/monast/monast.py
[Thu Apr 01 06:37:00 2010] NOTICE   :: MonAst :: Initializing...
[Thu Apr 01 06:37:00 2010] NOTICE   :: MonAst.parseConfig :: Parsing config
[Thu Apr 01 06:37:00 2010] NOTICE   :: AsteriskManager :: Initializing...
[Thu Apr 01 06:37:01 2010] NOTICE   :: AsteriskManager.connect :: Trying to connect to localhost:5038
[Thu Apr 01 06:37:01 2010] ERROR    :: AsteriskManager.connect :: Error connecting to localhost:5038 -- (111, 'Connection refused')
opatsavao
Bronz Member
 
โพสต์: 12
ลงทะเบียนเมื่อ: 14 ม.ค. 2010 15:49

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย nuiz » 01 เม.ย. 2010 09:40

อ่อครับ ปัญหาจาก Asterisk Manager Interface (AMI) ไม่รัน ทำให้ MonAst คอนเน็คไปที่พอร์ต 5038 ไม่ได้ เปิด AMI เลยครับ

ไฟล์ 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

แล้วรีโหลด Asterisk ใหม่ แล้วก็ลองดูใหม่ครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 7058
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: มอนิเตอร์ Asterisk ผ่านเว็บด้วยโปรแกรม MonAst

โพสต์โดย opatsavao » 02 เม.ย. 2010 11:56

nuiz เขียน:อ่อครับ ปัญหาจาก Asterisk Manager Interface (AMI) ไม่รัน ทำให้ MonAst คอนเน็คไปที่พอร์ต 5038 ไม่ได้ เปิด AMI เลยครับ

ไฟล์ 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

แล้วรีโหลด Asterisk ใหม่ แล้วก็ลองดูใหม่ครับ


ทำได้แล้วครับ...เป็นเพราะว่าผมไม่รอบคอบเองครับ

ขอโทษที่ทำให้รกบอร์ดนะครับ

ขอบคุณมากครับ
opatsavao
Bronz Member
 
โพสต์: 12
ลงทะเบียนเมื่อ: 14 ม.ค. 2010 15:49

ต่อไป

ย้อนกลับไปยัง Asterisk SIP Server

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 3 ท่าน

cron