3.14.4 /domain/<DOMAIN>/trunk/sip/ - команды управления транками SIP
В разделе приведены описания команд управления транками, работающими по протоколу SIP.
Примечание. В командах предусмотрен флаг --force. Его применение позволяет выполнить команду без дополнительного подтверждения, что бывает удобно, нпример, в скриптах автоматизации. Если флаг "--force" не указывать, то система выведет сообщение, например:
[block] Trunk eltex will be blocked Continue: yes/no ?>
Если ввести команду "yes", то команда будет выполнена . Если ввести команду "no", то нет.
apply
Команда используется для применения к транку профиля настроек.
Примечание. Параметры профиля применяются к транку разово. Если в профиле были изменения, то по необходимости нужно снова выполнить его применение к транку.
Путь команды:
/domain/<DOMAIN>/trunk/sip/apply
Синтаксис:
apply <GROUP> <IFACE> profile <PROFILE>
Параметры:
<GROUP> - название группы интерфейсов;
<TRUNK_INTERFACE> - логическое имя транка;
<PROFILE> - имя профиля настроек транков. Для применения доступны профили, которые соответствует локализованным спецификациям ISUP:
- ISUP.ANSI;
- ISUP.ETSI;
- ISUP.RUS;
- ISUP.TELCORDIA.
Профиль стандарта ISUP отличается от пользовательских профилей возможностью настраивать только определенные стандартом параметры.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/apply smg.gr smg-4 profile ISUP.RUS Executed on the sip1@ecss2 profile 'ISUP.RUS' is applyed to trunk 'smg-4'. [exec at: 17.03.2019 10:56:39, exec time: 116ms, nodes: sip1@ecss2]
block
Команда для блокировки определенного транка, всех транков одной группы.
Соответствующий интерфейс переводится в неактивное состояние.
Путь команды:
/domain/<DOMAIN>/trunk/sip/block
Синтаксис:
block <GROUP> <TRUNK_INTERFACE> [--force]
Параметры:
<GROUP> - имя группы, интерфейс/интерфейсы которой нужно заблокировать;
<TRUNK_INTERFACE> - имя блокируемого интерфейса, при указании символа "*" будут заблокированы все транки заданной группы;
[--force] - опционально, при указании данного флага блокировка транка/транков будет производиться без дополнительного вопроса.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/block ssw.gr ems3 [block] Trunk ems3 will be blocked continue: yes/no ?> yes Executed on the sip1@ecss2 ┌──────┬────┐ │ ems3 │ ok │ └──────┴────┘ [exec at: 17.03.2019 11:16:43, exec time: 3s 759ms, nodes: sip1@ecss2]
call-list
Команда просмотра списка активных вызовов через транк.
Путь команды:
/domain/<DOMAIN>/trunk/sip/call-list
Синтаксис:
сall-list [GROUP] [INTERFACE] [OPTIONS]
Параметры:
<GROUP> - название группы интерфейсов. Символ "*" указывается для экспорта всех групп интерфейсов;
<INTERFACE> - логическое имя транка;
OPTIONS:
- <--complete> - установка данного флага позволяет отобразить все интерфейсы, на которые были приняты вызовы;
- <--more T [sec|min|hour]> - установка данного флага позволяет отобразить все вызовы, длительность которых более установленного времени;
- <--less T [sec|min|hour]> - установка данного флага позволяет отобразить все вызовы, длительность которых менее установленного времени.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/call-list Executed on the sip1@ecss2 ┌───────────────┬────────────────────────────────┬──────────┬──────────────────────────────────────────┬───────────────────────────────────────────────────────┐ │ Interface URI │ Direction │ State │ Time │ Additional info │ ├───────────────┼────────────────────────────────┼──────────┼──────────────────────────────────────────┼───────────────────────────────────────────────────────┤ │ ems1 │ sip[245718] <- ssw[9639695494] │ outgoing │ Start: Sat, 16 Mar 2019 19:15:06 │ Node: sip1@ecss1, <61649.31655.8> │ │ │ │ │ Last activity: Sun, 17 Mar 2019 11:14:40 │ CallRef: 847685256 │ │ │ │ │ │ Call-ID: "BA:8c6f71e140668560:8c6f71e7addf886e" │ │ │ │ │ │ SessionID: <<"BA:8c6f71e140668560:8c6f71e7addf886e">> │ │ │ │ │ │ Session handler: {amqp_io_8,<61649.31655.8>} │ │ smg-4 │ sip[9639695494] -> ssw[245718] │ incoming │ Start: Sat, 16 Mar 2019 19:15:06 │ Node: sip1@ecss1, <61649.31609.8> │ │ │ │ │ Last activity: Sun, 17 Mar 2019 11:14:40 │ CallRef: 847685256 │ │ │ │ │ │ Call-ID: "1552-738506-319237" │ │ │ │ │ │ SessionID: <<"8c6f71e140668560">> │ │ │ │ │ │ Session handler: {amqp_io_16,<61649.31609.8>} │ └───────────────┴────────────────────────────────┴──────────┴──────────────────────────────────────────┴───────────────────────────────────────────────────────┘ ┌────────────┐ │ 2 sessions │ └────────────┘ [exec at: 17.03.2019 11:14:40, exec time: 226ms, nodes: sip1@ecss2]
check
Команда проверки доступности направления. Выполняется посредством отправки запроса OPTIONS.
Тест может выполняться для определенного транка или для всех транков группы либо кластера.
Путь команды:
/domain/<DOMAIN>/trunk/sip/check
Синтаксис:
check <GROUP> [<TRUNK_INTERFACE>] [timerF = <TIMEOUT>]
Параметры:
<GROUP> - название существующей группы интерфейсов. Символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> - логическое имя транка. Символ "*" используется для указания всех интерфейсов группы.
Если ответ не получен (направление на данный транк не доступно), то выводится результат "timeout".
Примечание.
Если удаленный клиент не поддерживает запросы OPTIONS, и при этом не отвечает ответом 405, то результат будет таким же, хотя реально направление доступно для вызовов.
В таком случае периодический контроль доступности должен быть отключен (set options_control 0).
<TIMEOUT> - тайм-аут ожидания ответа, в пределах которого отправляются повторные запросы, если удаленная сторона не отвечает. Задается в миллисекундах. Для выключения контроля установите значение тайм-аута - 0.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/check smg.gr smg-4 timerF = 5000 Executed on the sip1@ecss2 Intermediate (incomplete) result: Process to <<"smg-4">> check is started: {<0.22114.0>,<0.22114.0>} ... Executed on the sip1@ecss2 Intermediate (incomplete) result: Try to send OPTIONS to <<"smg-4">> (timerF = 5000) ... Executed on the sip1@ecss2 ┌────────┬───────┬────────────┬────────────────────────────────────────────────────────────────────────────────┐ │ Group │ Trunk │ Accessible │ Check info │ ├────────┼───────┼────────────┼────────────────────────────────────────────────────────────────────────────────┤ │ smg.gr │ smg-4 │ true │ OPTIONS to <sip:192.168.2.8>: 200 OK, cseq: 200599 OPTIONS. Request by node: si│ │ │ │ │p1@ecss2 │ └────────┴───────┴────────────┴────────────────────────────────────────────────────────────────────────────────┘ [exec at: 17.03.2019 11:35:45, exec time: 392ms, nodes: sip1@ecss2]
clean
Команда устанавливает значения по умолчанию для параметров профиля транка.
Путь команды:
/domain/<DOMAIN>/trunk/sip/clean
Синтаксис:
clean --profile <PROFILE> <PARAMETER> [--force]
Параметры:
<PROFILE> - имя профиля;
<PARAMETER> - параметр, для которого устанавливается значение по умолчанию.
--force - выполнить команду без запроса подтверждения.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/clean ssw.gr ems3 req100rel [clean] Set parameters to default value continue: yes/no ?> yes clean to 1 interfaces ... [**********************************************************************] 5ms Executed on the sip1@ecss2 complete [exec at: 17.03.2019 11:51:40, exec time: 3s 624ms, nodes: sip1@ecss2]
declare
Команда декларации транка SIP.
Декларация нового транка возможна только в существующем контексте маршрутизации.
Может быть выбрана существующая группа или задекларирована новая.
При декларации выполняется проверка на существование имени интерфейса (одинаковые имена запрещены, о чем будет сразу выдано предупреждение "trunk already exists") и связки IP:Порт:Слушающий_порт (в случае совпадения с существующим именем будет выдано предупреждение, декларация может быть выполнена, а в дальнейшем параметры могут быть изменены).
При успешной операции выполняется проверка доступности заданного направления посредством запроса OPTIONS (см. команду check).
Путь команды:
/domain/<DOMAIN>/trunk/sip/declare
Синтаксис:
declare <ROUTING_CONTEXT> <GROUP> <TRUNK_INTERFACE> <IP_SET>[--registration | <DEST_HOST> <DEST_PORT> <MODE> <LISTEN_PORT>]
Параметры:
<ROUTING_CONTEXT> - название существующего контекста маршрутизации;
<GROUP> - название группы интерфейсов (может быть задана существующая или новая группа);
<TRUNK_INTERFACE> - имя системного интерфейса, описывающего данное направление. Имя интерфейса является внутрисистемным идентификатором, участвующем в маршрутизации, отображении статистики и другое;
<IP_SET> - набор IP-адресов;
--registration - декларация динамического транка (с регистрацией);
Примечание:
При декларации динамического транка операторская регистрация должна выполнятся для пользователя <TRUNK_INTERFACE>@<GROUP>.
Параметры <DEST_HOST>, <DEST_PORT>, <MODE>, <LISTEN_PORT> не задаются.
Режим для динамических транков устанавливается sip-proxy, регистрация для транков с инкапсуляцией ISUP использоваться не должна.
<DEST_HOST> - хост, назначаемый для транка (IP-адрес или доменное имя);
<DEST_PORT> - порт, назначаемый для транка;
<MODE> - режим инкапсуляции ISUP:
- sip-proxy - направление работает только по протоколу SIP (RFC 3261);
- sip-t - направление работает по SIP с инкапсуляцией ISUP по протоколу SIP-T (RFC 3372);
- sip-i - направление работает по SIP с инкапсуляцией ISUP по протоколу SIP-I (Q.1912-5);
- sip-q - направление работает по SIP с инкапсуляцией QSIG по протоколу SIP-Q(Q.931).
Примечание.
Работа в режимах sip-t, sip-i в основном отличается при кодировании/декодировании инкапсулированного ISUP и при маппинге статусов ответов о завершении. В дальнейшем режим может быть изменен.
<LISTEN_PORT> - слушающий порт. На адаптере может быть открыто несколько слушающих портов.
Используя слушающие порты, можно детектировать запросы с разных транков одного удаленного хоста, которые имеют одинаковые IP-адрес и номер порта.
При выборе значения "default" слушающий порт, который принял входящий запрос, не будет учитываться при определении транка.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/declare ctx_from_local sbc.gr brn.sbc ipset1 static 10.22.131.9 5068 sip-t 5076 Executed on the sip1@ecss2 declared [exec at: 17.03.2019 11:54:55, exec time: 158ms, nodes: sip1@ecss2]
info
Команда для просмотра информации о настройках параметров транка и профилей транка.
Дополнительное описание параметров интерфейсов (транков) приведено в Приложении Б. Набор параметров интерфейса SIP.
Путь команды:
/domain/<DOMAIN>/trunk/sip/info
Синтаксис:
info <GROUP> [<TRUNK_INTERFACE>] [--profile <PROFILE>]
Параметры:
<GROUP> - название существующей группы интерфейсов, символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> - логическое имя транка, символ "*" используется для указания всех интерфейсов группы.
Для просмотра свойств группы имя интерфейса транка (символ "*") не указывается.
--profile - флаг используется для просмотра информации о конфигурации профилей транка;
<PROFILE> - имя профиля, символ "*" используется для указания всех профилей транков.
Пример:
Свойства определенного транка:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/info smg.gr smg-4 Executed on the sip1@ecss2 ┌────────┬───────┬───────────┬────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐ │ Group │ Uri │ Is active │ Is blocked │ Is dynamic │ Parameters │ ├────────┼───────┼───────────┼────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤ │ smg.gr │ smg-4 │ true │ false │ false │ declared by admin at 15.12.2018 22:44:07 │ │ │ │ │ │ │ │ │ │ │ │ │ │ remote-end-point = 192.168.2.8:5061 │ │ │ │ │ │ │ local-end-point = ipset1:5061 │ │ │ │ │ │ │ mode = sip-t │ │ │ │ │ │ │ connect time = 17.03.2019 09:25:04 │ │ │ │ │ │ │ uptime = 2h 32m │ │ │ │ │ │ │ disconnections number = 0 │ │ │ │ │ │ │ last connection status = 200 │ │ │ │ │ │ │ - - - - - - - - - - - - - - = - - - - - - - - - - - - - - │ │ │ │ │ │ │ alarm_enable = false │ │ │ │ │ │ │ category_to_sip = default │ │ │ │ │ │ │ cdpn-transformation = none │ │ │ │ │ │ │ compact-form = default │ │ │ │ │ │ │ content_encoding = none │ │ │ │ │ │ │ disable-remote-port-control = false │ │ │ │ │ │ │ display-name-encoding = default │ │ │ │ │ │ │ dtmf-duration = 100 │ │ │ │ │ │ │ dtmf-relay = false │ │ │ │ │ │ │ history-info = false │ │ │ │ │ │ │ inc-authentication = none │ │ │ │ │ │ │ inc-authentication_type = user │ │ │ │ │ │ │ inc-login = none │ │ │ │ │ │ │ inc-password = none │ │ │ │ │ │ │ maddr = none │ │ │ │ │ │ │ my_from = biysk.local │ │ │ │ │ │ │ options_control = disable │ │ │ │ │ │ │ original-cdpn-to = true │ │ │ │ │ │ │ out-login = none │ │ │ │ │ │ │ out-password = none │ │ │ │ │ │ │ out-registration = disable │ │ │ │ │ │ │ referred-by-as-cgpn = false │ │ │ │ │ │ │ remote-client = default │ │ │ │ │ │ │ remote-ctr-indication = rpi │ │ │ │ │ │ │ remote-network-type = local │ │ │ │ │ │ │ req100rel = true │ │ │ │ │ │ │ rfc-4028-control = force │ │ │ │ │ │ │ routing.context = ctx_from_ewsd │ │ │ │ │ │ │ sip-domain = 192.168.2.8 (use-address) │ │ │ │ │ │ │ sip-modifications = │ │ │ │ │ │ │ sip-transit = │ │ │ │ │ │ │ sip_transport = udp_only │ │ │ │ │ │ │ symbol_hash_as_is = false │ │ │ │ │ │ │ tel-uri-in-diversion = false │ │ │ │ │ │ │ trunk (trunk name) = biysk.local.smg.gr.trunk.autoname │ │ │ │ │ │ │ user-name = smg-4 │ └────────┴───────┴───────────┴────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘ [exec at: 17.03.2019 11:57:26, exec time: 100ms, nodes: sip1@ecss2]
Просмотр конфигурации профилей транков:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/info --profile * Executed on the sip1@ecss2 ┌───────────┬───────────────────────────┐ │ Profile │ Parameters │ ├───────────┼───────────────────────────┤ │ ISUP.ETSI │ network-node-id = 0 │ │ │ network-id = 0 │ │ │ use-global-callref = true │ │ │ country-code = 250 │ │ ISUP.RUS │ isup_r_ccl_send = true │ └───────────┴───────────────────────────┘ [exec at: 17.03.2019 11:58:12, exec time: 100ms, nodes: sip1@ecss2]
remove
Команда для удаления определенного транка, всех транков одной группы или профиля транка.
Путь команды:
/domain/<DOMAIN>/trunk/sip/remove
Синтаксис:
remove <GROUP> <TRUNK_INTERFACE>|--profile <PROFILE> [--force]
Параметры:
<GROUP> - название существующей группы интерфейсов;
<TRUNK_INTERFACE> - имя интерфейса, который нужно удалить. Символ "*" используется для указания всех интерфейсов группы. При удалении всех интерфейсов группы также удаляется сама группа.
<PROFILE> - имя профиля, символ "*" используется для указания всех профилей транков.
- --profile - флаг используется для удаления профиля транка;
- --force - опционально, при указании данного флага удаление транка/транков будет производиться без дополнительного вопроса.
Пример:
Удаление транка:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/remove sbc.gr brn.sbc --force Executed on the sip1@ecss1 [exec at: 17.03.2019 12:01:30, exec time: 108ms, nodes: sip1@ecss1]
set
Данной командой выполняется настройка параметров группы транков.
Путь команды:
domain/<DOMAIN>/trunk/sip/set
Синтаксис:
set <GROUP> <TRUNK_INTERFACE> <PARAMETER> <VALUE> | --profile <PROFILE>
Параметры:
<GROUP> - название существующей группы интерфейса. Символ "*" используется для указания всех групп транков;
<TRUNK_INTERFACE> - имя интерфейса. Символ "*" используется для указания всех интерфейсов группы;
<PARAMETER> - название параметра, список параметров приведен в Приложении Б. Набор параметров интерфейса SIP.
<VALUE> - значение параметра.
--profile - флаг используется для создания/настройки профиля транков;
<PROFILE> - имя профиля.
Примеры:
Установка адреса:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/set ssw.gr ems3 remote-end-point 192.168.2.15 5088 complete [exec at: 17.03.2019 11:45:17, exec time: 117ms, nodes: sip1@ecss1]
Установка контекста маршрутизации:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/set sbc.gr nsk_sbc routing.context ctx_from_local change context for 1 users ... [**********************************************************************] 3ms complete [exec at: 17.03.2019 11:39:20, exec time: 108ms, nodes: sip1@ecss1]
unblock
Команда для разблокировки определенного транка, всех транков одной группы.
Соответствующий интерфейс переводится в активное состояние.
Путь команды:
/domain/<DOMAIN>/trunk/sip/unblock
Синтаксис:
unblock <GROUP> <TRUNK_INTERFACE>[--force]
Параметры:
<GROUP> - имя группы, интерфейс/интерфейсы которой нужно разблокировать;
<TRUNK_INTERFACE> - имя интерфейса, символ "*" используется для указания всех интерфейсов группы;
[--force] - опционально, при указании данного флага разблокировка транка/транков будет производиться без дополнительного вопроса.
Пример:
admin@[ds1@ecss1]:/$ domain/biysk.local/trunk/sip/unblock ssw.gr * --force Executed on the sip1@ecss2 ┌──────┬────┐ │ bsk1 │ ok │ │ bsk2 │ ok │ │ ems1 │ ok │ │ ems2 │ ok │ │ ems3 │ ok │ └──────┴────┘ [exec at: 17.03.2019 11:41:42, exec time: 125ms, nodes: sip1@ecss2]