I'm finishing up a first version of a web interface for end
users. It's focus is specific for our own uses, but I plan on
releasing it under an open source license and would appreciate any
feedback while I wrap up the first version.<br>
<br>
The interface is designed for end users without any real technical
knowledge of asterisk except for some basic concepts of how things
relate to each other. Such as contexts in a dialplan and how they
relate to the context assigned to a sip/iax user, etc.. The
interface is for day to day management of areas such as the dialplan
and configuring new providers and phones in sip.conf and
iax.conf. Things that an end user would want to change on their
own. It also includes a nice voicemail interface for voicemail
users, and some ability to manage/monitor asterisk via the
manager api.<br>
<br>
One of the main features is the ability to write canned scripts that
have associated configuration pages. A script is a text file with
the script, and a YAML definition file. In the text file you can
put variable placeholders, and in the YAML file you define the
variables. The web interface then builds an html form based on
the text file and the YAML definition. This way it's easy to add
configurable sections in extensions.conf without having to change any
of the base code. For instance providing canned scripts for
extensions, call routing, voice menu's, etc.. If you have a
script that needs a more custom web interface you can do that also by
just creating the html form by hand. The same template approach
is also used for configuring phones.<br>
<br>
Since we will be using this for local and remote installations, we also
needed multi tenant capability. A basic multi tenant
feature set is built in, so multiple businesses can be maintained on
one copy of asterisk.<br>
<br>
Another requirement we had is to be able to coexist with an existing
asterisk installation, instead of requring that the management
interface take over all the asterisk config files. All you have
to do with asterisk is add one include line in each .conf file you want
to manage.<br>
<br>
And last but not least, another reason we couldn't use any of the
existing interfaces is that almost without exception all of them were
too difficult to install. Or more correctly unnecessarily
difficult. We need to have something we can hand our clients and
know they will be able to install the thing and run it with little
difficulty. Since this interface uses ruby on rails, it includes
a built in webserver, and the installation is a matter of untarring the
distribution into a directory, changing the ownership of the directory
to something asterisk can read, and running the start script to bring
up the webserver. If we can work out a bug in tar2rubyscript that
makes it fail on freebsd, then the distribution will be just one single
executable that you can run as is.<br>
<br>
<br>
I would be very interested in hearing about what features people would
like in a tool like this. Keeping in mind that it's not a
complete asterisk system and is designed to work with existing
installations. I will post a live demo in the next week or so
once we get the first release ready.<br>
<br>
Chris<br>
<br>
<br>
<br>
<br>
<br>
<br>