diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-01-08 16:21:52 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-01-08 16:21:52 +0000 |
commit | ba66d54b5f4064664c69f614d55814cc6e862997 (patch) | |
tree | 2c762bcb0745ae549362698d69716de4988d3953 /contrib/package/asterisk-xip/files/uci/asteriskconf | |
parent | 2498f604961ebcf0bc8094bb72fd77d63670ee72 (diff) |
contrib/package: move asterisk14-xip to feed
Diffstat (limited to 'contrib/package/asterisk-xip/files/uci/asteriskconf')
-rwxr-xr-x | contrib/package/asterisk-xip/files/uci/asteriskconf | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/contrib/package/asterisk-xip/files/uci/asteriskconf b/contrib/package/asterisk-xip/files/uci/asteriskconf new file mode 100755 index 000000000..d90f9d9cd --- /dev/null +++ b/contrib/package/asterisk-xip/files/uci/asteriskconf @@ -0,0 +1,144 @@ +#!/bin/sh + +# Asterisk.conf + +init_asteriskconf() { + + ast_add_reload dialplan + ast_enable_type asterisk + ast_enable_type setglobal + ast_enable_type include + # ast_enable_type hardware + ast_enable_type hardwarereboot + + + asterisk_zone="Australia/Perth" + asterisk_spooldir="${DEST}/var/spool/asterisk" + asterisk_logdir="${DEST}/var/log/asterisk" + asterisk_agidir="${DEST}/usr/lib/asterisk/agi-bin" + return 0 +} + +asterisk_option_list="verbose debug quiet dontwarn timestamp execincludes \ +highpriority initcrypto nocolor dumpcore languageprefix internal_timing \ +systemname maxcalls maxload cache_record_files record_cache_dir \ +transmit_silence_during_record transcode_via_sln runuser rungroup" +asterisk_path_list="spooldir logdir agidir" + +valid_asterisk_option() { + is_in_list $1 ${asterisk_option_list} ${asterisk_path_list} zone + return $? +} + +create_asteriskconf() { + # echo ${DEST_DIR} + file=${DEST_DIR}/asterisk.conf + get_checksum asterisk_conf $file + + echo "${asteriskuci_gen}${N}[directories] +astetcdir => ${DEST_DIR} +astmoddir => ${DEST}/usr/lib/asterisk/modules +astvarlibdir => ${DEST}/usr/lib/asterisk +astdatadir => ${DEST}/usr/lib/asterisk +astrundir => /var/run" > $file + for i in ${asterisk_path_list} ; do + eval "value=\"\${asterisk_$i}\"" + if [ ! -z $value ] ; then + echo "ast$i => $value" >> $file + fi + done + echo "${N}[options]" >> $file + + for i in ${asterisk_option_list} ; do + eval "value=\"\${asterisk_$i}\"" + if [ ! -z $value ] ; then + echo "$i => $value" >> $file + fi + done + + echo "${N}; Changing the following lines may compromise your security. +[files] +astctlpermissions = 0660 +astctlowner = root +astctlgroup = nogroup +astctl = asterisk.ctl " >> $file + check_checksum "$asterisk_conf" "$file" || ast_restart=1 + +} + +handle_asterisk() { + option_cb() { + case $1 in + zone) + asterisk_zone="$2";; + *) + if valid_asterisk_option $1 $2 ; then + eval "asterisk_${1}=\"$2\"" + else + logerror "Invalid Asterisk option: $1" + fi + esac + } +} + +handle_include(){ + option_cb() { + case $1 in + dialplan|dialplan_ITEM*) + append dialplan_includes "#include <$2>" "${N}" + ;; + dialplan_COUNT) ;; + *) logerror "Invalid option \"$1\" for include" ;; + esac + } +} + +handle_setglobal() { + option_cb() { + case $1 in + set_COUNT) ;; + set|set_ITEM*) + if [ "${2%=*}" == "${2}" ] ; then + logerror "SetGlobal option \"$2\" not of the form VARIABLE=Value" + else + append dialplan_globals "" "${N}" + fi ;; + *) logerror "Invalid option \"$1\" for setglobal" ;; + esac + } +} + +handle_hardwarereboot() handle_hardware reboot + +# Handle hardware options (reboot) for Softphones +handle_hardware() { + case $1 in + reboot) + hardware_method= + hardware_param= + option_cb() { + case $1 in + method) + hardware_method="$2";; + param) + case ${hardware_method} in + web) append hardware_reboots "wget -q $2 -O - >&- 2>&-" "${N}" ;; + system) append hardware_reboots "$2 >&- 2>&-" "${N}" ;; + *) logerror "Invalid Hardware reboot method: ${hardware_method}" + esac + esac + + } + ;; + *) logerror "Invalid Hardware option: $1" + esac +} + +reboot_hardware() { + cd /tmp + eval ${hardware_reboots} +} + + + +# vim: ts=2 sw=2 noet foldmethod=indent |