Page 70 - Asterisk™: The Future of Telephony
P. 70
In bash (and other shell systems which support it), you can use an ex-
tremely handy feature called Tab completion. This will allow you to type
part of a filename and have the rest of it completed automatically. For
example, if you type tar zxvf zap<tab> that will complete the full
zaptel filename for you. If more than one filename matches the pattern
and you hit Tab twice, it will list the files matching that pattern.
These commands will extract the packages and source code to their respective direc-
tories. When you extract the asterisk-1.4-current.tar.gz file, you will find that the file
will extract to the current version of Asterisk, i.e. asterisk-1.4.4.
It’s always a good idea to keep the source code of the most recently
working version of a package in case you have to “roll back” out of a
new bug introduced, or some other strange behavior you can’t solve
immediately.
Menuselect
In the 1.4.0 version of Asterisk and its related packages, a new build system,
autoconf, was implemented. This has changed the build process slightly, but has given
more flexibilty to control what modules are being built at build time. This has an ad-
vantage in that we only have to build the modules we want and need instead of building
everything.
Along with the new build system, a new menu-based selection system was introduced,
courtesy of Russell Bryant. This new system permits a finer-grained selection to which
modules are built before compiling the software and no longer requires the user to edit
Makefiles. So instead of discussing how to use menuselect in every “Compiling ...”
section, we will discuss it here, so when you see make menuselect you will understand
what to do once inside the menuselect configuration screen.
In Figure 3-1, we see the opening menuselect screen for the Asterisk software. Other
packages will look extremely similar, but with less options. We can navigate up and
down the list using the arrow keys. We can select one of the menu options by pressing
Enter or by using the right arrow key. The left arrow key can be used to go back.
Figure 3-2 shows a list of possible dialplan applications that can be built for use in
Asterisk. Modules to be built are marked as [*]. A module is marked as not being built
by [ ]. Modules that have XXX in front of them are missing a package dependency which
must be satisfied before it will be available to be built. In Figure 3-2, we can see that
the app_flash module cannot be built due to a missing dependency of Zaptel (i.e., the
Zaptel module has not been built and installed on the system since the last
time ./configure was run). If you have satisfied a dependency since the last time you
42 | Chapter 3: Installing Asterisk