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

Ключ

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

...

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.

...

Блок кода
languagec#
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

...

Блок кода
languagec#
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

...

Блок кода
languagec#
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. 

Блок кода
languagec#
#Настройка внешнего 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 инициатору.

...

Блок кода
languagec#
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 настраиваются в конфигурации абонентского интерфейса, транка и транковой группы.

...

  1. Ограничения для всей системы. Настройки ограничений general переопределяют настройки ограничений остальных объектов (trunk, trunk-group, user-interface) ESBC. 
  2. Ограничения для транк-группы. Настройки ограничений trunk-group переопределяют настройки ограничений транков, входящих в данную транк-группу, но переопределяются настройками general.
  3. Ограничения для транков и абонентских интерфейсов. Настройки ограничений trunk переопределяются настройками ограниченийтранк-группы (если транк входит в состав какой-либо транк-группы) или настройками general. Настройки ограничений user-interface переопределются настройками переопределяются настройками general. 
Примечание

Приоритет использования ограничений распространяется только для максимальных значений, т. е. например, при использовании max in cps 100 для всей системы (general), и использовании max in cps 10 для какого-либо транка, ограничение обработки CPS для этого транка будет 10, а не 100.

...

  1. В конфигурации настроено max in cps 10 и max in rps 5. В таком случаее случае максимальное ограничение на входящие вызовы (INVITE) будет 5.
  2. В конфигурации настроено max in cps 5 и max in rps 10. В таком случаее случае максимальное ограничение на входящие вызовы будет 5, а на остальные запросы - 10.


Пример работы приоритета системных ограничений над абонентским интерфейсом:

Блок кода
languagec#
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 

...

Блок кода
languagec#
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 

...

Блок кода
languagec#
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 

...

Блок кода
languagec#
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 

...

Блок кода
languagec#
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 

...

Блок кода
languagec#
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 

...

  1. В конфигурации настроено max out cps 10 и max out rps 5. В таком случаее случае максимальное ограничение на вызовы (INVITE) будет 5.
  2. В конфигурации настроено max out cps 5 и max out rps 10. В таком случаее случае максимальное ограничение на вызовы будет 5, а на остальные запросы - 10.
Примечание

При применении ограничений приоритет определяется уровнем: приоритет ограничений транк-групп выше, чем приоритет ограничений отдельных транков, входящих в эту транк-группу.

...

Примечание

В отличие от аварий, SNMP-трапы передают уведомления о заблокированных объектах:

  • voip-block-aor;
  • voip-block-ip;
  • voip-block-user-agent;
  • voip-block-sip-user.

Для просмотра заблокированных объектов в 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   

...