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

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

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

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

IT-новости

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

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

подробнее

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

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

подробнее

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

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

подробнее

TCL IVR API 2.0 предоставляет функции TTS (Text To Speech), которые позволяют воспроизводить клиенту голосовые сообщения, основанные на параметрах команды media play. Например, параметр %a<num> считает значение num денежной суммой в центах (в нашем случае в копейках), и клиент услышит эквивалентную сумму в долларах и центах или в рублях и копейках. К великому сожалению, IVR API могут работать только с несколькими языками, как правило это английский, китайский и испанский, а для русского языка необходимо купить у фирмы Cisco Systems скрипт, обеспечивающий поддержку русского языка. Любителям экстремальных ощущений предлагается написать такой скрипт самим, который потом можно будет подгрузить в маршрутизатор командой call language voice в режиме глобальной конфигурации.

Скрипт этот должен быть написан с применением «чистого» TCL без использования CISCO IVR API, и из него будет вызываться функция translate с передачей ей параметров из команды media play. Функция translate должна возвратить строку, состоящую из имен *.au-файлов, подлежащих воспроизведению, разделенных пробелами. Кроме этого, по невыяcненной пока причине, TCL IVR-скрипт, получив от TTS TCL-строку с перечисленными аудио-файлами, требующими проигрывания, игнорирует весь текст до первого пробела (лидирующие пробелы не учитываются). То есть, если ваш скрипт вернет следующую строку: «_200.au _40.au _7.au», то проиграны будут только файлы _40.au и _7.au.

Несмотря на то, что такое поведение не зарегистрировано как официальная ошибка, оно все же присутствовало во всех тестированных автором версиях IOS и оборудовании. По этому поводу официальные лица Cisco ничего не говорят, кроме того, что они не несут никакой ответственности за написанный третьими лицами код, и подобное программное обеспечение надо приобретать у них.

Далее скрипт, вызывая команду fsm state DESTSELEC-TION, устанавливает для звонка новое состояние и, используя команду leg collectdigits, переходит в режим ожидания завершения сбора цифр от клиента, которые определят номер телефона назначения.

При отказе в авторизации (статус события ev_authorize_done не равен «ao_000») функция act_CardAuthorize получает код ответа от RADIUS-сервера командой:

infotag get

aaa_avpair_exists h323-return-code

и присваивает его переменной return_code, затем в случае, если количество попыток ввода номера телефона еще не превышено, вызывается функция act_PlayCard ReturnCode c передачей ей переменной return_code в качестве параметра для проигрывания соответствующего звукового сообщения об ошибке, и скрипт вызывает команду leg collectdigits leg_incoming ParamForCard для повторного сбора цифр – номера карты. Вот тут, кстати, мы и используем свойство «не блокирующего» вызова функций: leg collectdigits и act_PlayCardReturnCode идут одна за другой, но выполнены они будут условно одновременно – скрипт будет проигрывать голоcовые сообщения об ошибке и ожидать события ev_collectdigits_done, после которого опять отработает процедура act_GotCardNumber, согласно уже использованному нами ранее FSM-переходу:

set ivr_fsm(CARDSELECTION,ev_collectdigits_done)

поскольку скрипт остался в прежнем состоянии: CARD SELECTION.

proc act_PlayCardReturnCode { return_code } {

 

    switch $return_code {

2 {media play leg_incoming _auth_fail.au;}

7 {media_play leg_incoming _zero_bal.au;}

default {

media play leg_incoming _no_aaa.au;

fsm setstate CALLDISCONNECT;

return;

}

}

 

    return;

    }

 

proc act_GetDestination { } {

    global retryCnt;


Предыдущая страницаОглавлениеСледующая страница
 
[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