...
SIP-абонент отправляет сообщение REGISTER, в hostname RURI указывает ssw125_2.domain. ESBC для определения адреса назначения отправляет запрос (Access-Request) на RADIUS-сервер (192.168.16.250) c аттрибутом атрибутом User-Name, в котором содержится домен ssw125_2.domain.
RADIUS-сервер присылает Access-Accept с адресом SIP-сервера (192.168.16.125) в аттрибуте атрибуте Framed-IP-Address.
ESBC отправляет регистрацию на указанный адрес, подставляя в заголовки To и From ssw125_2.domain, последующие запросы с этого абонента при указании того же домена будут отправляться в транк 192.168.16.125 без предварительного обращения к внешнему сервису.
...
В конфигурации таблицы маршрутизации реализована команда switch-route-table <route-table-name> для продолжения маршрутизации SIP-запроса через другую таблицу маршрутизации.
...
Модификаторы SIP позволяют гибко осуществлять выбор требуемого метода (Request) или ответного сообщения (Response) по конкретному коду. Для этого используются команды:
- sip method pattern <PATTERN> <PATTERN> — необходимый метод или несколько методов задается при помощи регулярного выражения PCRE.
- sip method type <TYPE> — необходимый метод выбирается из списка шести базовых методов стандарта RFC3261 (REGISTER, INVITE, ACK, CANCEL, BYE и OPTIONS).
- sip response-pattern <PATTERN> <PATTERN> — необходимый код ответного сообщения задается при помощи регулярного выражения PCRE.
...
| Блок кода | ||
|---|---|---|
| ||
mod-table sip SIP_MOD mod 1 add #Т.к. по условию требуется добавлять заголовок только в сообщения INVITE, можно воспользоваться командой "sip method type": sip method type Invite header name Test_header header value test_value exit |
...
| Блок кода | ||
|---|---|---|
| ||
mod-table sip SIP_MOD
mod 1 add
#Т.к. по условию требуется добавлять заголовок в INVITE и BYE, надо воспользоваться командой "sip method pattern":
sip method pattern INVITE|BYE
#Для добавления заголовка в ответы 200 OK следует добавить команду "sip response-pattern"
sip response-pattern 200
header name Test_header
header value test_value
exit
|
...
| Блок кода | ||
|---|---|---|
| ||
mod-table sip SIP_MOD mod 1 add #Т.к. по условию требуется добавлять заголовок во все методы, используется отбор любых значений: sip method pattern .+ #Т.к. по условию требуется добавлять заголовок во все ответы, используется отбор любых значений: sip response-pattern .+ header name Test_header header value test_value exit |
...
1) IP_C соответствует IP_ESBC_2 и на ESBC зарегистрирован абонент с номером numernumber_c.
Если IP-адрес из заголовка Contact пришедшего 302 ответа соответствует IP-адресу транспорта ESBC, с которого был отправлен запрос, и на ESBC существует зарегистрированный абонент с номером, указанным в заголовке Contact, то ESBC отправит INVITE на тот транк, где этот абонент зарегистрирован и 181 в сторону инициатора вызова.
...
2) IP_C соответствует IP_ESBC_2 и на ESBC не зарегистрирован абонент с номером numernumber_c.
Если IP-адрес из заголовка Contact пришедшего 302 ответа соответствует IP-адресу транспорта ESBC, с которого был отправлен запрос, но на ESBC не существует зарегистрированного абонента с номером, указанным в заголовке Contact, то ESBC перешлёт ответ на другое плечо и заменит адрес в заголовке Contact на IP-адрес UAC.
...
Поведение по умолчанию — поддержка таймеров SIP-сессий отключена. Для включения используется команда — session команда session timer enable.
Описание всех команд для настройки таймеров SIP-сессий приведено в разделе Настройки SIP-профиля Справочника команд CLI.
...
Picture Fast Update (PFU) — это механизм быстрого восстановления видеоизображения , за счет обновления поврежденных кадров, обеспечивая минимальные задержки и стабильное качество видео даже при потере пакетов.
| Примечание |
|---|
| Опция работает только для вызовов с транскодированием видео, при проксировании полученные сообщения INFO пересылаются на другое плечо. |
Включение/выключение режима осуществляется командами rfc5168 enable и enable и no rfc5168 enable соответственно.
...
Оправка RTP будет осуществляться на IP-адрес и порт, с которого был получен первый RTP-пакет от встречной стороны. До получения RTP от встречной стороны, медиатрафик не будет передаваться от ESBC в эту сторону.
Команда nat keep-alive-intervalв настройках абонентского интерфейса используется для настройки интервала для поддержки соединения за NAT. При включении опции, абоненту с заданным интервалом будут отправляться пакеты с содержанием "0d0a" для предотвращения разрушения сессии на NAT-маршрутизаторе.
...
По умолчанию ESBC взаимодействует с внешними STUN-серверами в режиме согласно RFC 3489 (Simple Traversal of UDP through NATs или "classic STUN") – использует в качестве публичного адреса и порта значения, полученные в аттрибуте атрибуте MAPPED-ADDRESS в Binding Response от STUN-сервера.
Доступна поддержка RFC 5389(Session Traversal Utilities for NAT) – в этом случае ESBC в Binding Request на STUN-сервер будет отправлять Cookie, с помощью которого сервер зашифрует адрес и порт и передаст их в Binding Response в аттрибуте атрибуте XOR-MAPPED-ADDRESS, ESBC дешифрует полученные данные и использует в качестве публичного адреса и порта.
Доступна настройка интервала отправки запросов на внешний STUN-сервер.
...
ESBC находится в частной сети за NAT устройством, настроены 2 транка – — TRUNK_A (в той же сети, что и ESBC) и TRUNK_B (в публичной сети), настроена маршрутизация между ними, адрес WAN-интерфейса NAT-устройства неизвестен. В публичной сети находится STUN-сервер. Необходимо настроить получение публичного адреса через STUN-сервер для вызовов, направленных в TRUNK_B.
| Блок кода | ||
|---|---|---|
| ||
#Настройка внешнего STUN-сервера: vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# stun server external EXTERNAL_STUN vesbc(config-esbc-stun-server-ext)# remote address 203.0.113.10 #Интервал отправки запросов на STUN-сервер = 60 секунд: vesbc(config-esbc-stun-server-ext)# keepalive interval 60 vesbc(config-esbc-stun-server-ext)# exit #Добавление STUN-сервера в настройки транка: vesbc(config-esbc)# trunk sip TRUNK_B vesbc(config-esbc-trunk-sip)# stun server EXTERNAL_STUN #Применение и подтверждение изменений: vesbc(config-esbc-stun-trunk-sip)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-stun-trunk-sip)# do confirm Configuration has been confirmed. Commit timer canceled |
...
При исходящем вызове в транк TRUNK_B ESBC отправит запросы на STUN-сервер с RTP и RTCP-порта для согласования обмена медиатрафиком.
...
При входящем вызове из транка TRUNK_B ESBC также отправит запросы на STUN-сервер с RTP и RTCP-порта для согласования обмена медиатрафиком перед отправкой SDP-Answer инициатору.
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# stun server local LOCAL_STUN vesbc(config-esbc-stun-server-loc)# ip address 30.30.30.1 vesbc(config-esbc-stun-server-loc)# port 13478 vesbc(config-esbc-stun-server-loc)# #Применение и подтверждение изменений: vesbc(config-esbc-stun-server-loc)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-stun-server-loc)# do confirm Configuration has been confirmed. Commit timer canceled |
После настройки описанной выше , настройки ESBC будет принимать сообщения STUN на IP-адрес 30.30.30.1 и порт UDP 13478.
...
- аудиопакетов;
- видеопакетов;
- пакетов сигнализации-SIPсигнализации SIP.
Параметры QoS настраиваются в конфигурации абонентского интерфейса, транка и транковой группы.
...
- Ограничения для всей системы. Настройки ограничений general переопределяют настройки ограничений остальных объектов (trunk, trunk-group, user-interface) ESBC.
- Ограничения для транк-группы. Настройки ограничений trunk-group переопределяют настройки ограничений транков, входящих в данную транк-группу, но переопределяются настройками general.
- Ограничения для транков и абонентских интерфейсов. Настройки ограничений trunk переопределяются настройками ограниченийтранк-группы (если транк входит в состав какой-либо транк-группы) или настройками general. Настройки ограничений user-interface переопределются настройками переопределяются настройками general.
| Примечание |
|---|
Приоритет использования ограничений распространяется только для максимальных значений, т. е. например, при использовании max in cps 100 для всей системы (general), и использовании max in cps 10 для какого-либо транка, ограничение обработки CPS для этого транка будет 10, а не 100. |
...
- В конфигурации настроено max in cps 10 и max in rps 5. В таком случаее случае максимальное ограничение на входящие вызовы (INVITE) будет 5.
- В конфигурации настроено max in cps 5 и max in rps 10. В таком случаее случае максимальное ограничение на входящие вызовы будет 5, а на остальные запросы - — 10.
Пример работы приоритета системных ограничений над абонентским интерфейсом:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в общие настройки: vesbc(config-esbc)# general vesbc(config-esbc-general)# #Установка ограничения входящего максимального количества CPS для всей системы -— 5: vesbc(config-esbc-general)# max in cps 5 vesbc(config-esbc-general)# exit #Установка ограничения максимального входящего количества CPS для отдельного абонентского интерфейса (USER_IFACE) -— 10: vesbc(config-esbc)# user-interface sip USER_IFACE vesbc(config-esbc-user-interface-sip)# max in cps 10 #Применение и подтверждение изменений: vesbc(config-esbc-user-interface-sip)# do commit vesbc(config-esbc-user-interface-sip)# do confirm |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в настройки транка: vesbc(config-esbc)# trunk sip TRUNK vesbc(config-esbc-trunk-sip)# #Установка ограничения входящего максимального количества CPS для транка -— 50: vesbc(config-esbc-trunk-sip)# max in cps 50 vesbc(config-esbc-trunk-sip)# exit #Переход в настройки транк-группы: vesbc(config-esbc)# trunk-group TRUNKGROUP # Добавление транка TRUNK в состав транк-группы: vesbc(config-esbc-trunk-group)# trunk 0 TRUNK #Установка ограничения входящего максимального количества CPS для транк-группы -— 10: vesbc(config-esbc-trunk-group)# max in cps 10 #Применение и подтверждение изменений: vesbc(config-esbc-trunk-group)# do commit vesbc(config-esbc-trunk-group)# do confirm |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в настройки абонентского интерфейса: vesbc(config-esbc)# user-interface sip USER_IFACE vesbc(config-esbc-user-interface)# #Установка ограничения максимального количества одновременных вызовов для абонентского-интерфейса -— 10: vesbc(config-esbc-user-interface-sip)# max in calls 10 #Применение и подтверждение изменений: vesbc(config-esbc-user-interface)# do commit vesbc(config-esbc-user-interface)# do confirm |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в настройки абонентского интерфейса: vesbc(config-esbc)# user-interface sip USER_IFACE vesbc(config-esbc-user-interface)# #Установка ограничения входящего максимального количества CPS для абонентского-интерфейса -— 10: vesbc(config-esbc-user-interface-sip)# max in cps 10 #Применение и подтверждение изменений: vesbc(config-esbc-user-interface)# do commit vesbc(config-esbc-user-interface)# do confirm |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc#
vesbc# config
vesbc(config)# esbc
#Переход в настройки абонентского интерфейса:
vesbc(config-esbc)# user-interface sip USER_IFACE
vesbc(config-esbc-user-interface)#
#Ограничение максимального количества запросов 50:
vesbc(config-esbc-user-interface-sip)# max in user rpp 50
#В интервал времени 240 секунд:
vesbc(config-esbc-user-interface-sip)# max in user rpp 50 240
#С блокировкой при достижении лимитов:
vesbc(config-esbc-user-interface-sip)# max in user rpp 50 240 block
#Применение и подтверждение изменений:
vesbc(config-esbc-user-interface)# do commit
vesbc(config-esbc-user-interface)# do confirm |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc#
vesbc# config
vesbc(config)# esbc
#Переход в настройки абонентского интерфейса:
vesbc(config-esbc)# user-interface sip USER_IFACE
vesbc(config-esbc-user-interface)#
#Ограничение максимального количества контактов для одного AOR:
vesbc(config-esbc-user-interface-sip)# max in user contacts 2
#Применение и подтверждение изменений:
vesbc(config-esbc-user-interface)# do commit
vesbc(config-esbc-user-interface)# do confirm |
...
- В конфигурации настроено max out cps 10 и max out rps 5. В таком случаее случае максимальное ограничение на вызовы (INVITE) будет 5.
- В конфигурации настроено max out cps 5 и max out rps 10. В таком случаее случае максимальное ограничение на вызовы будет 5, а на остальные запросы - — 10.
| Примечание |
|---|
При применении ограничений приоритет определяется уровнем: приоритет ограничений транк-групп выше, чем приоритет ограничений отдельных транков, входящих в эту транк-группу. |
...
| Примечание |
|---|
В отличие от аварий, SNMP-трапы передают уведомления о заблокированных объектах:
Для просмотра заблокированных объектов в CLI используется команда show esbc black-list |
Конфигурирование удаленного хоста для отправки SNMP-уведомлений выполняется с помощью команды snmp-server host в CLI.
...
| Примечание |
|---|
Для использования подключенных PPTP-клиентов в качестве SIP-транков следует указывать IP-адрес, который будет выдаваться сервером PPTP каждому клиенту, в явном виде (команда remote address в конфигурации ppp-user ). Иначе IP-адреса, выдаваемые PPTP-клиентам будут выдаваться в случайном порядке из диапазона указанного в настройках PPTP-сервера. В таком случае невозможно будет настроить SIP-транк до конкретного клиента, т. к. для работы в режиме транка требуется указание адреса встречной стороны. Для использования подключенных PPTP-клиентов в качестве SIP-абонентов, указывать IP-адрес в явном виде не требуется. |
...
| Примечание |
|---|
IP-адреса (Local и Remote) PPTP-туннеля можно узнать командой show tunnels status. |
| Блок кода |
|---|
vesbc# show tunnels status
Tunnel Admin Link MTU Local IP Remote IP Last change
State State (d,h:m:s)
---------------- ---------- ----- ------ ---------------- ---------------- -------------
pptp 1 Up Up 1500 20.20.20.5 20.20.20.1 00,00:13:35 |
...

