Меню Рубрики

Установка asterisk на centos minimal

Как установить Asterisk 16 LTS на CentOS 7 / Fedora

В этой статье мы расскажем как произвести установку Asterisk 16 LTS на CentOS 7 / Fedora. Asterisk – это мощная УАТС с открытым исходным кодом и с огромным количеством корпоративных функций.

Особенности Asterisk

  • Конференц-связь
  • Запись разговоров
  • Мониторинг вызовов
  • Аудио- и видео-конференции
  • Голосовая почта
  • Очередь вызовов
  • Правила совершения звонка
  • Голосовое меню
  • Активные каналы связи
  • Резервное копирование информации
  • Идентификатор вызывающего абонента во время ожидания вызова
  • Парковка вызовов
  • Транскодирование

Подготовка системы

Прежде чем вы начнете выполнять команды установки Asterisk на вашем сервере CentOS 7 / Fedora, убедитесь, что все пакеты в системе обновлены.

Подключим дополнительные репозитории и обновим систему.

Установите SELinux в Permissive Mode, выполнив следующие команды:

Шаг 1: Установка зависимостей Asterisk 16

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

Шаг 2: Загрузка и установка Jansson

Jansson – это библиотека C для кодирования, декодирования и обработки данных JSON. Загрузите и установите его на сервере CentOS 7, выполнив следующие команды:

Шаг 3: Загрузка и установка PJSIP

PJSIP – это бесплатная мультимедийная библиотека с открытым исходным кодом, написанная на языке C, реализующая стандартные протоколы, такие как SIP, SDP, RTP, STUN, TURN и ICE. Клонируйте проект из Github, затем скомпилируйте и установите.

Шаг 4: Загрузка и установка Asterisk

Теперь, когда у нас установлены все пакеты и зависимости, мы готовы загрузить и установить Asterisk 16 на CentOS 7.

Если все идет хорошо, вы должны получить вывод, подобно приведенному ниже:

Шаг 5: Установка параметров меню Asterisk

Настраиваем дополнительные параметры перед установкой, выполнив следующую команду:

Используйте клавиши со стрелками для навигации и клавишу Enter, чтобы выбрать.

На дополнениях выберите chan_ooh323 и format_mp3 как показано ниже.


В Core Sound Packages выберите форматы аудиопакетов, как показано ниже.


Для Music On Hold выберите следующие минимальные модули:

Для дополнительных звуковых пакетов выберите, как показано ниже:

Включить в app_macro разделе «Приложения». По умолчанию в Asterisk 16 Macro() выключен.


Вы можете изменить конфигурацию, которую вы считаете нужной в вашем проекте. Когда закончите, нажмите ‘ Save & Exit ‘.

Устанавливаем библиотеку mp3-декодера.

Чтобы начать сборку и установку Asterisk с выбранными модулями, выполните команды.

Успешная установка сопровождается следующим выводом:

Для вас будет создан Asterisk systemd.

Создайте отдельного пользователя и группу для запуска Asterisk 16 и назначьте права:

Установка пользователя Asterisk.

Перезапустите службу Asterisk для применения настроек.

Установим службу в загрузку

Заключение

Теперь у вас есть работающий Asterisk 16 на сервере CentOS 7. Оставайтесь с нами и оставляйте комментарии, если у вас возникнут какие-либо проблемы с настройкой.

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.

источник

Установка Asterisk LTS на CentOS 7

В описанной инструкции рассмотрим пример установки с нуля Asterisk версии с длительной поддержкой на Linux CentOS 7.

Подготовка сервера

1. Устанавливаем необходимые программы

yum install gcc wget ntpdate automake libtool

* gcc нужен для сборки исходников, wget — для загрузки файлов из командной строки; ntpdate — синхронизации времени; automake — участвует в создании Makefile при запуске configure; libtool — обеспечивает процесс сборки и использования динамических библиотек.

2. Настраиваем время

Устанавливаем временную зону:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере московское время.

Открываем на редактирование cron и создаем задание на автоматическую синхронизацию времени:

0 0 * * * /sbin/ntpdate ru.pool.ntp.org

* при таких настройках будет выполняться синхронизация раз в сутки в 00:00.

3. Настройка безопасности:

Создаем новый сервис в брандмауэре:

firewall-cmd —permanent —new-service=asterisk

Добавим в сервис нужные порты:

firewall-cmd —permanent —service=asterisk —add-port=5060/tcp

firewall-cmd —permanent —service=asterisk —add-port=5060/udp

firewall-cmd —permanent —service=asterisk —add-port=5061/tcp

firewall-cmd —permanent —service=asterisk —add-port=5061/udp

firewall-cmd —permanent —service=asterisk —add-port=4569/udp

