Установка Asterisk 21 и FreePBX 17 на Ubuntu 24.04 LTS

    21 минута

В этой статье мы рассмотрим процесс установки Asterisk 21 и FreePBX 17 в Ubuntu 24.04 LTS с учётом уже установленных в систему Apache2 и MariaDB.

Ранее мы уже проводили установку Asterisk v.18 и FreePBX v.16. На этот раз, установим последнюю версию связки.

Переключимся на суперпользователя с последующим вводом пароля root.

sudo su

Подготовка системы

Если вы ещё не установили веб-сервер (в данной статье предполагается установленный Apache), php и MySQL, то необходимо сделать это сейчас. Для информации можете воспользоваться указанной выше статьёй.

Следующий шаг — создание виртуального подсервера в Virtualmin. Для этого также можно воспользоваться соответствующей статьёй нашего блога.

Открываем порты

iptables -I INPUT -p tcp --match multiport --dports 5060,5061 -j ACCEPT; iptables -I INPUT -p udp --match multiport --dports 5060,5061 -j ACCEPT; iptables -t filter -A INPUT -p udp --dport 10000:20000 -j ACCEPT

Для сохранения правил iptables, установим соответствующую утилиту (если не сделали это на этапе установки Webmin или LAMP) и сохраним их:

apt install iptables-persistent -y && netfilter-persistent save
ufw allow 5060,5061/tcp; ufw allow 5060,5061/udp; ufw allow 10000:20000/udp

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

Утилиты для загрузки и распаковки файлов, а также пакеты аудио утилит

apt install wget tar curl sox mpg123 -y

Программную платформу Node.js будем устанавливать одним из удобных нам способом — непосредственно с репозитория разработчика или с помощью менеджера версий Node:

Программную платформу Node.js будем устанавливать из репозитория разработчика.

Загрузим и импортируем ключ Nodesource GPG, создадим репозиторий и установим саму платформу:

apt-get update && apt-get install -y ca-certificates curl gnupg && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && apt-get update && apt-get install nodejs -y

Используя этот инструмент, можно устанавливать любые версии Node.js одновременно и свободно переключаться с одной на другую.

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

nvm list

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

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash; source ~/.bashrc; nvm list-remote

Загружаем самую последнюю версию из 18.х и определяем её в качестве приоритетной:

nvm install v18.20.6; nvm use v18.20.6

Только если планируете использовать модуль XMPP FreePBX (нужен для работы чата в панели UCP)

В этом случае нужно установить MongoDB

Для Ubuntu 24.04 достаточно команды

apt install mongodb

На Ubuntu 22.04 установку можно произвести по инструкции на нашем сайте «Установка последней версии MongoDB в Ubuntu 22.04 LTS«.

Следующим шагом будет установка PHP-FPM вместе с другими модулями PHP. Разработчик FreePBX заявляет, что версия 17 поддерживает только PHP 8.2, поэтому, если вы используете более старую или более новую версию PHP, удалите эту версию и установите версию PHP 8.2. Удалять мы ничего не будем, так как установим гибкую реализацию PHP-FPM.

Добавляем репозиторий с установкой зависимостей, устанавливаем PHP, проверим версию PHP используемую по умолчанию и устанавливаем 8.2. Сделаем это одной командой:

apt install software-properties-common ca-certificates lsb-release apt-transport-https -y; LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php; apt-get update;  apt install php8.2-{cgi,cli,curl,common,bcmath,fpm,gd,intl,pdo,mbstring,mysql,mysqlnd,opcache,snmp,xml,zip} php-pear -y; php -v; update-alternatives --config php

и по завершении вас попросят выбрать версию php по умолчанию. Выберите пункт с /usr/bin/php8.2

Добавляем репозиторий с установкой зависимостей:

apt install software-properties-common ca-certificates lsb-release apt-transport-https -y; LC_ALL=C.UTF-8; add-apt-repository ppa:ondrej/php

Теперь мы готовы к его установке:

apt install php8.2-fpm php8.2-bcmath php8.2-gd php8.2-mbstring php8.2-mysql php-pear php8.2-snmp php8.2-zip php8.2-curl php8.2-xml php8.2-intl php8.2-common php8.2-cli -y

Проверим версию PHP используемую по умолчанию:

php -v

Если она отличается от 8.2, то установим нужную нам:

update-alternatives --config php

Идём в Virtualmin, выбираем сервер на котором будем использовать FreePBX. Затем, Конфигурация серверов → Параметры PHP и выбираем из выпадающего списка нужную нам версию PHP, то есть 8.2

Установка версии PHP

Создание пользователя

Для доступа веб-сервера к каталогам Asterisk нужен общий пользователь, от которого будут работать оба сервера. Создаём его командой

useradd asterisk -m

Изменение настроек сервера и php

Далее, отредактируем файлы настроек apache2 и php-frm, указав в них пользователя и группу, от которых следует запускаться.

Это можно сделать через панель Webmin (не зря же мы её устанавливали!) или напрямую средствами Linux посредством терминала и текстового редактора. Рассмотрим оба варианта. Хотя, даже используя второй вариант, к Webmin обратиться нам придётся, чтобы узнать ID нашего подсайта.

Делаем это следующим образом.

  • В браузере запускаем Webmin
  • 1. Переходим на вкладку Virtualmin
  • 2. Сверху из списка выбираем поддомен, на который установим панель FreePBX
  • 3. Далее, жмём «Редактировать»

и в открывшейся панели ищем «Domain ID» (выделено на скриншоте). Набор цифр напротив него и есть тот самый ID нашего поддомена. Можно его скопировать, чтобы позже сформировать путь.

Также переходим Server Configuration → PHP Options и смотрим, какая реализация php используется для нашего поддомена.

PHP

Теперь открываем вкладку Webmin → Tools → PHP Configuration

В нижнем поле выбираем путь вручную, нажав на значок 2 листочков или вбиваем

/etc/php/8.2/fpm/pool.d/ВАШ_Domain_ID.conf

и жмём кнопку Управление. В появившемся окне жмём Редактирование конфигурации вручную и в редакторе находим строки

user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data

в них меняем www-data на asterisk

user = asterisk
group = asterisk
listen.owner = asterisk
listen.group = asterisk

Жмём кнопку в самом низу Вернуться к конфигурационные файлы и в то же поле, которое использовали вбиваем путь

/etc/apache2/envvars

где меняем значения переменных APACHE_RUN_USER и APACHE_RUN_GROUP с www-data на asterisk. Оговорюсь сразу, у меня работает всё великолепно с дефолтными значениями в этом файле.

export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk

Это тот случае, когда Webmin не установлен.

Открываем файл настроек привычным нам редактором, например

gedit /etc/php/8.2/fpm/pool.d/www.conf

Найдите в нём строки:

user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data

и www-data измените на asterisk. Если позволяет функционал редактора, то это можно сделать функцией «Найти и заменить». В итоге файл должен выглядеть так:

user = asterisk
group = asterisk
listen.owner = asterisk
listen.group = asterisk

Также открываем /etc/apache2/envvars

gedit /etc/apache2/envvars

и меняем в нём значения переменных APACHE_RUN_USER и APACHE_RUN_GROUP с www-data на asterisk:

export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk

Перезагружаем сервер и препроцессор:

systemctl restart apache2 && systemctl restart php8.2-fpm

На этом наши приготовления окончены, приступим к установке сервера и панели управления.

Установка Asterisk

Разработчиком сервера ip-телефонии является Sangoma Technologies. На текущий момент самая последняя версия Asterisk — 22-тая, но нам нужна 21 — стабильная, именно она значится валидной для связки с FreePBX. Её мы и будем устанавливать.

Загрузка и распаковка исходников, устранение зависимостей

Чтобы не мусорить, создадим (если ещё не сделали этого при установке Webmin) в корне диска директорию src, в которую будем загружать архивы, распаковывать их и устанавливать Asterisk и FreePBX. Потом её можно будет удалить или оставить — решать вам.

