понедельник, 1 февраля 2016 г.

Установка и настройка tftp-сервера в CentOS 6

Tftp-сервер может оказаться очень полезным сервисом как в крупной, так и в совсем маленькой сети. Он может использоваться, как хранилище конфигураций оконечных устройств (autoprovision), для централизованного обновления прошивок, для централизованного хранилища резервных копий конфигураций сетевых устройств и т.п. Применений очень много.
В данном мануале описано как установить и запустить tftp-сервер на CentOS 6.

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

Запись звонков по требованию в Elastix

Известно, что Asterisk может вести запись звонков. Какие именно звонки записывать - определяется диалпланом. В Elastix или FreePBX для каждого отдельного внутреннего номера можно выбрать как именно вести запись: принудительно записывать нужные виды звонков, совсем отключить возможность записи или же вести запись только по требованию пользователя. Рассмотрим как настроить запись по требованию.


Ограничение звонков на межгород в Elastix без использования Custom Contexts и PIN-кодов

Необходимость ограничения платных звонков по междугородней и международной связи определённым категориям пользователей возникает практически в каждом офисе.
Штатные возможности WEB-интерфейса Elastix или FreePBX позволяют сделать это лишь косвенно: либо ограничив доступ к соответствующему маршруту при помощи PIN-кодов, либо установив дополнительный модуль Custom Contexts.
Как показала практика, защита маршрута PIN-кодом не слишком эффективна, т.к. рано или поздно эти PIN'ы становятся известны всем. Модуль Custom Contexts на самом деле более нагляден и я не вижу причин не использовать его, но это дело привычки (как сделать то же самое с использованием Custom Contexts написано здесь).
В этой заметке описано как корректно ограничить платные звонки для конкретных номеров без использования PIN-кодов и модуля Custom Contexts.

среда, 23 декабря 2015 г.

Автоматическое удаление старых записей разговоров в Elastix по расписанию. Правильный способ.

Этот способ полностью автоматизирует удаление старых записей разговоров и корректно вносит изменения базу данных так, что Elastix видит, что файл с записью был удалён.
Elastix хранит все записи разговоров в базе данных asteriskcdrdb в таблице cdr. В этой же таблице в поле userfield есть и ссылка на аудиозапись. Эту ссылку нам и нужно поменять на значение audio:deleted
Для решения этой задачи напишем небольшой php скрипт который удалит файлы по требуемому условию давности и удалит ссылки на них в таблице БД.

понедельник, 21 декабря 2015 г.

Массовое удаление записей разговоров в Elastix

К сожалению, разработчики Elastix не предусмотрели функционал автоматического удаления записей разговоров по прошествии определённого времени. Ручной способ удаления записей тоже реализован далеко от идеала: нужно зайти во вкладку PBX -> Monitoring, там вручную отметить каждую запись и нажать кнопку Delete. А что если записей сотни или тысячи? Кликать по каждой займёт очень много времени.
Погуглив, нашёл пару способов решения этой проблемы. Это не совсем красивые способы решения задачи, но они есть и ими пользуются.
На мой взгляд, мой способ красивее. Он описан в следующем посте.
Если же есть интерес к первым двум - они описаны далее.

вторник, 1 сентября 2015 г.

Установка FusionPBX из скрипта (+русификация)

FusionPBX является надстройкой над очень мощной и очень широко масштабируемой IP-АТС FreeSWITCH и представляет из себя WEB-интерфейс и набор скриптов, обеспечивающих удобное визуальное конфигурирование данной IP-АТС.
Основа процесса установки взята с официального сайта FusionPBX, однако установочный скрипт постоянно меняется и не всегда идеален, поэтому я привожу здесь процесс установки FusionPBX с учётом возникших ошибок и моих способов их решения.

Включаем сторонний SFP-модуль в коммутаторе Cisco Catalyst

Cisco, как и любой другой производитель оборудования, предпочитает чтобы с их оборудованием использовались исключительно оригинальные комплектующие (например, модули памяти, карты Compact Flash, оптические трансиверы и т.д.). Для них это удобнее с точки зрения техподдержки, для пользователей проще выбор, т.к. все комплектующие гарантированно протестированы с требуемым оборудованием. Но есть и обратная сторона медали - стоимость оригинальных комплектующих очень высока и часто не оправдана при построении тестовых стендов. Тут и пригождается возможность использования неоригинальных комплектующих.
В данном мануале рассматривается процедура установки неоригинального SFP-модуля в коммутатор Cisco Catalyst.

пятница, 24 июля 2015 г.

Конвертация mp3 (или wav) для Asterisk с использованием sox

Как известно, Asterisk предъявляет некоторые требования к форматам звуковых файлов. Например, к wav-файлам требования такие: 8000 Гц, 16 бит, моно. Стандартные же файлы идут как правило в гораздо более высоком качестве в том же wav или даже mp3 и чтобы их использовать например для музыки на удержании или в качестве голосовых приветствий, их сначала нужно преобразовать. Сделаем это при помощи утилиты sox.

четверг, 23 июля 2015 г.

Циклический перезапуск АТС Panasonic KX-TDA200/100

На днях оказывал помощь одному из наших клиентов в решении проблемы с постепенно умершей АТС Panasonic KX-TDA200.
Суть проблемы заключалась в том, что в АТС в течении 2 недель постепенно отказал весь её функционал и в итоге она совершенно перестала запускаться, уходя в циклическую перезагрузку при каждой попытке считать конфигурацию с SD-карты.

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

Использование встроенного VNC-сервера в ESXi 5.x

Как правило, в повседневной эксплуатации совершенно не нужен весь функционал vSphere Client, поэтому быстрее и удобнее работать с консолями виртуальных машин через любой доступный VNC-клиент. Тем более, что VNC-сервер уже встроен в окружение ESXi и его нужно только включить.
Как это сделать в VMWare ESXi 5.x я опишу в этой заметке.