Продавець Unified Ukraine (Працює сайт - unified.com.ua) розвиває свій бізнес на Prom.ua 15 років.
Знак PRO означає, що продавець користується одним з платних пакетів послуг Prom.ua з розширеними функціональними можливостями.
Порівняти можливості діючих пакетів
Кошик
69 відгуків
Станьте партнером 3CX, і ми допоможемо вам заробляти!Стати партнером
+380 (67) 958-68-68
+380 (44) 392-86-76
+380 (95) 718-98-66
вул. Вернадського, 24 / 4, Дніпро, Україна
Коммунікаційні системи 3CX - телефонія та відеоконференції для бізнесу від Unified Ukraine
Залишити відгук

Управління введенням користувача в 3CX Call Flow Designer

Управління введенням користувача в 3CX Call Flow Designer

Введення

У цій статті ми розглянемо створення голосового програми, яку зчитує послідовність цифр, введених користувачем через номеронабирач, а потім підтверджує коректність введення, програючи абоненту введені цифри. Погодьтеся, це досить часта завдання у порталах телефонного самообслуговування. Наше додаток буде виконувати цю задачу, використовуючи 3CX Call Flow Designer. Програма працює наступним чином:
  1. 3CX CFD повідомляє : Введіть ваш номер користувача
  2. Користувач набирає 1234
  3. 3CX CFD повідомляє: Введений номер користувача 1234. Для підтвердження натисніть 1, для повторного введення натисніть 2.

Оскільки відтворення цифр може знадобитися в різних частинах нашого додатка, винесемо його в окремий користувальницький компонент. CFD дозволяє створювати такі компоненти користувача.

Зверніть увагу - середовище розробки 3CX CFD поставляється безкоштовно. Але голосові програми будуть виконуватися тільки на 3CX редакції Pro і Enterprise. Скачати CFD можна звідси. Демо-проект цього голосового додатки поставляється разом з дистрибутивом 3CX CFD і знаходиться в папці Documents\3CX Call Flow Designer Demos. Приступимо.

Створення проекту

Для створення проекту CFD перейдіть в File → New → Project, вкажіть папку розміщення проекту і його ім'я, наприклад, "PlayDigitsDemo".

Створення інтерфейсу компонента

Створюваний компонент буде отримувати послідовність цифр від користувача і послідовно програвати їх. Для створення компонента у вікні Project Explorer клацніть правою кнопкою миші на імені проекту, виберіть New Component та назвіть його PlayDigits.

Потім клацніть на компоненті PlayDigits.comp і в розділі Properties Window натисніть кнопку поруч з колекцією Variables. Додайте дві змінні - Digits і Index. Змінна Digits - приймає цифри, які компонент потім програє. Змінна Index - внутрішня, вона дозволяє компоненту переходити від цифри до цифри.

Для додавання змінних натисніть кнопку Add, щоб додати змінну і змініть її ім'я (властивість Name) на Digits. Змінна Digits повинна мати наступні властивості: Accessibility: ReadWrite, Initial Value: . Така конструкція дозволить послідовно відтворити усі цифри, введені користувачем.Index, який буде збільшувати значення змінної Increment Variable додамо компонент Loopдля відтворення чергової цифри в послідовності. В цей же компонент Prompt Playback додамо компонент Loop для перебору послідовності цифр (циклу). В компонент Loop. Змінна Index повинна мати наступні властивості: Accessibility: ReadWrite, Initial Value: 0, Scope: Private Тепер займемося архітектурою компонента. Ми будемо використовувати компонент Index, додайте нову змінну і змінити її ім'я на Add, Scope: Public. Ще раз натисніть кнопку

Створення циклу

  1. Перетягніть компонент Loop в основне вікно середовища розробки.
  2. У вікні Properties змініть ім'я компонента на digitsLoop
  3. Виберіть компонент digitsLoop і його властивості Condition вкажіть рядок LESS_THAN(callflow$.Index,LEN(callflow$.Digits)). Це вираз повторює цикл до тих пір, поки змінна Index (callflow$.Index) менше кількості введених користувачем цифр LEN(callflow$.Digits).

