Найти в Дзене
Олег Тимашевский

Linux Ubuntu. Установка Asterisk PBX

Оглавление

..

Всем привет. Продолжаем любить Linux Ubuntu. В этой публикации мы будем устанавливать и минимально настраивать Asterisk PBX.

Asterisk PBX это современная безплатная программная телефонная станция с открытым исходным кодом малой и средней ёмкости, ориентированная на использование в офисе и в абонентском доступе на периферии. "Asterisk - будущее телефонии". Asterisk PBX устанавливается как служба в Linux в т.ч. Linux Ubuntu и при наличии соответствующего оборудования позволяет организовывать связь как внутри учреждения так и входящую-исходящую связь с "внешним миром", как посредством традиционных двухпроводных абонентских линий и цифровых ISDN линий так и через IP сеть т.е. через интернет.
Большинство настроек подходят под все версии Asterisk PBX. Например, публикуемые здесь настройки и конфигурации подходят как к Asterisk PBX версий 1.6/1.8 так и для всех версий вплоть до 18й, скорее всего и для 20й.

Для своих экспериментов и опытов я на пошлой неделе скачал Asterisk PBX (https://www.asterisk.org/downloads/) на Linux Ubuntu и попытался его собрать. Но т.к. я недавно переустанавливал Linux Ubuntu (для того чтобы вынести систему на отдельный SSD), то при сборке в системе многих пакетов зависимостей не было, из-за этого вылетали ошибки. В какой то момент мне это надоело, надоело копаться в этих всех зависимостях и я без проблем установил Asterisk PSX через менеджер пакетов Synaptic. Как установить этот менеджер см. в одной из моих публикаций (UBUNTU 22. МЕНЕДЖЕР ПАКЕТОВ SYNAPTIC).

..

УСТАНОВКА

..

Запускаем этот менеджер пакетов, в правом верхнем углу нажимаем "Поиск", в котором ищем "asterisk".

Становимся на пакет "asterisk" и отмечаем для установки.

-2

Добавляем в очередь все необходимые изменения. Также можно добавить русскую озвучку и озвучку в формате "wav". После всего этого применяем изменения кнопкой "Применить". Все необходимые пакеты зависимости установятся автоматически и ничего доустанавливать ненужно.

Запускаем и добавляем в автозагрузку командами:

$ sudo systemctl start asterisk

$ sudo systemctl enable asterisk

Командой "sudo systemctl status" можно проверить что служба "asterisk" установлена.

systemctl status
systemctl status

Версию Asterisk PBX можно посмотреть командой "sudo asterisk -V". На момент написания публикации у Linux Ubuntu 22.04 LTS версия 18, на официальном сайте Asterisk PBX последняя версия 20я. В этом нет ничего страшного, и более старые версии отлично работают с любым железом.

..

МИНИМАЛЬНАЯ НАСТРОЙКА

..

Тэкс. Раз установили Asterisk PBX, то теперь с ним надо что то сделать. Щас будем мутить чё нить с ним. Для начала создадим офисную связь через локальную сеть.

Можно конечно купить офисную АТС вроде Panasonic, которая стоит как чугунный мост, нанять монтажников чтобы проложили внутреннюю телефонную линию. Но всё это на*** не надо если есть Asterisk PBX. В этом случае вместо сотни мы потратим только тыщь 8мь на два IP телефона. А чтобы не покупать отдельно компьютер для Linux Ubuntu её можно установить на виртуальную машину из под Windows 7/8/10/11 и всё будет работать.

Для всего этого нам понадобятся два IP телефона, например, Fanvil X301. У этой модели есть громкая связь и можно проводить аудио конференции. Будем их соединять по протоколу SIP.

IP телефон Fanvil X301
IP телефон Fanvil X301

Все настройки оставляем по умолчанию, а добавим несколько строчек конфига в файл "/etc/asterisk/sip.conf" и в файл "/etc/asterisk/extensions.conf". В файл "sip.conf" в самый конец добавляем строки:

[101]
type=friend
host=dynamic
secret=101101
callerid="101" <101>
dtmfmode=inband
qualify=yes
qualifyfreq=60
context=loc
disallow=all
allow=all
[102]
type=friend
host=dynamic
secret=102102
callerid="102" <102>
dtmfmode=inband
qualify=yes
qualifyfreq=60
context=loc
disallow=all
allow=all

В файл "extension.conf" в самый конец добавляем строки:

[loc]
exten => _1XX,1,Dial(SIP/${EXTEN},60,L(3600000))
exten => _1XX,n,Hangup()

Перезагружаем службу Asterisk PBX:

$ sudo systemctl restart asterisk

IP телефоны настраиваются отдельно. Я проверил, всё работает.

Звоним из "102" на "101" ч\з Zoiper5
Звоним из "102" на "101" ч\з Zoiper5

В двух словах что здесь происходит. В файле "sip.conf" я сконфигурировал две учётные записи, если правильно говорить, то два SIP пользователя с именами "101" и "102". Для удобства их имена совпадают с внутренними (=добавочными) номерами. В файле "extensions.conf" я добавил простое правило, что при наборе любого номера от 100 до 199 будет вызываться соответствующий SIP пользователь. Так если на телефоне набрать "101" или "102", то будет вызываться "101"'й пользователь или "102"' соответственно.

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

$ sudo asterisk -rx "reload"

Также, если Asterisk PBX рабочий, а не тестовый, то перезагрузка службы может привести к разрыву соединений, а перезагрузка конфигурации нет.