Система с одним сервером

Условия

Медиасервер установлен на том же сервере, что и SSW.
Используется один интерфейс - bond1.2, адрес 192.168.2.21.

Настройки

Конфигурационный файл для таких условий нужно привести в виду (нужно прописать адрес 192.168.2.21 вместо 127.0.0.1):

<?xml version="1.0" encoding="utf-8"?>
<config date="10:48:28 10.09.2019">
  <general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled"/>
  <transport bind-addr="192.168.2.21" port="5040" transport="udp+tcp"/>
  <media mixer-clock-rate="48000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="1024" tias-in-sdp="no" thread-cnt="2" 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"/>
  <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" opus="1" g7221="1" g729="0" speex="0" l16="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
  <accounts>
    <dynamic msr_name="msr_1" realm="sip:192.168.2.21:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
  </accounts>
  <pbyte>
    <mcc bind-addr="192.168.2.21" port="5700"/>
  </pbyte>
  <conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
</config>

В настройках ECSS-10 нужно указать адрес для приема регистраций (в целях безопасности, т.к. по умолчанию соединения принимаются на всех адресах - 0.0.0.0):

support@[mycelium1@ecss1]:/$ system/media/registrar/set private core1@ecss1 listen-ip 192.168.2.21
Private parameter listen-ip set to 192.168.2.21 at node core1@ecss1.

Далее следует задекларировать медиаресурсы на интерфейсе bond1.2

support@[mycelium1@ecss1]:/$ system/media/resource/declare core1@ecss1 iface msr_1 bond1.2 default local true

Система с резервированием на двух серверах

Медиасервер, в целях резервирования медиаресурсов, должен быть установлен на каждом сервере, на котором установлено ECSS-10.

Условия

Сервер 1. Интерфейс - eth0, адрес 192.168.2.21
Сервер 2. Интерфейс - eth0, адрес 192.168.2.22

Не используйте плавающие (keepalive) адреса для медиасервера.

Настройки

На первом сервере в конфигурационном файле /etc/ecss/ecss-media-server/config.xml в качестве адреса transport bind-addr и mcc bind-addr нужно указать адрес этого же сервера, т.е. 192.168.1.1. В секции аккаунтов должны быть прописаны динамические аккаунты для первого сервера и для второго.

<?xml version="1.0" encoding="utf-8"?>
<config date="10:48:28 10.09.2019">
  <general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled"/>
  <transport bind-addr="192.168.2.21" port="5040" transport="udp+tcp"/>
  <media mixer-clock-rate="48000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="1024" tias-in-sdp="no" thread-cnt="2" 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"/>
  <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" opus="1" g7221="1" g729="0" speex="0" l16="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
  <accounts>
    <dynamic msr_name="msr_1" realm="sip:192.168.2.21:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
    <dynamic msr_name="msr_1" realm="sip:192.168.2.22:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
  </accounts>
  <pbyte>
    <mcc bind-addr="192.168.2.21" port="5700"/>
  </pbyte>
  <conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
</config

На втором сервере адрес transport bind-addr и mcc bind-addr нужно указать 192.168.2.22. В секции аккаунтов задать имя MSR отличное от того, которое было задано для первого сервера, т.к. фактически настраивается отдельный второй медиасервер.

Конфигурационный файл для второго сервера должен иметь вид:

<?xml version="1.0" encoding="utf-8"?>
<config date="10:48:28 10.09.2019">
  <general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled"/>
  <transport bind-addr="192.168.2.22" port="5040" transport="udp+tcp"/>
  <media mixer-clock-rate="48000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="1024" tias-in-sdp="no" thread-cnt="2" 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"/>
  <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" opus="1" g7221="1" g729="0" speex="0" l16="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
  <accounts>
    <dynamic msr_name="msr_2" realm="sip:192.168.2.21:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
    <dynamic msr_name="msr_2" realm="sip:192.168.2.22:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
  </accounts>
  <pbyte>
    <mcc bind-addr="192.168.2.22" port="5700"/>
  </pbyte>
  <conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
</config

В настройках ECSS-100 нужно указать адрес для приема регистраций (в целях безопасности, т.к. по умолчанию соединения принимаются на всех адресах - 0.0.0.0). Для каждого сервера - свой:

