System information

Test Modules
Test modules are used by the Asterisk development team to validate new code. They
are constantly changing and being added to, and are not useful unless you are devel-
oping Asterisk software.
If you are an Asterisk developer, however, the Asterisk Test Suite may be of interest to
you as you can build automated tests for Asterisk and submit those back to the project,
which runs on several different operating systems and types of machines. By expanding
the number of tests constantly, the Asterisk project avoids the creation of regressions
in code. By submitting your own tests to the project, you can feel more confident in
future upgrades.
More information about installing the Asterisk Test Suite is available in this blog post:
http://blogs.asterisk.org/2010/04/29/installing-the-asterisk-test-suite/. More informa-
tion about building tests is available in this document: http://svn.asterisk.org/svn/test
suite/asterisk/trunk/README.txt or you can join the #asterisk-testing channel on the
Freenode IRC network.
File Structure
Asterisk is a complex system, composed of many resources. These resources make use
of the filesystem in several ways. Since Linux is so flexible in this regard, it is helpful to
understand what data is being stored, so that you can understand where you are likely
to find a particular bit of stored data (such as voicemail messages or log files).
Configuration Files
The Asterisk configuration files include extensions.conf, sip.conf, modules.conf, and
dozens of other files that define parameters for the various channels, resources, mod-
ules, and functions that may be in use.
These files will be found in /etc/asterisk. You will be working in this folder a lot as you
configure and administer your Asterisk system.
Modules
Asterisk modules are usually installed to the /usr/lib/asterisk/modules folder. You will
not normally have to interact with this folder; however, it will be occasionally useful
to know where the modules are located. For example, if you upgrade Asterisk and select
different modules during the menuselect phase of the install, the old (incompatible)
modules from the previous Asterisk version will not be deleted, and you will get a
warning from the install script. Those old files will need to be deleted from the modules
folder. This can be done either manually or with the “uninstall” make (make unin-
stall) target.
24 | Chapter 2:Asterisk Architecture