В текущем разделе описаны команды управления медиа-профилями.
В ряде случаев необходимо иметь возможность ограничивать список кодеков, которые используются для установления соединения, выбирать кодеки с определенным приоритетом, а также управлять разрешением исходящего и входящего видеопотока. Эти предпочтения могут быть установлены как глобально для домена, так и индивидуально для абонента или для транка.

Настроенный медиа-профиль устанавливается на уровне алиасов, параметрами media-profile и/или media-profile-outgoing (если нужно использовать отдельный медиа-профиль для исходящей связи).

В домене по умолчанию используются установки медиа-профиля default.

Созданные медиа-профили назначаются на alias. Более подробно описано на странице /domain/<DOMAIN>/alias/ - команды управления алиасами.

copy

Команда для копирования медиа-профилей

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

/domain/<DOMAIN>/media-profile/copy

Синтаксис:

copy <OLD_MEDIA_PROFILE_NAME> <NEW_MEDIA_PROFILE_NAME> [<NEW_DESCRIPTION>]

Параметры:

<OLD_MEDIA_PROFILE_NAME> — имя медиа-профиля, которое нужно скопировать;
<NEW_MEDIA_PROFILE_NAME-TYPE> — имя нового медиа-профиля;
[<NEW_DESCRIPTION>] — строка, описание медиа-профиля одним словом или предложением, записывается в двойных кавычках.

Пример:

/domain/test_domain/media-profile/copy example test "тестовая проверка"
Media-profile general information:

┌─────────────────────┬─────────────────┐
│      Parameter      │      Value      │
├─────────────────────┼─────────────────┤
│name                 │test             │
│description          │тестовая проверка│
│codecs-priority      │user             │
│addr-type            │*                │
│dtmf-receive-type    │auto             │
│dtmf-transmit-type   │transit          │
│recv-video-resolution│HD(1280x720)     │
│send-video-resolution│HD(1280x720)     │
└─────────────────────┴─────────────────┘

Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
│video     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬───┬────────┬─────┐
│Enabled│Codec│PT │Property│Value│
├───────┼─────┼───┼────────┼─────┤
│       │G7221│111│        │     │
└───────┴─────┴───┴────────┴─────┘

Codec type: video codecs configuration:
┌───────┬─────┬────────┬─────┐
│Enabled│Codec│Property│Value│
├───────┼─────┼────────┼─────┤
│       │H264 │        │     │
└───────┴─────┴────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

codecs-add

Команда для добавления одного или нескольких аудио/видео-кодеков определенного типа в медиа-профиль.

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

/domain/<DOMAIN>/media-profile/codecs-add

Синтаксис:

codecs-add <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT> <CODECS-ATTRIBUTES>

Параметры:

Добавление кодеков производится в конец существующего списка кодеков, но до  кодеков <other> , которые, всегда остается последним в списке.

Пример:

/domain/test_domain/media-profile/codecs-add example audio PCMA 8 PCMU 0 G729 18 --clock-rate *
Media-profile: example adds audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
│video     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬───┬──────────┬─────┐
│Enabled│Codec│PT │ Property │Value│
├───────┼─────┼───┼──────────┼─────┤
│       │PCMA │8  │          │     │
│       │PCMU │0  │          │     │
│       │G729 │18 │clock-rate│*    │
└───────┴─────┴───┴──────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

codecs-change

Команда для изменения одного и нескольких кодеков определенного типа в медиа-профиле.

Кодек должен быть доступен в медиа-профиле


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

/domain/<DOMAIN>/media-profile/codecs-change

Синтаксис:

codecs-change <MEDIA_PROFILE_NAME> <CODECS-TYPE> [<CODEC-ATTRIBUTES> ... ] [<CODEC-DESCRIPTION> ...]

Параметры:

Пример:

/domain/test_domain/media-profile/codecs-change example audio G729 18  --port-number 2
Media-profile: example updates audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
│video     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬──┬───────────┬─────┐
│Enabled│Codec│PT│ Property  │Value│
├───────┼─────┼──┼───────────┼─────┤
│       │PCMA │8 │           │     │
│       │PCMU │0 │           │     │
│       │G729 │18│port-number│2    │
│       │     │  │clock-rate │*    │
└───────┴─────┴──┴───────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

