From: <abe...@us...> - 2014-03-11 03:07:02
|
Revision: 6450 http://sourceforge.net/p/astlinux/code/6450 Author: abelbeck Date: 2014-03-11 03:06:59 +0000 (Tue, 11 Mar 2014) Log Message: ----------- phoneprov-tools, add @ACCOUNT@, @ACCOUNT1-6@, @MAC4@, @MAC6@ and @TEMPLATE@, the @MODEL@ is now defined in the [general] context, and new [general] variable 'account_sufffix' which is the text appended to the extension to yield the @ACCOUNT@ values Modified Paths: -------------- branches/1.0/package/phoneprov-tools/massdeployment.conf branches/1.0/package/phoneprov-tools/phoneprov-build branches/1.0/package/phoneprov-tools/phoneprov-massdeployment branches/1.0/package/phoneprov-tools/templates/snom320.conf branches/1.0/package/phoneprov-tools/templates/spa942.conf branches/1.0/package/phoneprov-tools/templates/yealink.conf Modified: branches/1.0/package/phoneprov-tools/massdeployment.conf =================================================================== --- branches/1.0/package/phoneprov-tools/massdeployment.conf 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/massdeployment.conf 2014-03-11 03:06:59 UTC (rev 6450) @@ -2,7 +2,7 @@ ## Mass Deployment Data for IP Phones ## ## Format: -## phone_model mac_addr extension[/CID_Name] username password +## template mac_addr extension[/CID_Name][;ext2/cid2;...] username password ## ## Note: Space separated entries, no quotes or spaces are allowed in the entries. ## Optional CID_Name qualifier any '_' character will be mapped to a ' ' (space). Modified: branches/1.0/package/phoneprov-tools/phoneprov-build =================================================================== --- branches/1.0/package/phoneprov-tools/phoneprov-build 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/phoneprov-build 2014-03-11 03:06:59 UTC (rev 6450) @@ -55,14 +55,18 @@ { sed -e 's/^\\#/#/' \ -e 's/^\\\[/\[/' \ + -e "s|@TEMPLATE@|${template}|g" \ -e "s|@MODEL@|${model}|g" \ -e "s|@VENDOR@|${vendor}|g" \ -e "s|@MAC_ADDR@|${mac_addr}|g" \ -e "s|@MAC@|${mac}|g" \ + -e "s|@MAC4@|${mac4}|g" \ + -e "s|@MAC6@|${mac6}|g" \ -e "s|@EXT@|${ext}|g" \ -e "s|@CID_NAME@|${cid_name}|g" \ -e "s|@USERNAME@|${username}|g" \ -e "s|@PASSWORD@|${password}|g" \ + -e "s|@ACCOUNT@|${account}|g" \ -e "s|@SIP_SERVER_IPV4@|${sip_server_ipv4}|g" } @@ -72,26 +76,32 @@ -e "s|@CID_NAME1@|${CID_NAME[1]}|g" \ -e "s|@USERNAME1@|${USERNAME[1]}|g" \ -e "s|@PASSWORD1@|${PASSWORD[1]}|g" \ + -e "s|@ACCOUNT1@|${ACCOUNT[1]}|g" \ -e "s|@EXT2@|${EXT[2]}|g" \ -e "s|@CID_NAME2@|${CID_NAME[2]}|g" \ -e "s|@USERNAME2@|${USERNAME[2]}|g" \ -e "s|@PASSWORD2@|${PASSWORD[2]}|g" \ + -e "s|@ACCOUNT2@|${ACCOUNT[2]}|g" \ -e "s|@EXT3@|${EXT[3]}|g" \ -e "s|@CID_NAME3@|${CID_NAME[3]}|g" \ -e "s|@USERNAME3@|${USERNAME[3]}|g" \ -e "s|@PASSWORD3@|${PASSWORD[3]}|g" \ + -e "s|@ACCOUNT3@|${ACCOUNT[3]}|g" \ -e "s|@EXT4@|${EXT[4]}|g" \ -e "s|@CID_NAME4@|${CID_NAME[4]}|g" \ -e "s|@USERNAME4@|${USERNAME[4]}|g" \ -e "s|@PASSWORD4@|${PASSWORD[4]}|g" \ + -e "s|@ACCOUNT4@|${ACCOUNT[4]}|g" \ -e "s|@EXT5@|${EXT[5]}|g" \ -e "s|@CID_NAME5@|${CID_NAME[5]}|g" \ -e "s|@USERNAME5@|${USERNAME[5]}|g" \ -e "s|@PASSWORD5@|${PASSWORD[5]}|g" \ + -e "s|@ACCOUNT5@|${ACCOUNT[5]}|g" \ -e "s|@EXT6@|${EXT[6]}|g" \ -e "s|@CID_NAME6@|${CID_NAME[6]}|g" \ -e "s|@USERNAME6@|${USERNAME[6]}|g" \ - -e "s|@PASSWORD6@|${PASSWORD[6]}|g" + -e "s|@PASSWORD6@|${PASSWORD[6]}|g" \ + -e "s|@ACCOUNT6@|${ACCOUNT[6]}|g" } index_var() { @@ -123,6 +133,7 @@ if [ -z "${PASSWORD[$i]}" ]; then PASSWORD[$i]="$password" fi + ACCOUNT[$i]="${EXT[$i]}${account_suffix}" } ARGS="$(getopt --name phoneprov-build \ @@ -146,7 +157,7 @@ shift done -model="$1" +template="$1" mac_addr="$2" raw_ext="$3" raw_username="$4" @@ -212,18 +223,18 @@ esac mac="$(echo "$mac_addr" | tr -d ':')" -if [ ! -f "$TEMPLATE_DIR/$model.conf" ]; then - echo "phoneprov-build: Template file \"$TEMPLATE_DIR/$model.conf\" not found." >&2 +if [ ! -f "$TEMPLATE_DIR/$template.conf" ]; then + echo "phoneprov-build: Template file \"$TEMPLATE_DIR/$template.conf\" not found." >&2 exit 1 fi -if ! is_context "general" "$TEMPLATE_DIR/$model.conf"; then +if ! is_context "general" "$TEMPLATE_DIR/$template.conf"; then echo "phoneprov-build: No [general] context defined, invalid template file." >&2 exit 1 fi # Extract General Definitions -OPTIONS="$(extract_context "general" "$TEMPLATE_DIR/$model.conf")" +OPTIONS="$(extract_context "general" "$TEMPLATE_DIR/$template.conf")" macaddress_case="$(extract_var macaddress_case)" case $macaddress_case in @@ -232,12 +243,23 @@ lower) mac="$(echo "$mac" | tr '[:upper:]' '[:lower:]')" ;; esac -OPTIONS="$(echo "$OPTIONS" | merge_variables)" +mac4="${mac:8}" +mac6="${mac:6}" +model="$(extract_var model)" +if [ -z "$model" ]; then + model="$template" +fi vendor="$(extract_var vendor)" if [ -z "$vendor" ]; then vendor="$model" fi + +OPTIONS="$(echo "$OPTIONS" | merge_variables)" + +account_suffix="$(extract_var account_suffix)" +account=${ext}${account_suffix} + prov_path="$(extract_var prov_path)" if [ -z "$prov_path" ]; then prov_path="$PHONEPROV_DIR/$vendor" @@ -319,6 +341,7 @@ CID_NAME[1]="$cid_name" USERNAME[1]="$username" PASSWORD[1]="$password" +ACCOUNT[1]="$account" for index in 2 3 4 5 6; do define_indexed_vars $index Modified: branches/1.0/package/phoneprov-tools/phoneprov-massdeployment =================================================================== --- branches/1.0/package/phoneprov-tools/phoneprov-massdeployment 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/phoneprov-massdeployment 2014-03-11 03:06:59 UTC (rev 6450) @@ -38,17 +38,17 @@ } init_args() { - local args="$1" model + local args="$1" template - model="$(echo "$args" | awk -F' ' '{ print $1; }')" + template="$(echo "$args" | awk -F' ' '{ print $1; }')" - echo "$model 00:00:00:00:00:00 init" + echo "$template 00:00:00:00:00:00 init" } gen_user_pass() { - local data="$1" model mac_addr ext_cid ext user pass + local data="$1" template mac_addr ext_cid ext user pass - model="$(echo "$data" | awk -F' ' '{ print $1; }')" + template="$(echo "$data" | awk -F' ' '{ print $1; }')" mac_addr="$(echo "$data" | awk -F' ' '{ print $2; }')" ext_cid="$(echo "$data" | awk -F' ' '{ print $3; }')" user="$(echo "$data" | awk -F' ' '{ print $4; }')" @@ -56,11 +56,11 @@ ext="$(echo "$ext_cid" | cut -d';' -f1 | cut -d'/' -f1)" - if [ -n "$model" -a -n "$mac_addr" -a -n "$ext" ]; then + if [ -n "$template" -a -n "$mac_addr" -a -n "$ext" ]; then if [ "$ext" != "init" -a "$ext" != "init-dialplan" -a "$ext" != "init-sip" ]; then if [ -z "$user" -o -z "$pass" ]; then if [ -z "$user" ]; then - user="${model}_$(echo "$mac_addr" | cut -d':' -f5)$(echo "$mac_addr" | cut -d':' -f6)_${ext}" + user="${ext}_$(echo "$mac_addr" | cut -d':' -f4- | tr -d ':')" fi if [ -z "$pass" ]; then pass="$(openssl rand -base64 12)" @@ -68,7 +68,7 @@ # Properly match if '*' exists in the extension/cid ext_cid="$(echo "$ext_cid" | sed 's/*/\\*/g')" - sed -i -e "s|^${model}[ \t]*${mac_addr}[ \t]*${ext_cid}.*$|${model} ${mac_addr} ${ext_cid} ${user} ${pass}|" "$in_file" + sed -i -e "s|^${template}[ \t]*${mac_addr}[ \t]*${ext_cid}.*$|${template} ${mac_addr} ${ext_cid} ${user} ${pass}|" "$in_file" fi fi fi Modified: branches/1.0/package/phoneprov-tools/templates/snom320.conf =================================================================== --- branches/1.0/package/phoneprov-tools/templates/snom320.conf 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/templates/snom320.conf 2014-03-11 03:06:59 UTC (rev 6450) @@ -5,9 +5,11 @@ # General Definitions [general] vendor=snom +model=snom320 #prov_path=/mnt/kd/phoneprov/snom prov_file=@MODEL@-@MAC@.htm macaddress_case=upper +account_suffix=_@MAC4@_@MODEL@ #dialplan_path=/mnt/kd/asterisk/includes dialplan_file=astlinux-phoneprov-exten.conf @@ -18,12 +20,12 @@ # Dialplan File entries [dialplan] -exten => @EXT@,1,Dial(SIP/@USERNAME@) +exten => @EXT@,1,Dial(SIP/@ACCOUNT@) # SIP File entries [sip] ; @EXT@ / @MAC_ADDR@ / @MODEL@ -\[@USERNAME@] +\[@ACCOUNT@] type=friend host=dynamic context=internal-phones @@ -45,7 +47,7 @@ <phone-settings> <user_realname idx="1" perm="">@EXT@</user_realname> <user_name idx="1" perm="">@USERNAME@</user_name> -<user_pname idx="1" perm="">@USERNAME@</user_pname> +<user_pname idx="1" perm="">@ACCOUNT@</user_pname> <user_pass idx="1" perm="">@PASSWORD@</user_pass> <user_host idx="1" perm="">@SIP_SERVER_IPV4@</user_host> <user_outbound idx="1" perm="">@SIP_SERVER_IPV4@</user_outbound> Modified: branches/1.0/package/phoneprov-tools/templates/spa942.conf =================================================================== --- branches/1.0/package/phoneprov-tools/templates/spa942.conf 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/templates/spa942.conf 2014-03-11 03:06:59 UTC (rev 6450) @@ -5,9 +5,11 @@ # General Definitions [general] vendor=linksys +model=spa942 prov_path=/mnt/kd/tftpboot/linksys prov_file=@EXT@.xml macaddress_case=lower +account_suffix=_@MAC4@_@MODEL@ #dialplan_path=/mnt/kd/asterisk/includes dialplan_file=astlinux-phoneprov-exten.conf @@ -18,12 +20,12 @@ # Dialplan File entries [dialplan] -exten => @EXT@,1,Dial(SIP/@USERNAME@) +exten => @EXT@,1,Dial(SIP/@ACCOUNT@) # SIP File entries [sip] ; @EXT@ / @MAC_ADDR@ / @MODEL@ -\[@USERNAME@] +\[@ACCOUNT@] type=friend #host=dynamic #<1010>host=10.10.20.20 @@ -176,7 +178,7 @@ <Display_Name_1_ ua="na"> @CID_NAME@ </Display_Name_1_> - <User_ID_1_ ua="na"> @EXT@ + <User_ID_1_ ua="na"> @USERNAME@ </User_ID_1_> <Password_1_ ua="na"> @PASSWORD@ </Password_1_> Modified: branches/1.0/package/phoneprov-tools/templates/yealink.conf =================================================================== --- branches/1.0/package/phoneprov-tools/templates/yealink.conf 2014-03-10 00:02:04 UTC (rev 6449) +++ branches/1.0/package/phoneprov-tools/templates/yealink.conf 2014-03-11 03:06:59 UTC (rev 6450) @@ -5,9 +5,11 @@ # General Definitions [general] vendor=yealink +model=yealink #prov_path=/mnt/kd/phoneprov/yealink prov_file=@MAC@.cfg macaddress_case=lower +account_suffix=_@MAC4@_@MODEL@ #dialplan_path=/mnt/kd/asterisk/includes dialplan_file=astlinux-phoneprov-exten.conf @@ -18,12 +20,12 @@ # Dialplan File entries [dialplan] -exten => @EXT@,1,Dial(SIP/@USERNAME@) +exten => @EXT@,1,Dial(SIP/@ACCOUNT@) # SIP File entries [sip] ; @EXT@ / @MAC_ADDR@ / @MODEL@ -\[@USERNAME@] +\[@ACCOUNT@] type=friend host=dynamic context=internal-phones @@ -45,7 +47,7 @@ account.1.enable=1 account.1.label=@EXT@ account.1.auth_name=@USERNAME@ -account.1.user_name=@USERNAME@ +account.1.user_name=@ACCOUNT@ account.1.password=@PASSWORD@ account.1.sip_server.1.address=@SIP_SERVER_IPV4@ account.1.sip_server1.port=5060 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |