Снова здравствуйте!
Сегодня я хочу рассказать о такой полезной функции, как автоматический набор ответственного менеджера. Эта фишка значительно экономит время и, главное — нервы Вашего клиента. Ну и еще немного денег, если Вы любите очереди с длинными приветствиями.
Представьте — как это приятно клиенту. Он звонит на тот же номер, на который звонил в первый раз, но сразу попадает на своего менеджера — конечно, если он свободен. Без приветствий, секретарей, ожиданий в очереди и прочего. Секретарю, кстати, тоже будет проще.
Обычно для этого нужна связь с Вашей системой учета (CRM) — если, конечно, она у Вас есть. Это непросто и недешево (опять же — обычно, я делаю для своих клиентов это недорого :). Но что делать, если системы учета, где хранятся связи между номерами клиентов и их ответственными — нет, либо существуют трудности с интеграцией телефонии и системы учета?
Возможно, Вам подойдет простое решение. Это выбор из CDR (отчеты о звонках) последнего звонка клиента на короткий внутренний номер и маршрутизация на него. Если такого звонка в базе нет — то клиент попадет в общую очередь. Если секретарь перевел(а) клиента на менеджера — менеджер стал ответственным. Минус системы — ответственным становится последний, который принял звонок или на которого перевели звонок.
Короче, система маршрутизирует клиента на последнего, с кем говорил клиент.Без пап, мам и кредитов :)
Если такой путь — Ваш, то велком. По традиции, все только в вебморде.
Все происходит на FreePBX 2.11 / Asterisk 11.x. Но уверен, что для других версий и/или систем на базе Asterisk сделать так же — не проблема.
Нам понадобится модуль Smart Routes. Модуль с исправленным мною html можно взять тут: yadi.sk/d/UE1dr4kctkNCH
Модуль выглядит устрашающе, но для нашей задачи он подойдет с минимальными изменениями от дефолта. Находим модуль в новом пункте меню Other и создаем новый маршрут.
Самое интересное тут — это SQL-запрос к таблице `cdr` базы `asteriskcdrdb`, которая скорее всего у Вас доступна через ODBC. Глянуть название элемента ODBC можно в файле res_odbc_additional.conf
Сам запрос:
Он отберет одну запись, где источником является номер звонящего, номер назначения начинается на «1» и в длину 3 символа, статус звонка: отвеченный и длительность этого ответа будет более 5 секунд. Сортировка отберет именно последнюю по дате запись.
В модуль этот запрос вернет конкретный внутренний номер, например, 101. Но его еще надо правильно маршрутизировать.
Для этого придется в секции Destinations перечислить все возможные варианты и настроить их:
Указываем маршруты по совпадению и в случае неответа. Обычно это общая очередь или группа, или другая точка входа.
Её же указываем как Default Destination.
Ниже, в секции Database Settings, настраиваем доступ к MYSQL и базе. Обычно это ODBC, требуется указать наименование dsn для доступа к таблице. Если Ваш CDR работает, то в системе он уже есть:
Либо настройте доступ по «устаревшим» хосту, логину, паролю и наименованию базы.
Останется указать модуль Smart Routes и наш маршрут в Inbound Routes, и все начинает работать. Эта настройка с проверкой заняла у меня в десять раз меньше времени, чем написание этой статьи.
Всем спасибо за Ваше время! Ну, а я пошел готовиться на море, не зря же я к нему переехал три месяца назад :)
Сегодня я хочу рассказать о такой полезной функции, как автоматический набор ответственного менеджера. Эта фишка значительно экономит время и, главное — нервы Вашего клиента. Ну и еще немного денег, если Вы любите очереди с длинными приветствиями.
Представьте — как это приятно клиенту. Он звонит на тот же номер, на который звонил в первый раз, но сразу попадает на своего менеджера — конечно, если он свободен. Без приветствий, секретарей, ожиданий в очереди и прочего. Секретарю, кстати, тоже будет проще.
Обычно для этого нужна связь с Вашей системой учета (CRM) — если, конечно, она у Вас есть. Это непросто и недешево (опять же — обычно, я делаю для своих клиентов это недорого :). Но что делать, если системы учета, где хранятся связи между номерами клиентов и их ответственными — нет, либо существуют трудности с интеграцией телефонии и системы учета?
Возможно, Вам подойдет простое решение. Это выбор из CDR (отчеты о звонках) последнего звонка клиента на короткий внутренний номер и маршрутизация на него. Если такого звонка в базе нет — то клиент попадет в общую очередь. Если секретарь перевел(а) клиента на менеджера — менеджер стал ответственным. Минус системы — ответственным становится последний, который принял звонок или на которого перевели звонок.
Короче, система маршрутизирует клиента на последнего, с кем говорил клиент.
Если такой путь — Ваш, то велком. По традиции, все только в вебморде.
Все происходит на FreePBX 2.11 / Asterisk 11.x. Но уверен, что для других версий и/или систем на базе Asterisk сделать так же — не проблема.
Нам понадобится модуль Smart Routes. Модуль с исправленным мною html можно взять тут: yadi.sk/d/UE1dr4kctkNCH
Модуль выглядит устрашающе, но для нашей задачи он подойдет с минимальными изменениями от дефолта. Находим модуль в новом пункте меню Other и создаем новый маршрут.
Самое интересное тут — это 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 перечислить все возможные варианты и настроить их:
Указываем маршруты по совпадению и в случае неответа. Обычно это общая очередь или группа, или другая точка входа.
Её же указываем как Default Destination.
Ниже, в секции Database Settings, настраиваем доступ к MYSQL и базе. Обычно это ODBC, требуется указать наименование dsn для доступа к таблице. Если Ваш CDR работает, то в системе он уже есть:
Либо настройте доступ по «устаревшим» хосту, логину, паролю и наименованию базы.
Останется указать модуль Smart Routes и наш маршрут в Inbound Routes, и все начинает работать. Эта настройка с проверкой заняла у меня в десять раз меньше времени, чем написание этой статьи.
Всем спасибо за Ваше время! Ну, а я пошел готовиться на море, не зря же я к нему переехал три месяца назад :)
Поделиться с друзьями
Комментарии (9)
brestows
30.07.2016 22:16+1Как по мне не хватает еще ограничения по времени, когда последний раз звонил клиент. У меня реализовано на голом Asterisk подобная схема, но у меня ограничениее в 24 часа, т.е. если клиент звонил последний раз более чем сутки назад, то он сразу идет в общую очередь, если нет, то на последнего ответевшего оператора. Сделано это с тем замыслом что если клиент давно уже звонил то и проблема вероятнее всего у него уже другая. В вашем же случае получается что внезависимости от проблемы, клиент попадает на одного и того же оператора, что не совсем верно, опять же по моему мнению.
whoim
01.08.2016 14:57Изменить запрос под Ваше требование несложно, в принципе :)
Вполне кстати здравое требование!
xmaster83
Вот почему мне то мне кажется что FreePBX это очень сладкая система для взлома и угона телефонного трафика.
ilyaplot
Мы установили FreePBX на машину, которая смотрела наружу и через час обнаружили, что наш свеженький сервер участвует в ботнете, который DDOSит сайты на joomla. Где-то есть дыра, позволяющая залить шелл. Версия была не самая последняя, возможно, исправлено.
whoim
Вы говорите о «готовом дистрибутиве» в виде iso — AsteriskNow. Я же делаю свою работу иначе.
640509-040147
Нет, они говорят именно о FreePBX. Присоединяюсь к вышеозначенным ораторам.
whoim
FreePBX — набор скриптов, в основном на php. Если Вы не можете закрыть апач паролем через htpasswd и .htaccess, закрыв любую возможность использования недочетов в скриптах — вы не можете выступать, как специалист в области безопасности.
К слову, более 50 серверов создано и обслуживаются мною на FreePBX.
640509-040147
Закрывайте на здоровье, мне ваш порт 80 не нужен, я 5060 буду атаковать. FreePBX по умолчанию идет с уязвимостями в настройках asterisk, и если вам для настройки нужна веб-морда, то «вы не можете выступать как специалист» в области ip-телефонии.
whoim
Один простейший прием позволяет закрыть все и сразу — apache basic auth.