Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Опис системи &Віртуальний офіс&

Реферат Опис системи &Віртуальний офіс&





і - відповідаємо

$ AGI- gt; answer ();% AGI;


# ініціалізувавши змінні

$ status= raquo ;;

$ result= raquo ;;

$ to= raquo ;;


# Змушуємо Asterisk виконати команду GET DATA

# Формат команди: GET DATA lt; file to be streamed gt; [timeout] [max digits]

# де lt; file to be streamed gt;- Шлях до медіафайлів, який треба відтворити абоненту

# [timeout] - тайм-аут очікування введення цифри

# [max digits] - максимальна кількість цифр

# Чекаємо введення однієї цифри

print GET DATA $ ARGV [0] $ ARGV [1] 1 n raquo ;;

# Повертаний результат:

# невдале завершення: 200 result=- 1

# тайм-аут з введеними цифрами: 200 result= lt; digits gt; (timeout)

# тайм-аут без введених чисел: 200 result=(timeout)

# вдале завершення: 200 result= lt; digits gt;

# Отримуємо і розбираємо результат

$ result= lt; STDIN gt ;;

$ tt=$ result;

($ status, $ res_str, $ to)=split//, $ result;

($ fake, $ result)=split /=/, $ res_str;

$ to=~ s/^ s + | s + $//g;

$ result=~ s/^ s + | s + $//g;

# Якщо команда завершилася вдало, але цифр не введено - була просто натиснута #

# повертаємо ознака необхідності повторити набір ПІН-коду і виходимо

if (($ result eq ) amp; amp; ($ to eq )) {

$ AGI- gt; set_variable ($ ARGV [4], 2); (0);

}

# Нічого не набрали протягом тайм-ауту - повертаємо соотвтетствующій ознака і виходимо

if ($ result eq ) {

$ AGI- gt; set_variable ($ ARGV [4], 1);

exit (0);

}

# Була натиснута * - повертаємо ознака необхідності повторити набір ПІН-коду і виходимо

if ($ result eq * ) {

$ AGI- gt; set_variable ($ ARGV [4], 2);

exit (0);

}

# Отримано символи відмінні від цифр - (A, B, C, D) -

# повертаємо ознака помилкового ПІН-коду і виходимо

if ($ result=~/^ D + $ /) {

$ AGI- gt; set_variable ($ ARGV [4], 3);

exit (0);

}

# Файл вітання відтворений, перша цифра отримана. Подолжаем збір далі

$ count=1; (1) {

# Очікуємо черговий символ із заданим тайм-аутом

$ digit=$ AGI- gt; wait_for_digit ($ ARGV [1]);

# Стався тайм-аут, повертаємо ознака помилкового ПІН-коду і виходимо

if ($ digit == 0) {

$ AGI- gt; set_variable ($ ARGV [4], 3); (0);

}

$ count ++;

# Аналізуємо отримане

#  Нам був повернутий код символу. Отримуємо сам символ функцією chr ()

$ digit=chr ($ digit);

# Натиснуто * або # - повертаємо ознака необхідності повторити набір ПІН-коду і виходимо

if (($ digit eq * ) || ($ digit eq # )) {

$ AGI- gt; set_variable ($ ARGV [4], 2); (0);

}

# Отримано символи відмінні від цифр - (A, B, C, D) -

# повертаємо ознака помилкового ПІН-коду і виходимо

if ($ result=~/^ D + $ /) {

$ AGI- gt; set_variable ($ ARGV [4], 3);

exit (0);

}

# Додаємо чергову цифру в ПІН-код

$ result= $ result . $ digit raquo ;;

# Якщо зібрано 8 цифр - перевіряємо ПІН-код на приналежність до технічних

# якщо вірно - завершуємо цикл збору цифр

if (($ count == 8) amp; amp; (substr ($ result, 0,1) eq 0 )) {last; }

# Якщо зібрано к-ть цифр, задане $ ARGV [2], завершуємо цикл збору цифр ($ count == $ ARGV [2]) {last; }

}

# Встановлюємо в $ ARGV [3] зібраний ПІН-код

$ AGI- gt; set_variable ($ ARGV [3...


Назад | сторінка 18 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Логістична система і функції виробничої компанії Digit
  • Реферат на тему: Драматургія ток-шоу як жанровий ознака
  • Реферат на тему: Мова як важливий ознака етносу
  • Реферат на тему: Ознака організаційної єдності юридичної особи
  • Реферат на тему: Поділ влади як ознака прововой держави