codecs-get

Команда для получения списка аудио-кодеков медиа-профиля определенного типа в формате, пригодном для модификации и последующей установки в профиль.

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

/domain/<DOMAIN>/media-profile/codecs-get

Синтаксис:

codecs-get <MEDIA_PROFILE_NAME> <CODECS-TYPE>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля;
<CODECS-TYPE> — тип кодеков: audio/video/image/<other>, тип должен присутствовать в таблице Media type configuration(предварительно создан).

Команда возвращает список настроек аудио-кодеков в формате, пригодном для команды codecs-set.

Пример:

/domain/test_domain/media-profile/codecs-get example audio         
audio attributes:
  --offroad true 

Codecs:
  PCMA 8 --enabled true 
  PCMU 0 --enabled true 
  G729 18 --enabled true --'port-number' 2 --'clock-rate' *

codecs-priority

Команда для изменения приоритета кодека выбранного типа в медиа-профиле.

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

/domain/<DOMAIN>/media-profile/codecs-priority

Синтаксис:

codecs-priority <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT> up|down|set <LEVEL>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля.
<CODECS-TYPE> — тип кодеков: audio/video/image/<other>.
<CODEC-NAME> — имя кодека в SDP, который ранее был добавлен в codecs configuration таблицу предыдущими командами;
<CODEC-PT> — Payload Type для кодека, это числовой параметр, который ранее был добавлен в codecs configuration таблицу предыдущими командами;
<LEVEL> — set + целое число больше 0, указывающее позицию кодека в списке согласно приоритету кодека.

Примеры:

/domain/test_domain/media-profile/codecs-priority example audio G729 18 set 2            
Media-profile: example priority changed for audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
│video     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬──┬───────────┬─────┐
│Enabled│Codec│PT│ Property  │Value│
├───────┼─────┼──┼───────────┼─────┤
│       │PCMA │8 │           │     │
│       │G729 │18│port-number│2    │
│       │     │  │clock-rate │*    │
│       │PCMU │0 │           │     │
└───────┴─────┴──┴───────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

или

/domain/test_domain/media-profile/codecs-priority example audio G729 18 up            
Media-profile: example priority changed for audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
│video     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬──┬───────────┬─────┐
│Enabled│Codec│PT│ Property  │Value│
├───────┼─────┼──┼───────────┼─────┤
│       │G729 │18│port-number│2    │
│       │     │  │clock-rate │*    │
│       │PCMA │8 │           │     │
│       │PCMU │0 │           │     │
└───────┴─────┴──┴───────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

codecs-remove

Команда удаления одного или нескольких кодеков определенного типа из медиа-профиля.

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

/domain/<DOMAIN>/media-profile/codecs-remove

Синтаксис:

codecs-remove <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля;
<CODECS-TYPE> — тип кодеков: audio/video/image/<other>;
<CODEC-NAME> — имя кодека в SDP, который ранее был добавлен в codecs configuration таблицу предыдущими командами;
<CODEC-PT> — Payload Type для кодека, это числовой параметр, который ранее был добавлен в codecs configuration таблицу предыдущими командами;

Пример:

/domain/test_domain/media-profile/codecs-remove example audio PCMU 0            
Media-profile: example removes audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬─────┬──┬───────────┬─────┐
│Enabled│Codec│PT│ Property  │Value│
├───────┼─────┼──┼───────────┼─────┤
│       │G729 │18│port-number│2    │
│       │     │  │clock-rate │*    │
│       │PCMA │8 │           │     │
└───────┴─────┴──┴───────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

codecs-set

Команда установки набора кодеков определенного типа, заменяющая все ранее добавленные.

Будьте аккуратны , при выполнении данной команды все ранее установленные кодеки будут удалены.


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

/domain/<DOMAIN>/media-profile/codecs-set

Синтаксис:

codecs-set <name> <codecs-type> [<media-attributes> ... ] <codec-description> [<codec-description> ...]

Параметры:

