ЄС-11

Цифрова комутаційна система

Науково-виробничий центр
"Автоматизовані мікропроцесорні системи"
ЄДРПОУ: 13807402 тел: +380-32-237-21-36

Користувальницькькі налаштування

Налаштування сайту


extrasoft:ivrtask:index

IVRTask

IVRTask - автономна система автоматичного повідомлення абонентів, яка може працювати на більшості телефонних ліній за допомогою комп'ютера, VOICE-модемів, керуючої програми та СУБД. Система має такі основні можливості:

  1. Автоматичне оповіщення абонентів наперед визначеними голосовими повідомленнями;
  2. Можливість за потреби включати в голосові повідомлення суми заборгованості;
  3. Автономна робота. (не потребує постійного контролю). Автоматичний запуск після втрати/відновлення живлення;
  4. Робота за графіками, вказаними оператором. Є можливість під час роботи змінювати графік оповіщення;
  5. Автоматичне визначення підняття слухавки абонентом (визначення голосу в каналі зв'язку);
  6. Контроль успішного завершення оповіщення;
  7. Можливе щоденне одноразове оповіщення абонентів;
  8. Оповіщення великої кількості абонентів за допомогою використання паралельних викликів;
  9. Видача оператору статистики обробки завдань;
  10. Віддалене керування без прямого підключення до керуючого сервера (в цілях безпеки системи, а також для забезпечення можливості роботи через NAT);
  11. Можливість отримати від системи поточні налаштування (графіки і завдання для оповіщення)
  12. Оптимізація черги викликів (неуспішні виклики, переміщаються в кінець черги, щоб не затримувати оповіщення решти абонентів)

Загальний опис системи

Система складається з апаратної і програмної частин. Апаратна частина - IBM/PC сумісний комп'ютер з підключеною до нього відповідною кількістю VOICE-модемів. Програмна частина - СУБД, підсистема керування модемами та підсистема обробки завдань оператора. Для віддаленого керування системою їй необхідний обмежений доступ до інтернет.

Схема підключення системи до телефонної мережі така:

Схема підключення апаратної частини системи

Кількість модемів визначає кількість одночасних оповіщень. Всі модеми виконують завдання з однієї черги незалежно один від одного. Вихід з ладу будь-якого модему або будь-якої абонентської лінії не призводить до втрати працездатності системи. Зменшується лише швидкість оповіщення.

Для забезпечення можливості роботи через NAT, а також в цілях безпеки мережі операторів телефонного зв'язку і керуючого оператора керування здійснюється по протоколу SMTP/POP3 з використанням будь-якої доступної поштової скриньки. Обмін командами керування і відповідями сервера здійснюється лише через цю електронну поштову скриньку і лише за допомогою визначених команд керування. Всі невідомі команди ігноруються.

Схема взаємодії оператора керування та сервера IVRTask виглядає таким чином:

Схема обміну керуючою інформацією

Взаємодія відбувається за таким алгоритмом:

  1. Оператор надсилає на електронну адресу лист з командами керування серверу.
  2. Сервер самостійно отримує цей лист, аналізує і виконує прийняті команди.
  3. Якщо серед команд є команда отримання статистики, то сервер надсилає відповідь оператору на його зворотню адресу.
  4. Оператор, отримавши відповідь, аналізує результати роботи сервера і при необхідності здійснює відповідні заходи.

Протокол обміну (команди керування)

Загальна структура команди:

  1. В полі Subject листа для сервера повинно міститися ключове слово IVR_TASK. Листи з неправильним Subject ігноруються.
  2. В полі From листа для сервера повинна бути одна з допустимих адрес керування. Листи з недопустимим From ігноруються.
  3. В тілі листа передається перелік команд для сервера. Кожна команда в окремому рядку в текстовому вигляді.
  4. Обробка вхідних листів сервером відбувається по таймеру в межах 1-10 хв, в залежності від налаштувань.

Перелік допустимих команд:

SCHEDULE_FLUSH

Очистка всіх встановлених графіків запуску. Ця команда не потребує додаткових параметрів. Вона очищає всі графіки, включаючи ті, які встановлені попередніми командами цього ж листа. Приклад:

SHEDULE_FLUSH

SHEDULE

Додавання нового проміжку запуску оповіщення. Команда повинна містити два параметри: день тижня від нуля до шести (0 - неділя, 6 - субота) і часовий проміжок, для якого дозволений запуск оповіщення (наприклад 12:00-14:00). Для одного й того ж дня тижня дозволяється встановити кілька проміжків запуску. Робиться це окремими командами SCHEDULE Приклад:

SHEDULE 1 09:00-10:00
SHEDULE 1 18:00-20:00
SHEDULE 0 09:00-20:00

FLUSH

Очистка всіх встановлених завдань оповіщення. Стираються також всі попередні завдання, визначені в цьому ж листі до команди FLUSH Приклад:

FLUSH

ADD

Додавання одного завдання для оповіщення. Команда потребує два обов'язкові параметри - номер оповіщення і сума заборгованості в гривнях, а також один необов'язковий параметр - коментар. Сума може бути рівна нулю. В такому випадку вона не буде формуватися, але основна фраза все одно повідомлятиметься. Номер оповіщення в місцевому форматі. Коментар повинен починатися з символа # (драбинка). Приклад:

ADD 51000 123.13
ADD 61000 1200.00
ADD 23300 0.00 #абонент ПІБ (адреса)

DELETE

Видалення всіх завдань, встановлених певному абонентові. Команда містить один параметр - номер абонента. Приклад:

DELETE 61000

GET_STATISTICS

Команда запиту статистичної інформації. Виконується без параметрів. В результаті на електронну адресу прийде відповідь з переліком встановлених графіків запуску і встановлених завдань. До кожного завдання буде додано по два лічильники - лічильник спроб оповіщення з датою останньої спроби і лічильник успішних оповіщень з датою останнього успішного оповіщення. Приклад:

GET_STATISTICS

Результат буде приблизно такого формату:

Schedule: 1 09:00:00 10:00:00
Schedule: 1 18:00:00 20:00:00
Schedule: 0 09:00:00 20:00:00
Task: 51000 123.13 12 10 2012-04-26 13:45:59.91005 2012-04-26 13:46:51.783399
Task: 23300 0.00 10 10 2012-04-26 13:46:51.91815 2012-04-26 13:47:50.132477 # Абонент ПІБ (адреса)

GET_DETAILED_LOG

Команда запиту детальної інформації про кожну спробу виклику (лише останні 10000). Виконується без параметрів. В результаті на електронну адресу прийде відповідь з переліком спроб здійснення викликів із вказанням їх успішності. Приклад:

GET_DETAILED_LOG

Результат буде приблизно такого формату:

LOG: 30000 2012-04-26 13:45:59.91005 2012-04-26 13:46:51.783399 1

Вивід має такі поля:

  1. LOG: - ключове слово
  2. 30000 - номер телефону, на який було здійснено виклик
  3. 2012-04-26 13:45:59.91005 - початок виклику
  4. 2012-04-26 13:46:51.783399 - закінчення виклику
  5. 1 - результат виклику успішний/неуспішний

DELETE_LOG

Команда очистки детальної інформації. Виконується перед видачею інформацїі по команді GET_DETAILED_LOG. Тому одночасне використання не має змісту. Приклад:

DELETE_LOG
extrasoft/ivrtask/index.txt · В останнє змінено: 2015/04/17 15:25 (зовнішнє редагування)