mkdir /src

Идём на страницу загрузки сайта Sangoma Technologies, находим адрес загрузки Asterisk 21, копируем ссылку и вставляем в терминал с командой wget для загрузки установочного архива на наш сервер. Или воспользуемся уже готовой командой

cd /src; wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21-current.tar.gz; tar -xvf asterisk-*.tar.gz; cd asterisk*/; ./contrib/scripts/install_prereq install

Начнётся загрузка и установка и настройка необходимых пакетов, в процессе которой может появится окно настройки модуля Asterisk (у меня после 18 версии оно не появлялось никогда)

Окно настройки модуля Asterisk
Окно настройки модуля Asterisk

Вводим код своей страны (для России — 7) и дожидаемся, когда пройдёт этот процесс и появится сообщение о завершении.

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

Удаление временных файлов, добавление библиотеки для работы с mp3 и настройка установщика:

make distclean; ./contrib/scripts/get_mp3_source.sh; ./configure

После установки зависимостей у нас остались временные файлы. Удалим их.

make distclean

Добавим библиотеку для работы с mp3:

./contrib/scripts/get_mp3_source.sh

Настроим установщик.

./configure

По завершению этого этапа, увидим псевдографический логотип Asterisk.

Настройка установщика  Asterisk завершена
Настройка установщика Asterisk завершена

Настройка сборщика. Выбор модулей

Теперь выберем требуемые нам модули Asterisk.

make menuselect

После чего запустится окно выбора модулей. Можно, конечно, оставить по умолчанию, нажав кнопку «Save & Exit», но в этом случае в процессе работы с Astrisk придётся снова запускать установщик с этого шага и выбирать необходимые для правильной работы модули.

Окно выбора модулей
Окно выбора модулей

Навигацию в этом окне производим кнопками направления (лево-право-верх-низ) или Tab, отказаться — Esc, принять — F12

Что выбираю я:

  • из Add-ons (See README-addons.txt) — поддержка mp3 и драйвер MySQL + поддержка CDR
  • из раздела Core Sound Packages — CORE-SOUNDS-RU-WAV (для подключения основного набора звуковых файлов на русском языке). Можно выбрать все форматы, где есть «-RU-«, или другой язык из необходимых вам.
  • в Extras Sound Packages отсутствует русский язык, потому выбираем английский — EXTRA-SOUNDS-EN-WAV или других форматов

Чего вы уже не найдёте, так это app-macro — макросов планов набора. Его исключили в этой версии, так как устарел. Так что не тратьте времени на его поиски

Сборка дистрибутива, установка Asterisk, преднастройка сервера ip-телефонии

По окончанию выбора жмём F12 или переходим на кнопку «Save & Exit» и жмём её. Настройка установщика завершена. Приступаем к завершающему этапу.

Сборка дистрибутива, установка Asterisk, преднастройка сервера ip-телефонии:

make; make install; make config; make samples; chown -R asterisk:asterisk /etc/asterisk; chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk

Начинаем сборку пакета

make

Сборка занимает продолжительное время. По её завершении видим соответствующее объявление скрипта установки Asterisk.

Завершение сборки
Завершение сборки

Следуя подсказке, запускаем установку Asterisk

make install

и дожидаемся её завершения, которое будет отмечено следующим объявлением установщика

Завершение установки Asterisk
Завершение установки Asterisk

Подготовим директории, установим скрипты и готовые конфигурационные файлы.

make config && make samples

Изменяем права на директории в пользу пользователя и группы asterisk:

chown -R asterisk:asterisk /etc/asterisk && chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk

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

/etc/asterisk/asterisk.conf

и раскомментируем следующие строки:

runuser = asterisk
rungroup = asterisk
defaultlanguage = en

а также изменим строки

defaultlanguage = en
documentation_language = en_US

приведя к следующему виду:

defaultlanguage = ru
documentation_language = ru_RU

Проверяем настройки командой

asterisk -c

