Комплексная ИТ поддержка 24 x 7 x 365
г. Екатеринбург, пер. Автоматики 3/1
info@it-seti.ru Рассчитать стоимость

Настройка IP-АТС Asterisk : инструкция по развертыванию сервера IP-телефонии

6 Август 2025 Категория: Блог

Asterisk является мощной платформой для создания эффективной системы корпоративной IP-телефонии и VoIP-коммуникаций. Это подробное руководство проведет вас через все этапы установки и базовой конфигурации Asterisk 20 на Ubuntu Server, начиная с подготовительных шагов и заканчивая настройкой голосовых функций, IVR-меню и внешних подключений через SIP-провайдера. Освоив эти инструкции, вы сможете самостоятельно запустить полноценный центр связи для офиса или call-центра.

Что представляет собой Asterisk и его ключевые преимущества?

Asterisk (часто называемый Астериск) представляет собой свободно распространяемое программное обеспечение с открытым исходным кодом, предназначенное для преобразования стандартного сервера в многофункциональный центр связи. Программа позволяет построить адаптивную и масштабируемую телефонную систему, эффективно обрабатывающую множество одновременных соединений через интернет. Использование Asterisk широко распространено в корпоративных сетях, центрах обработки вызовов, а также для создания продвинутых систем голосовой коммуникации с поддержкой различных устройств и оборудования.

Основные преимущества использования Asterisk

Использование Asterisk предлагает значительные выгоды для организаций любого размера - от небольшой компании до крупной корпорации с сотнями сотрудников. Рассмотрим наиболее важные из них:

  • Гибкость и масштабируемость: Asterisk предлагает исключительную гибкость и масштабируемость, адаптируясь к требованиям любых организаций. Система легко расширяется за счет добавления новых абонентов, extensions и сервисов по мере развития вашего бизнеса.
  • Экономичность: Благодаря своей экономичности, Asterisk не требует уплаты лицензионных сборов, поскольку является ПО с открытым исходным кодом. Это существенно сокращает затраты денег на внедрение и поддержание телефонной инфраструктуры.
  • Обширный набор функций: Платформа Asterisk предоставляет обширный набор функций современной телефонии, включая системы интерактивного голосового ответа (IVR), голосовую почту, механизмы очередей вызовов (queue), возможности записи переговоров, организацию конференций.
  • Высокая интеграционная способность: Система Asterisk обладает высокой интеграционной способностью, позволяя легко взаимодействовать с CRM-системами, базами данных, веб-сервисами и прочими сторонними приложениями посредством AMI (Asterisk Manager Interface).
  • Поддержка различных протоколов: Asterisk поддерживает множество коммуникационных протоколов, таких как SIP, IAX2, H.323, ISDN/PRI, обеспечивая широкую совместимость с разнообразным VoIP-оборудованием и IP-телефонами.

Подготовительные работы перед установкой Asterisk

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

Выбор ОС и минимальные системные требования

Наиболее предпочтительными операционными системами для развертывания Asterisk являются дистрибутивы Linux, например, Ubuntu Server, Debian, CentOS или специализированный FreePBX. В данном руководстве в качестве примера будет использоваться Ubuntu Server, как одна из наиболее популярных и удобных платформ.

⚠️ Важно!

Для стабильного функционирования АТС Asterisk необходимо учитывать следующие системные требования:

  • ЦПУ: Рекомендуется современный многоядерный процессор (например, Intel Core i3/i5 или эквивалент AMD Ryzen 3/5)
  • ОЗУ: Для малых инсталляций достаточно 2 ГБ памяти, для средних и крупных систем потребуется 4 ГБ и более
  • Дисковое пространство: Желательно не менее 20 ГБ свободного дискового пространства, использование SSD-накопителя значительно повысит скорость работы
  • Сетевое подключение: Требуется стабильное сетевое соединение с настроенным доступом извне (через прямой IP или корректную конфигурацию NAT)

Установка необходимых пакетов и библиотек

Прежде чем приступить к компиляции Asterisk из исходного кода, требуется установить ряд вспомогательных пакетов и библиотек. Для пользователей Ubuntu/Debian выполните следующие команды в терминале:

Установка зависимостей для Ubuntu/Debian
sudo apt update
sudo apt upgrade -y
sudo apt install -y build-essential libxml2-dev libncurses5-dev libssl-dev \
    libjansson-dev libsqlite3-dev uuid-dev libspeex-dev libspeexdsp-dev \
    libogg-dev libvorbis-dev libasound2-dev libiksemel-dev libresample-dev \
    libspandsp-dev libcodec2-dev git wget

