Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
[test_meters]
exten => 333330,1,Background(14)
exten => 333330,2,WaitExten(1)
exten => *,1,GotoIf($["${phase2}" = "1"]?test_meters,333330,say_next_number:test_meters,333330,4)
exten => 333330,3,Set(numTries=0)
exten => 333330,4,Playback(15)
exten => 333330,5(auth),Read(account,,10,,1,60)
exten => 333330,n,System(/var/lib/asterisk/saracen/needed_digits.rb ${account} >> /tmp/needed.log 2>&1)
exten => 333330,n,Set(needed_digits=${SHELL(/var/lib/asterisk/saracen/needed_digits.rb ${account})})
exten => 333330,n,GotoIf($["${needed_digits}" = ""]?bad_try)
exten => 333330,n(next_meter),Set(next_meter_number=${SHELL(/var/lib/asterisk/saracen/next_line.rb ${account})})
exten => 333330,n,Set(next_number=${SHELL(/var/lib/asterisk/saracen/next_counter.rb ${account})})
exten => 333330,n,GotoIf($["${next_number}" = "all"]?all)
exten => 333330,n,GotoIf($["${next_number}" = "night"]?night)
exten => 333330,n,GotoIf($["${next_number}" = "day"]?day)
exten => 333330,n(normal),Playback(18)
exten => 333330,n(say_next_number),SayDigits(${next_number})
exten => 333330,n,Goto(input_data)
exten => 333330,n(night),Playback(25)
exten => 333330,n,Set(next_number=${SHELL(/var/lib/asterisk/saracen/next_counter.rb ${account})})
exten => 333330,n,Goto(say_next_number)
exten => 333330,n(day),Playback(24)
exten => 333330,n,Set(next_number=${SHELL(/var/lib/asterisk/saracen/next_counter.rb ${account})})
exten => 333330,n,Goto(say_next_number)
exten => 333330,n(input_data),Read(device_data,,5,,1,60)
exten => 333330,n,Playback(20)
exten => 333330,n,SayDigits(${device_data})
exten => 333330,n,Set(phase2=1)
exten => 333330,n,Background(19)
exten => 333330,n,WaitExten(4)
exten => #,1,Goto(test_meters,333330,submit_data)
;exten => 333330,30(submit_data),System(/var/lib/asterisk/saracen/submit_data.rb ${account} "${next_meter_number}" ${device_data})
exten => 333330,30(submit_data),Set(submit_result=${SHELL(/var/lib/asterisk/saracen/submit_data.rb ${account} "${next_meter_number}" ${device_data})})
exten => 333330,n,GotoIf($["${submit_result}" = "ok"]?submit_success:submit_failure)
exten => 333330,n(submit_success),Playback(22)
exten => 333330,n,Goto(next_meter)
exten => 333330,n(submit_failure), Playback(23)
exten => 333330,n,Goto(hangup)
AEL в asterisk