From a6c6802439f523fd7a01df0c264615eacd4f0775 Mon Sep 17 00:00:00 2001 From: Tom Early Date: Sun, 20 Jan 2019 14:00:19 -0700 Subject: [PATCH] dtmf now includes exec commands with voice prompts for G, H and R --- announce/gatewayrestart.dat | Bin 0 -> 1512 bytes announce/rebooting.dat | Bin 0 -> 1278 bytes announce/shutdown.dat | Bin 0 -> 1197 bytes exec_G.sh | 2 + exec_H.sh | 2 + exec_R.sh | 2 + qndtmf.sh | 110 ++++++++++++++---------------------- 7 files changed, 47 insertions(+), 69 deletions(-) create mode 100644 announce/gatewayrestart.dat create mode 100644 announce/rebooting.dat create mode 100644 announce/shutdown.dat diff --git a/announce/gatewayrestart.dat b/announce/gatewayrestart.dat new file mode 100644 index 0000000000000000000000000000000000000000..f21557f6449a716193a251befbe34307d69a2b01 GIT binary patch literal 1512 zcmZvcdo&XY0LCLpqtR#$l~-Q#XvuS1afw@WFIhM5yzU_tu2-R9oTV^~EpMjidQBK^ zODK8dHO%A840&!QU6YY(WA~m;=ibvf_uudPo$tTj2eboeXh@=cc7S%o^Bt1tjaHx? zNbhUH@dtEj;|?j5a%kd@F~n2sNZ?YDauUENahrP!q_or>5#!b{-|i}5&B{z_)oxdl zwJUK1VLKph`t%Ut-8z`{InQ^l@|*>;0(Ysth|wo+nzK7+hWf-B8eOvG@(f~{h13LJ zPnCu6+AC`@f*a|7B@$uXr@n}L!;FT#T2DulRw)#@T!0W5iMjr$6Ny{JJ|BRSNV1eMou z6W87r?Q__Z`n8;N!f~ed6ueUX_x(l>oCh+GA76N_V_WIW^plz%r=W{f!CcL00eD?l zTbX#Tc@`BnF%zfV6SCVBDswW##%4Kti`oJ=j!E34k>rky1HO7SXUI4 z>OM43?QGbSoAj#0z0HbUKmm;okx#L+7QzjWNTcswDy3G86^D`;;M;@G&}m!> z|7OaoG~V6vF@h&N#eNWQpPJzF2HGpOl5;{;p!R9Yq+=ShI?TRIkv`-{zedz`xO1a%At%fXubjW9oLU( z49=WT4&<+gk0;45wzv$-f~1tJlgW#D7Fl0Vofcd} ze<&kq0^jghh9}aReTm8;3r!a#US}ml0^rTIU93pKiQSm{5{{3u=PN$wd!I>YRI=3y z4YCR?sb={_f6B;8AZ3!w#Z0zKn5G|Da5ppPL*aTMq6xD2e8$~{HA`0Nh=8772OgAx zgE?2a^ivThbyVRLweEs@7YToeluMk?s$l_g)1&_7I~7#7caK#yoIzR;`KJdW$MywD z#H344VAD$R$x7}OI0ZY&SWPAOKv|vVgFs0zVh-R5`_EIL9T+kHow?tVdExgk_N(S! z;eRSEkX|X!GrS(~&G*><+4&KKC}xB*{Ib;jgh z(H)G%Zy8=I|94XX`V^$TpE6+d{xKzqg7!< z=CXaf*vKXumdQ>rzSKJ|qMKjEWxqICUrjf4AQMDHl>tW6WE`D=qA`w1eimj9hsd{> zL8=sGd7kCNzhta%d&36SDAy&$*cGu_%`nYE`-n{ zCxN8~Fi*og%gnZ_*9kBnoiL*`6S-pnwtY-ue~VKmCTmlb2CTp4(tCqUNl#V9IBi&z xCENSslqb9J>^VnkJc85{G(kj25H;S5hL`wy8U;3fT@0xLaCe@xTo)R|{~Oac_U`}y literal 0 HcmV?d00001 diff --git a/announce/rebooting.dat b/announce/rebooting.dat new file mode 100644 index 0000000000000000000000000000000000000000..8418ddb2f8516d4a0d46bece9ea9127939e79901 GIT binary patch literal 1278 zcmVANa1;*gph#XO(4qY+0 z9;coYp@&eSv@Rn6bM*i+N#vAonlthbh-OMVLly!tDyZhrBS4&5n1U(e;%eXyGw4RR zl%Qgz0xE4E$5jS*hYljhEp)Mjd%}bpFSi4b?kmTd3Qqbtos7IW#4``#dwOH3-;D7| zpbMIhq&YeWOXv`m8;HLy;h1=I!4ryCF0!u3mjRK0!5|7#eysPXQzsr1qm;}qh8m)V zdMwV&0@B@vzF2LrO}}QVb%B$ia#(O5^rx$L#lbBCPwh|DH^&T}YPhlKF?-$*CNE^OpY8ok<3@ zmW!K=NDi9zL{6665P_((4V6x+ACR$nI1%KCpBBE;2_ONC;ro;>kqv_GS-k4@C|c|k z>8bhp^&okFLI_^$s&tH6P1_DXSH4tHC~qCgQgqpz^N&ewG{8cLUFG$;c4VRxo&Il+ zUv^piOuc=pmyR+)9znmd2)L?}QtkA^mk?vrG#XE%_Oc#I1sTdI!OoMGdbU^6=*H+= zU~@_kh%+qM`C%wNb4dyih+k)X&SZXn!l<8pB|o@l20OT)eDX<@uVhZT8PXJAANeRe?i0#T%g(qmTv(KfFy>4Qy-;VdkPWuch{Fm6=9MiBqgh^+ zqMYu84v9RUfsm+Lf&v4HMzB<(uW{zd3=!dt<>q)p9gZLww|)K|QS1#kX)r&!SaS&- z-Jpczs~G%bSdD0HqSM~6U}3xFEk@HGHfsa#BifhU>KYlgmX2IX8{mj4qZY;yqC$ff zQ}Ymel&ZOEE@0&fSYgn5L=bXk2q**wnnb9R$BA`%rdp?*TEzwo_J(5Sm|8~<3^Wc7 zMiMI{27F-n9!3%?pbC6(ybeYZDqwoqw5-THwd|-MG1{OQu3S2O}4n`6yBL;k6_zp%EJK+X=;rtFp5-TGH zd|>zv1{OQu3S2O}I;99o0UAkK$gRhcsbdZ?L!qMMAS;Fj94C=3#SU`tno-G!enSo- zaD`TF)CQsiI(27xwcuN35IP%II@G)>1d40el)FQ6KBo>-s#uR;_Pl~3Vf#+the965 z4s%PDyD+}2A6hZ1(4*@m`1;>Js5lzbq1{~3)txwYS5N$0N7kxga=>cn96wx%`75%; z*l?xQCHntQjgO z=)?OnjpCj`%RQKbH;Ag9U*tPao{=(J57+x;ovvGmKuMuxBShlx8sYgC>u5H+a1N;W z*j}FS&(VOn^*Fy?@X`{78cz;6OAEdh40;@v9_pF literal 0 HcmV?d00001 diff --git a/announce/shutdown.dat b/announce/shutdown.dat new file mode 100644 index 0000000000000000000000000000000000000000..9a762c70fa4f2b12f636c4d38d196dcc822528d4 GIT binary patch literal 1197 zcmd;c6H-=Yt4a95=QhRoAY0AHJ$!CL+F+6MizFtgPZH>xu`GAep#?3j>4|17Ldpx- zQW`g{oX^&|ple%B%|zLGiv*uo_RYQ#r?=`_n)-`Iem5cEuO_Ek_dVS6od~W2L{(*4|~G@VU)-+gNOr z9vc@0#0Yo2+4=js&Z3wo`Pigs8x!|)$$r^f-4yh8ewEAzWAj-7>H8}~4ouwpIWYa& zt3}q2&aR%Ay#D<1=&Rdz&%CP}({R6kTl3D&1lf77ra7!PUC{Nq#-emev}=db?)M%+ zUDA#%MJH>WU8Ix~*pg=aOuu#|p1H}o=C^Rt66*vhWz7_?ze+oP`5D_QW?N-m`E{q! zfAi5dOZVJx+S~PTieUPTo543Y${I7S?UcRSQ1wIZ(9VmJ+bXN%Za>ZMv=nK|F<#Kp z+d1pGNT2@0?^!K-3uX6J7Pk~{kW0+rd6tydeIlZWKj+@J6~ETbdXjW5Iy|=OMdYgs zT!&4fPjy{p;=Yi7ZshZomu6kGc^V?W^HFmBgnci|<9=+H zymNQ|%aZv2=MMZ`@#nMH{MU<$SMe?qQDZ@=u!b31R8>64rJhO_6FaN?X8UA=X&|ECwP`O-#+=(^UR4G6JO1c?(pV|oIiV;jFMo{_xkQ5|8C95dip@$c_rI|CZV*1#B!bI z25LJmPfuR_;K$M(o=MyWm+x_<&EtN^5HiVbUz3WoT7yi=O+Gg<?jRxs$H<#y<%Q z;OK(mKm+Q{i`_g$wSJ?M?|9{>M)4ElEylI_P@13|)a>m9wzc{m&+-04V waC_2R<{vZGsA$$PSO%Zj(Is^0L-wLnv$*4IL08JsE?F&py5^zLnSjzV0C8qXJOBUy literal 0 HcmV?d00001 diff --git a/exec_G.sh b/exec_G.sh index a8e47a5..225d4d2 100755 --- a/exec_G.sh +++ b/exec_G.sh @@ -1,2 +1,4 @@ #!/bin/sh +qnvoice ${2} gatewayrestart.dat 'Gateway Restart' +sleep 5 systemctl restart qngateway diff --git a/exec_H.sh b/exec_H.sh index 40db820..9fc303e 100755 --- a/exec_H.sh +++ b/exec_H.sh @@ -1,2 +1,4 @@ #!/bin/sh +qnvoice ${2} shutdown.dat 'System Shutdown' +sleep 5 shutdown -h now diff --git a/exec_R.sh b/exec_R.sh index 7e4b8af..db73a28 100755 --- a/exec_R.sh +++ b/exec_R.sh @@ -1,2 +1,4 @@ #!/bin/sh +qnvoice ${2} rebooting.dat 'System Reboot' +sleep 5 shutdown -r now diff --git a/qndtmf.sh b/qndtmf.sh index 3e4a15b..8cb15a4 100755 --- a/qndtmf.sh +++ b/qndtmf.sh @@ -12,9 +12,23 @@ # Example: D00617 will link local module to DCS006 Q # Example: *00103 will link local module to REF001 C # Example: 0 or 00 will report status of the link, " I" +# Example: ##08 will execute the exec_H.sh script (shutdown the system) # We set this to spaces, it will be set later + +GetLetter () { + if [[ $1 == ([0-9]) ]]; then + if [ $1 -gt 0 ] && [ $1 -le 26 ]; then + LETTER=${LETTERS[$1-1]} + return + fi + fi + LETTER=$BAD +} + LUSER=" " +LETTERS=( {A..Z} ) +BAD='bad' cd /tmp echo started at `date` @@ -25,101 +39,59 @@ do do echo found file $i at `date` LOCAL_BAND=${i:0:1} - if [[ "$LOCAL_BAND" = "A" ]] || [[ "$LOCAL_BAND" = "B" ]] || [[ "$LOCAL_BAND" = "C" ]] ; then + if [[ "$LOCAL_BAND" == 'A' ]] || [[ "$LOCAL_BAND" == 'B' ]] || [[ "$LOCAL_BAND" == 'C' ]]; then CMD=`head -n 1 $i 2>/dev/null` LUSER=`tail -n 1 $i 2>/dev/null` echo "... with these contents: " $CMD " " $LUSER - if [[ "$CMD" = "#" ]] ; then + if [[ "$CMD" == '#' ]]; then echo Unlinking local band $LOCAL_BAND requested by $LUSER qnremote ${LOCAL_BAND} "$LUSER" U >/dev/null 2>&1 echo - elif [[ "$CMD" = "0" ]] || [[ "$CMD" = "00" ]] ; then + elif [[ "$CMD" == '0' ]] || [[ "$CMD" == '00' ]]; then echo Link Status on local band $LOCAL_BAND requested by $LUSER qnremote ${LOCAL_BAND} "$LUSER" I >/dev/null 2>&1 echo - elif [[ "$CMD" = "**" ]] ; then + elif [[ "$CMD" == '**' ]]; then echo Load Hosts on local band $LOCAL_BAND requested by $LUSER qnremote ${LOCAL_BAND} "$LUSER" F >/dev/null 2>&1 else - LEN=${#CMD} - if [[ "$LEN" = "6" ]] ; then - PFX=${CMD:0:1} - REMOTE_NODE=${CMD:1:3} - REMOTE_BAND=${CMD:4:2} - - if [[ "$REMOTE_BAND" = "01" ]] ; then - REMOTE_BAND=A - elif [[ "$REMOTE_BAND" = "02" ]] ; then - REMOTE_BAND=B - elif [[ "$REMOTE_BAND" = "03" ]] ; then - REMOTE_BAND=C - elif [[ "$REMOTE_BAND" = "04" ]] ; then - REMOTE_BAND=D - elif [[ "$REMOTE_BAND" = "05" ]] ; then - REMOTE_BAND=E - elif [[ "$REMOTE_BAND" = "06" ]] ; then - REMOTE_BAND=F - elif [[ "$REMOTE_BAND" = "07" ]] ; then - REMOTE_BAND=G - elif [[ "$REMOTE_BAND" = "08" ]] ; then - REMOTE_BAND=H - elif [[ "$REMOTE_BAND" = "09" ]] ; then - REMOTE_BAND=I - elif [[ "$REMOTE_BAND" = "10" ]] ; then - REMOTE_BAND=J - elif [[ "$REMOTE_BAND" = "11" ]] ; then - REMOTE_BAND=K - elif [[ "$REMOTE_BAND" = "12" ]] ; then - REMOTE_BAND=L - elif [[ "$REMOTE_BAND" = "13" ]] ; then - REMOTE_BAND=M - elif [[ "$REMOTE_BAND" = "14" ]] ; then - REMOTE_BAND=N - elif [[ "$REMOTE_BAND" = "15" ]] ; then - REMOTE_BAND=O - elif [[ "$REMOTE_BAND" = "16" ]] ; then - REMOTE_BAND=P - elif [[ "$REMOTE_BAND" = "17" ]] ; then - REMOTE_BAND=Q - elif [[ "$REMOTE_BAND" = "18" ]] ; then - REMOTE_BAND=R - elif [[ "$REMOTE_BAND" = "19" ]] ; then - REMOTE_BAND=S - elif [[ "$REMOTE_BAND" = "20" ]] ; then - REMOTE_BAND=T - elif [[ "$REMOTE_BAND" = "21" ]] ; then - REMOTE_BAND=U - elif [[ "$REMOTE_BAND" = "22" ]] ; then - REMOTE_BAND=V - elif [[ "$REMOTE_BAND" = "23" ]] ; then - REMOTE_BAND=W - elif [[ "$REMOTE_BAND" = "24" ]] ; then - REMOTE_BAND=X - elif [[ "$REMOTE_BAND" = "25" ]] ; then - REMOTE_BAND=Y - elif [[ "$REMOTE_BAND" = "26" ]] ; then - REMOTE_BAND=Z + if [ ${#CMD} -eq 4 ] && [[ ${CMD:0:2} == '##' ]]; then + GetLetter ${CMD:2:2} + if [[ "$LETTER" == "$BAD" ]]; then + echo "bad script letter index: '${CMD:2:2}'" else - REMOTE_BAND=Z + exec_${LETTER}.sh fi + elif [ ${#CMD} -eq 6 ]; then - if [[ "$PFX" = "B" ]] ; then + PFX=${CMD:0:1} + if [[ "$PFX" = 'B' ]]; then RMT=XRF - elif [[ "$PFX" = "D" ]] ; then + elif [[ "$PFX" = 'D' ]]; then RMT=DCS - elif [[ "$PFX" = "*" ]] ; then + elif [[ "$PFX" = '*' ]]; then RMT=REF else - RMT=garbage + RMT=$BAD fi - if [[ "$RMT" == "garbage" ]] ; then - echo bad value in prefix + REMOTE_NODE=${CMD:1:3} + if [[ $REMOTE_NODE != ([0-9]) ]]; then + REMOTE_NODE=$BAD + fi + + GetLetter ${CMD:4:2} + REMOTE_BAND=$LETTER + + if [[ "$RMT" == "$BAD" ]] || [[ "$REMOTE_NODE" == "$BAD" ]] || [[ "$REMOTE_BAND" == "$BAD" ]]; then + echo "nonsense link command: '$CMD'" else echo linking local band $LOCAL_BAND to remote node ${RMT}${REMOTE_NODE} $REMOTE_BAND requested by $LUSER qnremote ${LOCAL_BAND} "$LUSER" ${RMT}${REMOTE_NODE}${REMOTE_BAND}L >/dev/null 2>&1 echo fi + else + echo "Bad command: '$CMD'" fi fi else