Эти компоненты обеспечивают возможность сборки Asterisk, а также предоставляют поддержку для разнообразных функций, включая обработку аудиопотоков, работу с базами данных ODBC и обеспечение криптографической защиты.

Пошаговый процесс установки Asterisk из исходных файлов

Компиляция Asterisk из исходных файлов предоставляет наибольшую гибкость в настройке и позволяет использовать самую свежую стабильную версию программного обеспечения.

Загрузка и извлечение исходного кода Asterisk

Приступим к загрузке последней стабильной версии Asterisk с официального ресурса Digium/Sangoma.

Перейдите в каталог для исходных файлов:

Переход в каталог
cd /usr/local/src/

Загрузите выбранную версию Asterisk:

Загрузка Asterisk
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz

Распакуйте загруженный архив:

Распаковка архива
sudo tar -xvzf asterisk-20-current.tar.gz

Перейдите в директорию с извлеченными исходными кодами:

Переход в директорию
cd asterisk-20.*/

Сборка и инсталляция компонентов Asterisk

Теперь необходимо выполнить компиляцию Asterisk и установить его программные модули.

Запустите скрипт configure для проверки зависимостей:

Конфигурация
sudo ./configure

Используйте menuselect для интерактивного выбора требуемых модулей и опций:

Выбор модулей
sudo make menuselect

Подсказка: В menuselect можно выбрать дополнительные звуки (sounds), музыку на удержании (MOH), форматы файлов (mp3, wav) и другие опции. Для навигации используйте стрелки, для выбора/отмены выбора — пробел, для сохранения и выхода — Save & Exit

Выполните компиляцию Asterisk:

Компиляция
sudo make

Инсталлируйте Asterisk и все выбранные модули:

Установка
sudo make install

Установите типовые конфигурационные файлы:

Установка примеров конфигурации
sudo make samples

Установите скрипты инициализации для автозапуска:

Установка скриптов автозапуска
sudo make config

Обновите кэш динамических библиотек:

Обновление библиотек
sudo ldconfig

Начальная конфигурация Asterisk после установки

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

Запустите Asterisk в консольном режиме для отладки и контроля:

Первый запуск Asterisk
sudo asterisk -vvvc

На экране появится приглашение CLI, что свидетельствует о работе Asterisk.

⚠️ Крайне важно!

По умолчанию Asterisk может работать от имени пользователя root. В целях повышения безопасности рекомендуется создать специализированного пользователя asterisk и настроить соответствующие права доступа.

Для обеспечения надлежащей конфиденциальности создайте системного пользователя asterisk:

Создание пользователя asterisk
sudo adduser --system --group --home /var/lib/asterisk --no-create-home \
    --gecos "Asterisk PBX User" asterisk
Назначение прав доступа
sudo chown -R asterisk:asterisk /var/lib/asterisk
sudo chown -R asterisk:asterisk /var/log/asterisk
sudo chown -R asterisk:asterisk /var/run/asterisk
sudo chown -R asterisk:asterisk /var/spool/asterisk
sudo chown -R asterisk:asterisk /usr/lib/asterisk
sudo chown -R asterisk:asterisk /etc/asterisk

Основные настройки конфигурационных файлов Asterisk

Ключевые файлы конфигурации Asterisk располагаются в директории /etc/asterisk/. Для начальной настройки системы телефонии нам потребуется модифицировать pjsip.conf (для управления SIP-абонентами и peers), extensions.conf (для определения правил маршрутизации вызовов и диалплана).

Конфигурация внутренних SIP/PJSIP абонентов

Чтобы пользователи могли подключаться к вашей IP-АТС, необходимо сконфигурировать внутренние SIP-номера (extensions). Мы сосредоточимся на протоколе PJSIP, который является предпочтительным выбором для современных развертываний Asterisk.

Откройте файл pjsip.conf для редактирования:

Редактирование pjsip.conf
sudo nano /etc/asterisk/pjsip.conf

Структура конфигурации PJSIP включает:

  • Глобальные установки (general) - общие настройки для SIP-сервера, включая bind адрес и port
  • Транспортный протокол (transport) - определение UDP/TCP транспорта на порту 5060
  • Endpoint - конечная точка для каждого абонента с указанием контекста диалплана
  • Auth - аутентификационные данные (username и password)
  • AOR (Address of Record) - параметры регистрации абонента

Пример базовой конфигурации PJSIP для создания внутренних абонентов 201 и 202. В конфигурации указываются секции transport для определения протокола, endpoint для настройки абонента, auth для аутентификации и aor для регистрации.

Для старого chan_sip (если требуется совместимость) можно настроить аналогичные параметры в файле sip.conf с использованием типа friend или peer, указанием host=dynamic для динамических IP-адресов и других необходимых параметров.

