System information

If you are sure that you need to set up a distributed Asterisk system, you
will want to study the DUNDi protocol, the Asterisk Realtime Archi-
tecture (ARA), func_odbc, and the various other database tools at your
disposal. This will help you to abstract the data your system requires
from the dialplan logic your Asterisk systems will utilize, creating a ge-
neric set of dialplan logic that can be used across multiple boxes. This
in turn will enable you to scale more simply by adding additional boxes
to the system. However, this is far beyond the scope of this book and
will be left as an exercise for the reader. If you want a teaser of some
tools you can use for scaling, see Chapter 22.
Server Hardware Selection
The selection of a server is both simple and complicated: simple because, really, any
x86-based platform will suffice, but complicated because the reliable performance of
your system will depend on the care that is put into the platform design. When selecting
your hardware, you must carefully consider the overall design of your system and what
functionality you need to support. This will help you determine your requirements for
the CPU, motherboard, and power supply. If you are simply setting up your first
Asterisk system for the purpose of learning, you can safely ignore the information in
this section. If, however, you are building a mission-critical system suitable for deploy-
ment, these are issues that require some thought.
Performance Issues
Among other considerations, when selecting the hardware for an Asterisk installation
you must bear in mind this critical question: how powerful must the system be? This
is not an easy question to answer, because the manner in which the system is to be used
will play a big role in the resources it will consume. There is no such thing as an Asterisk
performance-engineering matrix, so you will need to understand how Asterisk uses the
system in order to make intelligent decisions about what kinds of resources will be
required. You will need to consider several factors, including:
The maximum number of concurrent connections the system will be expected to support
Each connection will increase the workload on the system.
The percentage of traffic that will require processor-intensive DSP of compressed codecs
(such as G.729 and GSM)
The digital signal processing (DSP) work that Asterisk performs in software can
have a staggering impact on the number of concurrent calls it will support. A system
that might happily handle 50 concurrent G.711 calls could be brought to its knees
by a request to conference together 10 G.729 compressed channels. We talk more
about G.729, GSM, G.711, and many other codecs in Appendix B.
Server Hardware Selection | 641