Установка 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 для установки и запуска служб.
Совет: убедитесь, что у вас стабильный доступ к сети и резервная копия конфигураций перед изменениями.
Список файлов для загрузки
- Zaptel
- libpri
- asterisk
- asterisk-sounds
- asterisk-addons
Предполагается, что вы скопировали все архивы в /usr/src/.
Шаги установки
Перейдите в каталог с исходниками и распакуйте архивы (замените имена, если у вас другие версии):
- tar -xzf zaptel-1.4.12.1.tar.gz
- tar -xzf libpri-1.4.9.tar.gz
- tar -xzf asterisk-1.4.20.tar.gz
- tar -xzf asterisk-sounds-1.2.1.tar.gz
- tar -xzf asterisk-addons-1.4.7.tar.gz
Далее — команды сборки и установки (в указанном порядке):
- cd zaptel-1.4.12.1
- ./configure
- make
- make install
- make config
- service zaptel start
- cd ..
- cd libpri-1.4.9
- make
- make install
- cd ..
- cd asterisk-1.4.20
- ./configure
- make
- make install
- make samples
- make config
- cd ..
- cd asterisk-sounds
- make install
- cd ..
- cd asterisk-addons-1.4.7
- ./configure
- make
- make install
- 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‑сервисами — рассмотрите облачные решения.
Мини‑методология при вводе в эксплуатацию
- Тестовая среда: установите на виртуальной машине и проверьте базовый функционал.
- Безопасность: примените сильные пароли и ограничения по IP.
- Тестирование: функциональные звонки, нагрузочное тестирование (минимально), проверка качества речи.
- Переход в прод: миграция пользователей, мониторинг и бэкапы конфигураций.
Ролевая чек‑листа (администратор, сетевой инженер, оператор)
- Администратор: установить Asterisk, настроить конфигурационные файлы, обеспечить бэкапы.
- Сетевой инженер: настроить NAT, QoS, проброс портов, обеспечить резервирование канала.
- Оператор/разработчик: протестировать SIP‑клиенты, опции кодеков и IVR (если требуется).
Критерии приёмки
- Все внутренние номера успешно регистрируются и могут звонить друг другу.
- Исходящие звонки успешно проходят через провайдера.
- Логи не содержат критических ошибок после 24 часов работы.
- Пароли и сетевые ограничения настроены по политике безопасности.
Краткое руководство по откатам и восстановлению
- Перед изменением конфигурации скопируйте /etc/asterisk в безопасное место.
- Для быстрого отката замените файлы на резервные и выполните service asterisk restart.
- При проблемах с сетью проверьте iptables/ufw и маршрутизацию.
Глоссарий (в одну строку)
- SIP: протокол сигнализации для установки голосовых и видео‑сессий; PBX: частная автоматическая телефонная станция.
Заключение
Ручная установка Asterisk из исходников даёт полный контроль над системой и полезна для обучения и тонкой настройки. Для продуктивных систем оцените потребности в поддержке, безопасности и удобстве администрирования — иногда готовые дистрибутивы с GUI экономят время и снижают риски.
Примечание: для любых вопросов вы можете написать Gventure.
Похожие материалы

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

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

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

Как просмотреть и удалить историю просмотра YouTube
Установка Asterisk для первой PBX
