exten => _ZXXXX,1,NoOp(Setting alarm ${EXTEN:0:1} to ${EXTEN:1}) same => n,GotoIf($["${EXTEN:1:2}">"23"]?inval) same => n,GotoIf($["${EXTEN:3:2}">"59"]?inval) same => n,Set(CHANNEL(language)=al) same => n,System(/etc/asterisk/alarm/do.sh set ${EXTEN:0:1} ${EXTEN:1}) same => n,Playback(silence/1) same => n,Playback(alarm) same => n,Playback(digits/${EXTEN:0:1}) same => n,Playback(is-set-to) same => n,SayUnixTime(${STRPTIME(2000-01-01 ${EXTEN:1:2}:${EXTEN:3:2}:00,,%Y-%m-%d %H:%M:%S)},,HM) same => n,Playback(silence/1) same => n,Hangup() same => n(inval),Playback(im-sorry&please-try&another-time) same => n,Hangup() exten => _Z0,1,NoOp(Disabling alarm ${EXTEN:0:1}) same => n,System(/etc/asterisk/alarm/do.sh disable ${EXTEN:0:1}) same => n,Set(CHANNEL(language)=al) same => n,Playback(silence/1) same => n,Playback(alarm) same => n,Playback(digits/${EXTEN:0:1}) same => n,Playback(off) same => n,Playback(silence/1) same => n,Hangup() exten => _Z1,1,NoOp(Enabling alarm ${EXTEN:0:1}) same => n,System(/etc/asterisk/alarm/do.sh enable ${EXTEN:0:1}) same => n,Set(CHANNEL(language)=al) same => n,Playback(silence/1) same => n,Playback(alarm) same => n,Playback(digits/${EXTEN:0:1}) same => n,Playback(on) same => n,Playback(silence/1) same => n,Hangup() exten => 0,1,NoOp(Reviewing all alarm times) same => n,Set(CHANNEL(language)=al) same => n,Playback(silence/1) same => n,Playback(current-time-is) same => n,SayUnixTime(,,HM) same => n,Playback(silence/1) same => n,Set(n=1) same => n,While($[${n}<10]) same => n,Set(t=${FILE(/etc/asterisk/alarm/alarm.${n}.txt)}) same => n,GotoIf($["x${t}"="x"]?none) same => n,Playback(alarm) same => n,Playback(digits/${n}) same => n,Playback(is-set-to) same => n,GotoIf($["${t:0:1}"="#"]?hash) same => n,SayUnixTime(${STRPTIME(2000-01-01 ${t:0:2}:${t:2:2}:00,,%Y-%m-%d %H:%M:%S)},,HM) same => n,Playback(silence/1) same => n,Goto(none) same => n(hash),SayUnixTime(${STRPTIME(2000-01-01 ${t:1:2}:${t:3:2}:00,,%Y-%m-%d %H:%M:%S)},,HM) same => n,Playback(off) same => n,Playback(silence/1) same => n(none),Set(n=$[${n}+1]) same => n,EndWhile same => n,Hangup() exten => _Z,1,NoOp(Cancelling alarm ${EXTEN}) same => n,System(/etc/asterisk/alarm/do.sh cancel ${EXTEN}) same => n,Set(CHANNEL(language)=al) same => n,Playback(silence/1) same => n,Playback(alarm) same => n,Playback(digits/${EXTEN:0:1}) same => n,Playback(has-been-cleared) same => n,Playback(silence/1) same => n,Hangup()