В этой команде список кодеков должен быть исчерпывающим. В дальнейшем добавлять или удалять кодеки возможно командами codecs-add/codecs-remove соответственно.

Пример:

/domain/test_domain/media-profile/codecs-set example audio G729 18 PCMA 8 PCMU 0 G722 9 --media-proto RTP/AVP L16 * telephone-event *    Media-profile: example set audio codecs successfully.
Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬───────────────┬──┬───────────┬───────┐
│Enabled│     Codec     │PT│ Property  │ Value │
├───────┼───────────────┼──┼───────────┼───────┤
│       │G729           │18│           │       │
│       │PCMA           │8 │           │       │
│       │PCMU           │0 │           │       │
│       │G722           │9 │media-proto│RTP/AVP│
│       │L16            │* │           │       │
│       │telephone-event│* │           │       │
└───────┴───────────────┴──┴───────────┴───────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

declare

Команда предназначена для создания нового медиа-профиля.

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

/domain/<DOMAIN>/media-profile/declare

Синтаксис:

declare <MEDIA_PROFILE_NAME> <DESCRIPTION> <PRIORITY> [<ADDRESS-TYPE>]

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля;
<DESCRIPTION> — строка, описание медиа-профиля одним словом или предложением, записывается в двойных кавычках;
<PRIORITY> — user|system, определяет предпочтения по кодекам, в варианте user порядок кодеков заданный пользователем в offer SDP сохраняется, а в варианте system порядок кодеков в SDP перестраивается согласно системных предпочтений (в каком порядке заданы кодеки в профиле);
<ADDRESS-TYPE> — выбор IPv4 или IPv6.

Профиль создается в режиме пропускания всех кодеков.

Пример:

/domain/test_domain/media-profile/declare zzz "описание профиля" user                   
Media-profile: zzz declared successfully.

Media-profile detailed information:
┌───────────────┬────────────────┐
│   Parameter   │     Value      │
├───────────────┼────────────────┤
│name           │zzz             │
│description    │описание профиля│
│codecs-priority│user            │
└───────────────┴────────────────┘

Media type configuration:
┌──────────┬────────────┬─────┐
│Codec type│  Property  │Value│
├──────────┼────────────┼─────┤
│<other>   │offroad     │false│
│          │rtcp-enabled│true │
└──────────┴────────────┴─────┘

Codec type: <other> codecs configuration:
┌───────┬───────┬──┬────────┬─────┐
│Enabled│ Codec │PT│Property│Value│
├───────┼───────┼──┼────────┼─────┤
│       │<other>│* │        │     │
└───────┴───────┴──┴────────┴─────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

info

Команда для просмотра параметров конкретного медиа-профиля.

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

/domain/<DOMAIN>/media-profile/info

Синтаксис:

info <MEDIA_PROFILE_NAME>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля;

Результатом выполнения команды будет полная информация о указанном медиа-профиле.

Пример:

/domain/test_domain/media-profile/info example       
Media-profile general information:

┌─────────────────────┬────────────┐
│      Parameter      │   Value    │
├─────────────────────┼────────────┤
│name                 │example     │
│description          │test        │
│codecs-priority      │user        │
│addr-type            │*           │
│dtmf-receive-type    │auto        │
│dtmf-transmit-type   │transit     │
│recv-video-resolution│HD(1280x720)│
│send-video-resolution│HD(1280x720)│
└─────────────────────┴────────────┘

Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬───────────────┬──┬───────────┬───────┐
│Enabled│     Codec     │PT│ Property  │ Value │
├───────┼───────────────┼──┼───────────┼───────┤
│       │G729           │18│           │       │
│       │PCMA           │8 │           │       │
│       │PCMU           │0 │           │       │
│       │G722           │9 │media-proto│RTP/AVP│
│       │L16            │* │           │       │
│       │telephone-event│* │           │       │
└───────┴───────────────┴──┴───────────┴───────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.

list

Команда для просмотра списка медиа-профилей, сконфигурированных в домене.

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

/domain/<DOMAIN>/media-profile/list

Синтаксис:

list <MEDIA_PROFILE_NAME>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля.

Пример:


