<div dir="ltr"><div>Just wanting to know when we will have the nodesetup script working again..</div><div><br></div><div><div>root@lorentedford:/etc/asterisk# nodesetup</div><div>*************************************</div><div>*     Simple Node Setup Script      *</div><div>*************************************</div><div><br></div><div>The system configuration type is the type of hardware and software</div><div>running on your system (simpleusb, channel_usb)</div><div><br></div><div>WARNING: Modifying the configuration type on an already set-up system</div><div>will over-write all existing configuration files!!!</div><div>If this is an initial installation, you have nothing to worry about.</div><div><br></div><div>Please make sure you understand these consequences if you</div><div>choose to change the system configuration type.</div><div><br></div><div>Would you like your config files be provided by the Allstar Portal server [Y/n]? y</div><div><br></div><div>This requires you to have already applied for and received an approved</div><div>Allstar Link Portal user ID, set it up to be a system operator, created</div><div>an entry for, and properly configured information about this Server, and</div><div>requested, and received an approved Node entry for each of the Nodes on</div><div>this Server, and properly configured the inforation for each of the Nodes.</div><div><br></div><div>Have you estblished and entered the appropriate information on that server [y/N]? y</div><div>*********************************************</div><div>*     Allstar Portal Node Setup Script      *</div><div>*********************************************</div><div><br></div><div>Do you wish to use the pre-configured user information (user kc9zhv) [Y/n]? y</div><div><br></div><div>Please select one of the following servers</div><div><br></div><div>1)  KC9ZHV Repeater Site</div><div>2)  KC9ZHV 2 meter TX</div><div>3)  KC9ZHV-DataCenter-HUB</div><div>4)  kc9zhv 2m dc</div><div><br></div><div>Please make your selection (1-4): 4</div><div><br></div><div>Okay to download config for server kc9zhv 2m dc [Y/n]? y</div><div><br></div><div>Downloading server kc9zhv 2m dc...</div><div>Problem with Centos networking setup!</div><div>Allstar Link Portal Config Download Failed.. exiting</div><div>root@lorentedford:/etc/asterisk#</div></div><div><br></div><div><br></div><div><div>root@lorentedford:/etc/asterisk# cat /srv/post_install/nodesetup</div><div># !/bin/bash</div><div>#</div><div># nodesetup.sh</div><div>#</div><div>DRY_RUN=0</div><div>PCF_LOCAL=1</div><div>CONFIGS=/etc/asterisk</div><div>TMP=/tmp</div><div>SENABLE=1</div><div><br></div><div>function die {</div><div>        echo "Fatal error: $1"</div><div>        exit 255</div><div>}</div><div><br></div><div>function promptnum</div><div>{</div><div>        ANSWER=""</div><div>        while [ -z $ANSWER  ] || [[ ! $ANSWER =~ [0-9]{3,}$ ]]</div><div>        do</div><div>                echo -n "$1: "</div><div>                read ANSWER</div><div>        done</div><div>}</div><div><br></div><div>function promptcall</div><div>{</div><div>        ANSWER=""</div><div>        while [ -z $ANSWER  ] || [[ ! $ANSWER =~ [\/,0-9,a-z,A-Z]{3,}$ ]]</div><div>        do</div><div>                echo -n "$1: "</div><div>                read ANSWER</div><div>        done</div><div>}</div><div><br></div><div><br></div><div><br></div><div>function promptyn</div><div>{</div><div>        echo -n "$1 [y/N]? "</div><div>        read ANSWER</div><div>        if [ ! -z $ANSWER ]</div><div>        then</div><div>                if [ $ANSWER = Y ] || [ $ANSWER = y ]</div><div>                then</div><div>                        ANSWER=Y</div><div>                else</div><div>                        ANSWER=N</div><div>                fi</div><div>        else</div><div>                ANSWER=N</div><div>        fi</div><div>}</div><div><br></div><div>function promptny</div><div>{</div><div>        echo -n "$1 [Y/n]? "</div><div>        read ANSWER</div><div>        if [ ! -z $ANSWER ]</div><div>        then</div><div>                if [ $ANSWER = N ] || [ $ANSWER = n ]</div><div>                then</div><div>                        ANSWER=N</div><div>                else</div><div>                        ANSWER=Y</div><div>                fi</div><div>        else</div><div>                ANSWER=Y</div><div>        fi</div><div>}</div><div><br></div><div>echo "*************************************"</div><div>echo "*     Simple Node Setup Script      *"</div><div>echo "*************************************"</div><div>echo</div><div>echo "The system configuration type is the type of hardware and software"</div><div>echo "running on your system (simpleusb, channel_usb)"</div><div>echo</div><div>echo "WARNING: Modifying the configuration type on an already set-up system"</div><div>echo "will over-write all existing configuration files!!!"</div><div>echo "If this is an initial installation, you have nothing to worry about."</div><div>echo</div><div>echo "Please make sure you understand these consequences if you"</div><div>echo "choose to change the system configuration type."</div><div>echo</div><div><br></div><div>promptny "Would you like your config files be provided by the Allstar Portal server"</div><div>if [ "$ANSWER" = "Y" ]</div><div>then</div><div>        echo</div><div>        echo "This requires you to have already applied for and received an approved"</div><div>        echo "Allstar Link Portal user ID, set it up to be a system operator, created"</div><div>        echo "an entry for, and properly configured information about this Server, and"</div><div>        echo "requested, and received an approved Node entry for each of the Nodes on"</div><div>        echo "this Server, and properly configured the inforation for each of the Nodes."</div><div>        echo</div><div>        promptyn "Have you estblished and entered the appropriate information on that server"</div><div>        if [ "$ANSWER" = "Y" ]</div><div>        then</div><div>                if [ -x /usr/bin/curl ] && [ -e /etc/ssl/certs/ca-certificates.crt ]</div><div>                then</div><div>                        TMPF=/tmp/pcf.sh</div><div>                        /bin/rm $TMPF > /dev/null 2>&1</div><div>                        curl -L -s <a href="https://allstarlink.org/config/portalconfig.sh">https://allstarlink.org/config/portalconfig.sh</a> -o $TMPF</div><div>                        if [ $? -ne 0 ]</div><div>                        then</div><div>                                echo "curl was not able to download necessary script file, sorry."</div><div>                                exit 1</div><div>                        fi</div><div><br></div><div>                        if [ $PCF_LOCAL -eq 1 ]</div><div>                                then</div><div>                                        cp /usr/local/sbin/pcf.sh $TMPF</div><div>                        fi</div><div><br></div><div>                        bash $TMPF</div><div>                        if [ $? -ne 0 ]</div><div>                        then</div><div>                                rm $TMPF</div><div>                                echo "Allstar Link Portal Config Download Failed.. exiting"</div><div>                                exit 1</div><div>                        fi</div><div>                        rm $TMPF</div><div>                        echo</div><div>                        echo "Congradulations! From now on, you will be able to initiate an automatic"</div><div>                        echo "download of any Node or Server configuration changes from the Allstar"</div><div>                        echo "Portal (just from the Web, without even having to have any sort of terminal"</div><div>                        echo "session active to this system)."</div><div>                        echo</div><div>                        echo "You must now manually re-boot the system for these changes to take place."</div><div>                        echo</div><div>                        echo "Thank you for using the Allstar Link Network System!"</div><div>                        echo</div><div>                        exit 0</div><div>                else</div><div>                        echo "curl and its associated cert file(s) can not be found, sorry!"</div><div>                        exit 1</div><div>                fi</div><div>        else</div><div>                echo "Nothing changed!"</div><div>                exit 0</div><div>        fi</div><div>fi</div><div><br></div><div>echo</div><div>echo "Doing sanity checks on rpt.conf, extensions.conf, iax.conf, and savenode.conf..."</div><div><br></div><div>if [ -e $CONFIGS/extensions.conf ]</div><div>then</div><div>        grep -q -s 'NODE =' $CONFIGS/extensions.conf || die "extensions.conf missing NODE=xxxx"</div><div>        NODE=$(grep 'NODE =' /etc/asterisk/extensions.conf | awk -F'= ' '{print $2}' | awk -F' ;' '{print $1}')</div><div>        NODE=$(echo $NODE | awk '{$1=$1}1')</div><div><br></div><div>else</div><div>        die "$CONFIGS/extensions.conf not found"</div><div>fi</div><div><br></div><div>if [ -e $CONFIGS/rpt.conf ]</div><div>then</div><div>        grep -q -s $NODE $CONFIGS/rpt.conf || die "Node numbers in rpt.conf and extensions.conf are different!"</div><div>else</div><div>        die "$CONFIGS/rpt.conf not found"</div><div>fi</div><div><br></div><div>if [ -e $CONFIGS/iax.conf ]</div><div><br></div><div>then</div><div>        grep -q -s register\.allstarlink\.org $CONFIGS/iax.conf || die "No allstar link register statement in iax.conf! (old file maybe?)"</div><div>        REG1=$(grep 'register =' $CONFIGS/iax.conf | awk -F'=' '{print $2}' | awk -F'   ;' '{print $1}')</div><div>        REG=$(echo "$REG1" | awk -F'@' '{print $1}')</div><div><br></div><div>        REGNODE=$(echo "$REG" | awk -F':' '{print $1}')</div><div>        REGPSWD=$(echo "$REG" | awk -F':' '{print $2}')</div><div>        if [ $REGNODE != $NODE ]</div><div>        then</div><div>                die "Node numbers in rpt.conf and iax.conf are different!"</div><div>        fi</div><div>else</div><div>        die "$CONFIGS/iax.conf not found"</div><div>fi</div><div><br></div><div>if [ -e $CONFIGS/savenode.conf ]</div><div>then</div><div>        grep -q -s NODE= $CONFIGS/savenode.conf || die "savenode.conf missing NODE=xxxx"</div><div>        grep -q -s PASSWORD= $CONFIGS/savenode.conf || die "savenode.conf missing PASSWORD=xxxx"</div><div>        grep -q -s ENABLE= $CONFIGS/savenode.conf || die "savenode.conf missing ENABLE=x"</div><div>        SNODE=$(grep NODE= $CONFIGS/savenode.conf | awk -F'=' '{print $2}')</div><div>        SPASSWORD=$(grep PASSWORD= $CONFIGS/savenode.conf | awk -F'=' '{print $2}')</div><div>        SENABLE=$(grep ENABLE= $CONFIGS/savenode.conf | awk -F'=' '{print $2}')</div><div>        if [ $NODE != $SNODE ]</div><div>        then</div><div>                die "Node numbers in iax.conf and savenode.conf are different!"</div><div>        fi</div><div>        if [ $REGPSWD != $SPASSWORD ]</div><div>        then</div><div>                die "Passwords in iax.conf and savenode.conf are different!"</div><div>        fi</div><div>        if [ -z $SENABLE ]</div><div>        then</div><div>                die "Enable not fully specified in savenode.conf!"</div><div>        fi</div><div>fi</div><div><br></div><div>echo "OK, the format of the files is understandable!"</div><div>echo</div><div><br></div><div>ANYNEW=0</div><div>NEWNODE=""</div><div>echo The system node number is: $NODE</div><div>promptyn "Would you like to change it?"</div><div>if [ "$ANSWER" = "Y" ]</div><div>then</div><div>        promptnum "Enter the new node number"</div><div>        NEWNODE=$ANSWER</div><div>        ANYNEW=1</div><div>fi</div><div><br></div><div>NEWPSWD=""</div><div>echo The registration password is: $REGPSWD</div><div>promptyn "Would you like to change it?"</div><div>if [ "$ANSWER" = "Y" ]</div><div>then</div><div>        promptnum "Enter the new registration password"</div><div>        NEWPSWD=$ANSWER</div><div>        ANYNEW=1</div><div>fi</div><div><br></div><div>ID=""</div><div>promptyn "Would you like to enter a callsign for the identifier"</div><div>if [ "$ANSWER" = "Y" ]</div><div>then</div><div>        promptcall "Please enter your callsign"</div><div>        ID=$ANSWER</div><div>        ANYNEW=1</div><div>fi</div><div><br></div><div>if [ $SAVENODE_ENABLE -ne $SENABLE ]</div><div>then</div><div>        ANYNEW=1</div><div>fi</div><div><br></div><div>if  [ $ANYNEW -gt 0 ]</div><div>then</div><div>        echo "Copying original files to temporary work area..."</div><div>        cp $CONFIGS/rpt.conf $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> || die "Could not copy $CONFIGS/rpt.conf"</div><div>        cp $CONFIGS/extensions.conf $TMP/<a href="http://extensions.conf.in">extensions.conf.in</a> || die "Could not copy $CONFIGS/extensions.conf"</div><div>        cp $CONFIGS/iax.conf $TMP/<a href="http://iax.conf.in">iax.conf.in</a> || die "Could not copy $CONFIGS/iax.conf"</div><div>        if [ -e $CONFIGS/savenode.conf ]</div><div>        then</div><div>                cp $CONFIGS/savenode.conf $TMP/<a href="http://savenode.in">savenode.in</a> || die "Could not copy $CONFIGS/savenode.conf"</div><div>        fi</div><div>else</div><div>        echo "Nothing to do!"</div><div>        exit 0</div><div>fi</div><div><br></div><div>if [ ! -z $ID ]</div><div>then</div><div>        echo "Updating rpt.conf with new ID..."</div><div>        sed "s~idrecording[ \t]*=[ \t]*|.*~idrecording = |i$ID\t\t\t; Main ID message~" <$TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> >$TMP/rpt.conf.out</div><div>        mv -f $TMP/rpt.conf.out $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> || die "mv 1 failed"</div><div>        sed "s~idtalkover[ \t]*=[ \t]*|.*~idtalkover = |i$ID\t\t\t; Talkover ID message~" <$TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> >$TMP/rpt.conf.out</div><div>        mv -f $TMP/rpt.conf.out $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> || die "mv 1 failed"</div><div>fi</div><div><br></div><div>if [ ! -z $NEWNODE ]</div><div>then</div><div>        echo "Updating rpt.conf iax.conf, and extensions.conf with new node number..."</div><div>        sed "s/$NODE/$NEWNODE/g" <$TMP/<a href="http://extensions.conf.in">extensions.conf.in</a> >$TMP/extensions.conf.out</div><div>        mv -f $TMP/extensions.conf.out $TMP/<a href="http://extensions.conf.in">extensions.conf.in</a> || die "mv 2 failed"</div><div><br></div><div>        sed "s/$NODE/$NEWNODE/g" <$TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> >$TMP/rpt.conf.out</div><div>        mv -f $TMP/rpt.conf.out $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> || die "mv 3 failed"</div><div><br></div><div>        sed "s/$NODE/$NEWNODE/g" <$TMP/<a href="http://iax.conf.in">iax.conf.in</a> >$TMP/iax.conf.out</div><div>        mv -f $TMP/iax.conf.out $TMP/<a href="http://iax.conf.in">iax.conf.in</a> || die "mv 4 failed"</div><div><br></div><div>        if [ -e $CONFIGS/savenode.conf ]</div><div>        then</div><div>                sed "s/$NODE/$NEWNODE/g" <$TMP/<a href="http://savenode.in">savenode.in</a> >$TMP/savenode.out</div><div>                mv -f $TMP/savenode.out $TMP/<a href="http://savenode.in">savenode.in</a> || die "mv 5 failed"</div><div>        fi</div><div>fi</div><div><br></div><div>if [ ! -z $NEWPSWD ]</div><div>then</div><div>        echo "Updating allstar link register statement in iax.conf with new password..."</div><div>        sed "s/$REGPSWD/$NEWPSWD/g" <$TMP/<a href="http://iax.conf.in">iax.conf.in</a> >$TMP/iax.conf.out</div><div>        mv -f $TMP/iax.conf.out $TMP/<a href="http://iax.conf.in">iax.conf.in</a> || die "mv 6 failed"</div><div><br></div><div>        if  [ -e $CONFIGS/savenode.conf ]</div><div>        then</div><div>                sed "s/$REGPSWD/$NEWPSWD/g" <$TMP/<a href="http://savenode.in">savenode.in</a> >$TMP/savenode.out</div><div>                mv -f $TMP/savenode.out $TMP/<a href="http://savenode.in">savenode.in</a> || die "mv 7 failed"</div><div>        fi</div><div>fi</div><div><br></div><div>if  [ -e $CONFIGS/savenode.conf ]</div><div>then</div><div>        sed "s/ENABLE=$SENABLE/ENABLE=$SAVENODE_ENABLE/g" <$TMP/<a href="http://savenode.in">savenode.in</a> >$TMP/savenode.out</div><div>        mv -f $TMP/savenode.out $TMP/<a href="http://savenode.in">savenode.in</a> || die "mv 7 failed"</div><div>fi</div><div><br></div><div>if [ $DRY_RUN -eq 0 ]</div><div>then</div><div>        sed -i 's/; register =/register =/g' $TMP/<a href="http://iax.conf.in">iax.conf.in</a></div><div><br></div><div>        # Used the $ in place of the /</div><div>        sed -i 's$;statpost_program = /usr/bin/wget$statpost_program = /usr/bin/wget$g' $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a></div><div>        sed -i "0,/statpost_url/ s/;statpost_url /statpost_url/" $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a></div><div><br></div><div>        echo "Updating original config files..."</div><div>        mv -f $TMP/<a href="http://rpt.conf.in">rpt.conf.in</a> $CONFIGS/rpt.conf || die "mv 8 failed"</div><div>        mv -f $TMP/<a href="http://extensions.conf.in">extensions.conf.in</a> $CONFIGS/extensions.conf || die "mv 9 failed"</div><div>        mv -f $TMP/<a href="http://iax.conf.in">iax.conf.in</a> $CONFIGS/iax.conf || die "mv 10 failed"</div><div>        if  [ -e $CONFIGS/savenode.conf ]</div><div>        then</div><div>                mv -f $TMP/<a href="http://savenode.in">savenode.in</a> $CONFIGS/savenode.conf || die "mv 11 failed"</div><div>                chmod +x $CONFIGS/savenode.conf || die "chmod failed!"</div><div>        fi</div><div>        echo "Config files updated. Done!!"</div><div>        echo</div><div>else</div><div>        echo "Dry run"</div><div>        echo</div><div>fi</div><div>exit 0</div></div><div><br></div><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:arial;font-size:small">Loren Tedford (KC9ZHV) <br>Email: <a href="mailto:lorentedford@gmail.com" style="color:rgb(17,85,204)" target="_blank">lorentedford@gmail.com</a></div><div style="font-family:arial;font-size:small"><a href="http://www.lorentedford.com/" style="color:rgb(17,85,204)" target="_blank">http://www.lorentedford.com</a></div><div style="font-family:arial;font-size:small"><a href="http://www.kc9zhv.com" target="_blank">http://www.kc9zhv.com</a></div><div style="font-family:arial;font-size:small"><a href="http://forum.kc9zhv.com" target="_blank">http://forum.kc9zhv.com</a></div><div style="font-family:arial;font-size:small"><a href="http://hub.kc9zhv.com" target="_blank">http://hub.kc9zhv.com</a></div><div style="font-family:arial;font-size:small"><span style="font-family:arial,sans-serif"><a href="http://www.newwavesucks.com" target="_blank">http://www.newwavesucks.com</a></span><br></div><div style="font-family:arial;font-size:small"><a href="http://forum.newwavesucks.com" target="_blank">http://forum.newwavesucks.com</a></div></div></div></div></div></div></div></div></div></div></div>
</div>