Asterisk вывалит кучу заметок, ошибок и предупреждений, не пугайтесь, так и должно быть — ведь он ещё не настроен. Главное, чтоб в конце вы увидели сообщение, что он готов:

Asterisk готов
Asterisk готов

Первый запуск

Теперь запускаем наш телефонный сервер, устанавливая его автозапуск при каждой загрузке системы и проверяем состояние:

systemctl enable asterisk && systemctl start asterisk && systemctl status asterisk

Должно быть таким:

Состояние Asterisk
Состояние Asterisk

Если при первом запуске у вас возникла такая же ошибка, как на скриншоте выше, то откройте

/etc/asterisk/cdr.conf

Найдите строку (она в самом низу)

;radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf

раскомментируйте её и измените путь на актуальный:

radiuscfg => /etc/radcli/radiusclient.conf

Также может быть закомментирован сам раздел [radius], раскомментируйте и его.

То же самое сделайте с файлом /etc/asterisk/cel.conf

/etc/asterisk/cel.conf

Перезапускаем сервер и убеждаемся, что он успешно запущен без ошибок. Но, по сути, на эти ошибки не стоит обращать внимание, после установки FreePBX они исчезнут.

Установка FreePBX

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

При создании сайта/подсайта Virtualmin наполняет его директорию шаблонными файлами. Чтоб избавиться от них, очистим директорию, в которую установим FreePBX:

