modules/admin-full: fix wifi join
[project/luci.git] / contrib / package / asterisk-xip / files / uci / sipiaxconf
index 30af55e..eb88b75 100755 (executable)
@@ -23,6 +23,7 @@ check_append_local() {
                eval  "dialplan_local_${1}_context=\"${2}\""
                eval  "dialplan_local_${1}_selfmailbox=\"${3}\""
                eval  "dialplan_local_${1}_mailbox=\"${4}\""
+               eval  "dialplan_local_${1}_displayname=\"${5}\""
                return 0
        else
                return 1
@@ -31,7 +32,7 @@ check_append_local() {
 append_dialplan_locals(){
        for i in ${dialplan_locals} ; do
                local extension=$i
-               for x in context selfmailbox mailbox ; do
+               for x in context selfmailbox mailbox displayname ; do
                        eval "x_${x}=\${dialplan_local_${i}_${x}}"
                done
                local newcontext=local_${extension}
@@ -43,11 +44,16 @@ append_dialplan_locals(){
                        # add_dialplan_include ${newcontext}  ${x_last_context}
 
                        append_dialplan_context ${newcontext} "exten => ${match_all},1,Set(CALLERID(num)=${extension})"
+                       local next=2
+                       if [ ! -z "${x_displayname}" ] ; then
+                               append_dialplan_context ${newcontext} "exten => ${match_all},2,Set(CALLERID(name)=${x_displayname})"
+                               local next=3
+                       fi
                        if [ ! -z "${x_mailbox}" ] ; then
-                               [ "${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})"
+                               [ "${x_selfmailbox}" = "yes" ] && append_dialplan_context ${newcontext} "exten => ${extension},${next},VoiceMailMain(${x_mailbox})"
+                               [ ! -z "${dialplan_voiceboxext}" ]  && append_dialplan_context ${newcontext} "exten => ${dialplan_voiceboxext},${next},VoiceMailMain(${x_mailbox})"
                        fi
-                       append_dialplan_context ${newcontext} "exten => ${match_all},2,Goto(${x_context},\${EXTEN},1)"
+                       append_dialplan_context ${newcontext} "exten => ${match_all},${next},Goto(${x_context},\${EXTEN},1)"
                fi
        done
 }
@@ -72,14 +78,14 @@ check_add_iaxitems() {
 
 do_check_add_items(){
 
-       for i in type last_host last_context selfmailbox last_extension last_mailbox ; do
+       for i in type last_host last_context selfmailbox last_extension last_mailbox last_displayname ; do
                eval "x_${i}=\"\${${1}_${i}-}\""
        done
 
        if [ ! -z "${x_last_context}" ] ; then
                if [ ! -z "${x_last_extension}" ] ; then
                        [ "${x_last_context}" = "-" ] && eval "x_last_context=\"\${${1}_opt_context}\""
-                       check_append_local "${x_last_extension}" "${x_last_context}" "${x_selfmailbox}" "${x_last_mailbox}"
+                       check_append_local "${x_last_extension}" "${x_last_context}" "${x_selfmailbox}" "${x_last_mailbox}" "${x_last_displayname}"
                        x_last_context=local_${x_last_extension}
                fi
                if [ "${x_last_context}" != "-" ] ; then
@@ -91,7 +97,8 @@ do_check_add_items(){
        fi
 
        for i in last_username last_fromdomain last_secret last_username \
-               sectionname last_fromuser last_context last_extension last_mailbox last_type last_host ; do
+               sectionname last_fromuser last_context last_extension last_mailbox \
+               last_type last_host last_displayname ; do
                eval unset $1_$i
        done
 
@@ -337,7 +344,7 @@ handle_sip() {
                                append sip_sections "$1=$2" "$N"
                                ;;
                        register) [ "$2" == "yes" ] && sip_doregister=1 ;;
-                       registerextension) eval sip_last_$1="$2";;
+                       registerextension|displayname) eval sip_last_$1="$2";;
                        allow|allow_ITEM*) split_append sip_sections allow= "$2" "${N}" enable_format ;;
                        extension|extension_ITEM*)    add_extension SIP ${sip_sectionname} "$2" ;;
 
@@ -349,6 +356,7 @@ handle_sip() {
                                eval "target_$1_SIP_${sectionname}=\"$2\""
                        ;;
                        *_LENGTH) ;;
+                       _*) ;;
                        *)
                                eval sip_last_$1="$2"
                                local opt=${1%_ITEM*}
@@ -460,6 +468,7 @@ handle_iax() {
                                split_append iax_sections allow= "$2" "${N}" enable_format ;;
                        extension_LENGTH) ;;
                        extension|extension_ITEM*)    add_extension IAX ${iax_sectionname} "$2" ;;
+                       displayname) eval iax_last_$1="$2";;
                        context)
                                eval iax_last_context="$2" ;;
                        selfmailbox)