+add_incoming_context() {
+ local context=$1
+ eval "local added=\${dialplan_incoming_${context}_added}"
+ if [ "${added}" != "1" ] ; then
+ append dialplan_extensions_incoming "${context}" " "
+ eval "dialplan_incoming_${context}_added=1"
+ fi
+
+}
+
+# Add to incoming ringing
+add_incoming() {
+ local rhs="$3"
+
+ while [ ! -z "$rhs" ] ; do
+ cur=${rhs%%,*}
+ nvar=${rhs#*,}
+ add_incoming_context ${cur}
+ append dialplan_incoming_${cur} "$1/$2" "&"
+ [ "$nvar" == "$rhs" ] && break
+ rhs=${nvar}
+ done
+}
+
+to_upper() {
+ eval "$1=`echo \"$2\"|tr [a-z] [A-Z]`"
+}
+to_lower() {
+ eval "$1=`echo \"$2\"|tr [A-Z] [a-z]`"
+}
+
+split_targettype() { # TYPE target inputEntry
+ local l_targettype="${3%[-_/]*}"
+ if [ "${l_targettype}" == "$3" ] ; then
+ return 1
+ fi
+ local l_targetname="${3#*[-_/]}"
+ to_upper "$1" "${l_targettype}"
+ eval "$2=\"${l_targetname}\""
+ return 0
+}
+
+