[Asterisk-Users] Administrative suggestions
Philipp von Klitzing
klitzing at pool.informatik.rwth-aachen.de
Thu Jan 8 05:36:53 MST 2004
Hi there,
mostly based upon list postings I compiled a couple of administrative
suggestions on the Wiki page below. I'd be glad to have this reviewed and
commented:
http://www.voip-info.org/tiki-index.php?page=Asterisk+administration
Cheers, Philipp
Adminstrative suggestions
Use a GUI client that's based upon the manger API (like gastman or astman
etc) to obtain an overview of what is currently going on in your PBX. Of
course you should also regularly check the log files in /var/log/asterisk
and watch their size.
Separate your PC network from your VoIP network (see also Quality-of-
Service (QoS) issues)
Remove all uneeded modules from your Asterisk server. For example if you
are only doing ZAP and SIP then specify noload= for MGCP, Skinny in
modules.conf. That reduces risks of potential exploits sleeping in those
modules
Disallow users to work on your Asterisk server. The recently published
serious kernel exploits all required local user access to start with.
Consider to not use mpg123 for music-on-hold (MOH), or take provisions to
kill hung mpg123 threads whenever applicable. mpg123 has the habit to not
terminate after stopping Asterisk.
Look into your startup script and take provisions to detect and restart
and hung asterisk. Check out daemontools for this purpose. You could also
regularly telnet into Asterisk (manager.conf) to at least make sure it
hasn't completely crashed.
Find out if you can run Asterisk with a user other than "root". The
documentation states that in principle that should be possible, however
there seem to be no/few users who have ever attempted this.
Think about creating your extensions.conf, sip.conf and voicemail.conf
based upon a database that can be shared like mySQL (or whatever else you
are used to). The recently added ODBC support in Asterisk opens up a lot
of possibilites. Next to that the #include syntax that permits to include
other files into any of the .conf files can be of help.
An unthoughtful change to extension.conf can have a disastrous effect on
your entire PBX. Establish a procedure for those changes to be not
suddenly left without e.g. emergency services (911 or 999 or 112) without
you noticing. Always check the log file after having applied a change to
extensions.conf in a production system.
Think about putting a quota on voicemailboxes, or schedule a script that
deletes all voicemail older than x days. One way to enable quotas is to
trigger an AGI script just before a user is directed to voicemail and
then decide if a message can be recorded or of the user has run out of
space.
Use Ethereal (with the IAX plugin) to analyse your network traffic.
Set an AbsoluteTimeout value for all cost-producing calls to prevent sky-
high bills in case something should ever go wrong with either Asterisk or
one of your phones. Take especially the SIP protocol and its limitations
to detect a disconnected client into account.
Regularly restart (better: stop and start) your PBX during off-hours. A
repetitive reload will not be sufficient, and can actually cause more
harm than it does good.
Spend some thought on redundance, load balancing and maybe even
clustering. So far there is not perfect solution worked out for Asterisk,
however that should not prevent you from thinking about this issue (a
search on the mailing list asterisk-users will reveal a lot of competent
postings)
* * *
More information about the asterisk-users
mailing list