Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

В данном разделе приведено описание настроек, которые нужно сделать на сервере для работы приложения Elph Desktop и Elph Android.

Для корректной работы Elph должен проходить icmp на участке клиент-сервер. Это нужно для получения клиентами ip set (IP:порт для подключения).

Настройка адресной книги

Предварительно на ECSS должен быть настроен доступ к базе адресной книги. Команды описаны в разделе /system/address-book/ - системные команды управления адресной книгой абонентов.

По умолчанию настройки доступа такие:

admin@mycelium1@ecss1:/$ system/address-book/properties/info 
┌───────────────────┬───────────────────────┐
│     Property      │         Value         │
├───────────────────┼───────────────────────┤
│auto_create_account│true                   │
│auto_delete_account│true                   │
│database           │ecss_address_book      │
│host               │address-book.mysql.ecss│
│password           │address_book           │
│port               │3306                   │
│username           │address_book           │
└───────────────────┴───────────────────────┘

Включение CSTA-API

Проверьте, что включен CSTA API. Описание команд приведено в разделе /api/ — команды настройки API CSTA.

Пример настроек:

admin@mycelium1@ecss1:/$ api/csta/info                                   
┌────────┬───────┐
│Property│ Value │
├────────┼───────┤
│auth    │       │
│enabled │true   │ <== включить
│ssl_ip  │0.0.0.0│
│ssl_port│4722   │
│tcp_ip  │0.0.0.0│
│tcp_port│4721   │
│use_ssl │true   │
│use_tcp │true   │
└────────┴───────┘

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

В свойствах домена параметр vats_type должен быть выставлен в private.

admin@mycelium1@ecss1:/$ domain/test.domain/properties/info     
┌───────────────────────────────────────┬───────────┬───────────────────────────────────────┐
│               Property                │  Domain   │                 Value                 │
├───────────────────────────────────────┼───────────┼───────────────────────────────────────┤
...
│vats_type                              │test.domain│private                     

Для работы в SSW-кластере при включённом параметре nat_traversal в SIP-профиле абонента, использующего elph-desktop, необходимо в свойствах SIP-домена активировать параметр node_controlтакже включить node_control в SIP-профиле на всех абонентах, использующих elph-desktop и параметр nat_traversal одновременно. В остальных случаях node_control следует держать отключенным, так как это влияет на производительность SSW.

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

admin@mycelium1@ecss1:/$ domain/test.domain/sip/user/profile/set with-node-control node_control true

Пример настройки для абонента:

admin@mycelium1@ecss1:/$ domain/test.domain/sip/user/set 40000 40001@test.domain client-profile with-node-control     

Настройки медиасервера для работы с WebRTC и активация видеоконференций

Для использования WebRTC и видеовызовов на SSW установите следующие теги в конфигурационном файле ecss-media-server, который находится по пути: /etc/ecss/ecss-media-server/config.xml

Параметры, которые необходимо установить для работы с WebRTC:

В секции general:

use-srtp="optional"
enable-ice-transport="yes"
ice-update="yes"
aggressive-ice="yes"

Для прохождения медиа за NAT, только если будет использоваться режим nat_traversal, в секции media включить параметр:

udp-src-check="yes"

Для работы видеовызовов в секции codec:

h264="1"

Пример:

<?xml version="1.0" encoding="utf-8"?>
<config date="17:31:13 24.04.2023">
  <general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" calls-delta="100" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="optional" enable-ice-transport="yes" ice-update="yes" aggressive-ice="yes" stun-server="" suspicious-mode="yes"/>
  <transport bind-addr="127.0.0.1" port="5040" transport="udp+tcp"/>
  <media mixer-clock-rate="8000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="yes" cn-multiplier="3" port-start="12000" port-range="2048" tias-in-sdp="no" thread-cnt="2" vid-enc-threads="2" vid-dec-threads="2" video-conf-layout="evenly" keyframe-interval="1000" vid-decode-delay="100" silence-threshold="-30" dtmf-flash-disable="no" video-dscp="0" other-dscp="0" dummy-video-src="/usr/share/ecss-media-server/video/dummy_video.yuv" video-enc-width="1280" video-enc-height="720" finalsilence="1000" rtcp-stat-dump="yes"/>
  <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
  <accounts>
    <!-- <dynamic msr_name="msr.name"
            realm="sip:127.0.0.1:5000"
            dtmf_mode="rfc+inband+info"
            auth_name="user"
            auth_password="password" /> -->
  </accounts>
  <pbyte>
    <mcc bind-addr="127.0.0.1" port="5700"/>
  </pbyte>
  <conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
  <rtp>
    <auto addr-v4=""/>
  </rtp>
