Робота з базами даних в 3CX Call Flow Designer
Наше голосове програми буде запитувати PIN користувача (це може бути номер клієнта, страхового полісу тощо), перевіряє його в базі даних і переводить його на зазначений додатковий номер (це може бути обслуговуючий співробітник, заздалегідь підготовлене голосове меню або інше голосове додаток), якщо ПІН знайдено.
Створення проекту
Для створення проекту CFD перейдіть в File → New → Project, вкажіть папку розміщення проекту і його ім'я, наприклад, DatabaseAccessDemo.
Запит PIN-коду у користувача
ПІН користувача запитується з використанням компонента User Input. Додамо компонент у голосове додаток:- Перетягніть компонент User Input з набору компонентів зліва в головний екран програми. Виберіть компонент і у вікні Properties перейменуйте його в requestPIN.
- Двічі клацніть на компоненту, щоб відкрити вікно конфігурації, і встановіть наступні властивості:
- Initial Prompts – вкажіть WAV файл, в якому у користувача буде запитуватися ПІН, наприклад, "Введіть ваш персональний ідентифікаційний номер". Формат WAV файлу: PCM, 8 kHz, 16 bit, Mono.
- Subsequent Prompts – вкажіть WAV файл з більш докладними поясненнями по вводу. Він відтворюється тільки, якщо користувач зробив невірний ввод або взагалі нічого не ввів. Наприклад, “Введіть ваш персональний ідентифікаційний номер. Допускаються цифри від 0 до 9 і довжина — від 3 до 6 цифр".
- Timeout Prompts – вкажіть WAV файл з попередженням про те, що нічого не було введено, наприклад, "На жаль, ми не отримали enter від вас".
- Invalid Digit Prompts – вкажіть WAV файл з попередженням про некоректне (занадто мало цифр або вони неприпустимі), наприклад, "На жаль, ви неправильно ввели ПІН".
- Інші опції настроювання, як показано нижче, і натисніть OK для збереження.
Перевірка введеного ПІН у базі даних
Після отримання ПІН від користувача, його слід перевірити в базі даних. Для цього додамо компонент Database Access в розгалуження компонента Valid Input, передбачає вірний enter. Перейменуйте компонент в validatePIN і двічі клацніть на ньому, щоб встановити властивості:- Database Type — виберіть SqlServer.
- Configure each property separately – виберіть цю опцію, щоб вказати параметри підключення окремо. Однак, ви можете вказати і рядок підключення до бази даних.
- Server – ім'я або IP-адресу сервера бази даних. Це поле може бути і виразом, тому, якщо ви вказуєте константу, візьміть його в лапки.
- Port – порт SQL сервера. При використанні стандартного номера порту, це поле можна залишити порожнім.
- User Name і Password – облікові дані підключення до бази даних. Значення також можуть змінними.
- Statement Type – вкажіть Scalar, т. к. потрібно отримати лише одне значення з бази – кількість записів користувача з даним ПІН.
- Timeout – залиште за умовчанням 30 сек. або змініть, при необхідності.
- SQL Statement – у цьому полі вказується рядок запиту до бази даних. Але попередньо додамо параметр в розділ Parameters, який використовується в рядку запиту. Параметр – це ПІН, введений користувачем.
- id – ім'я змінної, requestPIN.Buffer – значення, тобто буфер введення в компоненті User Input (який ми раніше назвали requestPIN)
Тепер введемо рядок запиту до бази. Використовуйте невелику кнопку праворуч від поля вводу, щоб вставити значення змінної id. Наша рядок має вигляд: SELECT count(*) FROM customers WHERE id={0} Вікно властивостей компонента Database Access має виглядати приблизно так:
Перевірка результату запиту SQL і вибір подальших дій
Налаштувавши компонент Database Access, перейдемо до перевірки ПІН. Для цього додамо компонент Create a Condition з двома умовами (ветвлениями) – успішна і неуспішна валідація.
Перетягніть компонент з лівої частини і перейменуйте в validateDatabaseResult. Перейменуйте розгалуження в success і error. Вікно середовища розробки має виглядати приблизно так:
Щоб виконувалося розгалуження success, запит до бази даних має повернути 1, що означає, що клієнт з таким ПІН кодом знайдений (знайдена одна запис). Для цього вручну або за допомогою конструктора виразів введемо умовний оператор: EQUAL(validatePIN.ScalarResult,1)
После того, как вы указали условия для ветвления success, добавьте компоненты Prompt Playback для всех возможных ветвлений голосового приложения: ПИН найден, ПИН не найден и ПИН введен неверно допустимое количество раз (у нас в компоненте User Input Max Retry Count=3). В параметрах компонентов укажите соответствующие WAV файл уведомлений.
После этого в ветвление success добавьте компонент Transfer, который будет переводить вызов на сотрудника. Голосовое приложение будет иметь примерно такой вид:
Компиляция и установка приложения на сервер 3CX
Голосове додаток готове! Тепер його слід скомпілювати і завантажити на сервер 3CX. Для цього:- Перейдіть в меню Build > Build All, і CFD створить файл DatabaseAccessDemo.tcxvoiceapp.
- Перейдіть в інтерфейс управління 3CX, в розділ Черги дзвінків. Створіть нову Чергу викликів, вкажіть назву і додатковий номер Черги, а потім встановіть опцію Голосові програми і завантажте скомпільований файл.
- Збережіть зміни в Черзі викликів. Голосове додаток готове до використання.
Ви можете перевірити роботу програми, зателефонувавши на додатковий номер Черги і ввівши ПІН для перевірки. Якщо він буде знайдений у базі даних, виклик буде переведений на оператора.
- Комплекти обладнання Poly Studio Room Kits є готовими рішеннями для підготовки вашого конференц-залу до відеоконференцій у системі Microsoft Teams Rooms. Poly пропонує рішення для кімнат переговорів та конференц-залів різного розміру. Ви зможете підібрати потрібне рішення в залежності від розміру конференц-залу. При цьому у всього обладнання буде однаковий інтерфейс управління та найголовніше - висока якість відео та звуку та фірмові технології Poly.
- В огляді порівнюються 4 моделі камер компанії Kandao. Всі вони забезпечують круговий огляд 360 градусів, мають вбудовані динаміки та мікрофони, але відрізняються додатковими можливостями та відповідно ціною. Розглянуті такі моделі – Kandao Meeting 360, Kandao Meeting Pro, Kandao Meeting Ultra Standart та Kandao Meeting Ultra.