support@[mycelium1@ecss1]:/$ system/media/registrar/set private core1@ecss1 listen-ip 192.168.2.21
Private parameter listen-ip set to 192.168.1.1 at node core1@ecss1.
support@[mycelium1@ecss1]:/$ system/media/registrar/set private core1@ecss2 listen-ip 192.168.2.22
Private parameter listen-ip set to 192.168.1.2 at node core1@ecss2.

Далее следует задекларировать медиаресурсы каждого медиасервера на каждой ноде каждого ядра. Т.е. первый медиасервер задекларировать на обоих серверах и второй медиасервер также задекларировать на обоих серверах.

Для этого выполняются следующие команды:

/system/media/resource/declare core1@ecss1 iface msr_1 bond1.2 default local true
/system/media/resource/declare core1@ecss1 iface msr_2 bond1.2 default local true
/system/media/resource/declare core1@ecss2 iface msr_1 bond1.2 default local true
/system/media/resource/declare core1@ecss2 iface msr_2 bond1.2 default local true

В результате должно появиться четыре записи ресурсов:

admin@mycelium1@ecss1:/$ system/media/resource/list 
  Active media resource selected list specific:
┌─────────────┬───────┬────────────┬───────────┬──────┬────────┬───────────┬───────────┬───────────────────┬─────────┬──────────────┬────────┬─────────┬───────┬───────────────┬────────────┬─────────┐
│    Node     │  MSR  │    MSR     │    MSR    │ MSR  │ Cc-id  │ Cc-status │ Cc-uptime │    Cc-address     │  Iface  │    Iface     │ Active │  Zone   │ Site  │    Contact    │   Status   │ Expired │
│             │       │  version   │ perf coef │ load │        │           │           │                   │  name   │     addr     │        │         │       │               │            │         │
├─────────────┼───────┼────────────┼───────────┼──────┼────────┼───────────┼───────────┼───────────────────┼─────────┼──────────────┼────────┼─────────┼───────┼───────────────┼────────────┼─────────┤
│ core1@ecss1 │ msr_1 │ 3.14.0.235 │       1.0 │    0 │ 22abcd │ connected │ 03:24:08  │ 192.168.2.21:5700 │ bond1.2 │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1 │ registered │      75 │
│             │ msr_2 │ 3.14.0.235 │       1.0 │    0 │ c5b9d8 │ connected │ 03:01:11  │ 192.168.2.22:5700 │ bond1.2 │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2 │ registered │      72 │
│ core1@ecss2 │ msr_1 │ 3.14.0.235 │       1.0 │    0 │ 22abcd │ connected │ 03:24:08  │ 192.168.2.21:5700 │ bond1.2 │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1 │ registered │      73 │
│             │ msr_2 │ 3.14.0.235 │       1.0 │    0 │ c5b9d8 │ connected │ 03:01:11  │ 192.168.2.22:5700 │ bond1.2 │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2 │ registered │      72 │
└─────────────┴───────┴────────────┴───────────┴──────┴────────┴───────────┴───────────┴───────────────────┴─────────┴──────────────┴────────┴─────────┴───────┴───────────────┴────────────┴─────────┘