firewall-cmd —permanent —service=asterisk —add-port=5038/tcp

firewall-cmd —permanent —service=asterisk —add-port=10000-20000/udp

* где 5060 — SIP, 5061 — SIP over TLS, 4569 — IAX, 5038 — AMI (Asterisk Manager Interface), 10000-20000 — диапазон для динамических портов.

Теперь добавляем созданный сервис как разрешенный:

Читайте также:  Установка дверного навеса бабочка

firewall-cmd —permanent —add-service=asterisk

Установка Asterisk

Установка астериска выполняется путем сборки исходников. Сама процедура проходит в 3 этапа:

  1. Установка DAHDI (драйверов плат интерфейсов);
  2. Установка LibPRI (библиотека для работы с потоковыми TDM-интерфейсами);
  3. Собственно, сборка и установка Asterisk.

1. Сборка DAHDI

Загружаем исходник, распаковываем его и переходим в распакованный каталог:

tar -xvf dahdi-linux-complete-current.tar.gz

Выполняем сборку и установку:

Выходим из каталога с исходником:

2. Сборка LibPRI

Процедура, во многом, похожа на сборку DAHDI. Загружаем исходник, распаковываем его и переходим в распакованный каталог:

tar -xvf libpri-current.tar.gz

Выполняем сборку и установку:

Выходим из каталога с исходником:

3. Установка самого астериска

Для начала, загружаем исходник на сервер. Так как мы планируем установить LTS версию, заходим на страницу https://www.asterisk.org/downloads/asterisk/all-asterisk-versions, раздел «Long Term Support (LTS) Releases» и копируем ссылку на загрузку пакета:

* Certified Asterisk — бизнес версия с поддержкой для коммерческих клиентов.

Используя ссылку, скачиваем на сервер программу:

Распаковываем архив и переходим в него:

Используем встроенный скрипт, чтобы установить зависимости для астериска:

Чистим образовавшиеся временные файлы:

Добавляем библиотеку для работы с mp3:

./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex —with-mysqlclient

* полный перечень опция и что они означают можно посмотреть командой ./configure -h.

Выбираем необходимые компоненты (в данном примере res_config_mysql, app_mysql, cdr_mysql):

Запускаем сборку и установку:

Устанавливаем скрипты для автозапуска АТС и готовые конфигурационные файлы:

Базовая настройка и запуск

Открываем конфигурационный файл:

Снимаем комментарии и редактируем следующие пункты:

runuser = asterisk
rungroup = asterisk
defaultlanguage = ru
documentation_language = ru_RU

Задаем права на следующие каталоги:

chown -R asterisk:asterisk /var/run/asterisk

chown -R asterisk:asterisk /etc/asterisk

chown -R asterisk:asterisk /var//asterisk

chown -R asterisk:asterisk /usr/lib64/asterisk

chown -R asterisk:asterisk /var/log/asterisk

Если программа запустится, мы увидим Asterisk Ready:

* все ошибки и предупреждения можно проигнорировать, но правильнее их исправить, отключив неиспользуемые модули.

Теперь можно запустить астериск как службу:

systemctl enable asterisk

Заведение пользователя

Создадим наш первый диалплан (правило обработки звонков):

[outcaling]
exten => _XXX,1,Dial(SIP/$,,m)

* в данном примере мы создаем контекст с именем outcaling для трехзначных номеров (XXX) с вызовом по SIP по внутреннему номеру.

Теперь создадим два внутренних номера:

[public](!)
type=friend
context=outcaling
host=dynamic
disallow=all
allow=alaw
allow=ulaw
language=ru
qualify=yes
canreinvite=yes
call-limit=4
nat=no

[101](public)
regexten=101
secret=1234
caller
callgroup=1
pickupgroup=1

[102](public)
regexten=102
secret=5678
caller
callgroup=1
pickupgroup=1

* сначала мы создали шаблон public, в который занесли общие параметры. Шаблон мы применили к создаваемым коротким номерам.
* где:

  • [101], [102] — имена для обозначения номеров.
  • type — типы проверки номеров. Могут быть peer, user или friend. Peer — вызовы сопоставляются с IP-адресами и номерами портов. User — проверка username. Friend — включает возможности peer и user (проверка username и IP-адреса источника) и лучше всего подходит для телефонов и телефонных программ.
  • regexten — добавочный номер. Если не задан, используется имя.
  • secret — пароль для аутентификации.
  • context — контекст или группа правил.
  • host — IP-адрес или имя клиента. Для автоматической регистрации используем dynamic.
  • callerid — идентификатор пользователя при звонке.
  • disallow — запрещает кодеки (задается перед параметром allow).
  • allow — разрешает кодеки. alaw и ulaw — алгоритмы для кодеков g711.
  • language — код используемого языка.
  • callgroup — задает группу устройства (для возможности перехвата).
  • pickupgroup — задает перечень групп, которые можно перехватывать.
  • qualify — включает или отключает периодическую проверку подключенного клиента.
  • canreinvite — включает или отключает прохождение голосового RTP трафика через Asterisk. Устанавливать, только если клиент поддерживает функцию SIP re-invites.
  • call-limit — ограничение количества одновременных вызовов.
  • nat — устанавливается в yes, если клиент находиться за NAT.

