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 на флешку, добавить нужный драйвер и затем склонировать на рейд
  • Добавить драйвер непосредственно в установочный образ

вторник, 11 августа 2015 г.

Скрипт проверки состояния gsm-модема

У нас есть старый gsm-модем Sony Ericson, который используется для отправки sms-сообщений. Иногда он зависает, поэтому нужно следить за его работоспособностью. Для данной цели я сделал следующий скрипт. В случае, если устройство откликается на стандартную команду "AT" и сообщает, что уровень сигнала больше -93 дБ - выводится "ок", во всех остальных случаях - ошибка. Так же скрипт можно запустить с параметром, который будет передан в качестве команды модему.

вторник, 30 июня 2015 г.

Настройка маршрутизаторов Mikrotik (ч.3): использование USB-модема для резервного канала


Задача:

   В данной статье рассмотрим настройку маршрутизатора Mikrotik на работу с USB-модемом. Будем считать, что у нас есть один основной проводной канал. При его отказе должен быть автоматически включен USB-модем (мы для примера взяли МТС) и возобновлен доступ к сети интернет. В первый порт маршрутизатора будет подключен основной провайдер, остальные четыре нужно использовать для локальной сети. Так как почти все действия в первой половине статьи повторяют предыдущую часть, мы будем выполнять их из терминала.

Настройка маршрутизаторов Mikrotik (ч.2): резервирование интернет-канала


Задача:

   Предположим, у нас есть два интернет-провайдера, предоставляющих доступ в сеть через проводное соединение. От первого провайдера мы должны получить настройки по dhcp, для второго их нужно задать статически. Нам требуется обеспечить безотказную работу интернет-соединения. Для этого при возникновении проблем с доступом в интернет через основной канал (первого провайдера) наш маршрутизатор должен автоматически переключаться на резервный (второго провайдера), и, при восстановлении связи, продолжать работу в штатном режиме. Сразу условимся: в первый порт будет подключен основной провайдер, во второй - резервный, остальные три порта будут использоваться для подключения компьютеров локальной сети. О работоспособности канала будем судить по доступности ip-адреса. Для проверки лучше всего взять адрес какого-либо крупного сервиса, вероятность отказа которого крайне мала (мы выбрали google dns).

Настройка маршрутизаторов Mikrotik (ч.1): подключение, основные параметры




   Рассмотрим начальную настройку маршрутизаторов Mikrotik на примере RouterBOARD 951Ui-2HnD. Для начала подключим устройство к компьютеру патч-кордом (к роутеру кабель можно подключить в любой порт, кроме первого). На компьютере следует установить статический ip-адрес из сети 192.168.88.0/24, либо его получение по dhcp:

вторник, 16 июня 2015 г.

Стриминг трафика из Mikrotik в Wireshark

Иногда бывает надобность изучить трафик, проходящий через маршрутизатор mikrotik, либо linux-сервер, и хочется это сделать через удобный графический интерфейс. Однако встроенный в routeros сниффер обладает небольшим функционалом, либо устанавливать графическую систему на сервер не имеет смысла. Для этих случаев можно воспользоваться функцией стриминга, и просматривать пакеты уже со своего компьютера через Wireshark.

Открываем в Wireshark’е  — «Capture options» => «Capture Filter» и создаем новый фильтр с правилом «udp port 37008″.