вторник, 15 марта 2016 г.

Настройка D-Link DVG-5004S (4-портовый FXS шлюз)

В данном мануале описан процесс настройки голосового FXS-шлюза D-Link DVG-5004S для использования с Asterisk и построенных на нём дистрибутивах вроде Elastix или FreePBX. Нижеприведённая процедура настройки применима не только к Asterisk, но и к любому другому голосовому сервису, работающему по протоколу SIP: это может быть и FreeSWITCH и Kamailio.
Под названием DVG-5004S можно встретить устройства в двух разных корпусах и на разных аппаратных версиях.

Также немного отличается и внешний вид WEB-интерфейса, но все параметры абсолютно идентичны.

пятница, 19 февраля 2016 г.

Cевер и клиент Samba в Ubuntu Server

Данная краткая инструкция описывает как открыть общие ресурсы (папки) на сервере под управлением Ubuntu Server 14.04 видимые в сети Windows, а также как в самой Ubuntu Server смонтировать в нужный каталог сетевой диск или просто общую папку Windows.

понедельник, 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.