[exec at: 11.09.2019 16:42:50, exec time: 24ms, nodes: core1@ecss1

Механизм перепарковки вызовов при остановке/перезапуске медиасервера

При остановке или перезапуске медиасервера, медиасервер предварительно завершает все активные sip сессии до ядер, отправляя BYE c полем Reason со значением SIP;cause=480;text="System Shutdown".
Каждое ядро, принимая данный BYE, понимает, что медиасервер остановили/перезапустили и инициирует процедуру перепарковки данного вызова на другой медиасервер.

Пример сообщения BYE:

BYE sip:core@192.168.23.3:5000 SIP/2.0
Via: SIP/2.0/UDP 127.0.0.1:5040;rport;branch=z9hG4bKPjtPrQHcWDEo-bflsWmwrMTCj.3PnfioVH
Max-Forwards: 70
From: <sip:enp3s0@127.0.0.1>;tag=xxUS3tNZtP3VUn4z1Eld9Y.tVh-vg57B
To: <sip:core@ecss10>;tag=asRx2P
Call-ID: g2gEZAALdGVzdC5kb21haW5tAAAAEGYwNzkxM2I4NmMyNzZmMjFtAAAAEGYwNzkxM2JhMmM5ODhjMjhhAQ==
CSeq: 23023 BYE
User-Agent: Eltex media-server 3.10.0.5
Reason: SIP;cause=480;text="System Shutdown" 
Content-Length:  0

Система с несколькими интерфейсами

Условия

Система настроена для работы по примеру Системы с одним сервером.

Необходимо добавить интерфейс bond1.3 для обслуживания медиасервером.

Настройки

Декларируем медиаресурсы для нового интерфейса:

system/media/resource/declare core1@ecss1 by_iface msr_1 bond1.3 default local true

Система с отдельным медиасервером для селекторной связи на одном хосте

Преимущества

Все вызовы на селектор/с селектора будут парковаться на отдельный медиасервер (медиасервер селекторных совещаний). Если вызов нельзя запарковать на медиасервер, то он будет отклонен.

Условия

Система настроена для работы по примеру Системы с одним сервером.

Настройки

Потребуется сайты для абонентов и для медиа-серверов.

Для абонентов требуются сайты:

  1. local для абонентов. По умолчанию, все абонентов имеют site равный local;
  2. tc для селекторной связи.

Для медиа-серверов требуются site:

  1. video - для медиа-сервера с поддержкой видео;
  2. without-video - для медиа-сервера без поддержки видео.

Декларируем перечисленные выше сайты через расширенный WEB или Cocon:

system/media/site/declare <site>

, в итоге имеет матрицу сайтов:

admin@[md1@IBM]:/$ system/media/site/matrix       
┌───────────────┬───┬───┬────┬────┬───┐
│   Site-name   │ # │ 1 │ 2  │ 3  │ 4 │
├───────────────┼───┼───┼────┼────┼───┤
│ local         │ 1 │ 0 │    │    │   │
│ tc            │ 2 │   │  0 │    │   │
│ video         │ 3 │   │    │  0 │   │
│ without-video │ 4 │   │    │    │ 0 │
└───────────────┴───┴───┴────┴────┴───┘

Legend:
 empty distance - infinity distance between sites.

[exec at: 06.03.2019 13:10:34, exec time: 13ms, nodes: core1@IBM]

После этого настраиваем расстояния между сайтами расширенный WEB или Cocon:

system/media/site/distance <from site> <to site> <distance>

, чтобы матрица расстояний выглядела следующим образом:

admin@[md1@IBM]:/$ system/media/site/matrix 
┌───────────────┬───┬───┬────┬────┬───┐
│   Site-name   │ # │ 1 │ 2  │ 3  │ 4 │
├───────────────┼───┼───┼────┼────┼───┤
│ local         │ 1 │ 0 │    │  5 │ 6 │
│ tc            │ 2 │   │  0 │ 10 │ 3 │
│ video         │ 3 │ 5 │ 10 │  0 │   │
│ without-video │ 4 │ 6 │  3 │    │ 0 │
└───────────────┴───┴───┴────┴────┴───┘

Legend:
 empty distance - infinity distance between sites.

[exec at: 06.03.2019 13:12:16, exec time: 25ms, nodes: core1@IBM]

Выставляем site в tc для системного интерфейса system:teleconference:

admin@[md1@IBM]:/$ domain/test.domain/iface/user-set * * system:teleconference site tc
Property 'site' successfully changed to 'tc' for interfaces:
system:teleconference

[exec at: 06.03.2019 13:18:17, exec time: 25ms, nodes: ds1@IBM]

Настраиваем конфигурационный файл для медиасервера селекторной связи:

/etc/ecss/ecss-media-server/config-without-video.xml

Выставляем параметры port-startport-range и port в секции mcc, таким образом, чтобы они не пересекались с параметрами уже запущенных медиасерверов.

Включаем медиасервер селекторных совещаний:

sudo systemctl enable ecss-media-server@without-video

Запускаем медиасервер селекторных совещаний:

sudo systemctl start ecss-media-server@without-video

Декларируем контакты медиа-сервера с видео с site равным video, пример:

admin@[md1@IBM]:/$ system/media/resource/declare * iface paul enp0s8 default video true          
  Declared media resources
┌─────────────┬─────────────┬────────┬─────────┬───────┐
│    Node     │   Contact   │ Active │   Zone  │  Site │
├─────────────┼─────────────┼────────┼─────────┼───────┤
│ core1@IBM   │ enp0s8@paul │ true   │ default │ video │
│ core2@IBM   │ enp0s8@paul │ true   │ default │ video │
│ core1@ecss1 │ enp0s8@paul │ true   │ default │ video │
│ core1@ecss2 │ enp0s8@paul │ true   │ default │ video │
│ core1@PAUL  │ enp0s8@paul │ true   │ default │ video │
│ core2@PAUL  │ enp0s8@paul │ true   │ default │ video │
└─────────────┴─────────────┴────────┴─────────┴───────┘

[exec at: 06.03.2019 13:22:08, exec time: 150ms, nodes: core1@IBM]

Декларируем контакты медиа-сервера без видео с site равным without-video, пример:

admin@[md1@IBM]:/$ system/media/resource/declare * iface paul.without-video enp0s8 default without-video true  
  Declared media resources
┌─────────────┬───────────────────────────┬────────┬─────────┬───────────────┐
│    Node     │          Contact          │ Active │   Zone  │      Site     │
├─────────────┼───────────────────────────┼────────┼─────────┼───────────────┤
│ core1@IBM   │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core2@IBM   │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@ecss1 │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@ecss2 │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@PAUL  │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core2@PAUL  │ enp0s8@paul.without-video │ true   │ default │ without-video │
└─────────────┴───────────────────────────┴────────┴─────────┴───────────────┘

[exec at: 06.03.2019 13:22:35, exec time: 119ms, nodes: core1@IBM]

Если контакты уже были задекларированы, для контактов медиа-сервера с видео выставляем site в video, пример:

admin@[md1@IBM]:/$ system/media/resource/set * enp0s8@paul site video          
  Media resource:
┌─────────────┬─────────────┬──────────┬───────┐
│    Node     │   Contact   │ Property │ Value │
├─────────────┼─────────────┼──────────┼───────┤
│ core2@PAUL  │ enp0s8@paul │ site     │ video │
│ core1@PAUL  │ enp0s8@paul │ site     │ video │
│ core1@ecss2 │ enp0s8@paul │ site     │ video │
│ core1@ecss1 │ enp0s8@paul │ site     │ video │
│ core2@IBM   │ enp0s8@paul │ site     │ video │
│ core1@IBM   │ enp0s8@paul │ site     │ video │
└─────────────┴─────────────┴──────────┴───────┘

[exec at: 06.03.2019 13:28:05, exec time: 35ms, nodes: core1@IBM]

а для контактов медиа-сервера без видео выставляем  site  в without-video, пример:

admin@[md1@IBM]:/$ system/media/resource/set * enp0s8@paul.without-video site without-video  
  Media resource:
┌─────────────┬───────────────────────────┬──────────┬───────────────┐
│    Node     │          Contact          │ Property │     Value     │
├─────────────┼───────────────────────────┼──────────┼───────────────┤
│ core2@PAUL  │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@PAUL  │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@ecss2 │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@ecss1 │ enp0s8@paul.without-video │ site     │ without-video │
│ core2@IBM   │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@IBM   │ enp0s8@paul.without-video │ site     │ without-video │
└─────────────┴───────────────────────────┴──────────┴───────────────┘

[exec at: 06.03.2019 13:28:24, exec time: 34ms, nodes: core1@IBM]

Система с использованием site (территориального тяготение)

Существует возможность перепарковывать селекторную связь на конкретный медиа-сервер использую только примитив site.
При парковке вызова, выбирается медиа-сервер до которого существует наименьшее расстояние от паркуемых абонентов(расстояние между от site-ов абонентов до site-ов медиа-серверов). Если находятся 2 и более одинаковых минимальных расстояний до медиа-сервером, то медиа-сервер выбирается равновероятно (на основании его загруженности и коэффициента производительности).

Преимущества

  • не нужно поднимать интерфейс медиа-сервера для zone without-video;
  • если упадет медиа-сервер с site without-video, то вызовы перепаркуются на доступный медиа-сервер (до которого есть расстояние в матрице расстояний между site). В случае zone, вызовы не будут перепаркованы, а будут зарелижены, т.к. больше не будет медиа-сервера, который бы одновременно находился в zone default и zone without-video.

Настройка

В примере рассматривается система с использованием 3-x MSR. Количество MSR можно увеличить в зависимости от требований к системе.

Для абонентов требуются site:

  • local для абонентов. По умолчанию, все абонентов имеют site равный local;
  • tc для селекторной связи.
  • Для медиа-серверов требуются site:
  • video - для медиа-сервера с поддержкой видео;
  • without-video - для медиа-сервера без поддержки видео.

Декларируем перечисленные выше site командой:

system/media/site/declare <site>

Ожидаемая матрица после декларации сайтов:

admin@[md1@IBM]:/$ system/media/site/matrix       
┌───────────────┬───┬───┬────┬────┬───┐
│   Site-name   │ # │ 1 │ 2  │ 3  │ 4 │
├───────────────┼───┼───┼────┼────┼───┤
│ local         │ 1 │ 0 │    │    │   │
│ tc            │ 2 │   │  0 │    │   │
│ video         │ 3 │   │    │  0 │   │
│ without-video │ 4 │   │    │    │ 0 │
└───────────────┴───┴───┴────┴────┴───┘

Legend:
 empty distance - infinity distance between sites.

[exec at: 06.03.2019 13:10:34, exec time: 13ms, nodes: core1@IBM]

После этого настраиваем расстояния между сайтами командой:

system/media/site/distance <from site> <to site> <distance>

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

admin@[md1@IBM]:/$ system/media/site/matrix 
┌───────────────┬───┬───┬────┬────┬───┐
│   Site-name   │ # │ 1 │ 2  │ 3  │ 4 │
├───────────────┼───┼───┼────┼────┼───┤
│ local         │ 1 │ 0 │    │  5 │ 6 │
│ tc            │ 2 │   │  0 │ 10 │ 3 │
│ video         │ 3 │ 5 │ 10 │  0 │   │
│ without-video │ 4 │ 6 │  3 │    │ 0 │
└───────────────┴───┴───┴────┴────┴───┘

Legend:
 empty distance - infinity distance between sites.

[exec at: 06.03.2019 13:12:16, exec time: 25ms, nodes: core1@IBM]

Задание таких расстояний преследовало следующие поведения:

  1. Вызовы с абонента на абонента должны парковаться на медиа-серсер поддерживающий видео: задаем расстояние между абонентом с site равным local(default значение для абонента) и медиа-сервером с поддержкой видео с site равным video в 5;
  2. В случае, если медиа-сервер с поддержкой видео стал недоступен, вызов с абонент на абонента должен парковаться/перепарковываться на любой другой доступный медиа-сервер. В данном случае, это медиа-сервис без поддержки видео => задаем расстояние между абонентом с site равным local и медиа-сервером без поддержкой видео с site равным without-video в 6. Данное значение должно быть больше расстояния между site локального абонента и site медиа-сервера с поддержкой видео. Если его выставить в 5, то между этими двумя медиа-серверами, медиа-сервер будет выбран равновероятно(в зависимости от его загруженности и коэффициента производительности);
  3. Вызов с абонента на конференцию должен парковаться на медиа-сервер без поддержки видео: задаем расстояние между телеконференцией с site равным tc и медиа-сервером без поддержки видео с site равным without-video в 3. Данное значение должно быть наименьшим среди всех остальных расстояний до других медиа-серверов, т.к. выбирается медиа-сервер до которого расстояние наименьшее.
  4. В случае, если медиа-сервер без поддержки видео стал недоступен, вызов с абонента на конференцию должен парковаться/перепарковываться на любой другой доступный медиа-сервер. В данном случае, это медиа-сервис с поддержкой видео. Выставляем расстояние между site конференцию и site медиа-сервера в 10.

Выставляем site в tc для системного интерфейса system:teleconference:

admin@[md1@IBM]:/$ domain/test.domain/iface/user-set * * system:teleconference site tc
Property 'site' successfully changed to 'tc' for interfaces:
system:teleconference

[exec at: 06.03.2019 13:18:17, exec time: 25ms, nodes: ds1@IBM]

Декларируем контакты медиа-сервера с видео с site равным video:

admin@[md1@IBM]:/$ system/media/resource/declare * iface paul enp0s8 default video true          
  Declared media resources
┌─────────────┬─────────────┬────────┬─────────┬───────┐
│    Node     │   Contact   │ Active │   Zone  │  Site │
├─────────────┼─────────────┼────────┼─────────┼───────┤
│ core1@IBM   │ enp0s8@paul │ true   │ default │ video │
│ core2@IBM   │ enp0s8@paul │ true   │ default │ video │
│ core1@ecss1 │ enp0s8@paul │ true   │ default │ video │
│ core1@ecss2 │ enp0s8@paul │ true   │ default │ video │
│ core1@PAUL  │ enp0s8@paul │ true   │ default │ video │
│ core2@PAUL  │ enp0s8@paul │ true   │ default │ video │
└─────────────┴─────────────┴────────┴─────────┴───────┘

[exec at: 06.03.2019 13:22:08, exec time: 150ms, nodes: core1@IBM]

Декларируем контакты медиа-сервера без видео с site равным without-video:

admin@[md1@IBM]:/$ system/media/resource/declare * iface paul.without-video enp0s8 default without-video true  
  Declared media resources
┌─────────────┬───────────────────────────┬────────┬─────────┬───────────────┐
│    Node     │          Contact          │ Active │   Zone  │      Site     │
├─────────────┼───────────────────────────┼────────┼─────────┼───────────────┤
│ core1@IBM   │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core2@IBM   │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@ecss1 │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@ecss2 │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core1@PAUL  │ enp0s8@paul.without-video │ true   │ default │ without-video │
│ core2@PAUL  │ enp0s8@paul.without-video │ true   │ default │ without-video │
└─────────────┴───────────────────────────┴────────┴─────────┴───────────────┘

[exec at: 06.03.2019 13:22:35, exec time: 119ms, nodes: core1@IBM]

Если контакты уже были задекларированы, для контактов медиа-сервера с видео выставляем site в video:

admin@[md1@IBM]:/$ system/media/resource/set * enp0s8@paul site video          
  Media resource:
┌─────────────┬─────────────┬──────────┬───────┐
│    Node     │   Contact   │ Property │ Value │
├─────────────┼─────────────┼──────────┼───────┤
│ core2@PAUL  │ enp0s8@paul │ site     │ video │
│ core1@PAUL  │ enp0s8@paul │ site     │ video │
│ core1@ecss2 │ enp0s8@paul │ site     │ video │
│ core1@ecss1 │ enp0s8@paul │ site     │ video │
│ core2@IBM   │ enp0s8@paul │ site     │ video │
│ core1@IBM   │ enp0s8@paul │ site     │ video │
└─────────────┴─────────────┴──────────┴───────┘

[exec at: 06.03.2019 13:28:05, exec time: 35ms, nodes: core1@IBM]

Для контактов медиа-сервера без видео выставляем site в without-video:

admin@[md1@IBM]:/$ system/media/resource/set * enp0s8@paul.without-video site without-video  
  Media resource:
┌─────────────┬───────────────────────────┬──────────┬───────────────┐
│    Node     │          Contact          │ Property │     Value     │
├─────────────┼───────────────────────────┼──────────┼───────────────┤
│ core2@PAUL  │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@PAUL  │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@ecss2 │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@ecss1 │ enp0s8@paul.without-video │ site     │ without-video │
│ core2@IBM   │ enp0s8@paul.without-video │ site     │ without-video │
│ core1@IBM   │ enp0s8@paul.without-video │ site     │ without-video │
└─────────────┴───────────────────────────┴──────────┴───────────────┘

[exec at: 06.03.2019 13:28:24, exec time: 34ms, nodes: core1@IBM]
  • Нет меток