Как настроить FreePBX с помощью Docker (сборка Docker-контейнера FreePBX). В этом посте мы расскажем о FreePBX , его функциях и основных преимуществах. После этого мы перейдем к этапу установки FreePBX с Docker .
Прежде всего, что такое PBX или Private Branch Exchange? Телефонная аппаратная система, доступная в бизнесе, которая позволяет переключать вызовы между пользователями на местных телефонных линиях, позволяя им совместно использовать фиксированное количество внешних линий.
Итак, давайте начнем с нашей статьи Как настроить FreePBX с помощью Docker (сборка контейнера FreePBX Docker).
Также читайте
FreePBX и 3CX — в чем разница? (За и против)
Что такое FreePBX?
Во-первых, PBX — это аббревиатура от Private Branch Exchange. FreePBX — это, по сути, телефонная система , которую вы можете установить на свою виртуальную машину . Он играет важную роль в управлении звездочкой . Что такое звездочка? Проще говоря, коммуникационный сервер с открытым исходным кодом. Вместо того, чтобы использовать собственную телефонную систему и интерфейс и платить оптимальные 100 долларов в месяц, пользователи могут использовать FreePBX для управления своей АТС.
Более того, FreePBX работает как средство связи между клиентами и офисом. Что он делает, так это приветствует клиентов в теплой манере, чтобы они чувствовали себя комфортно, а затем направляет звонок в нужное отделение или отделение офиса в зависимости от запроса клиентов.
Asterisk позволяет нам преобразовать обычный компьютер в коммуникационный сервер, используя файлы . Это программная реализация телефонной частной телефонной станции (PBX), позволяющая подключенным телефонам звонить друг другу, а затем подключаться к другим телефонным службам, таким как коммутируемая телефонная сеть общего пользования ( PSTN ) и услуги передачи голоса по протоколу Интернет ( VoIP ).
Пользователи могут загрузить FreePBX бесплатно, но им необходимо иметь набор навыков и знаний для ее настройки и обслуживания. Вам потребуется ISTP (поставщик услуг интернет-телефонии) для совершения звонков через FreePBX.
Проще говоря, Asterisk — это многоканальная система, позволяющая общаться внутри офисов внутри филиалов через разные расширения. Наличие внутренних расширений приводит к совместному использованию исходящих линий для связи с пользователями или сотрудниками внутри или вне офисного помещения.
Также читайте
Как настроить сервер FreePBX на Azure/AWS/GCP (хостинг FreePBX)
Возможности FreePBX
Вот некоторые особенности FreePBX:
- Пользователь может создать резервную копию или восстановить систему.
- Пользователи могут сохранять записи звонков .
- Вы можете создавать меню IVR (Interactive Digital Receptionist).
- Просмотр подробных отчетов о звонках со статистикой звездочки.
- Позволяет пользователям просматривать состояние магистрали и добавочный номер.
- ARI (интерфейс записи Asterisk) позволяет пользователю просматривать записи разговоров.
- Кроме того, пользователи могут загружать собственную музыку при удержании. (МЗ)
- Позволяет маршрутизировать входящие вызовы в зависимости от времени суток.
- Точно так же FreePBX поставляется с множеством других функций, таких как: бизнес-функции, функции вызова и поддержка телефонии.
- Бизнес-функции включают в себя такие функции, как конференц-мост , IVR, видеозвонки , преобразование текста в речь, объявления, группы звонков и т. д.
- Функции звонков включают в себя: запись звонков, перевод звонков, ожидание вызова, черный список вызывающих абонентов, историю звонков, голосовую почту на электронную почту, трехстороннюю поддержку звонков.
- Принимая во внимание, что функции поддержки телефонии: поддержка настольных компьютеров, поддержка специальных устройств, WebRTC , POTS/ISDN, SIP и PJSIP.
- Что немаловажно, система FreePBX может подставить дополнительного сотрудника, если возникнет такая необходимость. Это одно из самых важных преимуществ использования FreePBX. Разработано с течением времени, чтобы иметь в виду потребности и события.
Также читайте
Как установить FreePBX на Ubuntu 20.04 (руководство по АТС с открытым исходным кодом)
Преимущества FreePBX
FreePBX имеет множество преимуществ, некоторые из них перечислены ниже:
Обширная языковая поддержка
Это преимущество FreePBX позволяет пользователям выбирать свой местный язык в индивидуальном порядке. Кроме того, это позволяет пользователям поддерживать свою телефонную систему в рабочем состоянии независимо от местонахождения пользователей по всему миру.
Полностью оборудованный WebGUI
Такие функции, как WebGUI, представляют несколько калиброванных функций, таких как разработка расширений, IVR, восстановление и резервное копирование, разрешения пользователей, временные условия и брандмауэр.
Огромный список уникальных функций
Дополнительные функции, такие как высокая доступность и пакеты колл-центра , также предоставляются вместе с 25-летней лицензией. Это поддерживает доверие и надежность для развития бизнеса.
Бюджетный
Стоимость FreePBX имеет преимущество перед дорогими и другими сложными в использовании решениями. Таким образом, надежные FreePBX могут окупить затраты в кратчайшие сроки.
Нет ограничений на лицензирование
Конкретных ограничений на количество пользователей, создаваемых IVR, очередей и т. д. нет.
Гибкий
Гибкость FreePBX работает почти со всеми коммерчески доступными виртуальными машинами и оборудованием. Кроме того, он также работает с более чем 200 конечными точками из-за его широкого использования по всему миру. Может быть сопряжен с любым IP-телефоном или решением для конференц -связи , которое у вас уже есть.
Надежный и безопасный
Благодаря собственному тестированию и проверкам качество безопасности находится на высшем уровне. Он проходит тщательный процесс тестирования, прежде чем будет выпущен для широкой публики. Более того, он также получает регулярные обновления для повышения стабильности системы.
Система автоматического реагирования
FreePBX имеет решение для автоматического ответа , с помощью которого пользователь может быть направлен и перенаправлен в конкретную ветку, просто нажав номер.
Прогресс в технологиях
Со временем можно увидеть огромный прогресс в технологии с помощью различных обновлений. Это позволяет пользователям лучше персонализировать систему в соответствии со своими потребностями.
Теперь пришло время для основной части статьи о том, как настроить FreePBX с помощью Docker.
Также читайте
FreePBX и FreeSWITCH — в чем разница? (За и против)
Как настроить FreePBX с помощью Docker
Предпосылки
- Пользователь root или пользователь с привилегиями sudo.
Добавить репозиторий Docker
По умолчанию последняя версия Docker не включена в репозиторий Ubuntu по умолчанию. Поэтому вам нужно будет добавить официальный репозиторий Docker CE в APT.
Сначала установите все необходимые зависимости с помощью следующей команды:
apt install apt-transport-https ca-certificates curl software-properties-common -y
Копировать
После установки всех зависимостей загрузите и добавьте ключ GPG Docker CE с помощью следующей команды:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
Копировать
Затем добавьте репозиторий Docker CE с помощью следующей команды:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Копировать
Здесь, пожалуйста, проверьте добавленный репозиторий с помощью следующей команды:
apt-cache policy docker-ce
Копировать
Вы получите следующий вывод:
docker-ce:
Installed: (none)
Candidate: 5:20.10.17~3-0~ubuntu-focal
Version table:
5:20.10.17~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
5:20.10.16~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
5:20.10.15~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
5:20.10.14~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
5:20.10.13~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
5:20.10.12~3-0~ubuntu-focal 500
500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
Копировать
Также читайте
Ansible против Docker — в чем разница между инструментами DevOps
Установите Docker и Docker Compose
Теперь установите пакет Docker , выполнив следующую команду:
apt install docker-ce -y
Копировать
После установки Docker проверьте статус работы Docker с помощью следующей команды:
systemctl status docker
Копировать
Вы получите следующий вывод:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-09-04 16:04:27 UTC; 13s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 3264 (dockerd)
Tasks: 7
Memory: 29.8M
CGroup: /system.slice/docker.service
└─3264 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.555173170Z" level=warning msg="Your kernel does not support CPU realtime >
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.555196177Z" level=warning msg="Your kernel does not support cgroup blkio >
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.555270124Z" level=warning msg="Your kernel does not support cgroup blkio >
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.555772301Z" level=info msg="Loading containers: start."
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.719676988Z" level=info msg="Default bridge (docker0) is assigned with an >
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.804973724Z" level=info msg="Loading containers: done."
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.834543443Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=>
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.834895532Z" level=info msg="Daemon has completed initialization"
Sep 04 16:04:27 ubuntu2004 systemd[1]: Started Docker Application Container Engine.
Sep 04 16:04:27 ubuntu2004 dockerd[3264]: time="2022-09-04T16:04:27.878373838Z" level=info msg="API listen on /run/docker.sock"
Копировать
Следующим шагом является проверка информации о версии Docker с помощью следующей команды:
docker --version
Копировать
Вы должны получить следующий результат:
Docker version 20.10.17, build 100c701
Копировать
Теперь установите пакет Docker Compose с помощью следующей команды:
apt install docker-compose -y
Копировать
После завершения установки проверьте версию Docker Compose с помощью следующей команды:
docker-compose --version
Копировать
Вы должны получить следующий результат:
docker-compose version 1.25.0, build unknown
Копировать
Также читайте
Как настроить Docker Compose на Ubuntu в Azure/AWS/GCP
Создайте файл Docker Compose для FreePBX
Во-первых, создайте каталог для хранения файла Docker Compose:
mkdir app
Копировать
Далее перейдите в созданный каталог и создайте файл Docker Compose для FreePBX :
cd app
nano docker-compose.yaml
Копировать
Добавьте следующий код:
version: '2'
services:
freepbx-app:
container_name: freepbx-app
image: tiredofit/freepbx
ports:
#### If you aren't using a reverse proxy
- 80:80
#### If you want SSL Support and not using a reverse proxy
#- 443:443
- 5060:5060/udp
- 5160:5160/udp
- 18000-18100:18000-18100/udp
#### Flash Operator Panel
- 4445:4445
volumes:
- ./certs:/certs
- ./data:/data
- ./logs:/var/log
- ./data/www:/var/www/html
### Only Enable this option below if you set DB_EMBEDDED=TRUE
#- ./db:/var/lib/mysql
### You can drop custom files overtop of the image if you have made modifications to modules/css/whatever - Use with care
#- ./assets/custom:/assets/custom
environment:
- VIRTUAL_HOST=hostname.example.com
- VIRTUAL_NETWORK=nginx-proxy
### If you want to connect to the SSL Enabled Container
#- VIRTUAL_PORT=443
#- VIRTUAL_PROTO=https
- VIRTUAL_PORT=80
- ZABBIX_HOSTNAME=freepbx-app
- RTP_START=18000
- RTP_FINISH=18100
## Use for External MySQL Server
- DB_EMBEDDED=FALSE
### These are only necessary if DB_EMBEDDED=FALSE
- DB_HOST=freepbx-db
- DB_PORT=3306
- DB_NAME=asterisk
- DB_USER=asterisk
- DB_PASS=asteriskpass
### If you are using TLS Support for Apache to listen on 443 in the container drop them in /certs and set these:
#- TLS_CERT=cert.pem
#- TLS_KEY=key.pem
restart: always
networks:
- proxy-tier
### These final lines are for Fail2ban. If you don't want, comment and also add ENABLE_FAIL2BAN=FALSE to your environment
cap_add:
- NET_ADMIN
privileged: true
freepbx-db:
container_name: freepbx-db
image: tiredofit/mariadb
restart: always
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=asterisk
- MYSQL_USER=asterisk
- MYSQL_PASSWORD=asteriskpass
networks:
- proxy-tier
freepbx-db-backup:
container_name: freepbx-db-backup
image: tiredofit/db-backup
links:
- freepbx-db
volumes:
- ./dbbackup:/backup
environment:
- ZABBIX_HOSTNAME=freepbx-db-backup
- DB_HOST=freepbx-db
- DB_TYPE=mariadb
- DB_NAME=asterisk
- DB_USER=asterisk
- DB_PASS=asteriskpass
- DB_DUMP_FREQ=1440
- DB_DUMP_BEGIN=0000
- DB_CLEANUP_TIME=8640
- COMPRESSION=BZ
- MD5=TRUE
networks:
- proxy-tier
restart: always
networks:
proxy-tier:
external:
name: nginx-proxy
Копировать
Сохраните и закройте файл, затем создайте сеть Docker для прокси -сервера Nginx :
docker network create nginx-proxy
Копировать
Также читайте
Как настроить Docker Compose на Windows Server в Azure/AWS/GCP
Запустите контейнер FreePBX
На этом этапе файл Docker Compose готов для запуска контейнера FreePBX. Вы можете запустить следующую команду для запуска контейнера FreePBX:
docker-compose up -d
Копировать
Эта команда загрузит все необходимые образы и создаст контейнер из каждого образа :
Pulling freepbx-db (tiredofit/mariadb:)...
latest: Pulling from tiredofit/mariadb
59bf1c3509f3: Pull complete
e887546d6053: Pull complete
3dace326c0ec: Pull complete
ea97c706ca03: Pull complete
f908583427a3: Pull complete
Digest: sha256:9a2b1332bc6b0775765d8ae43e94646d4f5b97d2c5af4d246ab82042241f1517
Status: Downloaded newer image for tiredofit/mariadb:latest
Pulling freepbx-db-backup (tiredofit/db-backup:)...
latest: Pulling from tiredofit/db-backup
213ec9aee27d: Pull complete
0a34d2f2b45d: Pull complete
4dd70801aef3: Pull complete
f471a1502016: Pull complete
bdd9d308f2cc: Pull complete
Digest: sha256:0a49053ee9164087696bf646a453de194debb652bb654e4452c75efa4b1c6661
Status: Downloaded newer image for tiredofit/db-backup:latest
Creating freepbx-db ... done
Creating freepbx-app ... done
Creating freepbx-db-backup ... done
Копировать
Вы можете проверить все загруженные изображения , используя следующую команду:
docker images
Копировать
Вы должны получить следующий результат:
REPOSITORY TAG IMAGE ID CREATED SIZE
tiredofit/db-backup latest fbb26eb96e30 2 weeks ago 521MB
tiredofit/mariadb latest 158d51d45d6f 6 months ago 420MB
tiredofit/freepbx latest e98ede842e6d 17 months ago 2.05GB
Копировать
Затем проверьте все запущенные контейнеры с помощью следующей команды:
docker ps
Копировать
Вы должны увидеть следующий вывод:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bb06e45b3ddd tiredofit/db-backup "/init" 37 seconds ago Up 37 seconds 2020/tcp, 10050/tcp freepbx-db-backup
e7d8d9dbd2d1 tiredofit/freepbx "/init" 39 seconds ago Up 33 seconds 80/tcp, 443/tcp, 4569/tcp, 0.0.0.0:5060->5060/udp, :::5060->5060/udp, 5061/tcp, 5161/tcp, 8001/tcp, 8003/tcp, 8008-8009/tcp, 8025/tcp, 0.0.0.0:5160->5160/udp, :::5160->5160/udp, 10050/tcp, 0.0.0.0:4445->4445/tcp, :::4445->4445/tcp, 0.0.0.0:18000-18100->18000-18100/udp, :::18000-18100->18000-18100/udp, 18101-20000/udp freepbx-app
c60189d931bf tiredofit/mariadb "/init" 39 seconds ago Up 37 seconds 2020/tcp, 3306/tcp, 10050 tcp freepbx-db
Копировать
Также читайте
Как установить Asterisk на Ubuntu 20.04 (VoIP-сервер с открытым исходным кодом)
Доступ к панели управления FreePBX
1. Теперь откройте веб-браузер и получите доступ к контейнеру FreePBX, используя URL-адрес http://your-server-ip/admin/config.php . Вы должны увидеть экран установки пароля администратора:
2. Определите имя пользователя и пароль администратора и нажмите кнопку « Настройка системы» . Вы должны увидеть следующий экран:
3. Нажмите Администрирование FreePBX . Вы должны увидеть экран входа в FreePBX:
4. Введите имя пользователя и пароль администратора и нажмите кнопку « Продолжить » . Вы должны увидеть страницу выбора языка FreePBX:
5. Нажмите кнопку « Отправить » . Вы должны увидеть панель инструментов FreePBX на следующем экране:
Спасибо, что прочитали Как настроить FreePBX с помощью Docker. Мы будем заключать.
Также читайте
Свежие комментарии