systemctl restart asterisk

Подключение телефона и проверка

Для проверки сервера устанавливаем софт-телефон на компьютер. Например, а качестве SIP-клиента под Windows можно установить бесплатную программу X-Lite, для Android — Zoiper.

Читайте также:  Установка коленвала камаз 6520

Пример настройки клиента X-Lite:

Настраиваем подключение с логином и паролем 101 / 1234, второй — 102 / 5678. Пробуем позвонить.

источник

ИТ База знаний

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

Как собрать логи Asterisk?

Настройка IVR в Asterisk через консоль

Работа с cURL и JSON из диалплана Asterisk

Asterisk: файлы конфигурации и директории

Установка Asterisk 14 на CentOS 7

В данной статье расскажем как установить последнюю версию Asterisk 14.3.0 на операционную систему CentOS 7. Следуя нашей инструкции, Вы без труда сможете собрать Asterisk из источников. Итак, поехали!

Пошаговое видео

  • Подготовка

    Перед началом установки, убедимся, что у нас выключена опция SElinux, по умолчанию он включен. Поэтому открываем любой текстовый редактор, например vim или nano и отключаем. Для этого:

    Ищем строчку SELINUX = и вписываем disabled:

    Сохраняем изменения и производим перезагрузку командой reboot . Далее, добавляем в CentOS репозиторий EPEL:

    Все ссылки актуальны на момент написания статьи (22.02.2017). Сегодня 29.03.2020 (статья написана 1131 день назад), поэтому, в случае недоступности нужного файла, воспользуйтесь поиском в сети интернет.

    Устанавливаем зависимости, лучше это делать в несколько команд

    Запускаем сервис mariadb (MySQL):

    Теперь необходимо скачать и установить телефонные драйверы, такие как pjproject, и DAHDI, а также приложения jansson и lame.

    Скачивание и установка драйвера DAHDI

    Скачивание и установка приложения кодирования lame:

    Скачивание и установка jansson. Можно воспользоваться yum -y install jansson-devel или:

    Последним шагом в подготовке к установке Asterisk, является скачивание и установка библиотеки для работы с ISDN интерфейсами — libpri:

    Установка Asterisk

    Всё готово, теперь скачаем Asterisk

    После ввода команды menuselect перед вами откроется помощник установки модулей. По умолчанию, все необходимые модули уже включены, нам остаётся только добавить, то что хотим. Так, например, мы рекомендуем в разделе Add-ons включить поддержку mp3, установив параметр format_mp3, как показано на рисунке ниже:

    В разделе Core Sound Packages установить нужные форматы звуковых пакетов, например, для русского и английского языков:

    В разделе Music On Hold File Packages установить все значения для поддержки кодеков разных производителей оборудования:

    Наконец, в Extras Sound Packages установите нужные форматы и нажмите F12:

    Вы увидите сообщение о том, что преднастройка успешно завершена:

    Начинаем установку, для этого вводим команду

    По завершению отработки данной команды, мы увидим сообщение о том, что сборка Asterisk успешно завершена и теперь можно начать его установку:

    На этом установка Asterisk завершена, о чём сообщает следующий вывод

    Теперь необходимо создать пользователя с правами доступа к директориям Asterisk

    После этого, нужно перепустить Asterisk, чтобы изменения вступили в силу

    Теперь необходимо подготовить MySQL для работы с Asterisk:

    Создадим пользователя для работы с базами MySQL для Asterisk

    Далее необходимо создать две базы данных для работы с Asterisk:

    И настраиваем права для пользователя, которого создали в прошлом шаге:

    Теперь мы можем зайти в командную строку (CLI) Asterisk и начинать конфигурацию:

    core show help покажет список доступных команд и их описания

    Полезна ли Вам эта статья?

    Пожалуйста, расскажите почему?

    Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

    Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

    источник

    Читайте также:  Установка потолков пластиком в туалете

    Установка Asterisk 13 из пакетов на CentOS 7 Minimal (+ настройка и защита)

    Задача: сделать базовую установку Asterisk на CentOS 7 Minimal (виртуальный облачный сервер Hetzner CX11)

    1. Создаем нового пользователя и ограничиваем настройки входа по SSH

    Для начала устанавливаем редактор nano:

    Добавляем пользователя и назначаем ему новый пароль:

    Редактируем /etc/ssh/sshd_config. В целях безопасности, запрещаем логин из под root’а и разрешаем вход только нашему новому пользователю:

    После чего перезагрузим службу SSH и заходим по SSH с новым пользователем:

    2. Устанавливаем и настраиваем сетевой экран

    По умолчанию, в Hetzner сервер предоставляется пользователю без сетевого экрана. Займемся его установкой. Нам понадобятся права суперпользователя:

    Мы добавили службу сетевого экрана в автозапуск. Установили зону «public» для интерфейса eth0. Последняя команда добавляет сервисы Asterisk в исключения для того, чтобы мы могли подключаться к АТС снаружи. Вывод команды «firewall-cmd —zone=public —list-all«

    3. Подключим репозиторий EPEL и установим libcodec2

    Для установки Asterisk нам понадобится пакет «codec2«, который мы можем установить из репозитория EPEL

    4. Установка Asterisk

    Для начала нам понадобится wget

    Установку Asterisk будем производить из пакетов по инструкции https://tucny.com/telephony/asterisk-rpms

    4.1 Подключаем репозиторий

    Отредактируем файл /etc/yum.repos.d/tucny-asterisk.repo и установим строку «enabled=0» в разделах [asterisk-common] и [asterisk-13]. В нашем случае мы устанавливаем Asterisk версии 13. При необходимости, в этом конфигурационном файле можно отметить нужную версию:

    4.2 Установка Asterisk с репозитория

    4.3 Добавляем Asterisk в автозапуск, запускаем и проверяем

    5. Настройка Asterisk

    В нашей тестовой конфигурации мы создадим 5 внутренних номеров от 101 до 105. И настроим внутренние звонки между ними.

    Для этого в файле /etc/asterisk/sip.conf добавляем наши внутренние номера в раздел [phones]:

    В поле secret устанавливаем пароль для каждого внутреннего номера соответственно. Обязательно, в продакшн серверах используйте надежные пароли! Даже если сервер разворачивается как тестовый, через время вы можете решить использовать его для работы, а пароли поменять забудете.

    В файле /etc/asterisk/extensions.conf определяем контекст «internal-calls«. Полное содержание файла:

    6. Проверка Asterisk

    Подключим 2 номера для проверки. Для этого отлично подойдет Zoiper for Windows. Для подключения используем IP-адрес сервера, внутренний номер и пароль. После подключения с помощью команды «sip show peers» увидим пиры:

    Протестируем звонок с одного номера на другой:

    Базовая настройка выполнена.

    7. Защищаем сервер Asterisk с помощью Fail2Ban

    Сервер Asterisk, который находится в «открытом» интернете, постоянно подвергается попыткам примитивного взлома от «ботов«, которые пытаются подобрать пароль от SSH или подлючиться к АТС. Для борьбы с ними, необходимо:

    1. Использовать сложные пароли. Обязательно!
    2. Использовать Fail2Ban, который будет временно блокировать IP-адреса, с которых осуществляется попытка взлома.

    7.1 Включаем security-log в Asterisk

    Включим security-лог Asterisk и настроим чтобы он записывался в отдельный файл. Кроме этого, поменяем формат даты в логах. Для этого, раскоментируем в файле «/etc/asterisk/logger.conf» 2 строки:

    Перезагрузим настройки логгера Asterisk:

    7.2 Установка Fail2Ban

    Для установки Fail2Ban в CentOS 7 должен быть подключен репозиторий EPEL. Мы это уже сделали в предыдущих пунктах. Установим Fail2Ban и активируем в качестве службы:

    7.3 Настройка Fail2Ban

    Файл настроек лежит по адресу «/etc/fail2ban/jail.conf«. однако, разработчики рекомендуют использовать не его копию по адресу «/etc/fail2ban/jail.conf«, которая будет иметь приоритет. Итак:

    В нашем примере на сервере используются 2 службы: SSH и Asterisk. Обе они поддерживают авторизацию и подвержены бруфорсу и требуют защиты. Найдем и отредактируем в файле «jail.local» 2 секции [sshd] и [asterisk]:

    В параметр ignoreip можно вписать IP-адреса, которые блокировать не требуется (свои подсети и т. д.). Добавим в файл «jail.local«:

    Сохраним файл и перезапустим службу fail2ban:

    7.4 Проверка Fail2Ban

    Для проверки работы можно использовать команду:

    После некоторого времени, начинает появлятся первый «улов». На картинке снизу наблюдаем 3 заблокированных IP-адреса:

    источник

  • Добавить комментарий