К примеру можно воспользоватся вызовом скрипта для определения типа дня недели. Подобная информация может понадлбится если вам нужно проигрывать один вид меню, а в выходные дни другой.
Для определения дня недели воспользуемся таким скриптом:
#!/usr/bin/perl -w use Date::Calc qw(Day_of_Week Now Today); ($year,$month,$day) = Today(); $dow = Day_of_Week($year,$month,$day); if($dow eq 6 or $dow eq 7) { print "SET VARIABLE DOW WEEKEND\n"; } else { print "SET VARIABLE DOW WORKDAY\n"; }
Установить его можно из портов:
cd /usr/ports/devel/p5-Date-Calc make install clean
Теперь можно доработать меню, так что бы в будний день проигрывалась начитка welcome.wav, а в субботу и воскресенье была начитка weekend.wav.
Диалплан теперь будет выглядеть так:
[sip-dialout] exten => 444,1,Goto(menu,s,1) [menu] exten => s,1,Set(home="/home/menu") exten => s,2,AGI(${home}/bin/date.pl) exten => s,3,NoOp(" day ${DOW} ") exten => s,4,GotoIf( $["${DOW}" = "WEEKEND"]?8) exten => s,5,Playback(${home}/welcome) exten => s,6,NoOp(WEEKEND) exten => s,7,Goto(s,10) exten => s,8,Playback(${home}/weekend) exten => s,9,NoOp( WEEKEND ) exten => s,10,WaitExten() exten => 1,1,Playback(${home}/tariff) exten => 1,2,Goto(s,1) exten => 2,1,Dial(SIP/operator) exten => t,1,Playback(make_choice) exten => t,2,Goto(s,1) exten => i,1,Playback(wrong_choice) exten => i,2,Goto(s,1)
Функцию GotoIf можно применять не только с AGI, но и для переходов по проверке любых переменных установленных в extensions.
Комментариев нет:
Отправить комментарий