XML Modules Configuration

From FreeSWITCH Wiki

Jump to: navigation, search

Modules.conf is a configuration entity that exists in the "configuration" section of freeswitch.xml. It denotes which modules to load, and in what order.

In order for a module to be loaded, it needs to have been compiled and installed to the proper location on the system. If you do not know how to compile/install a specific module, please read the Installation Guide.

Modules are only loaded if the above conditions are met. Simply including a module's configuration in freeswitch.xml will not cause a module to load.

As an example:

  • We want to load syslog to be get logging if something fails during production.
  • We'll load mod_cdr to get call data records out of the system (nice for billing).
  • We'll use mod_event_socket to be able to get events for all connected user agents (and later on controlling them)
  • We'll use the xml dialplan for simplicity.
  • Finally we load spidermonkey to be able to write javascript ivr applications and mod_cepstral to get TTS.

The rest of the modules are pretty standard and should not be removed.

<configuration name="modules.conf" description="Modules">
  <modules>
    <load module="mod_console"/>
    <load module="mod_syslog"/>

    <load module="mod_enum"/>

    <!-- Event Handlers -->
    <load module="mod_cdr"/>
    <load module="mod_event_socket"/>

    <!-- Endpoints -->
    <load module="mod_portaudio"/>
    <load module="mod_sofia"/>

    <!-- Applications -->
    <load module="mod_bridgecall"/>
    <load module="mod_commands"/>
    <load module="mod_conference"/>
    <load module="mod_dptools"/>
    <load module="mod_echo"/>
    <load module="mod_playback"/>

    <!-- Dialplan Interfaces -->
    <load module="mod_dialplan_xml"/>

    <!-- Codec Interfaces -->
    <load module="mod_g711"/>
    <load module="mod_gsm"/>
    <load module="mod_l16"/>

    <!-- File Format Interfaces -->
    <load module="mod_sndfile"/>
    <load module="mod_native_file"/>

    <!-- Timers -->
    <load module="mod_softtimer"/>

    <!-- Languages -->
    <load module="mod_spidermonkey"/>

    <!-- ASR /TTS -->
    <load module="mod_cepstral"/>
    
    <!-- Say -->
    <load module="mod_say_en"/>
  </modules>
</configuration>
Personal tools