Гид по технологиям

Установка Asterisk для вашей первой PBX

5 min read Телефония Обновлено 28 Sep 2025
Установка Asterisk для первой PBX
Установка Asterisk для первой PBX

Введение

Asterisk — свободная программная платформа для телефонии, часто используемая как ядро IP‑АТС (PBX). Она поддерживает работу SIP‑клиентов, внешних провайдеров (транков) и гибкий диалплан. Эта инструкция показывает базовую ручную установку Asterisk 1.4 и сопутствующих пакетов, создание простых SIP‑учётных записей, диалплана и исходящего трака.

Важно: в современных системах часто используют пакеты дистрибутива, контейнеры или дистрибутивы на базе FreePBX/Issabel — см. раздел «Альтернативные подходы».

Что нужно знать в двух строках

Asterisk компилируется из исходников и требует установленного gcc, заголовков ядра и библиотек (openssl, termcap). Для дополнительных модулей нужны заголовки MySQL. После установки вы распакуете архивы, соберёте zaptel/libpri/asterisk и настроите /etc/asterisk/sip.conf и /etc/asterisk/extensions.conf.

Предварительные требования

  • Ядро Linux 2.6+ и установленные заголовки ядра (kernel-headers).
  • Компилятор gcc и стандартные dev‑библиотеки (build-essential на Debian/Ubuntu).
  • Библиотеки: openssl, termcap и их dev‑пакеты.
  • Для asterisk-addons нужны заголовки MySQL (mysql-client, libmysqlclient-dev).
  • Права root или sudo для установки и запуска служб.

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

Список файлов для загрузки

  1. Zaptel
  2. libpri
  3. asterisk
  4. asterisk-sounds
  5. asterisk-addons

Предполагается, что вы скопировали все архивы в /usr/src/.

Шаги установки

Перейдите в каталог с исходниками и распакуйте архивы (замените имена, если у вас другие версии):

  1. tar -xzf zaptel-1.4.12.1.tar.gz
  2. tar -xzf libpri-1.4.9.tar.gz
  3. tar -xzf asterisk-1.4.20.tar.gz
  4. tar -xzf asterisk-sounds-1.2.1.tar.gz
  5. tar -xzf asterisk-addons-1.4.7.tar.gz

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

  1. cd zaptel-1.4.12.1
  2. ./configure
  3. make
  4. make install
  5. make config
  6. service zaptel start
  7. cd ..
  8. cd libpri-1.4.9
  9. make
  10. make install
  11. cd ..
  12. cd asterisk-1.4.20
  13. ./configure
  14. make
  15. make install
  16. make samples
  17. make config
  18. cd ..
  19. cd asterisk-sounds
  20. make install
  21. cd ..
  22. cd asterisk-addons-1.4.7
  23. ./configure
  24. make
  25. make install
  26. service asterisk start

Если все команды выполнились без ошибок, Asterisk запущен на сервере.

Важно: при ошибках компиляции проверьте наличие kernel-headers, gcc и dev‑пакетов библиотек.

Создание первых SIP‑учётных записей

Добавьте в /etc/asterisk/sip.conf следующие строки (файл и синтаксис в точности как в примере):

[common](!) ; this is template.
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

[1000](common)
username=1000
secret=1000

[1001](common)
username=1001
secret=1001

[1002](common)
username=1002
secret=1002

[1003](common)
username=1003
secret=1003

[1004](common)
username=1004
secret=1004

Пояснение: в этом примере создаётся шаблон common и пять учётных записей (1000–1004). После перезагрузки/рестарта Asterisk SIP‑клиенты, настроенные этими логинами, будут регистрироваться на сервере.

Примечание по безопасности: смените пароли (secret) на сильные и уникальные значения перед подключением в продуктиве.

Настройка диалплана (extensions.conf)

Файл /etc/asterisk/extensions.conf должен разрешать вызовы между внутренними абонентами. Добавьте:

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})

Пояснение: маска _XXXX означает 4‑значные внутренние номера. Когда абонент набирает 1001, Asterisk отправит звонок на соответствующий SIP‑учёт.

Добавление исходящего SIP‑трака

Чтобы совершать исходящие звонки через провайдера, нужно добавить запись трака в sip.conf и правило в extensions.conf. В sip.conf добавьте (замените адресом провайдера):

[trunk]
type=friend
context=internal
host=
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

После этого в extensions.conf добавьте правило для маршрутизации внешних звонков:

exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

Полный пример extensions.conf:

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})
exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

Теперь номера из внешней сети, соответствующие шаблону _XXXXXXX., будут направляться через trunk1.

