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

Ключ

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

...

...

...

SIP-транспорт представляет точку входа/выхода сигнализации, т. е. это IP-адрес и порт, с которого ESBC будет отправлять и на который будет принимать сигнальные сообщения. 

Информация

Возможно использование IP-адреса, полученного по DHCP.

...

Вызов с зарегистрированного абонента будет направлен в тот транк, через который осуществлялась его регистрация. В случае неуспешного вызова , перемаршрутизация осуществляться не будет.
При вызове с незарегистрированного абонента сначала идёт проверка, разрешены ли с этого абонентского интерфейса вызовы без регистрации (allow_unreg_call), если проверка успешна, то вызов смаршрутизируется по привязанной таблице маршрутизации и в случае недоступности транка/совпадении ответа с маской из списка произойдёт маршрутизация на следующее направление.

...

Если IP-адрес из заголовка Contact пришедшего 302 ответа соответствует IP-адресу транспорта ESBC, с которого был отправлен запрос, и на ESBC существует зарегистрированный абонент с номером, указанным в заголовке Contact, то ESBC отправит INVITE на тот транк, где этот абонент зарегистрирован и 181 в сторону инициатора вызова.

Пример работы:

1. Регистрация SIP-абонента с номером 300 на UAS C:

 2.  С UAC поступает вызов на UAS B, он отвечает 302, в Contact указывает 300@192.168.50.50:

3.  Так как существует зарегистрированный абонент с номером 300, то ESBC отправляет INVITE на тот транк, где этот абонент зарегистрирован, то есть на UAS C, а на UAC отправляет 181 ответ:  


2) IP_C соответствует IP_ESBC_2 и на ESBC не зарегистрирован абонент с номером numer_c.

Если IP-адрес из заголовка Contact пришедшего 302 ответа соответствует IP-адресу транспорта ESBC, с которого был отправлен запрос, но на ESBC не существует зарегистрированного абонента с номером, указанным в заголовке Contact, то ESBC перешлёт ответ на другое плечо и заменит адрес в заголовке Contact на IP-адрес UAC.

...

3) IP_C  не соответствует IP_ESBC_2 и UAS доверенный транк.

Если IP-адрес из заголовка Contact пришедшего 302 ответа не соответствует IP-адресу транспорта ESBC, с которого был отправлен запрос, и транк UAS доверенный транк, то ESBC отправит INVITE на указанный адрес и 181 в сторону UAC.

...

Информация

Для того чтобы транк считался доверенным, необходимо включить опцию trusted-network в конфигурации транка.

В прочих случаях — вызов завершается.

...

AAA (Authentication, Authorization, Accounting) это базовая архитектура управления доступом, используемая в сетевых устройствах для идентификации клиентов, определения их прав и регистрации выполняемых действий. 

В контексте ESBC механизмы AAA применяются для контроля доступа к устройству, управления сессиями и взаимодействия с внешними серверами аутентификации. Реализация AAA включает три ключевых компонента:

  • Authentication (аутентификация) процесс проверки подлинности клиента на основе предоставленных учетных данных.

  • Authorization (авторизация, проверка полномочий, проверка уровня доступа) определение разрешенных действий для прошедшего аутентификацию клиента.

  • Accounting (учёт) регистрация событий доступа, изменений и сессий для последующего аудита и анализа. 

...

Принцип работы.

При включении режима nat режима nat comedia-mode on/flexible отправка и получение сообщенийсигнализации  сообщений сигнализации SIP осуществляется с/на IP-адрес и порт, указанные в настройках транка.

Оправка RTP будет осуществляться на IP-адрес и порт, с которого был получен первый RTP-пакет от встречной стороны. До плучения получения RTP от встречной стороны, медиатрафик не будет передаваться от ESBC в эту сторону.

...

При включении режима nat comedia-mode on/flexible отправка сообщений сигнализации  SIP осуществляется симметрично (на IP-адрес и  и порт, с которого был принят запрос) в случае, если клиент в инициирующем запросе не использовал параметр RPORT.

Отправка сообщений сигнализации SIP на зарегистрированного абонента будет осуществляться на на IP-адрес и  и порт, с которого был принят запрос REGISTER, а не на данные абонента, указанные в заголовке Contact.

Оправка RTP будет осуществляться на IP-адрес и порт, с которого был получен первый RTP-пакет от встречной стороны. До плучения получения RTP от встречной стороны, медиатрафик не будет передаваться от ESBC в эту сторону.

Команда nat keep-alive-interval в настройках абонентского интерфейса используется для настройки интервала для поддержки соединения за NAT.   При включении опции, абоненту , с заданным интервалом будут отправляться пакеты с содержанием "0d0a"   для предотвращения разрушения сессии на NAT-маршрутизаторе.

...

При получении STUN Binding Request, ESBC формирует Binding Success Response, содержащий IP-адрес и порт, с которого данный запрос был получен. Этот адрес называется Reflexive Address и может использоваться клиентом для корректного формирования SIP-сообщений, SDP и обеспечения прохождения медиатрафика (RTP) через NAT. 

Поддерживаются Поддерживается работа протокола STUN в режимах Classic STUN (RFC 3489) и cовременный STUN (RFC 5389+).

