Javascript code prettifier

суббота, 5 марта 2016 г.

Оповещения о пропущенных звонках из asterisk в slack


     Пропущенные звонки для компании - это всегда плохо, однако полностью избавиться от этого явления практически не возможно. Чтобы повысить уровень обслуживания клиентов правильным решением будет научиться правильно распознавать и реагировать на пропущенные звонки. В компании, где я работаю, для телефонной связи используется ip-АТС Asterisk, а в качестве корпоративного мессенджера - сервис Slack.

     Итак, у нас простая задача: отделить звонки, которые мы будем считать пропущенными и отправить о них уведомления в slack в определенный канал.
Пропущенным звонок будем считать, если:
1. клиент позвонил, некоторое время слушал музыку, устал ждать и повесил трубку
2. клиент позвонил, очень долго ждал, после чего звонок завершился по тайм-ауту  

     Статус звонка будем отслеживать по переменной ${DIALSTATUS}, в которую записывается результат выполнения последней команды Dial, в первом случае ее значение устанавливается в "CANCEL", во втором - "NOANSWER". Время ожидания клиента можно взять из переменной ${CDR(duration)}, которая должна быть в канале при включенной CDR-статистике.
Добавляем обработку екстеншена h в контекст отдела продаж в нашем диалплане:

exten => h,1,NoOp(IVR Sales Hangup)
exten => h,n,ExecIf($[$[$["${DIALSTATUS}" = "CANCEL"] & $["${CDR(duration)}" > "25"]] | $["${DIALSTATUS}" = "NOANSWER"]]?AGI(slack_sales_notifications.agi))
     Теперь если звонку присвоен статус - "отменен" и время ожидания более 25 секунд, либо установлен статус - "не отвечен" => будет выполняться AGI-скрипт для отправки уведомлений.

пятница, 22 января 2016 г.

Установка VMware ESXi 5.5 на сервер с Adaptec 8405


Задача: есть сервер с рейд-контроллером Adaptec 8405, на него нужно установить VMware vSphere Hypervisor 5.5. Обоими производителями (VMware и Adaptec) заявлена совместимость, однако в сборку ESXi включена старая версия драйвера aacraid, поэтому рейд-контроллеры последних серий "из коробки" работать не будут.
Есть несколько путей решения этой проблемы:
  • Если сам гипервизор не требуется устанавливать на рейд, то драйвер можно добавить после установки с помощью esxcli
  • Можно установить esxi на флешку, добавить нужный драйвер и затем склонировать на рейд
  • Добавить драйвер непосредственно в установочный образ