Відтворення повідомлень

  1. Насамперед нам необхідні звукові файли, відповідні кожній цифрі. Підготуйте і скопіюйте файли 0.wav, 1.wav і т. д. до 9 в папку Audio вашого проекту.
  2. Перетягніть компонент Prompt Playback в основне поле програми на компонент Loop.
  3. Змініть ім'я компонента на playDigit.
  4. Виберіть цей компонент і у вікні властивостей натисніть на кнопку біля колекції Prompts, щоб відкрити редактор набору звукових повідомлень Prompt Collection Editor.
  5. Натисніть кнопку Add і змініть тип на Dynamic Audio File Prompt
  6. У полі Audio File Expression введіть CONCATENATE(MID(callflow$.Digits,callflow$.Index,1),".wav"). Вираз використовує цифру поточної ітерації і об'єднує її з розширенням файлу (рядком) .wav. Таким чином, абоненту відтворюється відповідна цифра.

Компонент збільшення змінної номери

  1. Перетягніть компонент Increment Variable на компонент Loop, нижче компонента playDigit
  2. Змініть ім'я компонента на incrementIndex
  3. Для властивості VariableName вкажіть вираз callflow$.Index

Цикл виконання буде мати наступний вигляд:

Наш компонент готовий. Тепер ми будемо викликати його з основного додатка.

Виклик компонента для відтворення цифр

Після того, як користувальницький компонент готовий, задіємо її в нашому додатку:
  1. У вікні Project Explorer клацніть Main.flow, щоб відкрити основне додаток
  2. Додайте компонент User Input, який буде запитувати введення від користувача. Перейменуйте його в requestInput і додайте заздалегідь підготовлене повідомлення користувачу про необхідність введення.
  3. У розгалуженні Valid Input з вікна User Defined Components додайте створений користувальницький компонент PlayDigits
  4. Перейменуйте його в playEnteredDigits
  5. Виберіть його і властивості Digits вкажіть наступне вираз requestInput.Buffer

Запитувані цифри будуть спершу поміщатися в буфер, а потім програватися користувачеві. Готове додаток буде мати приблизно такий вигляд:

Компіляція та встановлення програми на сервер 3CX

Голосове додаток готове! Тепер його слід скомпілювати і завантажити на сервер 3CX. Для цього:
  • Перейдіть в меню Build > Build All, і CFD створить файл PlayDigitsDemo.tcxvoiceapp.
  • Перейдіть в інтерфейс управління 3CX, в розділ Черги дзвінків. Створіть нову Чергу викликів, вкажіть назву і додатковий номер Черги, а потім встановіть опцію Голосові програми і завантажте скомпільований файл.
  • Збережіть зміни в Черзі викликів. Голосове додаток готове до використання.

Висновок

Наше додаток вирішує конкретну задачу, однак важливо відзначити можливість инкапсулировать певну логіку роботи в окремий користувальницький компонент. Це дуже потужний механізм, що пропонує ряд переваг:
  • Прискорення розробки програми завдяки повторному використанню вже створених компонентів.
  • Спрощення структури основного додатка і запобігання розростання архітектури додатки до розміру, яким вже буде складно керувати.
  • Голосове додатки виходить зрозумілим і легко змінюваним.
За цим же принципом ми можемо створювати власні компоненти, що програють час і дати, роблять валідацію введення користувача і т. п.
Інші статті
  • Poly Studio Room Kits для відеоконференцій Microsoft Teams Rooms
    Комплекти обладнання Poly Studio Room Kits є готовими рішеннями для підготовки вашого конференц-залу до відеоконференцій у системі Microsoft Teams Rooms. Poly пропонує рішення для кімнат переговорів та конференц-залів різного розміру. Ви зможете підібрати потрібне рішення в залежності від розміру конференц-залу. При цьому у всього обладнання буде однаковий інтерфейс управління та найголовніше - висока якість відео та звуку та фірмові технології Poly.
  • Огляд панорамних камер 360 для відеоконференцій
    В огляді порівнюються 4 моделі камер компанії Kandao. Всі вони забезпечують круговий огляд 360 градусів, мають вбудовані динаміки та мікрофони, але відрізняються додатковими можливостями та відповідно ціною. Розглянуті такі моделі – Kandao Meeting 360, Kandao Meeting Pro, Kandao Meeting Ultra Standart та Kandao Meeting Ultra.

Наскільки вам зручно на сайті?

Розповісти Feedback form banner