...

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

Примечание

При использовании в конфигурации ESBC локального STUN-сервера не требуется дополнительной настройки firewall, необходиме необходимые правила , для пропуска входящих STUN-запросов будут настроены автоматически.

...

  • cdr-send-error — ошибки отправки CDR;
  • cdr-write-error — ошибки записи CDR;
  • general-max-calls-limit — превышение общего лимита вызовов;
  • general-max-cps-limit — превышение общего лимита cps;
  • general-max-rps-limit — превышение общего лимита rps;
  • media-resources — отсутствие свободных медиаресурсов (портов для RTP);
  • module-connection — перезапуск модулей ESBC;
  • trunk-group-max-calls-limit — превышение лимита вызовов на транк-группе;
  • trunk-group-max-cps-limit — превышение лимита cps на транк-группе;
  • trunk-group-max-rps-limit — превышение общего лимита rps на транк-группе;
  • trunk-max-calls-limit — превышение лимита вызовов на транке;
  • trunk-max-cps-limit — превышение лимита cps на транке;
  • trunk-max-rps-limit — превышение общего лимита rps на транке;
  • trunk-unavailable — недоступность транка;
  • user-interface-max-calls-limit — превышение лимита вызовов на user-interface;
  • user-interface-max-cps-limit — превышение лимита cps на user-interface;
  • user-interface-max-rps-limit — превышение общего лимита rps на user-interface;
  • voip-block-aor — блокировки по AOR;
  • voip-block-ip — блокировки по IP-адресу;
  • voip-block-user-agent — блокировки по User-Agent;
  • voip-block-sip-user блокировки по SIP-User.
Примечание

При включении отправки SNMP-трапов командой snmp-server enable traps esbc, трапы будут отправляться вне зависимости от включения журналирования аварий локально. 

Текст SNMP-трапов и причины их нормализации представлены в таблице ниже.

SNMP-трап

Текст SNMP-трапа

Причины нормализации

cdr-send-error

CDR alarm: failed to send to <main | reserve> ftp server

успешная отправка CDR на FTP-сервер

cdr-write-error

CDR alarm: failed to write

успешная запись CDR

general-max-calls-limit

Host <host_name> max calls limit reached

через 10 секунд после последней аварии ИЛИ при снижении счетчика на 80% от лимита

general-max-cps-limit

Host <host_name> max cps limit reachedчерез 10 секунд после последней аварии

general-max-rps-limit

Host <host_name> max rps limit reachedчерез 10 секунд после последней аварии

media-resources

Session<session_id>: <Trunk/User interface><trunk_name/ui_name> media resources out

через 15 секунд после последней аварии ИЛИ при освобождении портов для RTP

module-connection

Module <module_type> host <host_id> is down

при успешном добавлении модуля в диспетчер ESBC

trunk-group-max-calls-limit

Trunk-Group <trunk_group_name> max calls limit reached

через 10 секунд после последней аварии ИЛИ при снижении счетчика на 80% 80 % от лимита

trunk-group-max-cps-limit

Trunk-Group <trunk_group_name> max cps limit reachedчерез 10 секунд после последней аварии

trunk-group-max-rps-limit

Trunk-Group <trunk_group_name> max rps limit reachedчерез 10 секунд после последней аварии

trunk-max-calls-limit

Trunk <trunk_name> max calls limit reached

через 10 секунд после последней аварии ИЛИ при снижении счетчика на 80% 80 % от лимита

trunk-max-cps-limit

Trunk <trunk_name> max cps limit reachedчерез 10 секунд после последней аварии

trunk-max-rps-limit

Trunk <trunk_name> max rps limit reachedчерез 10 секунд после последней аварии

trunk-unavailable

Trunk <trunk_name> is unavailable

при обновлении статуса транка на "Available"

user-interface-max-calls-limit

User interface <ui_name> max calls limit reached

через 10 секунд после последней аварии ИЛИ при снижении счетчика на 80% от лимита

user-interface-max-cps-limit

User interface <ui_name> max rps limit reachedчерез 10 секунд после последней аварии

user-interface-max-rps-limit

User interface <ui_name> max cps limit reachedчерез 10 секунд после последней аварии

voip-block-aor

AOR <aor> has been bannedне нормализуются

voip-block-ip

IP address <ip> has been bannedне нормализуются
voip-block-user-agentUser-Agent <user-agent> has been bannedне нормализуются
voip-block-sip-userSIP user <aor> has been bannedне нормализуются

...

  1. Базовая настройка сети (конфигурация IP-адресов интерфейсов, настройка маршрутизации и т. д.).
  2. Настройка туннелирования (конфигурация PPTP/L2TP-сервера, и/или настройка PPTP/L2TP-туннелей).
  3. Настройка firewal для прохождения протоколов туннелирования (разрешить TCP-порт 1723, протокол GRE(47) для PPTP и UDP-порты 500, 1701, 4500 и протоколы ESP (50) и GRE (47) для L2TP).
  4. Настройка транков и/или абонентских интерфейсов ESBC для работы через VPN.

...

