/domain/<DOMAIN>/media-profile/ - команды управления медиа-профилями
В текущем разделе описаны команды управления медиа-профилями.
В ряде случаев необходимо иметь возможность ограничивать список кодеков, которые используются для установления соединения, а так же выбирать кодеки с определенным приоритетом. При этом эти предпочтения могут быть установлены как глобально для домена, так и индивидаульно для абонента или для транка.
Настроенный медиа-профиль устанавливается на уровне алиасов, параметром 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>] - строка, описание медиа-профиля одним словом или предложением, записывается в двойных кавычках
Пример:
admin@[mycelium1@ecss1#ECSS 010145]:/$ domain/biysk.local/media-profile/copy old_profile new_profile new Media-profile general information: ┌──────────────────┬─────────────┐ │ Parameter │ Value │ ├──────────────────┼─────────────┤ │name │new_profile │ │description │new │ │codecs-priority │user │ │dtmf-receive-type │auto │ │dtmf-transmit-type│transit │ └──────────────────┴─────────────┘ Media type configuration: ┌──────────┬────────────┬─────┐ │Codec type│ Property │Value│ ├──────────┼────────────┼─────┤ │<other> │offroad │false│ │ │rtcp-enabled│true │ │audio │offroad │false│ │ │rtcp-enabled│true │ └──────────┴────────────┴─────┘ Codec type: audio codecs configuration: ┌───────┬───────────────┬──┬────────┬─────┐ │Enabled│ Codec │PT│Property│Value│ ├───────┼───────────────┼──┼────────┼─────┤ │ │G722 │* │ │ │ │ │PCMA │* │ │ │ │ │PCMU │* │ │ │ │ │G729 │* │ │ │ │ │telephone-event│* │ │ │ └───────┴───────────────┴──┴────────┴─────┘ 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. [exec at: 24.12.2019 07:30:49, exec time: 100ms, nodes: ds1@ecss2]
codecs-add
Команда для добавления одного или нескольких аудио-кодеков определенного типа в медиа-профиль.
Путь команды:
/domain/<DOMAIN>/media-profile/codecs-add
Синтаксис:
codecs-add <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT> <ENABLED>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<CODECS-TYPE> - тип кодеков: audio/video/image/<other>
<CODEC-NAME> - имя кодека из SDP. В подсказках система показывает все кодеки которые указаны в IANA, а так же можно ввести своё дополнительное имя кодека, если оно не стандартное. В качестве специального имени кодека можно использовать имя other которое означает любой кодек который не перечислен
<CODEC-PT> - Payload Type для кодека, это числовой параметр, система будет предлагать автоматически стандартное PT по имени кодека согласно IANA, но можно задать свой PT, если он не стандартный
<ENABLED> - показывает разрешен кодек или нет
Добавление кодеков производится в конец существующего списка кодеков, но специальный кодек <OTHER> всегда остается последним в списке.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-add profile_k508 audio PCMA 8 true PCMU 0 true GSM * true Media-profile: profile_k508 adds audio codecs successfully. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │G722 │9 │ │ │PCMA │8 │ │ │PCMU │0 │ │ │GSM │* │ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:28:49, exec time: 83ms, nodes: ds1@ecss1]
codecs-enable
Команда для включения/выключения одного и нескольких кодеков определенного типа в медиа-профиле.
Путь команды:
/domain/<DOMAIN>/media-profile/codecs-enable
Синтаксис:
codecs-enable <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT> <ENABLED>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<CODECS-TYPE> - тип кодеков: audio/video/image/<other>
<CODEC-NAME> - имя кодека из SDP. В подсказках система показывает все кодеки которые указаны в IANA, а так же можно ввести своё дополнительное имя кодека, если оно не стандартное. В качестве специального имени кодека можно использовать имя other которое означает любой кодек который не перечислен
<CODEC-PT> - Payload Type для кодека, это числовой параметр, система будет предлагать автоматически стандартное PT по имени кодека согласно IANA, но можно задать свой PT, если он не стандартный
<ENABLED> - показывает разрешен кодек или нет
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-enable remote_users video H264-AVC * false Media-profile: remote_users enables video codecs successfully. Codec type: video codecs configuration: ┌───────┬────────┬──┐ │Enabled│ Codec │PT│ ├───────┼────────┼──┤ │false │H264-AVC│* │ └───────┴────────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:31:46, exec time: 58ms, nodes: ds1@ecss1]
codecs-get
Команда для получения списка аудио-кодеков медиа-профиля определенного типа в формате пригодном для модификации и последующей установки в профиль.
Путь команды:
/domain/<DOMAIN>/media-profile/codecs-get
Синтаксис:
codecs-get <MEDIA_PROFILE_NAME> <CODECS-TYPE>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<CODECS-TYPE> - тип кодеков: audio/video/image/<other>
Команда возвращает список настроек аудио-кодеков в формате пригодном для команды codecs-set.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-get remote_users audio PCMA 8 true PCMU 0 true GSM * true G729 18 true telephone-event * true [exec at: 13.03.2019 10:30:58, exec time: 50ms, nodes: ds1@ecss1]
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. В подсказках система показывает все кодеки которые указаны в IANA, а так же можно ввести своё дополнительное имя кодека, если оно не стандартное. В качестве специального имени кодека можно использовать имя other которое означает любой кодек который не перечислен
<CODEC-PT> - Payload Type для кодека, это числовой параметр, система будет предлагать автоматически стандартное PT по имени кодека согласно IANA, но можно задать свой PT, если он не стандартный
<LEVEL> - целое число больше 0, указывающее позицию кодека в списке согласно приоритету кодека.
Примеры:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-priority profile_k508 audio G722 9 set 3 Media-profile: profile_k508 priority changed for audio codecs successfully. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMA │8 │ │ │PCMU │0 │ │ │G722 │9 │ │ │GSM │* │ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:35:01, exec time: 133ms, nodes: ds1@ecss1]
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-priority profile_k508 audio G722 9 down 2 Media-profile: profile_k508 priority changed for audio codecs successfully. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMA │8 │ │ │PCMU │0 │ │ │G722 │9 │ │ │GSM │* │ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:36:04, exec time: 75ms, nodes: ds1@ecss1]
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. В подсказках система показывает все кодеки которые указаны в IANA, а так же можно ввести своё дополнительное имя кодека, если оно не стандартное. В качестве специального имени кодека можно использовать имя other которое означает любой кодек который не перечислен
<CODEC-PT> - Payload Type для кодека, это числовой параметр, система будет предлагать автоматически стандартное PT по имени кодека согласно IANA, но можно задать свой PT, если он не стандартный
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-remove profile_k508 audio speex * Media-profile: profile_k508 removes audio codecs successfully. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │G722 │9 │ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:26:12, exec time: 75ms, nodes: ds1@ecss1]
codecs-set
Команда установки полного списка кодеков определенного типа.
Путь команды:
/domain/<DOMAIN>/media-profile/codecs-set
Синтаксис:
codecs-set <MEDIA_PROFILE_NAME> <CODECS-TYPE> <CODEC-NAME> <CODEC-PT> <ENABLED>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<CODECS-TYPE> - тип кодеков: audio/video/image/<other>
<CODEC-NAME> - имя кодека из SDP. В подсказках система показывает все кодеки которые указаны в IANA, а так же можно ввести своё дополнительное имя кодека, если оно не стандартное. В качестве специального имени кодека можно использовать имя other которое означает любой кодек который не перечислен
<CODEC-PT> - Payload Type для кодека, это числовой параметр, система будет предлагать автоматически стандартное PT по имени кодека согласно IANA, но можно задать свой PT, если он не стандартный
<ENABLED> - показывает разрешен кодек или нет
В этой команде список кодеков должен быть исчерпывающим.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/codecs-set remote_users audio G722 9 true PCMA 8 true PCMU 0 true GSM * true Media-profile: remote_users set audio codecs successfully. Media-profile detailed information: ┌───────────────┬───────────────────────┐ │ Parameter │ Value │ ├───────────────┼───────────────────────┤ │name │remote_users │ │description │Для удаленных абонентов│ │codecs-priority│system │ └───────────────┴───────────────────────┘ Media type configuration: ┌──────────┬────────┬─────┐ │Codec type│Property│Value│ ├──────────┼────────┼─────┤ │audio │offroad │true │ │video │offroad │true │ │<other> │offroad │true │ └──────────┴────────┴─────┘ Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │G722 │9 │ │ │PCMA │8 │ │ │PCMU │0 │ │ │GSM │* │ └───────┴─────┴──┘ Codec type: video codecs configuration: ┌───────┬────────┬──┐ │Enabled│ Codec │PT│ ├───────┼────────┼──┤ │false │H264-AVC│* │ └───────┴────────┴──┘ Codec type: <other> codecs configuration: ┌───────┬───────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │<other>│* │ └───────┴───────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 10:42:15, exec time: 83ms, nodes: ds1@ecss1]
declare
Команда предназначена для создания нового медиа-профиля.
Путь команды:
/domain/<DOMAIN>/media-profile/declare
Синтаксис:
declare <MEDIA_PROFILE_NAME> <DESCRIPTION> <PRIORITY>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<DESCRIPTION> - строка, описание медиа-профиля одним словом или предложением, записывается в двойных кавычках
<PRIORITY> - user|system определяет предпочтения по кодекам, в варианте user порядок кодеков заданный пользователем в offer SDP сохраняется, а в варианте system порядок кодеков в SDP перестраивается согласно системных предпочтений (в каком порядке заданы кодеки в профиле)
Профиль создается в режиме пропускания всех кодеков.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/declare profile_k508 "for tester k.508" user Media-profile: profile_k508 declared successfully. Media-profile detailed information: ┌───────────────┬────────────────┐ │ Parameter │ Value │ ├───────────────┼────────────────┤ │name │profile_k508 │ │description │for tester k.508│ │codecs-priority│user │ └───────────────┴────────────────┘ Media type configuration: ┌──────────┬────────┬─────┐ │Codec type│Property│Value│ ├──────────┼────────┼─────┤ │<other> │offroad │true │ └──────────┴────────┴─────┘ Codec type: <other> codecs configuration: ┌───────┬───────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │<other>│* │ └───────┴───────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 08:49:42, exec time: 116ms, nodes: ds1@ecss1]
info
Команда для просмотра параметров конкретного медиа-профиля.
Путь команды:
/domain/<DOMAIN>/media-profile/info
Синтаксис:
info <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
Результатом выполнения команды будет полная информация о указанном медиа-профиле.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/info remote_users Media-profile general information: ┌───────────────┬───────────────────────┐ │ Parameter │ Value │ ├───────────────┼───────────────────────┤ │name │remote_users │ │description │Для удаленных абонентов│ │codecs-priority│system │ └───────────────┴───────────────────────┘ Media type configuration: ┌──────────┬────────┬─────┐ │Codec type│Property│Value│ ├──────────┼────────┼─────┤ │<other> │offroad │true │ │audio │offroad │true │ │video │offroad │true │ └──────────┴────────┴─────┘ Codec type: audio codecs configuration: ┌───────┬───────────────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────────────┼──┤ │ │PCMA │8 │ │ │PCMU │0 │ │ │GSM │* │ │ │G729 │18│ │ │telephone-event│* │ └───────┴───────────────┴──┘ Codec type: video codecs configuration: ┌───────┬────────┬──┐ │Enabled│ Codec │PT│ ├───────┼────────┼──┤ │ │H264-AVC│* │ └───────┴────────┴──┘ Codec type: <other> codecs configuration: ┌───────┬───────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │<other>│* │ └───────┴───────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 09:47:57, exec time: 58ms, nodes: ds1@ecss1]
list
Команда для просмотра списка медиа-профилей сконфигурированных в домене.
Путь команды:
/domain/<DOMAIN>/media-profile/list
Синтаксис:
list <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/list List of media-profiles: ┌────────────┬─────────────────────────────────────────┐ │ Name │ Description │ ├────────────┼─────────────────────────────────────────┤ │default │Default media profile for current domain.│ │mp4office1 │mp4ofiice1 │ │profile_k508│for tester k.508 │ │remote_users│Для удаленных абонентов │ └────────────┴─────────────────────────────────────────┘ [exec at: 13.03.2019 09:50:14, exec time: 58ms, nodes: ds1@ecss1]
remove
Команда для удаления медиа-профиля.
Путь команды:
/domain/<DOMAIN>/media-profile/remove
Синтаксис:
remove <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля.
Команда должна выполнить проверку использования этого профиля в каких-либо сущностях системы (установлен для домена/абонента/транка). При положительном ответе запрашивает подтверждение об удалении (можно показать список сущностей, где используется профиль).
Если подтверждение об удалении было получено, то происходит удаление профиля и подчистка информации о медиа-профиле у всех сущностей, которые его использовали (для домена профиль устанавливается в default).
Профиль default удалить нельзя.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/remove profile_k508 Media profile: profile_k508 removed successfully. [exec at: 13.03.2019 10:44:08, exec time: 58ms, nodes: ds1@ecss1]
set
Команда для изменения общих параметров медиа-профиля.
Путь команды:
/domain/<DOMAIN>/media-profile/set
Синтаксис:
remove <MEDIA_PROFILE_NAME> <PARAM> <VALUE>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля.
<PARAM> - имя параметра для изменения, может быть description или codecs-priority
<VALUE> - значение для выбранного параметра: строка для параметра description, и system или user для параметра codecs-priority
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/media-profile/set profile_k508 offroad audio false Media-profile: profile_k508 set offroad successfully. Media-profile detailed information: ┌───────────────┬────────────────┐ │ Parameter │ Value │ ├───────────────┼────────────────┤ │name │profile_k508 │ │description │for tester k.508│ │codecs-priority│user │ └───────────────┴────────────────┘ Media type configuration: ┌──────────┬────────┬─────┐ │Codec type│Property│Value│ ├──────────┼────────┼─────┤ │<other> │offroad │true │ │audio │offroad │false│ └──────────┴────────┴─────┘ Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ └───────┴─────┴──┘ Codec type: <other> codecs configuration: ┌───────┬───────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │<other>│* │ └───────┴───────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value. [exec at: 13.03.2019 09:52:08, exec time: 58ms, nodes: ds1@ecss1]
Были добавлены параметры:
Взамен параметра dtmf_source на уровне медиа-профиля добавить два свойства:
- dtmf-receive = auto :: signalling | none | auto | rfc2833 | inband - метод детекции DTMF;
- none - не принимать DTMF с данного интерфейса;
- auto - автоматически детектировать источник DTMF по первому полученному сообщению;
- signalling - детектировать DTMF на основе SIP Info;
- rfc2833 - детектировать DTMF из RTP по rfc2833;
- inband - детектировать DTMF из RTP по INBAND
- dtmf-transmit = transit :: signalling | none | transit | rfc2833 | inband - метод передачи DTMF
- none - не передавать DTMF на данный интерфейса;
- transit - передавать DTMF в том формате, в котором он был получен;
- signalling - передавать DTMF в SIP Info;
- rfc2833 - передавать DTMF через RTP по rfc2833;
- inband - передавать DTMF через RTP по INBAND
2.1 Команда для изменения свойств dtmf-receive, dtmf-transmit медиа-профиля: