В текущем разделе описаны команды управления медиа-профилями.
В ряде случаев необходимо иметь возможность ограничивать список кодеков, которые используются для установления соединения, а так же выбирать кодеки с определенным приоритетом. При этом эти предпочтения могут быть установлены как глобально для домена, так и индивидуально для абонента или для транка.
Настроенный медиа-профиль устанавливается на уровне алиасов, параметром media-profile и/или media-profile-outgoint (если нужно использовать отдельный медиа-профиль для исходящей свиязи).
В домене по-умолчанию используются установки медиа-профиля default.
codecs-add
Команда для добавления одного или нескольких аудио-кодеков определенного типа в медиа-профиль.
Путь команды:
media-profile/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> всегда остается последним в списке.
Пример:
/domain/DOMAIN_NAME/media-profile/codecs-add new_media_profile audio G729 18 true Media-profile: new_media_profile adds audio codecs successfuly. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMA │8 │ │ │G729 │18│ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value.
codecs-enable
Команда для включения/выключения одного и нескольких кодеков определенного типа в медиа-профиле.
Путь команды:
media-profile/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> - показывает разрешен кодек или нет
Пример:
domain/tc.test/media-profile/codecs-enable new_media_profile audio G729 18 false Media-profile: new_media_profile enables audio codecs successfuly. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMA │8 │ │false │G729 │18│ └───────┴─────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - Payload Type, * means any value.
codecs-get
Команда для получения списка аудио-кодеков медиа-профиля определенного типа в формате пригодном для модификации и последующей установки в профиль.
Путь команды:
media-profile/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.
Пример:
/domain/DOMAIN_NAME/media-profile/codecs-get new_media_profile audio PCMA 8 true G729 18 false
codecs-priority
Команда для изменения приоритета кодека выбранного типа в медиа-профиле.
Путь команды:
media-profile/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, указывающее позицию кодека в списке согласно приоритету кодека.
Пример:
domain/DOMAIN_NAME/media-profile/codecs-priority new_media_profile audio G729 18 up Media-profile: new_media_profile priority changed for audio codecs successfuly. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │false │G729 │18│ │ │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.
/domain/DOMAIN_NAME/media-profile/codecs-priority new_media_profile audio PCMU 0 set 1 Media-profile: new_media_profile priority changed for audio codecs successfuly. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMU │0 │ │false │G729 │18│ │ │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.
codecs-remove
Команда удаления одного или нескольких кодеков определенного типа из медиа-профиля.
Путь команды:
media-profile/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, если он не стандартный
Пример:
/domain/DOMAIN_NAME/media-profile/codecs-remove new_media_profile audio G729 18 Media-profile: new_media_profile removes audio codecs successfuly. Codec type: audio codecs configuration: ┌───────┬─────┬──┐ │Enabled│Codec│PT│ ├───────┼─────┼──┤ │ │PCMU │0 │ │ │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.
codecs-set
Команда установки полного списка кодеков определенного типа.
Путь команды:
media-profile/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> - показывает разрешен кодек или нет
В этой команде список кодеков должен быть исчерпывающим.
Пример:
/domain/DOMAIN_NAME/media-profile/codecs-set new_media_profile audio PCMA 8 true G723 4 true GSM 3 true telephone-event * true Media-profile: new_media_profile set audio codecs successfuly. Media-profile detailed information: ┌───────────────┬─────────────────┐ │ Parameter │ Value │ ├───────────────┼─────────────────┤ │name │new_media_profile│ │description │new_profile │ │codecs-priority│user │ └───────────────┴─────────────────┘ Codec type: audio codecs configuration: ┌───────┬───────────────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────────────┼──┤ │ │PCMA │8 │ │ │G723 │4 │ │ │GSM │3 │ │ │telephone-event│* │ └───────┴───────────────┴──┘ 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.
declare
Команда предназначена для создания нового медиа-профиля.
Путь команды:
media-profile/declare
domain/<DOMAIN>/media-profile/declare
Синтаксис:
declare <MEDIA_PROFILE_NAME> <DESCRIPTION> <PRIORITY>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
<DESCRIPTION> - строка, описание медиа-профиля одним словом или предложением, записывается в двойных кавычках
<PRIORITY> - user|system определяет предпочтения по кодекам, в варианте user порядок кодеков заданный пользователем в offer SDP сохраняется, а в варианте system порядок кодеков в SDP перестраивается согласно системных предпочтений (в каком порядке заданы кодеки в профиле)
Профиль создается в режиме пропускания всех кодеков.
Пример:
domain/tc.test/media-profile/declare new_media_profile new_profile user Media-profile: new_media_profile declared successfuly. Media-profile detailed information: ┌───────────────┬─────────────────┐ │ Parameter │ Value │ ├───────────────┼─────────────────┤ │name │new_media_profile│ │description │new_profile │ │codecs-priority│user │ └───────────────┴─────────────────┘ 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.
info
Команда для просмотра параметров конкретного медиа-профиля.
Путь команды:
media-profile/info
domain/<DOMAIN>/media-profile/info
Синтаксис:
info <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
Результатом выполнения команды будет полная информация о указанном медиа-профиле.
Пример:
>/domain/d.city/properties/media-profile/info default Media-profile general information: ╭───────────────┬─────────────────────────────────╮ │ Parameter │ Value │ ├───────────────┼─────────────────────────────────┤ │name │default │ │description │Default media profile for domain.│ │codecs-prioroty│user │ └───────────────┴─────────────────────────────────┘ Codecs type: audio codecs configuration: ╭───────┬───────────────┬──╮ │Enabled│ Codec │PT│ ├───────┼───────────────┼──┤ │ │G722 │9 │ │ │PCMA │8 │ │ │PCMU │0 │ │ │G726-32 │2 │ │ │G729 │18│ │ │telephone-event│96│ │false │opus │* │ │false │SILK │* │ │ │<other> │* │ └───────┴───────────────┴──┘ Codecs type: video codecs configuration: ╭───────┬───────┬──╮ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │H263 │34│ │ │H264 │* │ │ │<other>│* │ └───────┴───────┴──┘ Codecs type: image codecs configuration: ╭───────┬───────┬──╮ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │T38 │* │ │false │JPEG │26│ │false │<other>│* │ └───────┴───────┴──┘ Codecs type: image codecs configuration: ╭───────┬───────┬──╮ │Enabled│ Codec │PT│ ├───────┼───────┼──┤ │ │<other>│* │ └───────┴───────┴──┘ Legend: Enabled - is codec enabled. Empty means true. Codec - list of codec names and special value <other>. PT - PayloadType, * means any value.
list
Команда для просмотра списка медиа-профилей сконфигурированных в домене.
Путь команды:
media-profile/list
domain/<DOMAIN>/media-profile/list
Синтаксис:
list <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля
Пример:
>/domain/d.city/properties/media-profile/list List of media-profiles: ╭─────────────┬─────────────────────────────────╮ │ Name │ Description │ ├─────────────┼─────────────────────────────────┤ │default │Default media profile for domain.│ │office │Profile for office network │ │remote_office│Профиль для удаленного офиса │ └─────────────┴─────────────────────────────────┘
remove
Команда для удаления медиа-профиля.
Путь команды:
media-profile/remove
domain/<DOMAIN>/media-profile/remove
Синтаксис:
remove <MEDIA_PROFILE_NAME>
Параметры:
<MEDIA_PROFILE_NAME> - имя медиа-профиля.
Команда должна выполнить проверку использования этого профиля в каких-либо сущностях системы (установлен для домена/абонента/транка). При положительном ответе запрашивает подтверждение об удалении (можно показать список сущностей, где используется профиль).
Если подтверждение об удалении было получено, то происходит удаление профиля и подчистка информации о медиа-профиле у всех сущностей, которые его использовали (для домена профиль устанавливается в default).
Профиль default удалить нельзя.
Пример:
/domain/DOMAIN_NAME/media-profile/remove new_media_profile Media profile: new_media_profile removed successfuly.
set
Команда для изменения общих параметров медиа-профиля.
Путь команды:
media-profile/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
Пример:
domain/DOMAIN_NAME/media-profile/set new_media_profile codecs-priority system Media-profile: new_media_profile set codecs-priority successfuly. Media-profile detailed information: ┌───────────────┬─────────────────┐ │ Parameter │ Value │ ├───────────────┼─────────────────┤ │name │new_media_profile│ │description │new_profile │ │codecs-priority│system │ └───────────────┴─────────────────┘ Codec type: audio codecs configuration: ┌───────┬───────────────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────────────┼──┤ │ │PCMA │8 │ │ │G723 │4 │ │ │GSM │3 │ │ │telephone-event│* │ └───────┴───────────────┴──┘ 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.
/domain/DOMAIN_NAME/media-profile/set new_media_profile description "Some description" Media-profile: new_media_profile set description successfuly. Media-profile detailed information: ┌───────────────┬──────────────────┐ │ Parameter │ Value │ ├───────────────┼──────────────────┤ │name │new_media_profile │ │description │"Some description"│ │codecs-priority│system │ └───────────────┴──────────────────┘ Codec type: audio codecs configuration: ┌───────┬───────────────┬──┐ │Enabled│ Codec │PT│ ├───────┼───────────────┼──┤ │ │PCMA │8 │ │ │G723 │4 │ │ │GSM │3 │ │ │telephone-event│* │ └───────┴───────────────┴──┘ 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.