Блок кода
languagec#
vesbc(config)# remote-access pptp PPTP_SERVER
vesbc(config-pptp-server)# authentication mode local
#IP-адрес PPTP-сервера
vesbc(config-pptp-server)# local-address ip-address 20.20.20.1 
#Диапазон IP-адресов, которые будут выдаваться PPTP-клиентам
vesbc(config-pptp-server)# remote-address address-range 20.20.20.5-20.20.20.6 
#IP-адрес ESBC для организации подключения по протоколу PPTP
vesbc(config-pptp-server)# outside-address ip-address 10.30.101.150
vesbc(config-pptp-server)# security-zone VPN_USERS
#Создание и настройка учетной записи клиента pptp_user
vesbc(config-pptp-server)# username pptp_user 
vesbc(config-ppp-user)# password ascii-text simplepass
# Указать какой именно IP-адрес из диапазона будет выдан клиенту pptp_user 
vesbc(config-ppp-user)# remote address 20.20.20.5 
vesbc(config-ppp-user)# enable
vesbc(config-ppp-user)# exit
#Создание и настройка учетной записи клиента pptp_user2
vesbc(config-pptp-server)# username pptp_user2 
vesbc(config-ppp-user)# password ascii-text simplepass2
# Указать какой именно IP-адрес из диапазона будет выдан клиенту pptp_user2
vesbc(config-ppp-user)# remote address 20.20.20.6
vesbc(config-ppp-user)# enable
vesbc(config-ppp-user)# exit
vesbc(config-pptp-server)# enable
vesbc(config-pptp-server)# exit
vesbc(config)#
Примечание

Для использования подключенных PPTP-клиентов в качестве SIP-транков следует указывать IP-адрес, который будет выдвваться выдаваться сервером PPTP каждому клиенту, в явном виде (команда remote address в конфигурации ppp-user ). Иначе IP-адреса, выдаваемые PPTP-клиентам будут выдаваться в случайном порядке из диапазона указанного в настроках настройках PPTP-сервера. В таком случае невозможно будет настроить SIP-транк до конкретного клиента, т. к. для работы в режиме транка требуется указание адреса встречной стороны.

Для использования подключенных PPTP-клиентов в качестве SIP-абонентов, указывать IP-адрес в явном виде не требуется.

...

Настройка маршрутизации для транка PPTP_USER2 выполняется аналогиноаналогично.

Пример настройки PPTP-клиента для подключения SIP-транков

...

Задача 

Организовать подключение в режиме PPTP-клиента к вышестоящему серверу и использовать это подключения в качестве SIP-транка.

IP-адрес сервера PPTP - 10.30.101.150

Учетная запись для подключения клиента  – клиента — логин: pptp_user, пароль: simplepass.

...

Создать зону безопасности для PPTP-тунелятуннеля:

Блок кода
vesbc(config)# security zone PPTP_TENNEL
vesbc(config-security-zone)# exit
vesbc(config)# 

Создать и настроить PPTP-тунельтуннель:

Блок кода
languagec#
vesbc(config)# 
vesbc(config)# tunnel pptp 1
vesbc(config-pptp)# security-zone PPTP_TENNEL
#Указать учетные данные пользователя pptp_user
vesbc(config-pptp)# username pptp_user password ascii-text simplepass
#Указать IP-адрес PPTP-сервера
vesbc(config-pptp)# remote address 10.30.101.150
vesbc(config-pptp)# ignore default-route
vesbc(config-pptp)# enable
vesbc(config-pptp)# exit
vesbc(config)# 

Выполнить настройку транка ESBC для работы через PPTP-тунельтуннель:

Блок кода
languagec#
vesbc# configure 
vesbc(config)# esbc
vesbc(config-esbc)# media resource MEDIA_PPTP
#Указать тунельтуннель pptp 1
vesbc(config-esbc-media-resource)# ip address interface pptp 1
vesbc(config-esbc-media-resource)# exit
vesbc(config-esbc)# sip transport PPTP
#Указать тунельтуннель pptp 1
vesbc(config-esbc-sip-transport)# ip address interface pptp 1
vesbc(config-esbc-sip-transport)# port 5080
vesbc(config-esbc-sip-transport)# exit
vesbc(config-esbc)# trunk sip PPTP
vesbc(config-esbc-trunk-sip)# sip transport PPTP
vesbc(config-esbc-trunk-sip)# media resource 0 MEDIA_PPTP
#Указать Remote IP PPTP-тунелятуннеля  
vesbc(config-esbc-trunk-sip)# remote address 20.20.20.1
vesbc(config-esbc-trunk-sip)# remote port 5070
vesbc(config-esbc-trunk-sip)# exit
vesbc(config-esbc)# 
Примечание

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   

...

Блок кода
vesbc#
vesbc# configure
vesbc(config)# esbc
vesbc(config-esbc)# media resource MEDIA_SSW
vesbc(config-esbc-media-resource)# ip address 192.168.16.113

# Указать#Указать диапазон портов, который будет выделяться на ESBC для передачи голоса. Данная команда необязательная. Если ее не указывать, будет использоваться диапазон портов 8000–65535.
vesbc(config-esbc-media-resource)# port-range 1024-65535

...