Рубрика: Asterisk

Как сменить версию Астериск в FreePBX

FreePBX Distro имеет несколько встроенных функций, позволяющих вам изменить используемую вами основную версию Asterisk без переустановки / перекомпиляции вручную. Например, FreePBX 6.12.65 поддерживает Asterisk 1.8, 11, 12 и 13, FreePBX 14 поддерживает Asterisk 13, 15, 16 и 17. Чтобы изменить версию Asterisk в FreePBX в командной строке Linux, введите:

Читать далее

Работа с REST API, CURL и JSON из номерного плана Asterisk

Взаимодействие с внешними сервисами по REST API значительно расширяет возможности Asterisk. В данной статье я покажу работу с REST API из номерного плана Астериска. В данному примере API доступна по HTTPS и возвращает данные в формате JSON

Читать далее

Как вычислить разность двух времен из номерного плана Астериск

Чтобы вычислить разницу между двумя временами в номерном плане Астериск, сначала необходимо конвертировать время в формат Линукс эпохи. Это можно сделать с помощью функции Астериск STRFTIME. Строка в номерном плане, которая конвертирует время в формат Линукс эпохи: Set(time=${STRFTIME(${EPOCH},,%s)})

Читать далее

Инвентаризация телефонов в Астериск / Список Useragent

Мне необходимо узнать, все телефоны Cisco в организации используют последнюю версию программного обеспечения. Так как телефоны серии SPA показывают версию программного обеспечения в строке «Useragent» было бы замечательно получить список useragents в Asterisk. Для этого необходимо «пройтись» по всем зарегистрированным в Астериск номерах и отразить нужны нам строки. Вот скрипт useragents.sh, который сделает это:

Читать далее

Установка Asterisk на CentOS 7 через Yum

Разработчики Asterisk «порадовали», официально репозитория Asterisk больше нет (сам репозиторий пока на месте). Также исчезла инструкция по установке с пакетов. Конечно намного удобнее и быстрее установить Asterisk из пакетов через Yum вместо того, чтобы собирать его из исходных кодов на каждом новом сервере. К счастью есть репозиторий Tucny repo с пакетами Asterisk для CentOS 7

Читать далее

Настройка fail2ban для защиты Asterisk

В этой статье я расскажу, как защитить Asterisk от попыток взлома с помощью Fail2ban в CentOS Linux. Fail2Ban — это стандартный инструмент Linux, который сканирует журнальные файлы приложения, а затем блокирует IP-адреса, найденных в этих файлах с помощью iptables. Как настроить iptables для Asterisk читайте здесь. Fail2ban полностью зависит от приложения (в данном случае Asterisk) …

Читать далее

Как преобразовать PDF в TIFF совместимый с факсом

Это замечательный вопрос, поскольку надежный ответ на удивление трудно найти в Интернете. Большинство советов работает для одних PDF файлов, но не работает для других. Команды ниже работают для любого файла PDF. Если вы наткнулись на файл PDF, для которых эти команды не работают, сообщите об этом. Ghostscript является ключевым инструментом для преобразования PDF-файлов в файлы …

Читать далее

Управление файлами журнала Asterisk с logrotate

Logrotate это утилита, специально предназначенная для легкого управления большим количеством лог-файлов. Она умеет автоматически вращать, архивировать, удалять и отправлять лог-файлы по почте. Каждый файл журнала может обрабатываться ежедневно, еженедельно, ежемесячно или когда он становится слишком большим. Обычно Logrotate запускается как ежедневная крон-задача. По умолчанию logrotate не имеет файла конфигурации для Asterisk. Здесь я предлагаю пример …

Читать далее

Подключаем GSM-шлюз GoIP8 к Asterisk

Пошаговое руководство как подключить GSM-шлюз GoIP к Asterisk. Необходимые функции: возможность совершения исходящих звонков и приема входящих. Для исходящих звонков иметь возможность выбора произвольной линии. 1. Настройка GoiP 8 Предполагается, что у вас новое устройство из коробки, поэтому последовательность действий — как для заводских настроек. Вставляем сим-карты в слоты, включаем питание. GoIP8 имеет 2 порта …

Читать далее

Как организовать цикл в Астериск?

Дана некая переменная вида: Set(Asterisk=1,2,3,4,5) Необходимо пройти циклом данную переменную используя «,» как разделитель. Решение: same => n,Set(Asterisk=1,2,4,3,5) same => n,Set(X=1) same => n,Set(DEV=${CUT(Asterisk,\,,1)}) same => n,While($[${EXISTS(${DEV})}]) same => n,NoOp(DEV = ${DEV}) same => n,Set(X=$[${X} + 1]) same => n,Set(DEV=${CUT(Asterisk,\,,${X})}) same => n,EndWhile()

Читать далее