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

Просмотр настроек медиарегистратора и его состояния

Для получения информации по текущим настройкам медиарегистратора необходимо выполнить команду:

/system/media/registrar/info

В результате получаем текущие значения:

admin@[megaco1@ecss1]:/$ system/media/registrar/info
 Common parameters:
┌───────────────────────────┬───────┐
│         Parameter         │ Value │
├───────────────────────────┼───────┤
│ registration-timeout, sec │    60 │
└───────────────────────────┴───────┘
 Private parameters:
┌─────────────┬────────┬───────────┬────────────────────┬─────────────┐
│    Node     │ Status │ Is-active │  Listen-interface  │ Listen-port │
├─────────────┼────────┼───────────┼────────────────────┼─────────────┤
│ core1@ecss1 │ active │ true      │ eth0(192.168.23.9) │        5000 │
│ core1@ecss2 │ active │ true      │ eth0(192.168.23.2) │        5000 │
└─────────────┴────────┴───────────┴────────────────────┴─────────────┘

[exec at: 22.03.2016 13:04:08, exec time: 30ms, nodes: core1@ecss1]

Изменение настроек медиарегистратора выполняется командами:

/system/media/registrar/set common <common parameter> <value>

/system/media/registrar/set private <node name> <private parameter> <value>

Где
  • common - тип выставляемого параметра;
  • <common parameter> - общий параметр медиарегистратора для всех нод: registration-timeout;
  • private - тип выставляемого параметра;
  • <node name> - имя ноды на которой находится медиарегистратор;
  • <private parameter> - параметр медиарегистратора, который выставляется на <node name>: is-active, listen-interface & listen-port.

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

  • is-active - позволяет включить или выключить регистратор (false - деактивирует регистратор, регистратор перестает принимать SIP трафик);
  • listen-interface - имя интерфейса, который использует регистратор;
  • listen-port - порт, на котором регистратор принимает запросы на регистрацию (по умолчанию 5000);
  • registration-timeout - таймер перерегистрации, диапазон значений от 60 до 86400.

Команды для установки значений параметров по умолчанию:

/system/media/registrar/clean common <common parameter>

/system/media/registrar/clean private <node name> <private parameter>

Получение списка медиасерверов

Команда для просмотра списка медиаресурсов в системе ECSS-10.

Путь команды:

system/media/resource/list

Синтаксис:

list [active | all | register]

Параметры:

  • active - отображать только активные медиаресурсы (по умолчанию);
  • register - отображать только зарегистрированные медиаресурсы;
  • all - отображать все задекларированные медиаресурсы);
  • short - короткий вывод состояния медиареурсов.

Примеры:

admin@mycelium1@ecss1:/$ system/media/resource/list active 
  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.11.4.23  │       2.0 │    0 │ 22abcd │ connected │ 2 00:10:45 │ 192.168.2.21:5700 │ bond1.2   │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1   │ registered │      63 │
│             │ msr_2 │ 3.11.4.23  │       1.0 │    0 │ c5b9d8 │ connected │ 1 00:10:38 │ 192.168.2.22:5700 │ bond1.2   │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2   │ registered │      64 │
│ core1@ecss2 │ msr_1 │ 3.11.4.23  │       2.0 │    0 │ 22abcd │ connected │ 12:05:30   │ 192.168.2.21:5700 │ bond1.2   │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1   │ registered │      34 │
│             │ msr_2 │ 3.11.4.23  │       1.0 │    0 │ c5b9d8 │ connected │ 12:05:30   │ 192.168.2.22:5700 │ bond1.2   │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2   │ registered │      35 │
└─────────────┴───────┴────────────┴───────────┴──────┴────────┴───────────┴────────────┴───────────────────┴───────────┴──────────────┴────────┴─────────┴───────┴─────────────────┴────────────┴─────────┘

[exec at: 22.07.2019 10:00:56, exec time: 26ms, nodes: core1@ecss2]

Корткий вывод списка

admin@mycelium1@ecss1:/$ system/media/resource/list short  
  Active media resource selected list specific:
┌─────────────┬───────┬────────────┬───────────┬────────────┐
│    Node     │  MSR  │    MSR     │ Cc-status │ Cc-uptime  │
│             │       │  version   │           │            │
├─────────────┼───────┼────────────┼───────────┼────────────┤
│ core1@ecss1 │ msr_1 │ 3.11.4.23  │ connected │ 2 00:12:08 │
│             │ msr_2 │ 3.11.4.23  │ connected │ 1 00:12:02 │
│ core1@ecss2 │ msr_1 │ 3.11.4.23  │ connected │ 12:06:53   │
│             │ msr_2 │ 3.11.4.23  │ connected │ 12:06:53   │
└─────────────┴───────┴────────────┴───────────┴────────────┘

