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

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

Предварительно на 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           │
└───────────────────┴───────────────────────┘
BASH

Включение 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   │
└────────┴───────┘
BASH

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

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

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

В свойствах sip необходимо настроить параметр compact_headers в режим force long для нормальной работы Elph-android:

admin@mycelium1@ecss1:/$ domain/test.domain/sip/properties/set compact_headers force_long
Property "compact_headers" successfully changed from:
BASH

Elph-Android может обрабатывать DTMF в SIP INFO, в формате "application/dtmf-relay", но не может в формате "application/dtmf", поэтому необходимо включить параметр dtmf_relay либо в свойствах sip-домена, либо в сип профиле конкретного абонента, использующего Elph-Android.

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

domain/test.domain/sip/properties/set dtmf_relay true   
BASH

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

domain/test.domain/sip/user/set test.group 1000@test.domain dtmf-relay true 
BASH

Только для работы в 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
BASH

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

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

Настройки медиасервера для работы с 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"
XML

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

udp-src-check="yes"
XML

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

h264="1"
XML

Пример:

<?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>
XML

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

Для услуги conference:

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

Для услуги teleconference:

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