Установка Asterisk 16 на Debian 10

Содержание

Расскажу без лишних комментариев и отступлений об установке чистого asterisk 16 на сервер Debian 10 Buster. Ранее я уже рассматривал этот вопрос на разных дистрибутивах и версиях. Сейчас просто освежу и актуализирую предыдущие заметки на тему установки астериска, чтобы можно было простым копипастом быстро все развернуть на голом сервере. У меня по старым инструкциям не получилось, были ошибки небольшие, поэтому решил заново описать, как быстро установить asterisk на debian.

Данная статья является частью единого цикла статьей про сервер Debian.

Введение

Если у вас еще не настроен сервер с Debian, рекомендую мои материалы на эту тему:

Я не буду касаться вопроса настройки фаервола, буду считать, что он выключен. Но на сервере с астериском, особенно если он смотрит в интернет напрямую, обязательно надо настроить firewall. По этому поводу рекомендую мою подробную статью по настройке iptables. Там хоть и идет речь о другой операционной системе, но сами правила iptables во всех системах абсолютно одинаковые.

Для отладки и тестирования работы voip я рекомендую сервис Zadarma. Плюс его в том, что после регистрации вы получите настройки пира для внутренней сети оператора. И внутри этой сети вы можете бесплатно звонить. Например, я одного пира регистрирую на sip клиенте смартфона и с него звоню на второй аккаунт, пир от которого настроен в астериске. Таким образом эмулирую внешний звонок. Удобно отлаживать различные конфигурации звонков, не требуя платного подключения.

Приступаем к установке астериска. Я буду работать на следующей системе:

Debian 10 Buster

Загрузка asterisk на сервер

Я буду устанавливать LTS версию Asterisk 16. Советую для долгосрочного использования всегда использовать LTS версии. Они в целом стабильнее и дольше срок поддержки. Идем на страницу https://www.asterisk.org/downloads/asterisk/all-asterisk-versions и копируем ссылку на нужную версию. Загружаем ее на сервер.

После загрузки, сразу распаковываем.

Переходим в директорию с исходниками asterisk 16.

Установка зависимостей для asterisk 16

Установим теперь все необходимые зависимости в debian. Перебирать вручную их нет необходимости. Все зависимости собраны в скрипте, который надо запустить, находясь в директории с исходниками.

Установка зависимостей для asterisk

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

Это все необходимые зависимости. Можно приступать к сборке и установке asterisk 16

Установка Asterisk 16 на Debian 10

Запускаем скрипт подготовки исходников asterisk к компиляции.

Успешное завершение подготовки будет ознаменовано следующим выводом в консоль.

Подготовка исходников

На следующем этапе мы будем выбирать компоненты астериска для установки.

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

К тому, что установлено по-умолчанию, я добавляю:

  • На первой вкладке format_mp3.
  • В Core Sound Packages указываю русские звуки RU-WAV.
  • В Extras Sound Packages выбираю английский EN-WAV, русского, к сожалению, нет.

Продолжаю, после принятия настроек, нажатием на Save Exit. Компилируем, добавляя ключ j4. В данном случае у меня 4 ядра на сервере, сборка будет происходить с участием всех ядер.

Успешное окончание сборки будет обозначено сообщением в консоли.

Сборка asterisk из исходников

Теперь устанавливаем asterisk 16 и все его модули.

В процессе установки инсталлятор будет загружать некоторые файлы, к примеру wav файлы, из интернета. По окончании установки, увидите сообщение.

Установка asterisk 16 на debian 10

Формируем образцы файлов конфигурации, чтобы не писать их с нуля самим.

В завершении установки, создаем init скрипт.

Можно еще обновить кэш используемых динамических библиотек.

На этом непосредственно установка asterisk 16 закончена.

Запуск asterisk

По-умолчанию, asterisk установлен от root и будет запускаться от него же. Я предлагаю для этого создать отдельного пользователя и запускать астериск от него. Для этого создаем пользователя и добавляем его в некоторые группы.

Настраиваем Asterisk на запуск под этим пользователем. Для этого добавляем в конфиг /etc/default/asterisk параметры:

Назначаем новому пользователю права на директории астериска.

Пробуем запустить asterisk:

Если нет сообщений об ошибке, скорее всего все в порядке. Проверяем статус службы.

Запуск астериск

Asterisk запустился, но у меня ошибка:

Не может найти необходимый конфиг. Я проверил глазами, директории /etc/radiusclient-ng действительно нет, но есть /etc/radcli, где находится указанный в ошибке конфиг radiusclient.conf. Подозреваю, что это он и есть. Посмотрел, где в конфигах астериска используется этот путь. Оказалось, что в /etc/asterisk/cdr.conf и /etc/asterisk/cel.conf. Я там раскомментировал параметры, где указан ошибочный путь и указал правильный.

В /etc/asterisk/cdr.conf раскомментировал и отредактировал строки:

То же самое в /etc/asterisk/cel.conf:

После этого перезапустил астериск и проверил, все было в порядке.

Запуск службы астериск без ошибок

Добавим астериск в автозагрузку:

Запускаем консоль астериск и убеждаемся, что он работает:

Консоль сервера телефонии астериск

Все в порядке, сервер телефонии asterisk установлен и готов к работе. Можно заниматься настройкой.

Заключение

Мы установили оригинальную версию asterisk 16 на сервер под управлением debian 10 без каких-либо дополнений и web панелей. Дальше можно приступать к настройке. Я рекомендую воспользоваться моей инструкцией по базовой настройке asterisk с нуля. Там подробно рассказано как сконфигурировать основной функционал, который удовлетворит потребности в телефонии для среднестатистического офиса. Настройка включает в себя так же запись разговоров и подробную статистику звонков.

Напоминаю, что данная статья является частью единого цикла статьей про сервер Debian.


Источник: serveradmin.ru