FreePBX: найпростіший набір відповідального за клієнта

Знову здрастуйте!

Сьогодні я хочу розповісти про такий корисної функції, як автоматичний набір відповідального менеджера. Ця фішка значно економить час і, головне — нерви Вашого клієнта. Ну і ще трохи грошей, якщо Ви любите черги з довгими привітаннями.

Уявіть — як це приємно клієнту. Він дзвонить на той же номер, на який дзвонив в перший раз, але відразу потрапляє на свого менеджера — звичайно, якщо він вільний. Без привітань, секретарів, очікувань в черзі і іншого. Секретарю, до речі, теж буде простіше.

Зазвичай для цього потрібна зв'язок з Вашою системою обліку (CRM) — якщо, звичайно, вона у Вас є. Це непросто і недешево (знову ж — звичайно, я роблю для своїх клієнтів це недорого :). Але що робити, якщо системи обліку, де зберігаються зв'язку між номерами клієнтів і їх відповідальними — немає, або є труднощі з інтеграцією телефонії та системи обліку?

Можливо, Вам підійде просте рішення. Це вибір із CDR (звіти про дзвінки) останнього дзвінка клієнта на короткий внутрішній номер і маршрутизація на нього. Якщо такого дзвінка в базі немає, то клієнт потрапить в загальну чергу. Якщо секретар перевів(а) клієнта на менеджера — менеджер став відповідальним. Мінус системи — відповідальним стає останній, який прийняв дзвінок або на якого перевели дзвінок.

Коротше, система скеровує клієнта на останнього, з ким говорив клієнт. Без тат, мам і кредитів :)

Якщо такий шлях — Ваш, то велком. За традицією, все тільки в вебморде.


Все відбувається на FreePBX 2.11 / Asterisk 11.x. Але впевнений, що для інших версій та/або систем на базі Asterisk зробити так само — не проблема.

Нам знадобиться модуль Smart Routes. Модуль з виправленим мною html можна взяти тут: yadi.sk/d/UE1dr4kctkNCH
Модуль виглядає страхітливо, але для нашої задачі він підійде з мінімальними змінами від дефолту. Знаходимо модуль у новому пункті меню Other і створюємо новий маршрут.

image

Найцікавіше тут — це SQL-запит до таблиці `cdr` бази `asteriskcdrdb`, яка швидше за все у Вас доступна через ODBC. Глянути назва елемента ODBC можна у файлі res_odbc_additional.conf

Сам запит:
SELECT `dst` FROM `cdr` WHERE `src` = '${CALLERID(num)}' AND `disposition` = 'ANSWERED' AND `dst` LIKE '1__' AND `lastapp` = 'DIAL' AND `billsec` > 5 ORDER BY `calldate` DESC LIMIT 1


Він відбере один запис, де джерелом є номер абонента, номер призначення починається на «1» і завдовжки 3 символи, статус дзвінка: отвеченный і тривалість цієї відповіді буде більше 5 секунд. Сортування відбере саме останню по даті запис.

В модуль цей запит поверне конкретний внутрішній номер, наприклад, 101. Але його ще треба правильно спрямовувати.
Для цього доведеться в секції Destinations перерахувати всі можливі варіанти і налаштувати їх:

image

Вказуємо маршрути за збігом і в разі неответа. Зазвичай це загальна черга чи група, чи інша точка входу.
Її ж вказуємо як Default Destination.

Нижче, в секції Database Settings, налаштовуємо доступ до MYSQL базі. Зазвичай це ODBC, потрібно вказати найменування dsn для доступу до таблиці. Якщо Ваш CDR працює, то в системі він вже є:

image

Або налаштуйте доступ по «застарілим» хосту, логіну, паролю та найменуванням бази.

Залишиться вказати модуль Smart Routes і наш маршрут в Inbound Routes, і все починає працювати. Ця настройка з перевіркою зайняла у мене в десять разів менше часу, ніж написання цієї статті.

Всім спасибі за Ваш час! Ну, а я пішов готуватися на море, не дарма ж я до нього переїхав три місяці тому :)
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.