...
Интервал посылки RTCP-пакетов — это период времени в секундах, через который устройство отправляет контрольные пакеты по протоколу RTCP, принимает значения в диапазоне 1-255 1–255 секунд. По умолчанию — 5 сек.
Пример настройки локальной обработки RTCP:
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc #Создать медиапрофиль MEDIA_PROFILE_TRUNK_IN (по умолчанию поддержка rfc5168 отключена): vesbc(config-esbc)# media profile MEDIA_PROFILE_TRUNK_IN vesbc(config-esbc-media-profile)# exit vesbc(config-esbc)# #Создать медиапрофиль MEDIA_PROFILE_TRUNK_OUT (по умолчанию поддержка rfc5168 отключена): vesbc(config-esbc)# media profile MEDIA_PROFILE_TRUNK_OUT vesbc(config-esbc-media-profile)# exit vesbc(config-esbc)# #Привязать медиапрофиль MEDIA_PROFILE_TRUNK_IN к транку TRUNK_IN: vesbc(config-esbc)# trunk sip TRUNK_OUT vesbc(config-esbc-trunk-sip)# media profile MEDIA_PROFILE_TRUNK_IN vesbc(config-esbc-trunk-sip)# #Привязать медиапрофиль MEDIA_PROFILE_TRUNK_OUT к транку TRUNK_OUT: vesbc(config-esbc)# trunk sip TRUNK_OUT vesbc(config-esbc-trunk-sip)# media profile MEDIA_PROFILE_TRUNK_OUT vesbc(config-esbc-trunk-sip)# #Применить и подтвердить изменения: vesbc(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. vesbc(config-esbc-trunk-sip)# do confirm Configuration has been confirmed. Commit timer canceled. |
| Scroll Pagebreak |
|---|
В TRUNK_IN приходит сообщение INFO с XML:
...
| Блок кода | ||
|---|---|---|
| ||
vesbc#
vesbc# configure
vesbc(config)# esbc
#Создание медиапрофиля MEDIA_PROFILE_TRUNK_IN с включенной поддержкой RFC5168:
vesbc(config-esbc)# media profile MEDIA_PROFILE_TRUNK_IN
vesbc(config-esbc-media-profile)# rfc5168 enable
vesbc(config-esbc-media-profile)# exit
vesbc(config-esbc)#
#Создание медиапрофиля MEDIA_PROFILE_TRUNK_OUT с включенной поддержкой RFC5168:
vesbc(config-esbc)# media profile MEDIA_PROFILE_TRUNK_OUT
vesbc(config-esbc-media-profile)# rfc5168 enable
vesbc(config-esbc-media-profile)# exit
vesbc(config-esbc)#
#Привязать медиапрофиль к транку TRUNK_IN:
vesbc(config-esbc)# trunk sip TRUNK_IN
vesbc(config-esbc-trunk-sip)# media profile MEDIA_PROFILE_TRUNK_IN
vesbc(config-esbc-trunk-sip)#
#Привязать медиапрофиль к транку TRUNK_OUT:
vesbc(config-esbc)# trunk sip TRUNK_OUT
vesbc(config-esbc-trunk-sip)# media profile MEDIA_PROFILE_TRUNK_OUT
vesbc(config-esbc-trunk-sip)#
#Применить и подтвердить изменения:
vesbc(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.
vesbc(config-esbc-trunk-sip)# do confirm
Configuration has been confirmed. Commit timer canceled. |
...
| Блок кода | ||
|---|---|---|
| ||
eXtensible Markup Language
<?xml
version="1.0"
encoding="utf-8"
?>
<media_control>
<vc_primitive>
<to_encoder>
<picture_fast_update/>
</to_encoder>
</vc_primitive>
</media_control> |
| Scroll Pagebreak |
|---|
Т. к. поддержка RFC5168 включена, ESBC прокидывает сообщение INFO на второе плечо (в TRUNK_OUT):
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# security profile SECURITY_PROFILE #Сбор ошибок по AOR: vesbc(config-esbc-security-profile)# check user-agent #Объединение ошибок по адресу: vesbc(config-esbc-security-profile)# errors aggregation vesbc(config-esbc-security-profile)# exit #Привязка профиля безопасности к абонентскому интерфейсу: vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# security profile SECURITY_PROFILE #Применение и подтверждение изменений: vesbc(config-esbc-user-interface-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-user-interface-sip)# do confirm Configuration has been confirmed. Commit timer canceled. |
...
IP-адрес и порт, с которого поступает SIP-сообщение от абонента, сравнивается с IP-адресом и портом, с которого ранее регистрировался этот абонент. Если абонент неизвестен или неизвестен или запрос пришёл с неизвестного направления, то запрос игнорируется, а в модуль fail2ban отправляется оповещение.
| Примечание |
|---|
Если в настройках абонентского интерфейса разрешены вызовы без регистрации, то создание сессии для неизвестного абонента разрешено. Если абонент зарегистрирован, то при получении SIP-сообщения с IP-адреса или порта, отличного от адреса и порта при регистрации, такое сообщение не будет обрабатываться. |
...
1. С IP-адреса 192.168.23.242 и порта 5060 через абонентский интерфейс регистрируется абонент с AOR 123@domain.local, вызовы без регистрации на интерфейсе запрещены. Если на абонентский интерфейс придёт сообщение INVITE с AOR 123@domain.local, но с другого адреса или порта, например, с 192.168.23.242:5075, то данный запрос будет игнорирован, а в модуль fail2ban отправится модуль fail2ban отправится оповещение.
2. С IP-адреса 192.168.23.242 и порта 5060 через абонентский интерфейс приходит сообщение INVITE с AOR 123@domain.local, вызов устанавливается. В профиле безопасности, привязанному к абонентскому интерфейсу, включена проверка адреса источника SIP-сообщения. Если в рамках сессии придёт запрос BYE с другого адреса или порта, например, с 192.168.80.35:5060, то данный запрос будет игнорирован, сессия не завершится, а IP-адрес 192.168.80.35 через определенное количество запросов будет заблокирован.
...
Описание всех команд выше приведено в разделе Общие настройки ESBC.
| Scroll Pagebreak |
|---|
Пример:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc #Переход в общие настройки: vesbc(config-esbc)# general vesbc(config-esbc-general)# #Изменение времени блокировки адресов на 2880 минут (2 дня): vesbc(config-esbc-general)# security block-timeout 2880 #Изменение времени блокировки атрибутов на 600 минут (10 часов): vesbc(config-esbc-general)# security forgive-time 600 #Изменение времени хранения ошибок на 7200 секунд (2 часа): vesbc(config-esbc-general)# security errors-window 7200 #Применение и подтверждение изменений: vesbc(config-esbc-general)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-general)# do confirm Configuration has been confirmed. Commit timer canceled. |
| Scroll Pagebreak |
|---|
Пример блокировки адреса:
При получении невалидных сообщений с адреса 192.168.80.26 эти запросы отбиваются на втором плече 403 плече 403 Forbidden.
При достижении определенного количества неудачных запросов этот адрес добавится в черный список с временем блокировки, которое было настроено в общих настройках.
| Блок кода | ||
|---|---|---|
| ||
vesbc#
vesbc# configure
vesbc(config)# esbc
#Переход в общие настройки:
vesbc(config-esbc)# general
vesbc(config-esbc-general)#
#Изменение времени блокировки адресов на 2880 минут (2 дня):
vesbc(config-esbc-general)# security block-timeout 2880
#Применение и подтверждение изменений:
vesbc(config-esbc-general)# do commit
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
vesbc(config-esbc-general)# do confirm
Configuration has been confirmed. Commit timer canceled.
Происходит блокировка AOR 22222@192.168.80.26
vesbc# show esbc black-list ip
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address Ban reason AOR AOR Blocking Time of blocking
error timeout
count in minutes
--------------- ---------------- ------------------------- --------- ---------- --------------------
192.168.80.26 IP RPS LIMIT 22222@192.168.80.26 40 2880 2025-08-05 13:04:19 |
| Scroll Pagebreak |
|---|
Пример блокировки атрибута:
...
| Примечание |
|---|
Если не устанавливать значения версии TLC, то при установлении соединения будет использоваться любая версия 1.0–1.3. Настройки tls min и tls max используются только при применении crypto profile для SIP-транспорта и не используются для шифрования DTLS-SRTP при применении crypto-profile в медиапрофиле. |
| Scroll Pagebreak |
|---|
Для того чтобы использовать crypto profile для SIP-транспорта, необходимо его указать в настройках нужного транспорта:
| Блок кода | ||
|---|---|---|
| ||
vesbc(config-esbc)# sip transport SIP-TRANSPORT vesbc(config-esbc-sip-transport)# crypto profile CRYPTO-PROFILE vesbc(config-esbc-sip-transport)# exit |
...
- Настроить RADIUS-сервер(ы).
- Настроить radius profile.
- Настроить aaa profile.
- Использовать aaa profile в настройках абонентского интерфейса.
...
Возможно настроить до восьми RADIUS-серверов.
| Scroll Pagebreak |
|---|
Настройка RADIUS-профиля
В таблице ниже приведены минимальные необходимые настройки RADIUS-профиля. Описание всех доступных настроек приведено в разделе Настройки RADIUS-профиля справочника команд CLI.
Шаг | Описание | Команда | Ключи |
|---|---|---|---|
1 | Перейти в раздел конфигурирования ESBC. | esbc(config)# esbc | |
2 | Добавить в конфигурацию RADIUS-профиль профиль и перейти в режим его конфигурирования. | esbc(config-esbc)# radius profile <NAME> | <NAME> – название RADIUS-профиля, строка [1..64] символов. |
3 | Выбрать RADIUS-сервер, настроенный на предыдущем этапе для аутентификации. Допускается использование до восьми RADIUS-серверов в одном RADIUS-профиле. | esbc(config-radius-profile)# radius-server host { <IP-ADDR> | <IPV6-ADDR> } [ vrf <VRF> ]
| <IP-ADDR> – IP-адрес RADIUS-сервера, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес RADIUS-сервера, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF] <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
...