Совсем недавно я писал небольшую заметку в которой кратко описывал настройку правил набора номера в Asterisk
А сегодня мне пришла в голову идея, что Asterisk таки очень жирный в дефолтном конфиге. Нет, конечно же любой программный продукт только выигрывает от того, что имеет широкие возможности и поддержку множества протоколов, особенно если вся эта фичастость вынесена в модули, и если есть возможность отключить неиспользуемое, то почему бы не сделать этого?
Все подобные темы найденные мною в интернете были актуальны во времена Asterisk 1.4-1.6 и пришлось потратить некоторое количество времени, чтобы найти необходимый минимум модулей для версии 1.8+. Итак, данный список модулей минимален в моей конфигурации:
- SIP
- local
- cdr odbc (Хранение детализации звонков в БД MySQL)
- codec G711 alaw only
Настройки работы с модулями Asterisk находятся в файле
/etc/asterisk/modules.conf
По умолчанию Asterisk автоматически загружает все доступные модули. За такое поведение отвечает параметр
autoload = yes|no
Соответственно для того, чтобы загружались только нужные (явно указанные) нам для работы модули необходимо в конфигурационном файле указать autoload = no. Далее привожу список модулей с которые нужны для нормальной работы Asterisk 1.8
[modules] autoload = no load => pbx_config.so load => app_dial.so load => app_read.so load => app_setcallerid.so load => app_stack.so load => chan_local.so load => chan_sip.so load => codec_alaw.so load => format_wav.so load => func_callerid.so load => func_cdr.so load => func_logic.so load => func_strings.so load => func_timeout.so load => pbx_ael.so load => res_ael_share.so load => res_agi.so load => res_rtp_asterisk.so load => cdr_adaptive_odbc.so load => res_config_odbc.so load => res_odbc.so
Надеюсь кому то будет полезна данная заметка. Если у Вас список необходимых модулей иной, то прошу поделиться своими наработками в этом направлении в комментариях к заметке.