Compiling Asterisk

Compiling the software

Zaptel

You will need to compile the Zaptel modules if you plan on using any Digium hardware. This will compile and install the modules for any Digium hardware which you might have installed in your system:


cd /usr/src/zaptel/
make clean
make install

The ztdummy module is used when you do not have any Digium hardware for timing but need it - such as for Music On Hold or Conferencing. The ztdummy driver requires that you have a UHCI USB controller chip on your motherboard. If you are using an OHCI USB controller you will need to use zaprtc. You can check to see if your motherboard has the UHCI USB controller by running lsmod from the command line. To compile the ztdummy module you will have to edit the Makefile located in your /usr/src/zaptel directory. Find the line containing:


					MODULES=zaptel tor2 torisa wcusb wcfxo wcfxs \
					        ztdynamic ztd-eth wct1xxp wct4xxp # ztdummy
					

and uncomment the ztdummy module. Perform the compilation as normal. Once you have successfully compiled the ztdummy module you can load it into memory by using modprobe.


modprobe ztdummy

Libpri


cd /usr/src/libpri
make clean
make install

[Lets document problems that people have with libpri, how to setup any options in the Makefile, and maybe we can explain a bit why you would even need or want libpri. It's mentioned briefly above, but maybe they didn't read it...]

Asterisk


cd /usr/src/asterisk
make clean
make install

[Lets document problems that people have with compiling Asterisk, how to setup options in the Makefile. We should mention some of the things you have to change when setting up on a Linux 2.6 kernel at some point (and should probably do that for all sections]

Making the Samples/Demo

The sample configuration files are for the purpose of learning how to create your own configuration files and to give you an idea of the commands you can use. These files are not designed to give you a working Asterisk system right out of the box. Chapter 4 deals with creating a dialplan and writing an extensions.conf file.


cd /usr/src/asterisk
make samples

Making Code Documentation (Doxygen)

Common Build Errors / Warnings

Via C3 is *NOT* an i686 processor

[Is this really relevant, and do we need this stuff in the book? I don't hear too many people talking about this, but perhaps I'm wrong - blitzrage]

Building on a little-endian system

[Same thing here as above, comments wise]