Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagec#
vesr# 
vesr# configure 
vesr(config)# esbc 
vesr(config-esbc)# route-table ROUTE_TABLE

#Добавление первого правила с условиями CONDITION_1, CONDITION_2 и действием отправить вызов в транк TRUNK_1:
vesr(config-esbc-route-table)# rule 0
vesr(config-esbc-route-table-rule)# condition 0 cgpn ^23000$
vesr(config-esbc-route-table-rule)# condition 1 cdpn ^24000$
vesr(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_1
vesr(config-esbc-route-table-rule)# exit

#Добавление второго правила с условиями CONDITION_3, CONDITION_4 и действием отправить вызов в транк TRUNK_2:
vesr(config-esbc-route-table)# rule 1
vesr(config-esbc-route-table-rule)# condition 0 cgpn ^23000$
vesr(config-esbc-route-table-rule)# condition 1 cdpn ^24001$
vesr(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_2
Блок кода
#Добавление второго правила с условиями CONDITION_3, CONDITION_4 и действием отправить вызов в транк TRUNK_2:
vesr(config-esbc-route-table)# rule 1
vesr(config-esbc-route-table-rule)# condition 0 cgpn ^23000$
vesr(config-esbc-route-table-rule)# condition 1 cdpn ^24001$
vesr(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_2


Синтаксис для написания условий

...

После внесения изменений любой тип медиаданных, пришедших на user-interface, кроме audio будет отключен. 

Scroll Pagebreak

Таймаут ожидания RTP-пакетов

...

Если после внесения изменений во время вызова с транка NEW_TRUNK в течение 100 секунд не будут приходить RTP-пакеты, то вызов будет принудительно завершён. 

Scroll Pagebreak

SRTP

SRTP (Secure Real-time Transport Protocol) это расширенная версия протокола RTP с набором защитных механизмов. Протокол был опубликован организацией IETF в стандарте RFC 3711. SRTP обеспечивает конфиденциальность за счет шифрования RTP-нагрузки. Для шифрования медиа потока, SRTP стандартизирует использование только единственного шифра, AES, который может использоваться в двух режимах:

...

SRTP использует функцию формирования ключа для создания ключей на основе мастер-ключа. Протокол управления ключами создает все ключи в сессии с помощью мастер-ключа. За счет того, что у каждой сессии свой уникальный ключ, все сессии защищены. Поэтому, если одна сессия была скомпрометирована, то остальные по-прежнему под защитой.  Scroll Pagebreak

В В конфигурации доступны 2 метода обмена ключами:

...

Блок кода
languagec#
vesr# 
vesr# configure 
vesr(config)# esbc 

#Создание sip-профиля NEW_SIP_PROFILE:
vesr(config-esbc)# sip-profile NEW_SIP_PROFILE 
vesr(config-esbc-sip-profile)# 

#Включить контроль доступности:
vesr(config-esbc-sip-profile)# keepalive enable 
vesr(config-esbc-sip-profile)# 

#Настроить интервалы контроля:
vesr(config-esbc-sip-profile)# keepalive success-interval 120
vesr(config-esbc-sip-profile)# keepalive failed-interval 30
vesr(config-esbc-sip-profile)#  
 
vesr(config-esbc-sip-profile)# exit
vesr(config-esbc)#

#Привязать SIP-профиль к транку TRUNK_OUT:
vesr(config-esbc)# trunk sip NEW_TRUNK 
vesr(config-esbc-trunk-sip)# sip-profile NEW_SIP_PROFILE 
vesr(config-esbc-trunk-sip)# 

#Применить и подтвердить изменения:
vesr(config-esbc-trunk-sip)# do commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
vesr(config-esbc-trunk-sip)# do confirm 
Configuration has been confirmed. Commit timer canceled.

После применения изменений Если в течение 30 секунд (failed-interval) из TRUNK_OUT не будет получено ни одного сообщения, то он станет считаться недоступным, и E-SBC будет слать отправлять в сторону TRUNK_OUT OPTIONS (пока поддержан только этот метод контроля) с интервалом 30 секунд (failed-interval).

Если транк отвечает из транка было получено какое-либо сообщение (в том числе ответ на OPTIONS), то он транк считается доступным,  повторный следующий запрос OPTIONS будет отправлен отправится через 120 секунд (success-interval).
Если не отвечает, то он считается недоступным, повторный запрос OPTIONS будет отправлен через 30 секунд (failed-interval).

Предупреждение

Контроль доступности не работает для user-interface. 

Использование списка причин отбоя для перехода на следующее направление

...

Блок кода
INVITE sip:24000@192.168.114.130:5461 SIP/2.0
Via: SIP/2.0/UDP 192.168.114.129:5461;branch=z9hG4bK-372660-1-5
From: "Simple UAC send bye" <sip:24001@192.168.114.130;cpc=priority>;tag=1372660
To: "24000" <sip:24000@192.168.114.130>
Call-ID: 1-372660@192.168.114.129
CSeq: 1 INVITE
Contact: <sip:24001@192.168.114.129:5461>
Max-Forwards: 70
Content-Type: application/sdp
Content-Length: 149

v=0
o=tester 123456 654321 IN IP4 192.168.114.129
s=A conversation
c=IN IP4 192.168.114.129
t=0 0
m=audio 8338 RTP/AVP 8
a=rtpmap:8 PCMA/8000

Scroll Pagebreak
На TRUNK_OUT отправляется уже модифицированный INVITE с добавленным заголовком:

Блок кода
languagec#
INVITE sip:24000@192.168.114.129:5460 SIP/2.0
Via: SIP/2.0/UDP 192.168.114.130:5460;rport;branch=z9hG4bKPj-fvzSQlwN2zoMaGUR5JCLMkjmkBV3Vz1
Max-Forwards: 70
From: "Simple UAC send bye" <sip:24001@192.168.114.130>;tag=l2jkRSMeumV03IdhjPntOt7l0XBKy-Ln
To: "24000" <sip:24000@192.168.114.129>
Contact: <sip:24001@192.168.114.130:5460;transport=udp>
Call-ID: P-W.2oee.2vJw0JoaFbNkRDvnxY40FoP
CSeq: 30738 INVITE
Allow: PRACK, SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE
Supported: timer, 100rel, replaces
Session-Expires: 1800
Min-SE: 90
#Добавленный через таблицу модификаторов заголовок:
Test_header: example string 
Content-Type: application/sdp
Content-Length: 157

v=0
o=tester 3927594021 3927594021 IN IP4 192.168.114.130
s=A conversation
c=IN IP4 192.168.114.130
t=0 0
m=audio 8062 RTP/AVP 8
a=rtpmap:8 PCMA/8000


Scroll Pagebreak

Пример использования модификатора удаления заголовка (no-transit)

Схема: 

В конфигурации есть два транка, настроена маршрутизация. Вызов, который приходит из TRUNK_IN уходит в TRUNK_OUT. В TRUNK_OUT отправляется запрос INVITE, в теле которого есть заголовок Test_header. Требуется, чтобы в запросе INVITE, который отправляется в TRUNK_OUT, вырезался заголовок Test_header, если в его содержимом есть "example string".

...

Включение логирования работы модулей E-SBC производится в разделе debug:

Блок кода
languagec#
vesr#
 
#Переход в раздел debug:
vesr# configure debug
vesr(configdebug)# esbc
 

#Создание#Включение таблицылогирования модификаторовмодуля MODTABLEesbc_INdispatcher:
vesr(config-esbcdebug)# mod-tabledebug sipesbc MODTABLE_IN
vesr(esbc-mod-table)#disp
 

#Добавление#Включение влогирования таблицу модификаторов правила на транзит заголовкамодуля esbc_config_manager:
vesr(esbc-mod-tabledebug)# moddebug 0esbc transit
vesr(esbc-mod-table-modification)#cfgmgr
 

#Выбор#Включение запроса,логирования в котором будет транзититься заголовок (в данном случае INVITE)модуля esbc_access_mediator:
vesr(esbc-mod-table-modificationdebug)# sip-methoddebug typeesbc Inviteaccmed
  

#Указать#Включение названиелогирования заголовка, который необходимо транзитить (в данном случае Test_header):
vesr(esbc-mod-table-modification)# sip-header pattern Test_header

vesr(esbc-mod-table-modification)# exit

#Добавление в таблицу модификаторов правила на замену заголовка:
vesr(esbc-mod-table)# mod 1 replace

#Выбор запроса, в котором будут заменяться заголовки:
vesr(esbc-mod-table-modification)# sip-method type Invite

#Указать название заголовка, содержимое которого необходимо заменить:
vesr(esbc-mod-table-modification)# sip-header pattern Test_header

#Указать место в содержимом заголовка, которое необходимо заменить (конец строки исходного содержимого заголовка):
vesr(esbc-mod-table-modification)# value-pattern $

#Добавить правило для подмены содержимого заголовка (к концу строки исходного содержимого заголовка добавляется 456):
vesr(esbc-mod-table-modification)# replacement 456

vesr(esbc-mod-table-modification)# exit
vesr(esbc-mod-table)# exit

#Привязать таблицу модификаторов к входящему транку TRUNK_IN:
vesr(config-esbc)# trunk sip TRUNK_IN
vesr(config-esbc-trunk-sip)# mod-table sip in MODTABLE_IN 

#Применить и подтвердить изменения:
vesr(config-esbc-trunk-sip)# do commit 
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
vesr(config-esbc-trunk-sip)# do confirm 
Configuration has been confirmed. Commit timer canceled.
модуля esbc_core:
vesr(debug)# debug esbc core
 
#Включение логирования модуля esbc_sip_balancer:
vesr(debug)# debug esbc sipbl
 
#Включение логирования модуля esbc_sip_worker:
vesr(debug)# debug esbc sipwrk
 
#Включение логирования модуля esbc_media_balancer:
vesr(debug)# debug esbc mediabl
 
#Включение логирования модуля esbc_media_worker:
vesr(debug)# debug esbc mediawrk
 
#Включение логирования модуля esbc_sysio:
vesr(debug)# debug esbc sysio
 
#Включение логирования модуля esbc_sm:
vesr(debug)# debug esbc submngr
 
#Включение логирования модуля esbc_voip_guard:
vesr(debug)# debug esbc voip-guard
 
#Применение и подтверждение настроек:
vesr(debug)# do commit
vesr(debug)# do confirm

Scroll Pagebreak

Изменение количества модулей Изменение количества модулей

E-SBC поддерживает добавление дополнительных модулей для распределения нагрузки.
Список модулей, количество которых можно изменить:

...

3. Откройте web-браузер, например Firefox, Opera, Chrome.

Scroll Pagebreak

4. Введите в адресной строке браузера IP-адрес устройства. Для перехода в web-интерфейс можно использовать URL: http://<ip-address_esbc> или https://<ip-address_esbc>. При успешном обнаружении контроллера в окне браузера отобразится страница авторизации.

...