Tidy up some bugs with quoting.
Use the ${match_all} variable - use [0-9+#*] as match-all. Fix the section name for iax contexts prepended with iax_. For IAX, handle uci list for 'allow', 'incoming' and 'extension'.
This commit is contained in:
parent
caf356d2d9
commit
d5f58717c6
1 changed files with 12 additions and 14 deletions
|
@ -28,10 +28,11 @@ add_incoming() {
|
||||||
# Add to internal extensions
|
# Add to internal extensions
|
||||||
add_extension() {
|
add_extension() {
|
||||||
logdebug 1 "Adding $1/$2 extension to $3"
|
logdebug 1 "Adding $1/$2 extension to $3"
|
||||||
(eval [ -z "\${dialplan_ext_$2}" ] )\
|
eval "local ext=\"\${dialplan_ext_$3}\""
|
||||||
&& append dialplan_exts "$3" " "
|
[ -z "${ext}" ] && append dialplan_exts "$3" " "
|
||||||
local lower=`echo $1|tr [A-Z] [a-z]`
|
local lower=`echo $1|tr [A-Z] [a-z]`
|
||||||
eval "${lower}_last_extension=\"$3\""
|
eval "local ext=\"\${${lower}_last_extension}\""
|
||||||
|
[ -z "${ext}" ] && eval "${lower}_last_extension=\"$3\""
|
||||||
append dialplan_ext_$3 $1/${2} "&"
|
append dialplan_ext_$3 $1/${2} "&"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +41,7 @@ check_append_local() {
|
||||||
logdebug 3 "added local context for ${1}"
|
logdebug 3 "added local context for ${1}"
|
||||||
eval "local isadded=\"\${dialplan_add_local_${extension}-0}\""
|
eval "local isadded=\"\${dialplan_add_local_${extension}-0}\""
|
||||||
if [ "$isadded" != "1" ] ; then
|
if [ "$isadded" != "1" ] ; then
|
||||||
|
logdebug 3 "Not added before - adding"
|
||||||
eval "dialplan_add_local_${extension}=1"
|
eval "dialplan_add_local_${extension}=1"
|
||||||
append dialplan_locals "$extension"
|
append dialplan_locals "$extension"
|
||||||
eval "dialplan_local_${1}_context=\"${2}\""
|
eval "dialplan_local_${1}_context=\"${2}\""
|
||||||
|
@ -64,12 +66,12 @@ append_dialplan_locals(){
|
||||||
#add_dialplan_goto ${newcontext} _[0-9#*+]. ${x_last_context}
|
#add_dialplan_goto ${newcontext} _[0-9#*+]. ${x_last_context}
|
||||||
# add_dialplan_include ${newcontext} ${x_last_context}
|
# add_dialplan_include ${newcontext} ${x_last_context}
|
||||||
|
|
||||||
append_dialplan_context ${newcontext} "exten => _.,1,Set(CALLERID(num)=${extension})"
|
append_dialplan_context ${newcontext} "exten => ${match_all},1,Set(CALLERID(num)=${extension})"
|
||||||
if [ ! -z "${x_mailbox}" ] ; then
|
if [ ! -z "${x_mailbox}" ] ; then
|
||||||
[ "${x_selfmailbox}" = "yes" ] && append_dialplan_context ${newcontext} "exten => ${extension},2,VoiceMailMain(${x_mailbox})"
|
[ "${x_selfmailbox}" = "yes" ] && append_dialplan_context ${newcontext} "exten => ${extension},2,VoiceMailMain(${x_mailbox})"
|
||||||
[ ! -z "${dialplan_voiceboxext}" ] && append_dialplan_context ${newcontext} "exten => ${dialplan_voiceboxext},2,VoiceMailMain(${x_mailbox})"
|
[ ! -z "${dialplan_voiceboxext}" ] && append_dialplan_context ${newcontext} "exten => ${dialplan_voiceboxext},2,VoiceMailMain(${x_mailbox})"
|
||||||
fi
|
fi
|
||||||
append_dialplan_context ${newcontext} "exten => _.,2,Goto(${x_context},\${EXTEN},1)"
|
append_dialplan_context ${newcontext} "exten => ${match_all},2,Goto(${x_context},\${EXTEN},1)"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -464,9 +466,9 @@ handle_iaxgeneral() {
|
||||||
|
|
||||||
handle_iax() {
|
handle_iax() {
|
||||||
check_add iaxitems
|
check_add iaxitems
|
||||||
append iax_sections "[$1]" "$N$N"
|
|
||||||
iax_type=peer
|
iax_type=peer
|
||||||
iax_sectionname="${1#iax_}"
|
iax_sectionname="${1#iax_}"
|
||||||
|
append iax_sections "[${iax_sectionname}]" "$N$N"
|
||||||
iax_last_context=-
|
iax_last_context=-
|
||||||
iax_selfmailbox=no
|
iax_selfmailbox=no
|
||||||
enable_module chan_iax2
|
enable_module chan_iax2
|
||||||
|
@ -475,20 +477,16 @@ handle_iax() {
|
||||||
type)
|
type)
|
||||||
iax_type=$2
|
iax_type=$2
|
||||||
append iax_sections "type=$2" "$N" ;;
|
append iax_sections "type=$2" "$N" ;;
|
||||||
allow_LENGTH) ;;
|
allow_LENGTH|incoming_LENGTH) ;;
|
||||||
allow|allow_ITEM*)
|
allow|allow_ITEM*)
|
||||||
split_append iax_sections allow= "$2" "${N}" enable_format ;;
|
split_append iax_sections allow= "$2" "${N}" enable_format ;;
|
||||||
extension)
|
extension_LENGTH) ;;
|
||||||
logdebug 1 "Adding IAX extension $2 for $iax_sectionname"
|
extension|extension_ITEM*) add_extension IAX ${iax_sectionname} "$2" ;;
|
||||||
eval [ -z "\${dialplan_ext_$2}" ] && dialplan_exts="${dialplan_exts} $2"
|
|
||||||
iax_last_extension="$2"
|
|
||||||
append dialplan_ext_$2 "IAX2/${iax_sectionname}" "&" ;;
|
|
||||||
extension) add_extension IAX ${iax_sectionname} "$2" ;;
|
|
||||||
context)
|
context)
|
||||||
eval iax_last_context="$2" ;;
|
eval iax_last_context="$2" ;;
|
||||||
selfmailbox)
|
selfmailbox)
|
||||||
eval iax_selfmailbox="$2" ;;
|
eval iax_selfmailbox="$2" ;;
|
||||||
incoming)
|
incoming|incoming_ITEM*)
|
||||||
add_incoming IAX ${iax_sectionname} "$3" ;;
|
add_incoming IAX ${iax_sectionname} "$3" ;;
|
||||||
timeout|prefix|internationalprefix|alwaysinternational|countrycode)
|
timeout|prefix|internationalprefix|alwaysinternational|countrycode)
|
||||||
eval "target_$1_IAX_${sectionname}=\"$2\"" ;;
|
eval "target_$1_IAX_${sectionname}=\"$2\"" ;;
|
||||||
|
|
Loading…
Reference in a new issue