rm -rf /home/ВАШ_ПУТЬ_ДО_ДИРЕКТОРИИ_САЙТА/www/*

Переходим в директорию src, качаем архив панели управления сервером телефонии Asterisk, распаковываем его и переходим в директорию установщика и запускаем скрипт проверки работы Asterisk:

cd /src && wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest-EDGE.tgz && tar zxf freepbx-*.tgz && cd freepbx && ./start_asterisk start

Должно появиться сообщение

проверка Asterisk

если это так, то запускаем скрипт установки

./install -n --dbuser root --dbpass PASS --webroot=/var/www/html

вместо PASS поставьте пароль суперпользователя (root) от MariaDB. Если хотите установить web-интерфейс FreePBX в другой каталог, например, чтоб запускать доменом с адресной строки, то укажите его вместо /var/www/html в параметре —webroot

Начнется установка и в конце мы должны увидеть

Проверка прав доступа

Также проверим настройки доступа по пути к нашему сайту, на котором будет установлена панель управления (например, если она установлена в поддомен, как у меня):

namei -mol /home/ВАШ_ПУТЬ_ДО_ДИРЕКТОРИИ_САЙТА/www

Должно получиться как-то так

Если прав на чтение и выполнения для всех нет, то добавьте их начиная с пути отсутствия, например:

chmod -R 755 /home/dozzi && find /home/dozzi -type d -exec chmod -R 755 {} \; && find /home/dozzi -type f -exec chmod -R 644 {} \;

Установим для директории tmp, где размещаются файлы сессий, права 775 и изменим владельца и группу на asterisk

chmod -R 775 /home/ВАШ_ПУТЬ_ДО_ДИРЕКТОРИИ_САЙТА/tmp; chown -R asterisk:asterisk /home/ВАШ_ПУТЬ_ДО_ДИРЕКТОРИИ_САЙТА/tmp

Постустановка и запуск панели

Установим остальные модули FreePBX, перезапустим конфигурацию и сам FreePBX:

fwconsole ma installall; fwconsole reload; fwconsole restart

Первый запуск FreePBX

Открываем браузер и заходим по адресу http://IP-адрес сервера или адрес сайта, если установили в папку домена. Если всё сделано верно, то открываться страница преднастройки FreePBX. Заполняем поля логин и пароль для пользователя, под которым мы будем заходить в панель управления FreePBX и email адрес.

Первый запуск FreePBX
Первый запуск FreePBX

Жмём Setup System и выходим на запрос языка и региональных настроек.

Региональные настройки
Региональные настройки

После установки откроется главное окно панели управления

Главное окно FreePBX
Главное окно FreePBX

Теперь перейдём Настройки → Установки Asterisk для SIP и настроим Внешний адрес и Локальные сети.

Установки Asterisk для SIP
Установки Asterisk для SIP

Вместо звёздочек поставьте свои значения IP.

Открываем конфигурационный файл менеджера Asterisk

/etc/asterisk/manager.conf

находим строки

#include manager_additional.conf
#include manager_custom.conf

и заменяем в них # на ;

;include manager_additional.conf
;include manager_custom.conf

Перезапускаем сервер Asterisk

systemctl restart asterisk

Скрипт автозапуска FreePBX

Создадим скрипт запуска FreePBX

/etc/systemd/system/freepbx.service

и впишем туда следующее:

[Unit]
Description=FreePBX VoIP Server
After=mariadb.service
 
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q
 
[Install]
WantedBy=multi-user.target

Сохраним файл и установим его в автозагрузку:

systemctl enable freepbx.service

Теперь можно запускать, перезапускать и останавливать сервис обычными командами systemctl.

На этом всё, наши Asterisk и FreePBX установлены. Следующим этапом будет установка необходимых модулей и настройка сервера.

Основные настройки панели

Если пока не хотите вникать в настройки транков и внутренних номеров через драйвер PjSIP, то при первом запуске сразу отключаем его. Выбираем в меню Общие настройки → Дополнительные настройки пункт SIP Channel Driver и из списка устанавливаем chan_sip. Сохраняем изменения кнопкой Сохранить, переходим в Общие настройки → Установки Asterisk для SIP. В пункте Внешний адрес жмём Детектировать сетевые настройки. Далее, во вкладке SIP Legacy Settings [chan_sip] в нижней части страницы находим пункт Порт и меняем его с 5160 на 5060. Сохраняем изменения кнопкой Сохранить и применяем кнопкой Применить изменения в вверху странице.

На этом этапе уже можно создавать транки и внутренние номера и определять маршрутизацию. Если этого покажется мало и предполагается использовать очереди, параметры по времени, IVR-меню и другое из огромного функционала Asterisk, то необходимо доустанавливать соответствующие модули. Это можно сделать в меню Админ → Управление модулями.

Настройка CDR

Посредством использования CDR осуществляется фиксирование входящих и исходящих звонков в базе данных и использования этих данных для формирования отчёта в FreePBX.

Отображение даты и времени

Сперва настроим формат отображения даты и времени в отчётах CDR, так как по умолчанию время будет отображаться не в 24-х часовом а в 12-ти часовом. В панели FreePBX выбираем в меню Общие настройки → Дополнительные настройки пункт Date and Time Format и значение llll меняем на

dddd DD.MM.YYYY HH:mm

где dddd — день недели, DD — число, MM — месяц, YYYY — год, HH — часы, mm — минуты. Подробнее о форматах можно почитать у разработчика JavaScript-библиотеки Moment. js.

В свою очередь, мне больше понравился такой вот формат:

HH:mm ..... DD MMMM YYYY (dddd)

Вот как это выглядит в отчёте:

Отображение даты в отчёте CDR
Отображение даты в отчёте CDR

Так что эта настройка очень гибкая и сделать под себя для лучшей читабельности не составит труда.

Загрузка и установка дайвера

Первоначально в Ubuntu, если и есть поддержка CDR, то она неработоспособна. Для использования этой технологии, следует выполнить загрузку коннектора, а также его установку и настройку.

Для Ubuntu 24.04 работоспособным оказался коннектор с сайта разработчика MariaDB. Заходим на него, выбираем из списка нашу версию Ubuntu и внизу появляется ссылка на архив коннектора.

Страница загрузки коннектора
Страница загрузки коннектора

Далее, командой wget скачиваем файл deb и устанавливаем коннектор:

cd /src; wget https://dlm.mariadb.com/3978209/Connectors/odbc/connector-odbc-3.2.4/mariadb-connector-odbc_3.2.4+ubu2404_amd64.deb; dpkg -i mariadb-connector-odbc*.deb

Для Ubuntu 22.04 работоспособным оказался коннектор с сайта разработчика MariaDB. Заходим на него, выбираем из списка нашу версию Ubuntu и внизу появляется ссылка на архив коннектора.

Страница загрузки коннектора
Страница загрузки коннектора

Далее, командой wget скачиваем его, распаковываем и копируем коннектор:

cd /src && wget https://dlm.mariadb.com/3286256/Connectors/odbc/connector-odbc-3.1.19/mariadb-connector-odbc-3.1.19-ubuntu-jammy-amd64.tar.gz && tar -xvf mariadb-connector*.tar.gz && cd  mariadb-connector*/ && cp -r lib/mariadb /usr/lib64

