Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

 

    return;

    }

Процедура act_CallAuthorize анализирует статус события ev_authorize_done. При успешной авторизации клиенту проговаривается, сколько времени у него на балансе и возвращенное скрипту RADIUS-сервером в переменной h323-credit-time, далее скрипт запускает команду leg collectdigits leg_incoming param и командой fsm setstate PLACECALL переходит в новое состояние: PLACECAL, в котором по завершении проигрывания звуковых файлов обработает событие ev_media_done и через FSM-переход:

set ivr_fsm(PLACECALL,ev_media_done) "act_CallSetup same_state;

будет выполнена функция act_CallSetup, которая наконец-то соединит нашего клиента с требуемым номером.

При ошибке в авторизации функция получит код ошибки из переменной h323-return-code и будет вызвана процедура act_PlayDestReturnCode, которая озвучит соответствующее сообщение об ошибке.

Если счетчик попыток ввести номер не превышен, скрипт будет ожидать от клиента повторного ввода номера, по завершении которого с помощью того же FSM-перехода:

set ivr_fsm(DESTSELECTION,ev_collectdigits_done) "act_GotDestination same_state";

управление будет передано функции act_GotDestination.

Теперь объясним, зачем мы используем команду leg collectdigits при успешной авторизации, ведь казалось бы больше ждать ввода от клиента не стоит.

Это позволит клиенту прервать сообщение о доступном времени звонка и перейти непосредственно к соединению. Данная возможность будет реализована с помощью команд:

set param(enableReporting) true

и

set param(interruptPrompt) false;

и FSM-перехода:

set ivr_fsm(PLACECALL,ev_digit_end) "act_FastSetup same_state";

Если клиент в момент прослушивания информации об оставшемся времени звонка нажмет клавишу «#», скрипт получит событие ev_digit_end, сигнализирующее о том, что была нажата некая клавиша, и будет вызвана функция act_FastSetup, которая проверит эту клавишу на соответствие с символом «#». В случае совпадения прервет проигрывание звуковых файлов командой media stop и вызовет процедуру act_CallSetup. Переменная SetupDone будет установлена в 1, чтобы избежать повторного вызова функции act_CallSetup.

proc act_FastSetup { } {

    global SetupDone;

 

    if {[infotag get evt_digit] != "#" || $SetupDone} {

return;

}

 

    media stop leg_incoming;

    act_CallSetup;

    set SetupDone 1;

 

    return;

    }

 

 

proc act_CallSetup { } {

    global destination;

    global account;

    global SetupDone;


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100