From FreeSWITCH Wiki
modules.conf.xml determines which modules to load into FreeSWITCH™ at startup. Modules may be commented out (as mod_syslog in the below config). This means that they are not loaded into FreeSWITCH. By default this file is located with the autoload configs.
Module loading can also be done at runtime from the console using the "load" command.
Default Configuration File
Setting a module to 'critical'
If, for some reason, you need to prevent FreeSWITCH from starting at all on the failure of a specific module to load at startup then use the 'critical' attribute:
<load module="mod_really_important" critical="true"/>
If module mod_really_important fails to load then FreeSWITCH will abort.
Locating the module file in a different path
If you use commercial module mod_com_g729, you should move it into a separate folder like mod_com and set the following for your entry. This will serve to still delete the folder lib bin mod and do make install from the freeswitch folder and not lose your mod_com_g729:
<load module="mod_com_g729" path="/opt/fs/mod_com"/>