summaryrefslogtreecommitdiffhomepage
path: root/contrib/asterisk-xip/files/uci/moduleconf
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-01-07 23:27:28 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-01-07 23:27:28 +0000
commitdeabf41b3fee0bf019c541c7418ec6120ff99279 (patch)
tree1218abbd16d0392e060b67ae525e5b1092a7eb30 /contrib/asterisk-xip/files/uci/moduleconf
parentc8a2a3031b20c41222b95c3ab08f0bb45baafd90 (diff)
contrib/package: add asterisk14-xip package to prepare Asterisk/LuCI/UCI integration
Diffstat (limited to 'contrib/asterisk-xip/files/uci/moduleconf')
-rwxr-xr-xcontrib/asterisk-xip/files/uci/moduleconf151
1 files changed, 151 insertions, 0 deletions
diff --git a/contrib/asterisk-xip/files/uci/moduleconf b/contrib/asterisk-xip/files/uci/moduleconf
new file mode 100755
index 0000000000..d8ea6114a0
--- /dev/null
+++ b/contrib/asterisk-xip/files/uci/moduleconf
@@ -0,0 +1,151 @@
+#!/bin/sh
+
+# Module.conf
+
+init_moduleconf() {
+ ast_add_reload module
+ ast_enable_type module
+
+ for i in ${module_list} ; do
+ eval module_${i}=no
+ done
+
+ enable_module app_dial
+ enable_module app_read
+
+ enable_module app_verbose
+ enable_module pbx_config
+ enable_module pbx_functions
+
+ enable_module app_transfer
+ module_chan_local=auto
+ # Sound files are all gsm
+ enable_format gsm
+
+ enable_module app_func_strings
+}
+
+# List of modules in sensible load order.
+module_list="res_agi res_adsi res_config_mysql res_crypto res_smdi res_features \
+ res_indications res_convert res_jabber res_monitor res_musiconhold res_speech \
+ res_clioriginate pbx_ael pbx_config pbx_functions pbx_loopback pbx_realtime \
+ pbx_spool pbx_wilcalu func_base64 func_callerid func_cdr func_channel func_cut \
+ func_db func_enum func_env func_global func_groupcount func_language func_logic \
+ func_moh func_rand func_realtime func_sha1 func_strings func_timeout func_uri \
+ cdr_csv cdr_custom cdr_manager cdr_mysql cdr_pgsql cdr_sqlite chan_agent \
+ chan_alsa chan_gtalk chan_h323 chan_iax2 chan_local chan_sip format_au \
+ format_g723 format_g726 format_g729 format_gsm format_h263 format_h264 \
+ format_ilbc format_jpeg format_mp3 format_pcm format_pcm_alaw format_sln \
+ format_vox format_wav format_wav_gsm app_alarmreceiver app_amd app_authenticate \
+ app_cdr app_chanisavail app_channelredirect app_chanspy app_controlplayback \
+ app_cut app_db app_dial app_dictate app_directed_pickup app_directory app_disa \
+ app_dumpchan app_echo app_enumlookup app_eval app_exec app_externalivr \
+ app_followme app_forkcdr app_getcpeid app_groupcount app_hasnewvoicemail \
+ app_ices app_image app_lookupblacklist app_lookupcidname app_macro app_math \
+ app_md5 app_meetme app_milliwatt app_mixmonitor app_morsecode \
+ app_parkandannounce app_playback app_privacy app_queue app_random app_read \
+ app_readfile app_realtime app_record app_sayunixtime app_senddtmf app_sendtext \
+ app_setcallerid app_setcdruserfield app_setcidname app_setcidnum app_setrdnis \
+ app_settransfercapability app_sms app_softhangup app_speech_utils app_stack \
+ app_system app_talkdetect app_test app_transfer app_txtcidname app_url \
+ app_userevent app_verbose app_voicemail app_waitforring app_waitforsilence \
+ app_while codec_a_mu codec_adpcm codec_alaw codec_g726 codec_gsm codec_ilbc \
+ codec_lpc10 codec_speex codec_ulaw"
+
+# Enable a module - for use by other scripts
+enable_module() {
+ logdebug 3 "Enable ${1}"
+ eval module_${1}=yes
+}
+
+module_enabled() {
+ eval local is_enabled="\${module_${1}}"
+ if [ ${is_enabled} == "no" ] ; then
+ return 1
+ else
+ return 0
+ fi
+}
+
+# Enable a sound format - for use by other scripts
+enable_format() {
+ while [ ! -z $1 ] ; do
+ case $1 in
+ gsm)
+ enable_module format_gsm
+ enable_module codec_gsm
+ [ "${module_format_wav}" = "yes" ] && enable_module format_wav_gsm ;;
+ wav)
+ enable_module format_wav
+ [ "${module_format_gsm}" = "yes" ] && enable_module format_wav_gsm ;;
+ alaw)
+ enable_module codec_adpcm
+ enable_module codec_alaw
+ [ "${module_format_pcm}" = "yes" ] && enable_module format_pcm_alaw ;;
+ pcm)
+ enable_module format_pcm_alaw
+ [ "${module_format_alaw}" = "yes" ] && enable_module format_pcm_alaw ;;
+ ulaw)
+ enable_module codec_ulaw ;;
+ g729|g726|g723)
+ enable_module format_g726
+ enable_module codec_g726 ;;
+ ilbc)
+ enable_module format_ilbc
+ enable_module codec_ilbc ;;
+ sln) enable_module format_sln ;;
+ mp3) enable_module format_mp3 ;;
+ vox) enable_module format_vox ;;
+ speex) enable_module codec_speex ;;
+ esac
+ shift
+ done
+}
+
+create_moduleconf() {
+ local file=${DEST_DIR}/modules.conf
+
+ get_checksum module_conf $file
+
+ rm -f ${file}.orig
+ [ -f "${file}" ] && mv ${file} ${file}.orig
+
+ echo "${asteriskuci_gen}[modules]${N}autoload=yes" > $file
+ for i in ${module_list} ; do
+ eval res=\${module_${i}}
+ case $res in
+ yes) echo "load => $i.so" >> $file ;;
+ no) echo "noload => $i.so" >> $file ;;
+ esac
+ done
+ echo "${N}[global]${N}chan_modem.so=no" >> $file
+
+ check_checksum "$module_conf" "$file" || ast_module_restart=1
+}
+
+reload_module() {
+ local file=${DEST_DIR}/modules.conf
+ local cmd=`diff ${file}.orig ${file} -u -U0 | grep '^+\(no\)\?load' | sed 's/+load[[:space:]]*=>[[:space:]]*\(.*\)$/\"module load \1\"/' | sed 's/+noload[[:space:]]*=>[[:space:]]*\(.*\)$/\"module unload \1\"/'| tr '\n' ' '`
+ [ "${testing_mode}" != "1" ] && rm -f ${file}.orig
+ logdebug 3 "Module reload: ${N}$cmd"
+ eval "astcmds $cmd"
+}
+
+
+valid_module() {
+ is_in_list $1 ${module_list}
+ return $?
+}
+
+handle_module() {
+ option_cb() {
+ if valid_module $1 ; then
+ eval module_$1="$2"
+ else
+ logerror "Invalid module: $1"
+ fi
+ }
+}
+
+
+# vim: ts=2 sw=2 noet foldmethod=indent