|
необходимо решить три задачи:
В первую очередь необходимо определить варианты ответа по тематике голосования. В зависимости от технических условий применяют один из двух вариантов:
Рассмотрим первый случай, когда аудитории предлагается несколько городских номеров. Пусть вариантов ответа голосования будет три, номера телефонов 1. Создаем новый сценарий: ![]() 2. Добавляем компонент "Меню": ![]() 3. Указываем, с чем сравниваем: ![]() 4. Функция "Набранный номер (CalledID)" вернет нам номер, на который позвонил клиент. Задаем возможные варианты: ![]() 5. Добавляем в сценарий три компонента "Запрос в БД". В зависимости от номера, на который позвонил клиент, делаем переход на соответствующий компонент. ![]() 6. После записи информации в базу данных клиента желательно проинформировать о том, что его голос принят. Пусть это будет фраза "Ваш голос учтен, спасибо за звонок". Для этого нужно записать звуковой файл либо через микрофон, либо через телефонный аппарат. Затем добавляем компонент "Проиграть звуковой файл" и выбираем в свойстве "Звуковой файл" записанный файл. ![]() 7. Соединяем стрелками компоненты "Запрос в БД" с компонентом "Проиграть звуковой файл" (Название компонента: "Спасибо за звонок"). Для завершения сценария помещаем компонент "Положить трубку". ![]() Наш сценарий готов к работе! Второй вариант голосования отличается от первого только настройкой компонента "Меню" и дополнительным компонентом "Проиграть звуковой файл" с ожиданием ввода значения. Записываем звуковой файл с текстом "Пожалуйста, выберите один из трех вариант ответа". Результат ввода будет помещен в переменную "Ввод" (Предварительно нужно создать переменную). Компонент "Меню" перестроим таким образом, чтобы сравнить переменную "Ввод" с возможными значениями ("1", "2", "3"): ![]() Сохранение результатов звонков в базу данных Для работы с базами данных необходимы базовые знания языка SQL. В первую очередь, необходимо определить, в какую базу данных будет сохраняться результат. В качестве базы данных может использоваться:
Допустим, будет использоваться внутренняя БД Infinity. Создаем таблицу "Voting" с тремя полями, где будут располагаться счетчики:
( P1 INTEGER, P2 INTEGER, P3 INTEGER ); INSERT INTO VOTING ( P1, P2, P3 ) VALUES ( 0, 0, 0 );
SET P1=P1+1
SET P2=P2+1 Более подробное описание редактора сценариев IVR, а также способов работы с запросами в БД содержится в документации к комплексу Infinity. Отображение результатов голосования на устройстве вывода видеоинформации в режиме реального времени Для вывода результатов необходимо внешнее приложение. Внешнее приложение подключается к БД, в которой в режиме реального времени сохраняется результат голосования. Внешнее приложение обновляет результат голосования с необходимой частотой, к примеру, 2 секунды. Таким образом, в режиме реального времени можно наблюдать процесс голосования. Внешнее приложение может подключаться к БД как локально, так и удаленно, через сеть Internet. Пример модуля отображения хода голосования:
|