Отладка и проверка

  • Проверить статус: asterisk -rvvv (в интерактивной консоли Asterisk)
  • Проверить лог: /var/log/asterisk/messages
  • Убедиться в регистрации SIP: в CLI команды sip show peers и sip show users
  • Тестовый звонок между двумя зарегистрированными клиентами

Если регистрация не происходит — временно отключите firewall или откройте порты UDP 5060 и диапазон RTP (обычно 10000–20000), затем настройте NAT и проброс портов.

Важно: не оставляйте открытый SIP без ограничений — используйте белые списки, ACL или туннели.

Безопасность и жёсткая конфигурация (рекомендации)

  • Сигнальные пароли: используйте случайные сложные секреты, не 1000/1001.
  • Ограничение доступных кодеков: оставьте только ulaw/alaw, если нет особой необходимости в G.729/G.723.
  • Fail2ban: настройте блокировку по частым попыткам входа в Asterisk CLI/SIP.
  • Ограничьте IP‑адреса, которым разрешён доступ к административным интерфейсам.
  • Шифрование: рассмотрите TLS для SIP и SRTP для голосового трафика.
  • Логи и запись разговоров: соблюдайте локальные требования по хранению и уведомлению абонентов.

Альтернативные подходы

  • Установка из пакета дистрибутива (apt/yum): быстрее и проще для обновлений.
  • Использование FreePBX/Issabel: графический интерфейс, автоматизация конфигураций и модулей.
  • Контейнеризация (Docker): удобна для тестирования, но для реального PBX с TDM‑шифтов нужна внимательная настройка сети.
  • Хостинг у SIP‑провайдера: вы делегируете управление внешней телефонией провайдеру.

Выбор зависит от навыков команды, требований к поддержке и безопасности.

Когда это не подойдёт (примеры)

  • Нужен полноценный GUI для администрирования — лучше FreePBX.
  • Требуется высокая отказоустойчивость и HA — нужна архитектура с репликацией и балансировкой.
  • Нужна интеграция с облачными PBX‑сервисами — рассмотрите облачные решения.

Мини‑методология при вводе в эксплуатацию

  1. Тестовая среда: установите на виртуальной машине и проверьте базовый функционал.
  2. Безопасность: примените сильные пароли и ограничения по IP.
  3. Тестирование: функциональные звонки, нагрузочное тестирование (минимально), проверка качества речи.
  4. Переход в прод: миграция пользователей, мониторинг и бэкапы конфигураций.

Ролевая чек‑листа (администратор, сетевой инженер, оператор)

  • Администратор: установить Asterisk, настроить конфигурационные файлы, обеспечить бэкапы.
  • Сетевой инженер: настроить NAT, QoS, проброс портов, обеспечить резервирование канала.
  • Оператор/разработчик: протестировать SIP‑клиенты, опции кодеков и IVR (если требуется).

Критерии приёмки

  • Все внутренние номера успешно регистрируются и могут звонить друг другу.
  • Исходящие звонки успешно проходят через провайдера.
  • Логи не содержат критических ошибок после 24 часов работы.
  • Пароли и сетевые ограничения настроены по политике безопасности.

Краткое руководство по откатам и восстановлению

  • Перед изменением конфигурации скопируйте /etc/asterisk в безопасное место.
  • Для быстрого отката замените файлы на резервные и выполните service asterisk restart.
  • При проблемах с сетью проверьте iptables/ufw и маршрутизацию.

Глоссарий (в одну строку)

  • SIP: протокол сигнализации для установки голосовых и видео‑сессий; PBX: частная автоматическая телефонная станция.

Заключение

Ручная установка Asterisk из исходников даёт полный контроль над системой и полезна для обучения и тонкой настройки. Для продуктивных систем оцените потребности в поддержке, безопасности и удобстве администрирования — иногда готовые дистрибутивы с GUI экономят время и снижают риски.

Примечание: для любых вопросов вы можете написать Gventure.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Herodotus: защита от банковского трояна на Android
Безопасность

Herodotus: защита от банковского трояна на Android

Как включить новый Пуск в Windows 11
Windows

Как включить новый Пуск в Windows 11

Панель полей сводной таблицы Excel — руководство
Excel

Панель полей сводной таблицы Excel — руководство

Включить новое меню «Пуск» в Windows 11 (KB5067036)
Windows 11

Включить новое меню «Пуск» в Windows 11 (KB5067036)

Дублирование Диспетчера задач в Windows 11: как исправить
Windows

Дублирование Диспетчера задач в Windows 11: как исправить

Как посмотреть историю просмотра Reels в Instagram
Социальные сети

Как посмотреть историю просмотра Reels в Instagram