После сохранения изменений выполните перезагрузку конфигурации командами pjsip reload или sip reload в зависимости от используемого драйвера.

Разработка простого диалплана (extensions.conf)

Диалплан является центральным элементом Asterisk, управляющим логикой обработки и маршрутизации всех телефонных вызовов. Файл extensions.conf содержит детальные инструкции по обработке как входящих, так и исходящих соединений.

Откройте файл extensions.conf для внесения изменений:

Редактирование extensions.conf
sudo nano /etc/asterisk/extensions.conf

⚠️ Важно!

Всегда создавайте резервную копию конфигурационных файлов перед их модификацией:

sudo cp /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.backup

Структура диалплана:

В структуре диалплана каждый вызов обрабатывается в соответствии с определенным шаблоном. Основные компоненты:

  • Контекст: Логическая группа правил обработки вызовов
  • Extension (номер): Конкретный номер или шаблон для сопоставления
  • Приоритет: Порядок выполнения команд (1, 2, 3 или n для следующего)
  • Приложение: Действие, которое выполняет Asterisk (Dial, Answer, Playback, Hangup и др.)

В диалплане создаются контексты для различных групп пользователей. Например, контекст internal-users для внутренних абонентов, from-external для входящих звонков от провайдера, outbound-calls для исходящих вызовов. Используются шаблоны для определения номеров: _XXX для трехзначных, _2XX для номеров от 200 до 299.

После сохранения изменений выполните команду dialplan reload в CLI для применения новой конфигурации.

Интеграция с внешними линиями (SIP Транк)

Для обеспечения возможности осуществления звонков на городские, мобильные или международные телефонные номера, а также для приема входящих вызовов из внешней сети, требуется настроить SIP-транк с провайдером услуг IP-телефонии.

Конфигурация SIP-транка для подключения к оператору связи

SIP-транк (trunk) является виртуальным каналом, который соединяет ваш сервер Asterisk с оператором IP-телефонии или SIP-провайдером. Провайдер обычно предоставляет следующие данные: адрес сервера, логин, пароль и иногда префикс для набора.

Для настройки транка в PJSIP создаются секции endpoint, auth, aor и registration. В секции endpoint указывается контекст для входящих звонков, разрешенные кодеки и параметры аутентификации. Секция auth содержит учетные данные для авторизации на сервере провайдера. В aor указывается адрес SIP-сервера провайдера. Registration обеспечивает регистрацию на сервере провайдера.

После настройки проверьте статус регистрации командами pjsip show registrations или sip show registry в CLI. Статус должен отображаться как Registered.

Правила маршрутизации входящих и исходящих вызовов

На данном этапе требуется обновить диалплан Asterisk для корректной обработки входящих вызовов от провайдера и маршрутизации исходящих звонков на внешние номера.

Для входящих звонков создается контекст from-external, где обрабатываются вызовы от провайдера. Можно настроить IVR-меню с приветствием и выбором отдела, прямую маршрутизацию на конкретные внутренние номера или переадресацию в очередь.

Для исходящих звонков создается контекст outbound-calls с правилами набора для различных типов номеров: местные (7 цифр), междугородние (11 цифр), мобильные и международные. Используются шаблоны для определения формата номера и добавления необходимых префиксов.

Контекст outbound-calls включается в контекст internal-users директивой include, что позволяет внутренним абонентам совершать внешние вызовы.

Дополнительные функции IP-АТС Asterisk

Платформа Asterisk предоставляет обширный арсенал функций для автоматизации и усовершенствования процессов коммуникации в офисе.

Настройка IVR и системы голосовой почты

IVR (Interactive Voice Response): Интерактивное голосовое меню (автосекретарь) — это автоматизированная система, позволяющая вызывающим абонентам взаимодействовать с АТС путем ввода тоновых сигналов DTMF. Используются приложения Background() для воспроизведения аудиофайлов, WaitExten() для ожидания ввода, Playback() для проигрывания звуков.

IVR-меню может быть многоуровневым с различными подменю для отделов. Настраиваются таймауты для ввода, обработка неверного ввода и возврат в главное меню.

Голосовая почта (Voicemail): Функция позволяет абонентам оставлять голосовые сообщения при недоступности вызываемого номера. Настройка производится в файле voicemail.conf, где указываются почтовые ящики с паролями и email-адресами для отправки уведомлений.

Управление очередями вызовов и записью переговоров

Очереди вызовов (Call Queues): Используются в колл-центрах для распределения входящих звонков между операторами. Конфигурация в файле queues.conf включает стратегию распределения (ringall, leastrecent, random), таймауты, музыку на удержании и список операторов.