</config>

Для включения видео в конференциях необходимо переключить режим на медиасервере из audio в audio/video.

Для услуги conference:

system/media/msr/set --media/conference audio/video

Для услуги teleconference:

system/media/msr/set --media/teleconference audio/video

Если SSW развёрнут в закрытом контуре без доступа в интернет, то для нормальной работы elph-desktop потребуется также установить stun/turn-сервер (например coturn) и прописать его адрес в конфигурации ecss-media-server, изменив параметр stun-server="". Подробнее об установке своего coturn-сервера приведено на следующей странице.


Работа с базой данных

Добавление учётных записей

Для взаимодействия с базой данных ecss-elph-api и Chat Server должны иметь в ней соответствующие учётные записи.

Алгоритм создания представлен ниже:

1. Подключитесь к базе данных с помощью ввода пароля от указанной учётной записи.

sudo mysql -u root -p

2. Добавьте в база данную учётную запись elph_api:

Для этого установите разрешения (CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER) на базу данных ecss_address_book.* и все её таблицы. Пользователю elph_api, при этом, доступ к базе разрешён с указанного после знака @ IP (либо диапазона ip. Например, 192.168.1.%, соответствует сети 192.168.1.0/24), пароль для пользователя установите: "elph_api".

Для учётной записи elph_api после значка @ должен быть указан IP-адрес\сеть или доменное имя сервера, на котором работает сервис ecss-elph-api (в большинстве случаев это localhost).

Пример:

GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'elph_api'@'localhost' IDENTIFIED BY 'elph_api';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'elph_api'@'127.0.0.1' IDENTIFIED BY 'elph_api';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'elph_api'@'::1' IDENTIFIED BY 'elph_api';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'elph_api'@'<МАСКА ПОДСЕТИ>' IDENTIFIED BY 'elph_api';

3. Добавьте аналогично шагу 2 в БД учётную запись ecss_chat:

Для учётной записи ecss_chat после значка @ должен быть указан IP-адрес\сеть или доменное имя Сhat Server.

GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'ecss_chat'@'localhost' IDENTIFIED BY 'ecss_chat';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'ecss_chat'@'127.0.0.1' IDENTIFIED BY 'ecss_chat';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'ecss_chat'@'::1' IDENTIFIED BY 'ecss_chat';
GRANT CREATE, DELETE, DROP, INSERT, SELECT, UPDATE, EXECUTE, EVENT, ALTER  ON ecss_address_book.* TO 'ecss_chat'@'<МАСКА ПОДСЕТИ>' IDENTIFIED BY 'ecss_chat';

4. Проверьте, что созданные пользователи появились в базе данных.

SELECT user, host from mysql.user WHERE user='ecss_chat' OR  user='elph_api';

Результат выполнения запроса:

+-----------+-----------+
| user      | host      |
+-----------+-----------+
| ecss_chat | %.%.%.%   |
| elph_api  | 127.0.0.1 |
| elph_api  | localhost |
| elph_api  | ::1       |
+-----------+-----------+
6 rows in set (0.00 sec)

Маска %.%.%.%, указанная в поле хост, означает, что доступ под данной учётной записью разрешён с любой IPv4-сети.

Проверка доступа для учётной записи ecss_meeting_db

Для того чтобы чат в конференциях работал корректно, убедитесь, что для учётной записи ecss_meeting_db разрешён доступ с IP-адреса Char Server.

SELECT user, host from mysql.user WHERE user='ecss_meeting_db';

Результат выполнения запроса:

+-----------------+-----------+
| user            | host      |
+-----------------+-----------+
| ecss_meeting_db | %.%.%.%   |
+-----------------+-----------+

Для изменения существующего доступа, выполните указанную ниже команду, где в первом поле host указывается значение, на которое необходимо поменять значение, а во втором — значение, которое необходимо изменить.

UPDATE mysql.user SET host='192.168.107.142' WHERE user='ecss_meeting_db' AND host='%.%.%.%';

Результат выполнения запроса:

+-----------------+-------------------+
| user            | host              |
+-----------------+-------------------+
| ecss_meeting_db | 192.168.107.142   |
+-----------------+-------------------+

Для того чтобы изменения вступили в силу, существует два способа.

Способ 1:

В командной строке БД введите указанную ниже команду.

FLUSH PRIVILEGES;

Способ 2:

Перезапустите процесс, под которым запущена БД.

sudo systemctl restart mysql.service

Проверьте, что сервис работает (статус: active(running), а время его работы соответствует времени, прошедшему с момента перезапуска (в текущем примере — 2s):

systemctl status mysql.service

Результат выполнения:

  • Нет меток