Для Ubuntu 20.04 же работоспособным оказался коннектор с сайта разработчика MariaDB. Заходим на него и выбираем mariadb-connector-odbc-3.1.9-ubuntu-bionic-amd64.tar.gz

Страница загрузки коннектора
Страница загрузки коннектора

Далее, командой wget скачиваем его, распаковываем и копируем коннектор:

cd /src && wget https://downloads.mariadb.com/Connectors/odbc/latest/mariadb-connector-odbc-3.1.9-ubuntu-bionic-amd64.tar.gz && tar -xvf mariadb-connector*.tar.gz && cd  mariadb-connector*/ && cp -r lib/mariadb /usr/lib64

Настройка коннектора

Теперь приступаем к настройке установленного коннектора CDR.

Для редактирования файлов удобно использовать Webmin. Переходим через вкладку Webmin → Tools → PHP Configuration и в нижнем поле выбираем путь вручную, нажав на значок 2 листочков или вводим

/etc/odbc.ini

Вместо содержимого вносим

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
Trace = Yes
TraceFile = /tmp/odbc.log
driver=MariaDB
server=localhost
User=freepbxuser
Password=ПАРОЛЬ_К_БД
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
Charset=utf8

ПАРОЛЬ_К_БД берём из файла /etc/freepbx.conf в строке $amp_conf[‘AMPDBPASS’] без кавычек.

Теперь настроем сам драйвер.

/etc/odbcinst.ini

Вместо имеющихся записей вставьте

[MariaDB]
Description     = ODBC for MariaDB
Driver          = /usr/lib/x86_64-linux-gnu/libmaodbc.so
Driver64          = /usr/lib/x86_64-linux-gnu/libmaodbc.so
FileUsage       = 1
[MariaDB]
Description     = ODBC for MariaDB
Driver          = /usr/lib/mariadb/libmaodbc.so
Driver64          = /usr/lib64/mariadb/libmaodbc.so
FileUsage       = 1

Также отредактируем конфигурационный файл Asterisk

/etc/asterisk/cdr_odbc.conf

Можно раскомментировать строки и поправить dsn или просто вставить ниже них

[global]
dsn=asteriskcdrdb
loguniqueid=yes
dispositionstring=yes
table=cdr
usegmtime=no
hrtime=yes
newcdrcolumns=yes

Перезагружаем asterisk и freepbx

systemctl restart asterisk; systemctl start freepbx

Проверка работы коннектора

Теперь проверим соединение командой

isql MySQL-asteriskcdrdb
Проверка соединения
Проверка соединения

Если вы получили такой же ответ, значит всё сделано правильно и соединение присутствует. В случае возникновения ошибки, наберите ту же команду, но с параметром -v

isql -v MySQL-asteriskcdrdb

Теперь проверим подключение к БД через драйвер ODBC. Запустим CLI Asterisk

asterisk -r

и введём команду

odbc show

Ответ должен быть таким:

Подключение к БД

Теперь можно пользоваться отчётом о звонках в FreePBX. Перейдём в панель и выберем Отчёты → Отчёты CDR

Отчёты CDR
Отчёты CDR

Нажмите Искать и, если уже были осуществлены звонки через сервер Asterisk, то FreePBX выдаст

Отчёт CDR
Отчёт CDR

На этом наш сервер и панель управления нами установлены и настроены.

Оставьте комментарий