Запись переговоров (Call Recording): Asterisk позволяет записывать телефонные разговоры с помощью приложений Monitor() или MixMonitor(). Записи сохраняются в директории /var/spool/asterisk/monitor/ в форматах wav, gsm или mp3.

Настройка конференц-связи

Для организации конференций используется приложение ConfBridge. В файле confbridge.conf настраиваются параметры конференц-комнат: максимальное количество участников, музыка при ожидании, права администратора и другие опции.

Меры по обеспечению безопасности Asterisk

Обеспечение конфиденциальности вашего сервера IP-телефонии критически важно для предотвращения несанкционированного доступа и мошеннических действий.

  • Fail2ban: Инструмент для автоматической блокировки IP-адресов при попытках брутфорса. Настройте jail для asterisk в файле jail.local
  • Конфигурация файервола: Используйте iptables или ufw для ограничения доступа к портам 5060 (SIP) и 10000-20000 (RTP)
  • ACL (Access Control Lists): Используйте директивы permit/deny для ограничения доступа по IP-адресам
  • Сложные пароли: Используйте пароли длиной не менее 12 символов с буквами, цифрами и специальными символами
  • Отключение ненужных модулей: В modules.conf используйте noload для отключения неиспользуемых модулей
  • Регулярные обновления: Обновляйте систему и Asterisk для получения патчей

Дополнительные параметры безопасности включают отключение гостевого доступа (allowguest=no), включение alwaysauthreject=yes для предотвращения перебора паролей, ограничение методов SIP и настройку шифрования для защиты голосового трафика.

Управление и мониторинг работы Asterisk

Для эффективного администрирования системы важно владеть командами CLI и использовать инструменты мониторинга.

Ключевые команды интерфейса Asterisk CLI

Командная строка Asterisk (CLI) позволяет в реальном времени контролировать состояние системы. Для входа используйте команду: sudo asterisk -rvvv

Команда CLI Описание
core show channels Отображает информацию о текущих активных каналах
pjsip show endpoints Показывает список зарегистрированных PJSIP endpoints
dialplan reload Перезагружает диалплан (extensions.conf)
module show Список загруженных модулей
queue show Информация об очередях вызовов
voicemail show users Список почтовых ящиков
core restart gracefully Плавный перезапуск после завершения звонков
pjsip set logger on Включить логирование PJSIP для отладки

Мониторинг через AMI и внешние инструменты

AMI (Asterisk Manager Interface) позволяет управлять Asterisk удаленно. Настройка производится в файле manager.conf с указанием порта, адреса привязки и учетных записей с правами доступа.

Для мониторинга используются инструменты: Zabbix для системных метрик, Grafana с Prometheus для визуализации, CDR-Stats для анализа статистики звонков, FOP2 как панель оператора.

Распространенные проблемы и методы их устранения

Проблема: Отсутствует регистрация SIP-абонентов

Решение: Проверьте правильность учетных данных, убедитесь что порт 5060 не заблокирован, проверьте настройки NAT, используйте pjsip set logger on для отладки

Проблема: Односторонняя передача голоса

Решение: Проверьте настройки NAT и внешний IP, откройте RTP порты 10000-20000, установите directmedia=no, проверьте совместимость кодеков

Проблема: Неправильная маршрутизация вызовов

Решение: Проверьте контексты в конфигурации, используйте dialplan show для анализа, проверьте приоритеты и синтаксис в extensions.conf

Интеграция с внешними системами

Интеграция с CRM и базами данных

Для интеграции с CRM-системами используется ODBC или AGI-скрипты. Можно настроить автоматический поиск информации о клиенте при входящем звонке и отображение данных оператору.

Интеграция с мессенджерами

Настройка отправки уведомлений о пропущенных звонках в Telegram или другие мессенджеры осуществляется через webhook или API с использованием скриптов в диалплане.

✅ Заключение

Asterisk является мощной и гибкой платформой для развертывания IP-телефонии в офисе любого размера. В этом руководстве мы рассмотрели процесс создания IP-АТС на базе Asterisk с нуля, охватив установку, настройку абонентов и транков, создание IVR и очередей и и мониторинг системы.

Представленная информация станет надежным фундаментом для запуска вашей системы IP-телефонии. Asterisk позволяет расширять функциональность по мере роста потребностей бизнеса. При возникновении сложных задач обращайтесь к документации или специалистам.

Успехов в освоении Asterisk и построении эффективной системы корпоративной связи!

Получить бесплатную консультацию

Связаться с нами

Спасибо за ваше обращение

Наш менеджер свяжется с вами в ближайшее время и ответит на все ваши вопросы
Наш сайт использует Cookie. Нажмите «Принимаю» если вы не против Политики обработки данных
Принимаю