107 lines
2.6 KiB
Bash
Executable file
107 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
# Meetme.conf (conference)
|
|
|
|
ast_add_conf meetme
|
|
init_meetmeconf() {
|
|
ast_add_reload meetme
|
|
ast_enable_type meetmegeneral
|
|
ast_enable_type meetme
|
|
ast_enable_type dialplanmeetme
|
|
}
|
|
create_meetmeconf() {
|
|
file=${DEST_DIR}/meetme.conf
|
|
get_checksum meetme_conf $file
|
|
logdebug 1 "Creating meetme rooms: ${meetme_rooms}"
|
|
local isempty=1
|
|
if [ -z ${meetme_rooms} ] ; then
|
|
rm -f $file
|
|
isempty=2
|
|
else
|
|
echo "${asteriskuci_gen}${N}[general]" > $file
|
|
if [ ! -z ${meetme_audiobuffers} ] ; then
|
|
echo "audiobuffers=${meetme_audiobuffers}" >> $file
|
|
fi
|
|
echo "${N}[rooms]" >> $file
|
|
for i in ${meetme_rooms} ; do
|
|
for j in pin adminpin room ; do
|
|
eval meetme_$j=\${meetme_room_${i}_${j}}
|
|
done
|
|
if [ -z "${meetme_room}" ] ; then
|
|
meetme_room=$i
|
|
fi
|
|
local line="conf => ${meetme_room}"
|
|
if [ -z ${meetme_adminpin} ] ; then
|
|
if [ ! -z ${meetme_pin} ] ; then
|
|
line="${line},${meetme_pin}"
|
|
fi
|
|
else
|
|
line="${line},${meetme_pin},${meetme_adminpin}"
|
|
fi
|
|
echo "$line" >> $file
|
|
done
|
|
fi
|
|
check_checksum "$meetme_conf" "$file" || ast_meetme_restart=$isempty
|
|
}
|
|
|
|
handle_meetmegeneral() {
|
|
option_cb() {
|
|
case $1 in
|
|
audiobuffers)
|
|
meetme_audiobuffers="$2" ;;
|
|
*) logerror "Invalid meetme general option $1"
|
|
esac
|
|
}
|
|
}
|
|
|
|
handle_meetme() {
|
|
logdebug 2 "Add meetme room $1"
|
|
meetme_room="$1"
|
|
append meetme_rooms "$1" " "
|
|
enable_module app_meetme
|
|
option_cb() {
|
|
case $1 in
|
|
pin|adminpin|room)
|
|
logdebug 3 "Meetme option ${meetme_room}/${1}=$2"
|
|
eval meetme_room_${meetme_room}_${1}="$2" ;;
|
|
*) logerror "Invalid meetme option for $meetme_room : $1"
|
|
esac
|
|
}
|
|
}
|
|
|
|
handle_dialplanmeetme() {
|
|
check_add dialplanmeetme
|
|
option_cb() {
|
|
case $1 in
|
|
dialplan|extension|room)
|
|
eval "dial_meetme_$1=\"$2\""
|
|
esac
|
|
}
|
|
}
|
|
|
|
check_add_dialplanmeetme() {
|
|
if [ ! -z "${dial_meetme_extension}" ] ; then
|
|
local ext="exten => ${dial_meetme_extension},"
|
|
|
|
[ -z "${dial_meetme_dialplan}" ] && dial_meetme_dialplan=extensions
|
|
check_add_context ${dial_meetme_dialplan}
|
|
append dialplan_context_${dial_meetme_dialplan} "${ext}1,MeetMe(${dial_meetme_room})" "${N}"
|
|
append dialplan_context_${dial_meetme_dialplan} "${ext}n,HangUp" "${N}"
|
|
fi
|
|
for i in dialplan extension room ; do
|
|
eval "unset dial_meetme_$i"
|
|
done
|
|
}
|
|
|
|
add_dialplan_meetme() {
|
|
local context=$1
|
|
logdebug 1 "Adding Dialplan meetme $1 $2"
|
|
check_add_context "$context"
|
|
local ext="exten => $2,"
|
|
append dialplan_context_${context} "${ext}1,MeetMe($3)" "${N}"
|
|
append dialplan_context_${context} "${ext}n,HangUp" "${N}"
|
|
}
|
|
|
|
reload_meetme() astcmd "module reload app_meetme.so"
|
|
unload_meetme() astcmd "module unload app_meetme.so"
|
|
|
|
# vim: ts=2 sw=2 noet foldmethod=indent
|