Skip to main content

Размещение файлов и настройка конфигурации

  1. Создать ВМ в контуре Squadus.
  2. Установить на ВМ docker.
apt install docker docker-compose
  1. Обеспечить сетевой доступ по портам 5071 (tcp/udp).
  2. Установить build-essential с помощью команды:
apt install build-essential -y
  1. Проверить размер контейнера freeswitch-demo с помощью команды:
# sha256sum ./freeswitch-demo_1.0.1.tar.gz
0cdce3d58bc01959245188e3de8a1b2349b9b61103b81c197602e42378208951 /tmp/freeswitch-demo_1.0.1.tar.gz
  1. Импортировать переданный docker-контейнер с помощью команды:
docker load -i ./freeswitch-demo_1.0.1.tar.gz
  1. Проверить импорт контейнера с помощью команды:
# docker inspect localhost:9000/freeswitch-demo:1.0.1
[
{
"Id": "sha256:7d085bd5eaf347f303484c1970bced25b8610171722aad2e6abe6eba24d3bae5",
"RepoTags": [
"localhost:9000/freeswitch-demo:1.0.1"
],
"RepoDigests": [],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-12-11T18:37:01.280253981+03:00",
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
  1. Проверить архив freeswitch-demo_compose-files_1.0.1.zip с помощью команды:
sha256sum ./freeswitch-demo_compose-files_1.0.1.zip
d310a66f91d5f535013ad9424ed78786dcd74499ae85e3ce5d3f617a68c70cf3 ./freeswitch-demo_compose-files_1.0.1.zip
  1. Распаковать архив freeswitch-demo_compose-files_1.0.1.zip в каталог freeswitch_demo_1.0.1.

  2. Перейти в каталог freeswitch_demo_1.0.1 и проверить размещение файлов в сравнении с примером:

~/freeswitch_demo_1.0.1# ls -ah1
build
conf
dkr.mk
docker-compose.override-qusb.yml
docker-compose.yml
Dockerfile
.dockerignore
.env
freeswitch-demo-config
.gitignore
Makefile
postgres-init
sounds
sysv
  1. Открыть файл demo-vars.xml с помощью текстового редактора (в примере используется vim) и указать IP-адреса серверов аналогично панели Администрование (см. пункт 3 раздел Настройки в панели Администрирование):
# vim freeswitch-demo-config/demo-vars.xml
<include>
<X-PRE-PROCESS cmd="stun-set" data="external_rtp_ip=<IP-адрес сервера>"/>
<X-PRE-PROCESS cmd="stun-set" data="external_sip_ip=<IP-адрес сервера>"/>
</include>
  1. Запустить docker-compose с помощью команды:
docker compose -f docker-compose.yml up
  1. Дождаться завершения процесса скачивания, установки и запуска контейнера postgres.

  2. Проверить запуск контейнера postgres с помощью команды:

docker ps

Пример ответа:

$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa13fb0aaf08 postgres:18 "docker-entrypoint.s…" 2 days ago Up 2 days 5432/tcp demo-freeswitch-postgres-demo-1
557b96b8ef31 localhost:9000/freeswitch-demo:1.0.1 "/bin/sh -c 'service…" 2 days ago Up 2 days 0.0.0.0:5071->5071/udp, 0.0.0.0:5071->5071/tcp, 0.0.0.0:18100-18200->18100-18200/udp demo-freeswitch-freeswitch-demo-1
  1. Выполнить команду make cli и в открывшейся консоли выполнить sofia status. Пример:
make cli
freeswitch@66b2b04a5156> sofia status
  1. Сверить вывод команды с примером:
freeswitch@66b2b04a5156> sofia status
Name Type Data State
=================================================================================================
external-ipv6 profile sip:mod_sofia@[::1]:5080 RUNNING (0)
172.20.0.3 alias internal ALIASED
external profile sip:mod_sofia@10.22.34.74:5080 RUNNING (0)
internal-ipv6 profile sip:mod_sofia@[::1]:5071 RUNNING (0)
internal profile sip:mod_sofia@10.22.34.74:5071 RUNNING (0)
=================================================================================================
4 profiles 1 alias
  1. Выполнить проверку доступности сети до АТС freeswitch-demo с сервера Squadus, на котором запущен squadus. Пример:
telnet im-sandbox-au12.stageoffice.ru 5071
Trying 10.22.34.74...
Connected to sandbox-au12.stageoffice.ru.
Escape character is '^]'.
  1. Открыть панель Администрирование Squadus. Перейти в раздел Звонки через АТС, секция Соединение с АТС и ввести следующие настройки:
Server domain name or IP address: <<доменное имя или IP-адрес ВМ с демо-АТС>>
Port: 5071
Username: squadus1
Password: squadus1
  1. После ввода настроек в панели Администрирование следует подождать 60 сек, перейти в секцию Управление АТС и нажать Перезапустить АТС.

  2. Подождать перезапуск АТС, и в секции Управление АТС и нажать Получить статус всей gateways.

  3. Выполнить команду make cli и в открывшейся консоли выполнить show registrations. Пример:

make cli
freeswitch@66b2b04a5156> show registrations
  1. Сверить вывод команды с примером:
freeswitch@66b2b04a5156> show registrations
reg_user,realm,token,url,expires,network_ip,network_port,network_proto,hostname,metadata
squadus1,172.20.0.3,1d5904f4-4801-4ee0-a13e-5a473a2b0761,sofia/internal/sip:gw+ext@10.22.38.145:5080;transport=udp;gw=ext;fs_nat=yes;fs_path=sip%3Agw%2Bext%4010.22.38.145%3A5080%3Btransport%3Dudp%3Bgw%3Dext,1760704796,10.22.38.145,5080,udp,66b2b04a5156,
1 total.