-Easy Asterisk
+Mini Asterisk
=============
A simple, light weight GUI for Asterisk.
-image::/images/ip04/easy.png["easy Asterisk Demo", link="easy/phones.sh.html"]
+image::/images/ip04/mini.png["Mini Asterisk Demo", link="mini/phones.sh.html"]
Click on the screen shot above for an on line demo.
Introduction
------------
-Easy Asterisk is a simple Web GUI for Asterisk with comprehensive tool
+Mini Asterisk is a simple Web GUI for Asterisk with comprehensive tool
tip documentation and a learning curve of a few minutes. Analog ports
and IP Phones are automatically detected, and no knowledge of Asterisk
configuration is required.
-Easy Asterisk is "unfeatured" - many of the Asterisk options are not
+Mini Asterisk is "unfeatured" - many of the Asterisk options are not
available. Instead it tries to make very basic, very common Asterisk
installations fast and simple, for example:
project. Just how easy can we make Asterisk to use? So I scratched
the itch.
-Easy Asterisk has the following features that make it reasonably
+Mini Asterisk has the following features that make it reasonably
unique. They may be good or bad features depending on your point of
view!
-* Easy Asterisk is "un-featured" - it hides many of the advanced
+* Mini Asterisk is "un-featured" - it hides many of the advanced
Asterisk features in the interest of simple and fast configuration.
* Light weight so it can run on embedded boxes like the IP0X family.
you can use it as a GUI for Asterisk on a little SOHO Linux box that
is also your firewall, server etc.
-* Easy Asterisk tells you when something is wrong, for example you get
+* Mini Asterisk tells you when something is wrong, for example you get
a warning if your Phone System can't see the Internet.
* Extensive pre-configuration of extensions.conf and sip.conf,
Implementation Notes
--------------------
-Easy Asterisk is written for the
+Mini Asterisk is written for the
http://rowetel.com/ucasterisk/ip04.html[IP0X embedded Asterisk]
hardware but will also run on x86 and probably many other platforms.
-Easy Asterisk has been written to be compatible with regular Asterisk
+Mini Asterisk has been written to be compatible with regular Asterisk
conf file configuration. Just leave the conf file lines with
-"easy-asterisk" comments alone. The Asterisk conf files
-extensions.conf and sip.conf are directly modified by Easy Asterisk,
-but changes are limited to the "easy-asterisk" lines.
+"mini-asterisk" comments alone. The Asterisk conf files
+extensions.conf and sip.conf are directly modified by Mini Asterisk,
+but changes are limited to the "mini-asterisk" lines.
-For Auto-detection of Zap ports Easy Asterisk looks at
+For Auto-detection of Zap ports Mini Asterisk looks at
/etc/zapata.conf, so you may need this set up correctly for your
analog hardware. On the IP0X this happens automatically.
installation that you want to keep. The IP0X ipkg does attempt to
backup the modified conf files to *.bak but no guarantees....
-However once easy-asterisk is installed it should honor any manual
+However once mini-asterisk is installed it should honor any manual
changes made to extensions.conf and sip.conf.
IP0X Installation
with some version of Asterisk and Zaptel installed.
-------------------------------------------------------------------
-root~> ipkg install easy-asterisk
+root~> ipkg install mini-asterisk
-------------------------------------------------------------------
x86 Installation
. You need a web server, Asterisk and some sort of Perl installed
(very basic Perl installation is fine). Configure your web server to
run CGIs (.sh and .pl) from /www (lighttpd config instructions below).
-Easy Asterisk expects all files (shell, perl, html etc) to be in the
+Mini Asterisk expects all files (shell, perl, html etc) to be in the
same directory. If you find this painful please <<support, let me know>>.
. The process below places the web files in /www, you may like to
is named index.html so make sure you don't overwrite an existing
index.html.
-. Login as root to install the Easy Asterisk files:
+. Login as root to install the Mini Asterisk files:
+
Remember to backup your existing extensions.conf & sip.conf in
/etc/asterisk
+
-------------------------------------------------------------------
# cd ~
-# svn co https://freetel.svn.sourceforge.net/svnroot/freetel/easy-asterisk-gui
+# svn co https://freetel.svn.sourceforge.net/svnroot/freetel/mini-asterisk-gui
# ./update_revision.sh
-# cp easy-asterisk-gui/etc/asterisk/* /etc/asterisk
-# cp easy-asterisk-gui/cgi-bin/* /www
+# cp mini-asterisk-gui/etc/asterisk/* /etc/asterisk
+# cp mini-asterisk-gui/cgi-bin/* /www
# cd /etc/asterisk
# cp extensions.conf extensions.conf.def
# cp sip.conf sip.conf.def
I welcome sip.conf entries for your favourite ITSP (VOIP service) to
help populate the Provider field of the
-link:easy/voiplines.sh.html[Voip Line Screen].
+link:mini/voiplines.sh.html[Voip Line Screen].
[[support]]
Support
Browse:
-http://freetel.svn.sourceforge.net/viewvc/freetel/easy-asterisk-gui/[http://freetel.svn.sourceforge.net/viewvc/freetel/easy-asterisk-gui/]
+http://freetel.svn.sourceforge.net/viewvc/freetel/mini-asterisk-gui/[http://freetel.svn.sourceforge.net/viewvc/freetel/mini-asterisk-gui/]
Check Out:
- $ svn co https://freetel.svn.sourceforge.net/svnroot/freetel/easy-asterisk-gui
+ $ svn co https://freetel.svn.sourceforge.net/svnroot/freetel/mini-asterisk-gui
#!/bin/sh
# about.sh
# David Rowe 7 Jan 2010
-# About screen for Easy Asterisk GUI
+# About screen for Mini Asterisk GUI
# check we are logged in
cat << EOF
<html>
-<title>Easy Asterisk - About</title>
+<title>Mini Asterisk - About</title>
EOF
cat tooltips.html
<table align="right" width=600>
<tr><td align="left" valign="top"><h2>About</h2></td></tr>
EOF
-echo ' <tr><td><a href="http://rowetel.com/ucasterisk/easy.html">Easy Asterisk</a> Revision: 122 </td></tr> '
+echo ' <tr><td><a href="http://rowetel.com/ucasterisk/mini.html">Mini Asterisk</a> Revision: 122 </td></tr> '
echo ' <tr><td> </td></tr>'
echo ' <tr><td>Brought to you by the <a href="http://rowetel.com/ucasterisk/index.html">Free Telephony Project</a></td></tr>'
echo ' <tr><td><a href="http://rowetel.com/ucasterisk/ip04.html"><img src="http://rowetel.com/images/ip04/ip04_case.jpg" border="0" /></a></td></tr>'
#!/bin/sh
# admin.sh
# David Rowe 7 Jan 2010
-# Admin screen for Easy Asterisk GUI
+# Admin screen for Mini Asterisk GUI
# check we are logged in
Set-Cookie: loggedin=1; expires=Thursday, 01-Jan-98 12:00:00 GMT
<head>
-<title>Easy Asterisk - Restart</title>
+<title>Mini Asterisk - Restart</title>
</head>
<body>
<h2>Restarting...come back in 1 minute</h2>
cat << EOF
<html>
-<title>Easy Asterisk - Admin</title>
+<title>Mini Asterisk - Admin</title>
EOF
cat tooltips.html
<tr><td> </td></tr>
<tr onMouseOver="popUp(event,'admin_upgrade')" onmouseout="popUp(event,'admin_upgrade')">
- <td colspan="2"><h3>Upgrade Easy Asterisk</h3></td>
+ <td colspan="2"><h3>Upgrade Mini Asterisk</h3></td>
<td>
<form action="admin.sh" method="get">
<input type="hidden" name="upgrade" value="1">
#!/bin/sh
# faq.sh
# David Rowe 7 Jan 2010
-# FAQ screen for Easy Asterisk GUI
+# FAQ screen for Mini Asterisk GUI
# check we are logged in
cat << EOF
<html>
-<title>Easy Asterisk - FAQ</title>
+<title>Mini Asterisk - FAQ</title>
EOF
cat tooltips.html
#!/bin/sh
# dashboard.sh
# David Rowe 6 Jan 2010
-# Dashboard screen for Easy Asterisk GUI
+# Dashboard screen for Mini Asterisk GUI
# check we are logged in
cat << EOF
<html>
-<title>Easy Asterisk - IP Phones</title>
+<title>Mini Asterisk - IP Phones</title>
<body onload="localInit()">
EOF
#!/bin/sh
# login.sh
# David Rowe 4 Jan 2010
-# CGI for Easy Asterisk login GUI
+# CGI for Mini Asterisk login GUI
pass=`echo "$QUERY_STRING" | grep -oe "pass=[^&?]*" | sed -n "s/pass=//p"`
EOF
cat << EOF
<html>
- <title>Easy Asterisk - Login</title>
+ <title>Mini Asterisk - Login</title>
<form action="login.sh" method="get">
<table align="center" width=600>
<tr><td colspan="2" align="left"><h2>Login</h2></td>
echo "Set-Cookie: loggedin=1"
echo ""
echo "<head>"
- echo "<title>Easy Asterisk - Login</title>"
+ echo "<title>Mini Asterisk - Login</title>"
echo '<meta http-equiv="REFRESH" content="0;url=phones.sh">'
echo "</head>"
echo "<body>"
echo "Please wait a few seconds....."
echo "</body>"
- # load easy asterisk conf files in case this is our first login
+ # load mini asterisk conf files in case this is our first login
asterisk -rx "sip reload" 2>/dev/null 1 > /dev/null
asterisk -rx "dialplan reload" 2>/dev/null 1 > /dev/null
cat <<EOF
<html>
<head>
- <title>Easy Asterisk - Login</title>
+ <title>Mini Asterisk - Login</title>
<meta http-equiv="REFRESH" content="0;url=login.sh">
<body>
Please wait a few seconds.....
#!/bin/sh
# logout.sh
# David Rowe 4 Jan 2010
-# CGI for Easy Asterisk logout GUI
+# CGI for Mini Asterisk logout GUI
cat <<EOF
Content-type: text/html
Set-Cookie: loggedin=1; expires=Thursday, 01-Jan-98 12:00:00 GMT
-<title>Easy Asterisk - Logout</title>
+<title>Mini Asterisk - Logout</title>
<meta http-equiv="REFRESH" content="0;url=login.sh"
EOF
#echo $HTTP_COOKIE
#!/bin/sh
# network.sh
# David Rowe 4 Jan 2010
-# CGI for Easy Asterisk network GUI
+# CGI for Mini Asterisk network GUI
# check we are logged in
if [ $groknetwork -eq 0 ]; then
cat << EOF
<html>
-<title>Easy Asterisk - Network</title>
+<title>Mini Asterisk - Network</title>
EOF
cat tooltips.html
cat << EOF
<html>
-<title>Easy Asterisk - Network</title>
+<title>Mini Asterisk - Network</title>
<body onload="localInit()">
EOF
open EXT, "/etc/asterisk/extensions.conf";
while (<EXT>) {
- if (/s,1,Dial\((.*)\) ;; easy/) {
+ if (/s,1,Dial\((.*)\) ;; mini/) {
@ring = split(/&/, $1);
#print "'$1' '@ring'\n foreach:\n";
foreach (@ring) {
#!/bin/sh
# phones.sh
# David Rowe 4 Jan 2010
-# Phones screen for Easy Asterisk GUI
+# Phones screen for Mini Asterisk GUI
# check we are logged in
cat << EOF
<html>
-<title>Easy Asterisk - Phones</title>
+<title>Mini Asterisk - Phones</title>
<body onload="localInit()">
EOF
a=`echo $a | sed -n "s/&/\\\\&/pg"`
fi
-sed -i "s_s,1,Dial(.*) ;; easy-asterisk_s,1,Dial($a) ;; easy-asterisk_" /etc/asterisk/extensions.conf
+sed -i "s_s,1,Dial(.*) ;; mini-asterisk_s,1,Dial($a) ;; mini-asterisk_" /etc/asterisk/extensions.conf
asterisk -rx "dialplan reload" 2>/dev/null 1 > /dev/null
# bounce us back to Phones screen
cat <<EOF
<html>
<head>
-<title>Easy Asterisk - Set Ring</title>
+<title>Mini Asterisk - Set Ring</title>
<meta http-equiv="REFRESH" content="0;url=phones.sh">
<body>
Please wait a few seconds.....
$host = $ARGV[2];
$stanza_new = $ARGV[3];
-# We need to slurp up the easy asterisk provider and spit them
+# We need to slurp up the mini asterisk provider and spit them
# back out. All must be commented out except for the one that
-# is selected. Hopefully non-easy asterisk content of sip.conf
+# is selected. Hopefully non-mini asterisk content of sip.conf
# won't be affected.
open SIP, "/etc/asterisk/sip.conf";
while (<SIP>) {
# start of any new stanza switches off parsing. It may get
- # switched back on below if it contains easy-asterisk
- # keyword. This allows non-easy asterisk SIP stanzas to be
+ # switched back on below if it contains mini-asterisk
+ # keyword. This allows non-mini asterisk SIP stanzas to be
# included in sip.conf
if (/\[/) {
$stanza = "";
}
- # look for commented or uncommented easy asterisk provider stanza
+ # look for commented or uncommented mini asterisk provider stanza
- if (/\[(.*)\] .* easy-asterisk/) {
+ if (/\[(.*)\] .* mini-asterisk/) {
$stanza = $1;
}
if ($stanza eq "") {
- # we are not in an easy-asterisk provider stanza
+ # we are not in an mini-asterisk provider stanza
- if (/;*register => (\S*)@(\S*).*;.*(easy-asterisk.*)/) {
- # an easy-asterisk register line
+ if (/;*register => (\S*)@(\S*).*;.*(mini-asterisk.*)/) {
+ # an mini-asterisk register line
#print "XX stanza_new='$stanza_new' '$1' '$2' '$3'\n";
}
}
else {
- # OK, we are in an easy-asterisk stanza
+ # OK, we are in an mini-asterisk stanza
# strip off any leading ";"
}
}
else {
- # comment out unused easy-asterisk stanzas
+ # comment out unused mini-asterisk stanzas
print ";$_";
}
}
<div id="admin_upgrade" class="tip">
Press this button to the latest version of
- Easy Asterisk. An Easy Asterisk upgrade
+ Mini Asterisk. An Mini Asterisk upgrade
requires an Internet connection.</div>
<div id="admin_firmware" class="tip">
while (<SIP>) {
# start of any stanza switches off parsing. It may get switched
- # back on below if it contains easy-asterisk keyword. This allows
- # non-easy asterisk SIP devices to be included in sip.conf
+ # back on below if it contains mini-asterisk keyword. This allows
+ # non-mini asterisk SIP devices to be included in sip.conf
if (/\[/) {
$provider = "";
}
- # currently disabled easy-asterisk provider
+ # currently disabled mini-asterisk provider
- if (/^;\[(.*)\].* \"(.*)\" easy-asterisk/) {
+ if (/^;\[(.*)\].* \"(.*)\" mini-asterisk/) {
push (@providers, $2);
$provider = $2;
$stanza{$2} = $1;
#print "'$1' '$2'\n";
}
- # current easy-asterisk provider
+ # current mini-asterisk provider
- if (/^\[(.*)\].* \"(.*)\" easy-asterisk/) {
+ if (/^\[(.*)\].* \"(.*)\" mini-asterisk/) {
push (@providers, $2);
$provider = $2;
$provider_current = $2;
#!/bin/sh
# voiplines.sh
# David Rowe 12 Jan 2010
-# VOIP Line screen for Easy Asterisk GUI
+# VOIP Line screen for Mini Asterisk GUI
# check we are logged in
cat << EOF
</script>
<html>
-<title>Easy Asterisk - VOIP Line</title>
+<title>Mini Asterisk - VOIP Line</title>
EOF
cat tooltips.html
; David Rowe 4 Jan 2010
;
-; Designed for Easy Asterisk GUI. However you can hand modify as much
+; Designed for Mini Asterisk GUI. However you can hand modify as much
; as you like, as GUI scripts read/and write regular extensions.conf
; without messing with your custom dialplan
exten => 6029,1,Dial(SIP/6029)
exten => 6030,1,Dial(SIP/6030)
-;; Pre-configured easy-asterisk outgoing Analog group
+;; Pre-configured mini-asterisk outgoing Analog group
exten => _0.,1,Dial(Zap/g1/${EXTEN:1})
-;; Pre-configured easy-asterisk outgoing VOIP line
+;; Pre-configured mini-asterisk outgoing VOIP line
exten => _1.,1,Dial(SIP/voip/${EXTEN:1})
;; Pre-configured incoming calls
-exten => s,1,Dial(SIP/6011) ;; easy-asterisk - don't remove this comment
+exten => s,1,Dial(SIP/6011) ;; mini-asterisk - don't remove this comment
; Default is 0 tries, continue forever
;callevents=no ; generate manager events when sip ua performs events (e.g. hold)
-; register easy-asterisk voip line providers here
+; register mini-asterisk voip line providers here
-register => user@generic ; easy-asterisk - do not change this comment
-;register => user@oeg ; easy-asterisk - do not change this comment
+register => user@generic ; mini-asterisk - do not change this comment
+;register => user@oeg ; mini-asterisk - do not change this comment
;----------------------------------------- NAT SUPPORT ------------------------
; The externip, externhost and localnet settings are used if you use Asterisk
disallow=all
allow=ulaw,g729
-; Pre-configured easy-asterisk SIP trunks
+; Pre-configured mini-asterisk SIP trunks
-[generic] ; "Generic" easy-asterisk do not remove this comment
+[generic] ; "Generic" mini-asterisk do not remove this comment
type=friend
context=default
username=user
allow=ulaw,g729
qualify=yes
-;[oeg] ; "OEG" easy-asterisk do not remove this comment
+;[oeg] ; "OEG" mini-asterisk do not remove this comment
;host=voip.oeg.com.au
;secret=pass
;username=your user number