/domain/test_domain/media-profile/list
List of media-profiles:
┌─────────────┬─────────────────────────────────────────┐
│    Name     │               Description               │
├─────────────┼─────────────────────────────────────────┤
│default      │Default media profile for current domain.│
│profile_k508 │for tester k.508                         │
│remote_users │Для абонентов MSAN                       │
│video_support│С поддержкой видео                       │
└─────────────┴─────────────────────────────────────────┘

remove

Команда для удаления медиа-профиля.

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

/domain/<DOMAIN>/media-profile/remove

Синтаксис:

remove <MEDIA_PROFILE_NAME>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля.

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


Профиль default удалить нельзя.


Пример:

/domain/test_domain/media-profile/remove zzz       
Media profile: zzz removed successfully.

set

Команда для изменения общих параметров медиа-профиля.

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

/domain/<DOMAIN>/media-profile/set

Синтаксис:

set <MEDIA_PROFILE_NAME> <PARAM> <VALUE>

Параметры:

<MEDIA_PROFILE_NAME> — имя медиа-профиля.
<PARAM> — имя параметра для изменения, может быть address-type, description, codec-priority, offroad, address-type, fax-detector-type, rtcp-enabled, dtmf-receive-type, dtmf-transmit-type, recv-video-resolution, send-video-resolution 
<VALUE> — значение для выбранного параметра.

Список c предопределенными форматами исходящего и входящего разрешения видеопотока всплывает в подсказке:

2CIF(704x240)            4CIF(704x576)         CIF(352x288)             DVGA(960x640)

FWVGA(854x480)      HD(1280x720)         HQVGA(240x160)    HQVGA(256x160)

HVGA(480x270)         HVGA(480x320)      HVGA(480x360)        HVGA(640x240)

MPEG1(352x288)      NTSC(352x240)       PAL(352x288)            QCIF(176x144)

QHD(960x540)          QQVGA(160x120)   QVGA(320x240)        SQCIF(128x96)

SVGA(800x600)         VGA(640x480)         WQVGA(360x240)    WQVGA(376x240)

WQVGA(384x240)    WQVGA(400x240)  WQVGA(428x240)    WQVGA(432x240)

WQVGA(480x272)    WVGA(640x360)     WVGA(640x384)       WVGA(720x480)2

WVGA(768x480)       WVGA(800x450)      WVGA(800x480)      WVGA(848x480)

WVGA(852x480)       WVGA(853x480)      WVGA(854x480)      WXVGA(1200x600)

XGA(1024x768)         XGA(1152x864)       undefined

Для того чтобы очистить параметр, выберите undefined.

Пример:

/domain/test_domain/media-profile/set example recv-video-resolution HD(1280x720)  
Media-profile: example set recv-video-resolution successfully.

Media-profile detailed information:

┌─────────────────────┬────────────┐
│      Parameter      │   Value    │
├─────────────────────┼────────────┤
│name                 │example     │
│description          │test        │
│codecs-priority      │user        │
│addr-type            │*           │
│dtmf-receive-type    │auto        │
│dtmf-transmit-type   │transit     │
│recv-video-resolution│HD(1280x720)│
└─────────────────────┴────────────┘

Media type configuration:
┌──────────┬────────┬─────┐
│Codec type│Property│Value│
├──────────┼────────┼─────┤
│audio     │offroad │true │
└──────────┴────────┴─────┘

Codec type: audio codecs configuration:
┌───────┬───────────────┬──┬───────────┬───────┐
│Enabled│     Codec     │PT│ Property  │ Value │
├───────┼───────────────┼──┼───────────┼───────┤
│       │G729           │18│           │       │
│       │PCMA           │8 │           │       │
│       │PCMU           │0 │           │       │
│       │G722           │9 │media-proto│RTP/AVP│
│       │L16            │* │           │       │
│       │telephone-event│* │           │       │
└───────┴───────────────┴──┴───────────┴───────┘

Legend:
 Enabled  - is codec enabled. Empty means true.
 Codec    - list of codec names and special value <other>.
 PT       - Payload Type, * means any value.
 Property - name of attribute.
 Value    - value of attribute.
If attribute not specified in table it has Default value.