[exec at: 22.07.2019 10:02:19, exec time: 14ms, nodes: core1@ecss2

Для запроса списка всех известных системе медиасерверов (зарегистрированных, дерегистрированных и сконфигурированных:

admin@mycelium1@ecss1:/$ system/media/resource/list all
  All 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.11.4.23  │       2.0 │    0 │ 22abcd │ connected │ 2 00:10:38 │ 192.168.2.21:5700 │ bond1.2       │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1       │ registered │      70 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP61 │ 192.168.2.61 │ false  │         │       │ bond1.2:SIP61@msr_1 │ registered │      69 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP62 │ 192.168.2.62 │ false  │         │       │ bond1.2:SIP62@msr_1 │ registered │      69 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:TC    │ 192.168.2.63 │ false  │         │       │ bond1.2:TC@msr_1    │ registered │      67 │
│             │       │            │           │      │        │           │            │                   │ bond1.3:MYSQL │ 192.168.1.71 │ false  │         │       │ bond1.3:MYSQL@msr_1 │ registered │      68 │
│             │       │            │           │      │        │           │            │                   │ bond1.3       │ 192.168.1.21 │ false  │         │       │ bond1.3@msr_1       │ registered │      72 │
│             │       │            │           │      │        │           │            │                   │ bond1.476     │ 10.16.33.5   │ true   │ default │ local │ bond1.476@msr_1     │ registered │      71 │
│             │       │            │           │      │        │           │            │                   │ lo            │ 127.0.0.1    │ false  │         │       │ lo@msr_1            │ registered │      72 │
│             │ msr_2 │ 3.11.4.23  │       1.0 │    0 │ c5b9d8 │ connected │ 1 00:10:32 │ 192.168.2.22:5700 │ bond1.2       │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2       │ registered │      71 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP61 │ 192.168.2.61 │ false  │         │       │ bond1.2:SIP61@msr_2 │ registered │      70 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP62 │ 192.168.2.62 │ false  │         │       │ bond1.2:SIP62@msr_2 │ registered │      69 │
│             │       │            │           │      │        │           │            │                   │ bond1.3       │ 192.168.1.22 │ false  │         │       │ bond1.3@msr_2       │ registered │      71 │
│             │       │            │           │      │        │           │            │                   │ bond1.476     │ 10.16.33.6   │ false  │         │       │ bond1.476@msr_2     │ registered │      72 │
│             │       │            │           │      │        │           │            │                   │ lo            │ 127.0.0.1    │ false  │         │       │ lo@msr_2            │ registered │      71 │
│ core1@ecss2 │ msr_1 │ 3.11.4.23  │       2.0 │    0 │ 22abcd │ connected │ 12:05:24   │ 192.168.2.21:5700 │ bond1.2       │ 192.168.2.21 │ true   │ default │ local │ bond1.2@msr_1       │ registered │      41 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP61 │ 192.168.2.61 │ false  │         │       │ bond1.2:SIP61@msr_1 │ registered │      43 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP62 │ 192.168.2.62 │ false  │         │       │ bond1.2:SIP62@msr_1 │ registered │      42 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:TC    │ 192.168.2.63 │ false  │         │       │ bond1.2:TC@msr_1    │ registered │      42 │
│             │       │            │           │      │        │           │            │                   │ bond1.3:MYSQL │ 192.168.1.71 │ false  │         │       │ bond1.3:MYSQL@msr_1 │ registered │      43 │
│             │       │            │           │      │        │           │            │                   │ bond1.3       │ 192.168.1.21 │ false  │         │       │ bond1.3@msr_1       │ registered │      39 │
│             │       │            │           │      │        │           │            │                   │ bond1.476     │ 10.16.33.5   │ false  │         │       │ bond1.476@msr_1     │ registered │      40 │
│             │       │            │           │      │        │           │            │                   │ lo            │ 127.0.0.1    │ false  │         │       │ lo@msr_1            │ registered │      40 │
│             │ msr_2 │ 3.11.4.23  │       1.0 │    0 │ c5b9d8 │ connected │ 12:05:24   │ 192.168.2.22:5700 │ bond1.2       │ 192.168.2.22 │ true   │ default │ local │ bond1.2@msr_2       │ registered │      42 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP61 │ 192.168.2.61 │ false  │         │       │ bond1.2:SIP61@msr_2 │ registered │      42 │
│             │       │            │           │      │        │           │            │                   │ bond1.2:SIP62 │ 192.168.2.62 │ false  │         │       │ bond1.2:SIP62@msr_2 │ registered │      41 │
│             │       │            │           │      │        │           │            │                   │ bond1.3       │ 192.168.1.22 │ false  │         │       │ bond1.3@msr_2       │ registered │      42 │
│             │       │            │           │      │        │           │            │                   │ bond1.476     │ 10.16.33.6   │ false  │         │       │ bond1.476@msr_2     │ registered │      40 │
│             │       │            │           │      │        │           │            │                   │ lo            │ 127.0.0.1    │ false  │         │       │ lo@msr_2            │ registered │      41 │
└─────────────┴───────┴────────────┴───────────┴──────┴────────┴───────────┴────────────┴───────────────────┴───────────────┴──────────────┴────────┴─────────┴───────┴─────────────────────┴────────────┴─────────┘

[exec at: 22.07.2019 10:00:49, exec time: 29ms, nodes: core1@ecss2]

Порядок операций:

Вариант 1.

  1. MSR сам регистрируется на медиарегистраторе.
  2. Просматриваются списки всех зарегистрированных MSR и настраиваются те, которые не привязаны к Zone(NID) и site. После чего производится их активация.

Вариант 2.

  1. Производится преднастройка MSR, если известны все их параметры.
  2. После того как MSR зарегистрировался и все параметры совпали, он автоматически становится активным.
  3. Этот вариант позволяет делать предварительно настроенные конфигурации (в том числе конфигурации по умолчанию).

Получение информации о медиасервере

Команда для просмотра информации о состоянии подключения конкретного медиаресурса.

Путь команды:

system/media/resource/info

Синтаксис:

info <contact uri>

Параметры:

<contact> - contact uri декларируемого медиаресурса.

Пример:

admin@mycelium1@ecss1:/$ system/media/resource/info core1@ecss1 bond1.2@msr_2              
  Media resource specific for node core1@ecss1:
┌─┬─────────────────┬───────────────────────┐
│F│    Parameter    │         Value         │
├─┼─────────────────┼───────────────────────┤
│r│ Contact         │ bond1.2@msr_2         │
│r│ Status          │ registered            │
│r│ Cc-status       │ connected             │
│r│ Cc-status uptime│ 1 00:08:48            │
│r│ Cc-id           │ c5b9d8                │
│r│ Address         │ 192.168.2.22:5700     │
│r│ Register time   │ 2019/07/22 09:58:30   │
│r│ Expired         │ 55                    │
│r│ Iface           │ bond1.2(192.168.2.22) │
│ │ Active          │ true                  │
│ │ Zone            │ default               │
│ │ Site            │ local                 │
│r│ MSR version     │ 3.11.4.23             │
│r│ MSR load        │ 0                     │
│r│ MSR perf coef   │ 1.0                   │
└─┴─────────────────┴───────────────────────┘

Legend:
Column F - means Flag, values r - flag for readonly parameter

[exec at: 22.07.2019 09:59:05, exec time: 17ms, nodes: core1@ecss2

Изменение параметров медиасервера

Команда для изменения настроек медиаресурсов.

Путь команды:

system/media/resource/set

Синтаксис:

set <node|*> <contact> <active|zone|site> <value>

Параметры:

<node|*> - имя ноды;
<contact> - contact uri декларируемого медиаресурса;
<active|zone|site> - активация | зона | сайт;
<value> - значение параметра.

Пример:

admin@[mycelium1@ecss1]:/$ system/media/resource/set * bond1.476:SIP11@msr_1 active true           
  Media resource:
┌─────────────┬───────────────────────┬──────────┬───────┐
│    Node     │        Contact        │ Property │ Value │
├─────────────┼───────────────────────┼──────────┼───────┤
│ core1@ecss2 │ bond1.476:SIP11@msr_1 │ active   │ true  │
│ core1@ecss1 │ bond1.476:SIP11@msr_1 │ active   │ true  │
└─────────────┴───────────────────────┴──────────┴───────┘

[exec at: 17.02.2019 12:43:15, exec time: 126ms, nodes: core1@ecss2]

Добавление конфигурации медиасервера

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

Команда для объявления подключения медиасервера к ECSS-10.

Путь команды:

system/media/resource/declare

Синтаксис:

declare <node> by_contact <contact> <zone> <site> <is active>

или

declare <node> iface <msr> <iface> <zone> <site> <is active>

Параметры:

<node> - имя ноды core;
<contact> - contact uri декларируемого медиа ресурса;
<zone> - логическая зона обслуживания MSR;
<site> - идентификатор сети обслуживания MSR;
<is active> - состояние активности медиа-ресурса, значения true/false;
<msr> - имя MSR;
<iface> - название интерфейса.

Пример:

admin@mycelium1@ecss1:/$ system/media/resource/declare core1@ecss1 iface msr_1 bond1.476 default local true              
  Declared media resources
┌─────────────┬─────────────────┬────────┬─────────┬───────┐
│    Node     │     Contact     │ Active │   Zone  │  Site │
├─────────────┼─────────────────┼────────┼─────────┼───────┤
│ core1@ecss1 │ bond1.476@msr_1 │ true   │ default │ local │
└─────────────┴─────────────────┴────────┴─────────┴───────┘

[exec at: 22.07.2019 09:58:00, exec time: 50ms, nodes: core1@ecss1

Удаление конфигурации медиасервера

Команда для удаления информации о настройках медиаресурса, добавленных ранее в ECSS-10.

Путь команды:

system/media/resource/remove

Синтаксис:

remove <node> contact <contact> | msr <msr>

Параметры:

<node> - имя ноды;
<contact> - contact uri декларируемого медиаресурса;
<msr> - имя MSR.

Пример:

Пример удаления аккаунтов медиасервера по sip-uri:

admin@mycelium1@ecss1:/$ system/media/resource/remove core1@ecss1 contact bond1.476@msr_1              
Media resource with contact(bond1.476@msr_1) deleted at nodes:
   core1@ecss1

[exec at: 22.07.2019 10:04:00, exec time: 41ms, nodes: core1@ecss2]

Пример удаления аккаунтов медиасервера по domain:

/system/media/resourse/remove core1@ecss1 domain msr1
  Deleted media resources:
┌──────────────────┬─────────────┐
│       Sip-uri    │    Node     │
├──────────────────┼─────────────┤
│ eth1;ecss1@msr1  │ core1@ecss1 │
│ vlan2;ecss1@msr1 │ core1@ecss1 │
│ vlan3;ecss1@msr1 │ core1@ecss1 │
└──────────────────┴─────────────┘

Просмотр списка сайтов

команда просмотра списка сайтов:

/system/site/list

По умолчанию в системе существует неудаляемый сайт: core-site

Пример результатов выполнения команды:

List of all sites:
 core-site
 remote-office
 test

Декларация нового сайта

Команда для декларирования нового сайта:

/system/site/declare SITE-NAME

Имя сайта в системе должно быть уникальным. Если будет попытка создания сайта с уже используемым именем, команда вернет ошибку.

Пример декларации нового сайта:

>/system/site/declare test-office

Site: test-office
 Created successfully.

Удаление сайта

Команда для удаления сайта и всей информации о нем (данные о связности в матрице связности):

/sytem/site/remove SITE-NAME

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

>/system/site/remove test-office

Site: test-office
 Removed successfully.

Просмотр матрицы связности

Команда для просмотра матрицы связности:

/system/site/matrix [SITE-NAME [SITE-NAME]]

Для просмотра всей матрицы выполняем команду без параметров. При этом будет отображены все сайты если их число не превышает 20, если их число больше, то отображаются первые 20 (сортировка по алфавиту).

>/system/site/matrix

Site matrix:
┌───────────────┬───┬───┬───┬───┬───┐
│ Site-name     │ # │ 1 │ 2 │ 3 │ 4 │
├───────────────┼───┼───┼───┼───┼───┤
│ core-site     │ 1 │ 0 │ 3 │   │   │
├───────────────┼───┼───┼───┼───┼───┤
│ remote-office │ 2 │ 3 │ 0 │ 1 │   │
├───────────────┼───┼───┼───┼───┼───┤
│ test          │ 3 │   │ 1 │ 0 │ 2 │
├───────────────┼───┼───┼───┼───┼───┤
│ test-office   │ 4 │   │   │ 2 │ 0 │
└───────────────┴───┴───┴───┴───┴───┘

Вывод матрицы связности по отношению к заданному сайту:

>/system/site/matrix core-site

Partial site matrix for core-site:
┌───────────────┬───┬───┐
│ site-name     │ # │ 1 │
├───────────────┼───┼───┤
│ core-site     │ 1 │ 0 │
├───────────────┼───┼───┤
│ remote-office │ 2 │ 3 │
└───────────────┴───┴───┘

Вывод подматрицы связности для выбранных сайтов (не более 20 сайтов):

>/system/site/matrix core-site test

Site matrix:
┌───────────────┬───┬───┬───┐
│ site-name     │ # │ 1 │ 3 │
├───────────────┼───┼───┼───┤
│ core-site     │ 1 │ 0 │   │
├───────────────┼───┼───┼───┤
│ remote-office │ 2 │ 3 │ 1 │
├───────────────┼───┼───┼───┤
│ test          │ 3 │   │ 0 │
├───────────────┼───┼───┼───┤
│ test-office   │ 4 │   │ 2 │
└───────────────┴───┴───┴───┘

Установка "расстояния" между сайтами

По умолчанию, когда создаются сайты связность между ними задается как бесконечность (infinity).
Для установки требуемого расстояния между сайтами необходимо выполнить команду:

/system/site/set-distance SITE-NAME SITE-NAME DISTANCE

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

>/system/site/set-distance core-site test 5
Distance between core-site and test changed to: 5.

Алгоритм определения ресурсов

Алгорим который использует ядро для поиска подходящего MSR эквивалентен следующему:

  1. Для заданного UA пользователя (далее просто UA), который будет парковаться на MSR определяются связанные с ним параметры Zone, Site, и опционально msr_id (если информация о нем присутствует);
  2. Для ядра, на котором обслуживается текущий коллпроцесс выполняется поиск зарегистрированных(поле Status = registered), административно разрешенных(поле Active = true)Ч, c зоной(Zone) UA контактов MSR;
  3. Из найденных контактов выбираются те, которые соответствуют известному msr_id (если он все таки задан, в противном случае подходят все контакты предыдущего шага);
  4. Далее выбранные контакты ранжируются по расстоянию между site UA и site самого контакта в соответствии с матрицей связанности:


    admin@[restfs1@IBM]:/$ system/media/site/matrix 
    ┌───────────┬───┬────┬────┬────┬───┐
    │ Site-name │ # │ 1  │ 2  │ 3  │ 4 │
    ├───────────┼───┼────┼────┼────┼───┤
    │ local     │ 1 │  0 │ 10 │ 20 │   │
    │ site_102  │ 2 │ 10 │    │    │   │
    │ site_103  │ 3 │ 20 │    │    │   │
    │ site_104  │ 4 │    │    │    │ 0 │
    └───────────┴───┴────┴────┴────┴───┘
    
    Legend:
     empty distance - infinity distance between sites.
    
    [exec at: 02.08.2017 12:19:55, exec time: 19ms, nodes: core2@IBM]

    Выбираются контакты с наименьшим расстоянием;

  5. Контакты, полученные на предыдущем шаге, сортируем с удалением дубликатов по имени msr (поле msr_name). Получаем контакты с уникальными msr-ами. Контакты содержат информацию о загруженности msr-а и коэффициенте производительности msr-а;
  6. На основе контактов, полученных на предыдущем шаге, строится интервальная таблица загруженности msr с учетом коэффициента производительности:
    1. Верхняя граница таблицы (table_upper_bound) выставляется в 0, помещаем все контакты в очередь;
    2. Если очередь не пуста, то забираем контакт из очереди:
      • Для контакта выставляем нижнюю границу(con_bottom_bound) по формуле:

        con_bottom_bound = table_upper_bound
      • Для контакта формируем верхнюю границу(con_upper_bound) по формуле:

        (100 - con_msr_load) * con_msr_performance_coefficient
      • Выставляем верхнюю границу таблицы(table_upper_bound) по формуле:

        table_upper_bound = table_upper_bound + con_upper_bound
      • Кладем контакт в список;
      • Переход к пункту 6.2;
    3. Если контактов в списке нет, то такое плечо UA релизится с соответствующим cause(msr не найден);
    4. Генерируем случайное число от 0 до table_upper_bound;
    5. В списке находим контакт, в границы которого попадает сгенерированное число. Найденный контакт используется для парковки данного UA на MSR.

Пример с 5 шага:

Шаг 5:
  Есть контакты con_1@msr_1, con_2@msr_1, con_1@msr_2, con_1@msr_3.
Шаг 6:
  Есть контакты con_1@msr_1, con_1@msr_2, con_1@msr_3.
  msr_1 загружен на 55%, коэф. производительности 1.0.
  msr_2 загружен на 40%, коэф. производительности 0.9.
  msr_3 загружен на 60%, коэф. производительности 1.2.

Шаг 6.1
  table_upper_bound = 0,
  queue = [con_1@msr_1, con_1@msr_2, con_1@msr3]

Шаг 6.2
  take from queue = con_1@msr_1

Шаг 6.2.1
  con_bottom_bound = 0

Шаг 6.2.2
  con_upper_bound = (100 - 55) * 1.0 = 45

Шаг 6.2.3
  table_upper_bound = 0 + 45 = 45

Шаг 6.2.4
   put to list = con_1@msr_1(0-45)

Шаг 6.3
   переход на шаг 4.2

Шаг 6.2
  take from queue = con_1@msr_2

Шаг 6.2.1
  con_bottom_bound = 45

Шаг 6.2.2
  con_upper_bound = (100 - 40) * 0.9 = 56

Шаг 6.2.3
  table_upper_bound = 45 + 56 = 101

Шаг 6.2.4
   put to list = con_1@msr_2(45-101)

Шаг 6.2
  take from queue = con_1@msr_3

Шаг 6.3
   переход на шаг 6.2

Шаг 6.2.1
  con_bottom_bound = 101

Шаг 6.2.2
  con_upper_bound = (100 - 60) * 1.2 = 48

Шаг 6.2.3
  table_upper_bound = 101 + 48 = 149

Шаг 6.2.4
   put to list = con_1@msr_3(101-149)

Шаг 6.4
   list = [con_1@msr_1(0-45), con_1@msr_2(45-101), con_1@msr_3(101-149)]
   generate 58

Шаг 6.5
   found con_1@msr_2(45-101)

Найден контакт con_1@msr_2 (msr c именем msr_2).

Пример настройки и парковки вызова

MSR регистрируют контакты со следующими параметрами:

namezonesitemsr_id
msr1_eth0rtkr_kalininsky1
msr1_eth1mtsr_kalininsky1
msr2_eth0rtkr_sovetsky2
msr2_eth1mtsr_sovetsky2
msr3_eth0rtkr_kirovsky3
msr3_eth1mtsr_kirovsky3

Имеющаяся следующую матрицу связности:

Site-named123456
r_kalininsky10




r_sovetsky2
0



r_kirovsky3

0


okrujnaya41320

molodeji5312
0
titova6221

0

Абонент UA1 хочет установить разговор с абонентом UA2, при этом они имеют следующие параметры:

UAzonesite
ua1rtkokrujnaya
ua2mtsmolodeji

Сначала паркуется плечо UA1.
Из списка активных контактов MSR выбираем все, которые принадлежат зоне rtk:

namezonesitemsr_id
msr1_eth0rtkr_kalininsky1
msr2_eth0rtkr_sovetsky2
msr3_eth0rtkr_kirovsky3

Список контактов остается прежним.
Вычисляем расстояние между ua site: okrujnaya и сайтом каждого из контактов. Имеем:

distancenamezonesitemsr_id
1msr1_eth0rtkr_kalininsky1
2msr3_eth0rtkr_kirovsky3
3msr2_eth0rtkr_sovetsky2

Контакты ранжированы в порядке увеличения дистанции. Берем первый из них и используем его для парковки UA1:
name: msr1_eth0, msr_id:1

Парковка второго плеча: ua2.
Он принадлежит другой зоне, поэтому список контактов после выбора по зоне будет выглядеть так:

namezonesitemsr_id
msr1_eth1mtsr_kalininsky1
msr2_eth1mtsr_sovetsky2
msr3_eth1mtsr_kirovsky3

На предыдущем шаге у нас определен msr_id=1.

С учетом msr_id получаем новый список контактов:

namezonesitemsr_id
msr1_eth1mtsr_kalininsky1

Далее вычисляем расстояние между ua2 site: molodeju и r_kalininsky.

distancenamezonesitemsr_id
1msr1_eth1mtsr_kalininsky1

В текущем примере используется довольно простая схема с MSR, поэтому для представленных условий у нас остался лишь один контакт.
Его и используем для парковки ua2.

Так как оба плеча сумели запарковаться на MSR, абоненты смогут обмениваться rtp трафиком.

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

  • Нет меток