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

Установка 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
Автор
Редакция

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

Восстановление данных Android без root
Android.

Восстановление данных Android без root

Как установить Call of Duty Mobile на Android
Мобильные игры

Как установить Call of Duty Mobile на Android

Отключить автообновления Microsoft Store
Windows

Отключить автообновления Microsoft Store

Как просмотреть и удалить историю просмотра YouTube
Конфиденциальность

Как просмотреть и удалить историю просмотра YouTube

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

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

Microsoft Store не работает — как исправить
Windows

Microsoft Store не работает — как исправить