Page 490 - Asterisk™: The Future of Telephony
P. 490

modules.conf

               The modules.conf file controls which modules are loaded or not loaded at Asterisk
               startup. This is done through the use of the load => or noload => constructs.

                           This file is a key component to building a secure Asterisk installation:
                           best practice suggests that only required modules be loaded.



               The modules.conf file always starts with the [modules] header. The autoload statement
               tells Asterisk whether to automatically load all modules contained within the modules
               directory or to load only those modules specifically defined by load => statements. We
               recommend you manually load only those modules you need, but many people find it
               easier to let Asterisk attempt to autoload whatever it finds in /usr/lib/asterisk/modules.
                                  *
               You can then exclude  certain modules with noload => statements.
               Here’s a sample modules.conf file:
                   [modules]
                       autoload=no                ; set this to yes and Asterisk will load any
                                                  ; modules it finds in /usr/lib/asterisk/modules

                       load => res_adsi.so
                       load => pbx_config.so      ; Requires: N/A
                       load => chan_iax2.so       ; Requires: res_crypto.so, res_features.so
                       load => chan_sip.so        ; Requires: res_features.so
                       load => codec_alaw.so      ; Requires: N/A
                       load => codec_gsm.so       ; Requires: N/A
                       load => codec_ulaw.so      ; Requires: N/A
                       load => format_gsm.so      ; Requires: N/A
                       load => app_dial.so        ; Requires: res_features.so, res_musiconhold.so
               Since we assume Asterisk is built on Linux, all the module names we use end in a .so
               extension. However, this may not be the case if you have built Asterisk on a different
               operating system.
               As  of  this  writing,  there  are  eight  module  types:  resources,  applications,
               Call Detail Record database connectors, channels, codecs, formats, PBX modules, and
               standalone functions. Let’s take a look at each of them.

               adsi.conf

               The Analog Display Services Interface (ADSI) was designed to allow telephone com-
               panies to deliver enhanced services across analog telephone circuits. In Asterisk, you


               * With the advent of the new menuselect system, this best practice may no longer be necessary if you are
                 building only the modules you need in the first place

               462 | Appendix D: Configuration Files
   485   486   487   488   489   490   491   492   493   494   495