Как создать IVR Menu Options через API Call Control?

anonymous

Well-Known Member
Регистрация
14 Янв 2008
Сообщения
19.170
День добрый !!!!
Народ подскажите плиз....
Необходимо создавать динамический IVR при помощи 3CX API CallControl...
Изучил подробно все примеры... Меню создается без проблем как надо...
НО вопрос в том КАК опеределить опции меню в нем (т.е. при нажатии "0" преадресовать на 101, при нажатии "1" на 102 и т.д.)
Перепробовал все варианты... не могу понять как они задаются...
Пробовал так.
IVR ivradd = PhoneSystem.Root.GetTenants()[0].CreateIVR("886");
ivradd.Name = "TestIVR";
ivradd.PromptFilename = "prompt.wav";
ivradd.Timeout = 20;

IVRForward fw0 ;
fw0=ivradd.СreateIVRForward();
fw0.ForwardType = IVRForwardType.Extension;
fw0.ForwardDN = dn0;
ivradd.Forwards[0] = fw0;

ivradd.TimeoutForwardType = IVRForwardType.VoiceMail;
ivradd.TimeoutForwardDN = PhoneSystem.Root.GetTenants()[0].GetExtensions()[0];
ivradd.Save();

подскажите пожалуйста как это сделать?!!!!
 
//build new set of options
List newSetOfDestinations = new List();
//option 0
IVRForward _0 = ivr.CreateIVRForward();
_0.ForwardDN = PhoneSystem.Root.GetTenants()[0].GetExtensions()[1];
_0.ForwardType = IVRForwardType.Extension;
_0.Number = 0;
//option 1
IVRForward _1 = ivr.CreateIVRForward();
_1.ForwardDN = PhoneSystem.Root.GetTenants()[0].GetExtensions()[2];
_1.ForwardType = IVRForwardType.VoiceMail;
_1.Number = 1;
//add both option to the list
newSetOfDestinations.Add(_0);
newSetOfDestinations.Add(_1);
//replace existing set of options
ivr.Forwards = newSetOfDestinations.ToArray();

ivr.Save();
 
БОЛЬШОЕ ОГРОМНОЕ СПАСИБО!!!
Всю голову сломал.... но до такого синтаксиса не додумался... бы...
Если есть возможность подсказать как через API отследить какую именно опцию меню выбрал абонент....

Знаю есть функция GetForwardByNumber но как она срабатывает...???
 
@itsystem wrote:Если есть возможность подсказать как через API отследить какую именно опцию меню выбрал абонент....

Знаю есть функция GetForwardByNumber но как она срабатывает...???

Расскажите, пожалуйста, о задаче, которую Вы пытаетесь решить. Кажется мне, что для её решения надо использовать другой подход и инструменты.
 
Вообщем задача следующя....

Разарабатываем проект ситуационного центра. В его функционал должно входить:
[ИСХОДЯЩАЯ ЧАСТЬ]
1.WEB моудль - через которую удаленные операторы могуть иницировать оповещение о проишествии и выбрать список абонентов для автообзвона (информирования) о нём.
2. Модуль обзвона - получает текст от WEB-модуля и список номеров для обзвона, синтезирует текст-в-голос и обзванивает абонентов.

[ВХОДЯЩАЯ ЧАСТЬ]
1. Абонент звонит (на 3СХ) его иднетифицурует по CallerID, после чего он попадает на определнный IVR (динамически созданное на основании результата запроса из БД по таймеру), выбирает одну из опций (0....9 - все опции ссылаются на VoiceMail одного экстеншена) и попадает в голосвой ящик для записи сообщейний. Записанный в VoiceMail WAV-файл синтезируется в текст и на основании опции меню выбранной в предыдущем IVR, должно осуществлять некое действие с этим текстом.
Есть уже написаный WEB-модуль и Модуль обзвона (при помощи 3CX API CallControl).
Входящая часть также реализованна.

Осталось только решить задачу с перехватом нажатых абонентом клавиш.
Есть конечно VAD, в котором есть USER Input , но нам нужно выполнять очень много динамичесих действий с созданием IVR и другими внешними компонентами, которые через VAD создать нельзя (насколько я понял) .

Вроде так.... может конечно замудрил... но все работает кроме перехвата нажатых клавиш.
 
Насчёт VAD, посмотрите внимательнее, там больше возможностей чем кажется на первый взгляд (см. полную версию, а не демо)
В нём точно есть компоненты соединения с базой данных (получение данных, запись и т.п.), записи сообщений, возможности организовать "процессинг" результатов, полученных в ходе звонка и пользовательские скрипты на .NET языках, которые (внимание!) могут работать в том числе и с API.
 
Да я изучил мануалы по VAD. Но нам нужно было создать модуль обзвона изначально.. а потом на него накидались уже дополнения в виде WEB-модуля и прочее... Поэтому не хотелось бы переносить все заново на VAD, очень уж моного работы уже сделано...

Вопрос!? Возможно ли получить результат обработки "USER Input" созданного при помощи бесплантой версии VAD из .NET...???
 
@itsystem wrote:Да я изучил мануалы по VAD. Но нам нужно было создать модуль обзвона изначально.. а потом на него накидались уже дополнения в виде WEB-модуля и прочее... Поэтому не хотелось бы переносить все заново на VAD, очень уж моного работы уже сделано...

Не надо переносить всё, что сделано и работает, в VAD... Туда надо перенести только ту часть, которая "хитро" обслуживает входящие звонки.

@itsystem wrote:
Вопрос!? Возможно ли получить результат обработки "USER Input" созданного при помощи бесплантой версии VAD из .NET...???

Спросите на форуме http: //www.3cx.com/forums/3cx-voice-application-designer-vad-27/
;)
 
Понял!
Еще раз ОГРОМНОЕ СПАСИБО! :)
 

Для администраторов

Статистика форума

Темы
44.773
Сообщения
233.699
Пользователи
78.504
Новый пользователь
michael.wollert@boeppleba
#