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

Ключ

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

...

Информация

Если к user-interface привязан sip profile с включенным игнорированием OPTIONS, то при получении OPTIONS от зарегистрированных абонентов ESBC будет обрабатывать эти запросы и отвечать 200 OK.

Если OPTIONS приходят не с зарегистрированных абонентов, то такие запросы игноригуютсяигнорируются.

Настройка медиапрофилей
Якорь
media_profile
media_profile

Использование медиапрофилей позволяет гибко управлять типом медиаданных путем фильтрации медиасекций в SDP, транкодированием транскодированием аудио и видео, шифрованием RTP потока, контролем сессии по наличию RTP-потока.

Медиапрофили используются в абонентских интерфейсах, транках и транк-группах. Медиапрофиль, используемый для транка, входящего в транк-группу, переопределяет настройки медиа профиля медиапрофиля, используемого в транк-группе.

...

По умолчанию ESBC работает в режиме проксирования медиатрафика без использования транскодирования. Список паттернов кодеков, доступных для проксирования через ESBC, задается командой:

Блок кода
codec allow {all | <CODEC_PATTERN> [<PT>]}

...

1. Запретить использование видео для транка Trunk2транка TRUNK_2.

Image Added

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

# Содать медиа профильмедиапрофиль для транка Trunk2 TRUNK_2
vesbc(config-esbc)# media profile FOR_TRUNK_2

# Запретить использование всех видео кодеков
vesbc(config-esbc-media-profile)# no codec allow H26
vesbc(config-esbc-media-profile)# no codec allow H261
vesbc(config-esbc-media-profile)# no codec allow H263
vesbc(config-esbc-media-profile)# no codec allow VP
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профильмедиапрофиль к транку
vesbc(config-esbc)# trunk sip TRUNK_2
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_2 
vesbc(config-esbc-trunk-sip)# do commit
vesbc(config-esbc-trunk-sip)# do confirm

В результате конфигурация медиа профиля медиапрофиля будет выглядеть следующим образом:

...

В данном примере, для транка Trunk1 TRUNK_1 не требуется использование отдельного медиапрофиля, т. к. при вызовах, поступающих в Trunk1 TRUNK_1, и, маршрутизируемых в Trunk2 TRUNK_2, все видеокодеки из SDP будут удалены в соответствии с медиапрофилем используемом для транка Trunk2, используемым для транка TRUNK_2

Image RemovedImage Added

Для вызовов поступающих в Trunk2 все видеокодеки из SDP будут удалены вне зависимости от направления маршрутизации.

Image RemovedImage Added

2. Запретить использование кодеков G729 и G726 для транка Trunk1TRUNK_1.

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

# Содать медиа профильмедиапрофиль для транка Trunk1 TRUNK_1
vesbc(config-esbc)# media profile FOR_TRUNK_1

# Запретить использование кодеков G729 и G726 
vesbc(config-esbc-media-profile)# no codec allow G729/
vesbc(config-esbc-media-profile)# no codec allow G72
vesbc(config-esbc-media-profile)# exit

# Привязать медиамедиапрофиль профиль к транку
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1 
vesbc(config-esbc-trunk-sip)# do commit
vesbc(config-esbc-trunk-sip)# do confirm

В результате конфигурация медиа профиля медиапрофиля будет выглядеть следующим образом:

Блок кода
  media profile FOR_TRUNK_1
    codec allow AMR
    codec allow CLEARMODE
    codec allow CN
    codec allow G722/ 9
    codec allow G728 15
    codec allow GSM 3
    codec allow H26
    codec allow H261 31
    codec allow H263 34
    codec allow ILBC
    codec allow L16/44100 11
    codec allow L16/44100/2 10
    codec allow OPUS
    codec allow PCMA 8
    codec allow PCMU 0
    codec allow SPEEX
    codec allow T38 t38
    codec allow VP
    codec allow telephone-event
  exit

Image RemovedImage Added

В данном примере в транк Trunk1 TRUNK_1 приходит INVITE c SDP Offer1, в котором наиболее приоритетным кодеком является G729, а также указан кодек G726, но т. к. настройками медиа профиля медиапрофиля FOR_TRUNK_1 данные кодеки запрещены, то в транк Trunk2 TRUNK_2 будет отправлен SDP Offer2 без данных кодеков. UA Trunk2 TRUNK_2 выбирает в качестве приоритетного кодек PCMA (SDP Answer2), и в результате ESBC отправляет в SDP Answer1 наиболее приоритетный кодек из SDP Offer1 (кроме G729) - PCMA.

3. Разрешить использование кодека QCELP для обоих транков (в дополнение к паттернам по -молчаниюумолчанию).

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

# Содать медиамедиапрофиль профиль для использования в обоих транках 
vesbc(config-esbc)# media profile FOR_TRUNKS

# добавитьДобавить паттерн для кодека QCELP 
vesbc(config-esbc-media-profile)#codec allow QCELP
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профильмедиапрофиль к обоим транкам
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNKS
vesbc(config-esbc-trunk-sip)# exit
vesbc(config-esbc)# trunk sip TRUNK_2
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNKS
vesbc(config-esbc-trunk-sip)# exit
vesbc(config-esbc)# do commit
vesbc(config-esbc)# do confirm

В результате конфигурация медиа профиля медиапрофиля будет выглядеть следующим образом:

Блок кода
 media profile FOR_TRUNKS
codec allow AMR
codec allow CLEARMODE
codec allow CN
codec allow G72
codec allow G722/ 9
codec allow G728 15
codec allow G729/ 18
codec allow GSM 3
codec allow H26
codec allow H261 31
codec allow H263 34
codec allow ILBC
codec allow L16/44100 11
codec allow L16/44100/2 10
codec allow OPUS
codec allow PCMA 8
codec allow PCMU 0
codec allow QCELP
codec allow SPEEX
codec allow T38 t38
codec allow VP
codec allow telephone-event
exit

Image RemovedImage Added

В данном примере в транк Trunk1 TRUNK_1 приходит INVITE c SDP Offer1, в котором содержится кодек QCELP, и т. к. настройками медиа профиля медиапрофиля FOR_TRUNKS этот кодек разрешен, то он будет передаваться SDP Offer2, отправляемый в транк Trunk2TRUNK_2. UA Trunk2 TRUNK_2 выбирает кодек QCELP, и в результате он будет согласован в SDP Answer1.

4. Разрешить использование только кодека PCMA для Trunk1TRUNK_1.

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

# Содать медиа профильмедиапрофиль для транка Trunk1 TRUNK_1
vesbc(config-esbc)# media profile FOR_TRUNK_1

# Удалить все паттерны 
vesbc(config-esbc-media-profile)# no codec allow all

# Добавить паттерн только для кодека PCMA
vesbc(config-esbc-media-profile)# codec allow PCMA 8
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профильмедиапрофиль к транку
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1 
vesbc(config-esbc-trunk-sip)# do commit
vesbc(config-esbc-trunk-sip)# do confirm

В результате конфигурация медиа профиля медиапрофиля будет выглядеть следующим образом:

Блок кода
  media profile FOR_TRUNK_1
    codec allow PCMA 8
  exit

Image RemovedImage Added

В данном примере в транк Trunk1 TRUNK_1 приходит INVITE c SDP Offer1 с набором кодеков. Т. к. настройками медиа профиля медиапрофиля FOR_TRUNK_1 запрещены все кодеки кроме PCMA, то в транк Trunk2 TRUNK_2 будет отправлен SDP Offer2, содержащий только кодек PCMA.

...

Эта возможность позволяет:

  • Гибко гибко справляться со сложными сетевыми соединениями и широким спектром медиакодеков;
  • Оптимизировать оптимизировать доступную полосу пропускания, принудительно используя различные кодеки сжатия;
  • Нормализовать нормализовать трафик в сети предприятия, используя один кодек;
  • Заключать заключать соглашения о взаимодействии между сетями VoIP для использования одобренных кодеков.

ESBC предоставляет возможности транскодирования на границе сети вместо использования ресурсов сети предприятия для тех же функций. 

Список кодеков, поддерживаемых в режиме транскодирования:

     G722                                                                   

Аудиокодеки

Видеокодеки AMR

AMR                

AMR-WB        

 

G722  

           

G7221-24      

 

G7221-32

G7221C-24

G7221C-32          

G7221C-48        

G726-16            

G726-24          

G726-32            

G726-40          

G729               

GSM              

ILBC               

L16-MONO         

OPUS               

PCMA             

PCMU               

SPEEX-NB         

SPEEX-UWB          

SPEEX-WB 

H263-1998   

H264        

VP8         

VP9

Поддержка кодеков для транскодирования осуществляется командами: 

Блок кода
codec {audio | video | image} {all | <CODEC>}
no codec {audio | video | image} {all | <CODEC>}

<CODEC> название кодека. Указывается из списка поддержанных для транскодирования кодеков.

all - включает транскодирование всех доступных кодеков заданного типа медиаданных.

...

  1. Offer SDP фильтруется согласно разрешённым кодекам на плече A.
  2. Offer SDP фильтруется согласно разрешённым кодекам на плече B.
  3. Если в медиапрофиле на плече А включен транскодинг, и во входящем SDP присутствуют кодеки из списка разрешенных, то в конец Offer SDP добавляются недостающие кодеки, транскодинг которых включен в media profile на плече B.
  4. Answer SDP фильтруется согласно разрешённым кодекам на плече B.
  5. В конец Answer SDP добавляются недостающие кодеки, транскодинг которых включен в media profile на плече A.
  6. Перед отправкой Answer SDP в плечо А производится согласование кодеков. 

В результате, транскодирование включается, если самые приоритетные кодеки из Offer и Answer SDP на двух плечах не совпадают. В таком случае в Answer SDP будет выбран наиболее приоритетный кодек, который был получен в Offer SDP, и для которого включена поддержка транскодирования в медиа профиле медиапрофиле на плече А.

Иначе, при совпадении приоритетных кодеков в Offer SDP и Answer SDP, будет использоваться проксирование медиаданных.

С целью снижения нагрузки на ESBC, транскодирование включается только в случае, когда использовать проксирование медатрафика медиатрафика невозможно.

Для включения транскодирования необходимо ипользовать использовать медиапрофили с включенным транкодированием транскодированием (codec audio/video) на обоих направлениях.

Если на одном из направлений не используется медиапрофиль (т. е. используется медиа профиль медиапрофиль по умолчанию), или в профиле не настроено ни одно правило codec audio/video, то транскодирование осуществляться не будет.

Пример:

В транке Trunk1 TRUNK_1 используется медиапрофиль FOR_TRUNK_1, в котором разрешены кодеки PCMA и PCMU для проксирования, и не указаны кодеки разрешенные для транскодирования.

В транке Trunk2 TRUNK_2 используется медиапрофиль FOR_TRUNK_2, в котором также кодеки PCMA и PCMU разрешены для проксирования, и кодек G729 разрешен для транскодирования.

В SDP Offer1, полученном с транка Trunk1 TRUNK_1, указаны кодеки PCMA и PCMU, и т. к. в медиа профиле медиапрофиле FOR_TRUNK_1 отсутствуют кодеки, разрешенные для транскодирования, в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, кодек G729 не будет добавлен. Соответственно при вызовах из Trunk1 в Trunk2 TRUNK_1 в TRUNK_2 (и в обратном направлении) возможно только проксирования проксирование медиаданных.

Image RemovedImage Added

Если в медиапрофиле не содержится ни одного паттерна для проксирования кодеков, а указаны только кодеки, доступные для транскодирования, то при наличае наличии одинаковых кодеков в медиапрофилях, используемых на входящем и исходящем напрвлениях направлениях, медиаданные будут передаваться в режмие режиме проксирования. 

Т. о. включение поддержки транскодирования для кодеков комадндами командами codec {audio | video | image} {all | <CODEC>} не означает, что медиаданные передаваемы передаваемые через ESBC медиаданные всегда будут транскодироваться.

Пример:

Для транков Trunk1 и Trunk2 TRUNK_1 и TRUNK_2 используется один и тотже тот же медиапрофиль FOR_TRUNKS, в котором указан только кодек PCMA, разрешенный для транскодирования, и отсутствуют паттерны кодеков для проксирования.

В SDP Offer1, полученном с транка Trunk1 TRUNK_1, указаны кодеки PCMA и PCMU, и т. к. в медиа профиле медиапрофиле FOR_TRUNKS не указан кодек PCMU (ни для проксирования, ни для транскодирования),то в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, кодек PCMU не будет добавлен. При получении SDP Answer2 происходит согласование кодека PCMA, и в Trunk1 TRUNK_1 будет отправлен SDP Answer1 с кодеком PCMA. При этом медиаданные будут передаваться в режиме проксирования, т. к. наиболее приоритетные кодеки в SDP Offer и SDP Answer совпадают.

Image RemovedImage Added

Примеры использования медиа профилей медиапрофилей для управления кодеками в режиме транскодирования

...

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

# Содать медиа профиль для транка Trunk1TRUNK_1
vesbc(config-esbc)# media profile FOR_TRUNK_1

# Запретить использование всех кодеков в режмиережиме проксирования
vesbc(config-esbc-media-profile)# no codec allow all

# Включить поддержку кодека PCMA в режиме транскодирования
vesbc(config-esbc-media-profile)# codec audio PCMA 
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профильмедиапрофиль к транку Trunk1TRUNK_1
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1
vesbc(config-esbc-trunk-sip)# exit

# Содать медиа профильмедиапрофиль для транка Trunk2TRUNK_2
vesbc(config-esbc)# media profile FOR_TRUNK_2

# Запретить использование всех кодеков в режмиережиме проксирования
vesbc(config-esbc-media-profile)# no codec allow all

# Включить поддержку кодека PCMU в режиме транскодирования
vesbc(config-esbc-media-profile)# codec audio PCMU
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профильмедиапрофиль к транку Trunk2TRUNK_2
vesbc(config-esbc)# trunk sip TRUNK_2
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_2
vesbc(config-esbc-trunk-sip)# do commit
vesbc(config-esbc-trunk-sip)# do confirm

В результате конфигурации медиа профилей конфигурация медиапрофилей будет выглядеть следующим образом:

Блок кода
  media profile FOR_TRUNK_1
    codec audio PCMA
  exit
  media profile FOR_TRUNK_2
    codec audio PCMU
  exit

В SDP Offer1, полученном с транка Trunk1 TRUNK_1, указан кодек PCMA, и т. к. в медиа профиле медиапрофиле FOR_TRUNK_2 указан только кодек PCMU для транскодирования, в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, кодек кодек PCMA будет заменен на PCMU. Соответственно при вызовах из Trunk1 в Trunk2 TRUNK_1 в TRUNK_2 (и в обратном направлении) возможно только транскодирование медиаданных.

Image RemovedImage Added

Если в В SDP Offer1, полученном с транка Trunk1 TRUNK_1, будут указаны любые кодеки кроме PCMA, то вызов не будут установлен, ESBC отправит на INVITE ответ 488.

2. Использование медиапрофилей для проксирования и транскодирования аудиоданных.

Для транков Trunk1 и Trunk2 TRUNK_1 и TRUNK_2 используются медиапрофили, позволяющие проксировать все кодеки и транскодировать аудио G722 <---> G729 и GSM <---> G729

Настройка медиа профилеймедиапрофилей:

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

# Содать медиа профильмедиапрофиль для транка  Trunk1TRUNK_1
vesbc(config-esbc)# media profile FOR_TRUNK_1

# Включить поддержку кодеков G722 и GSM в режиме транскодирования
vesbc(config-esbc-media-profile)# codec audio G722
vesbc(config-esbc-media-profile)# codec audio GSM 
vesbc(config-esbc-media-profile)# exit

# Привязать медиамедиапрофиль профиль к транку Trunk1 TRUNK_1
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1
vesbc(config-esbc-trunk-sip)# exit

# Содать медиа профильмедиапрофиль для транка Trunk2 TRUNK_2
vesbc(config-esbc)# media profile FOR_TRUNK_2

# Включить поддержку кодека G729 в режиме транскодирования
vesbc(config-esbc-media-profile)# codec audio G729
vesbc(config-esbc-media-profile)# exit

# Привязать медиа профиль к транку Trunk2 TRUNK_2
vesbc(config-esbc)# trunk sip TRUNK_2
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_2
vesbc(config-esbc-trunk-sip)# do commit
vesbc(config-esbc-trunk-sip)# do confirm

В результате конфигурации медиа профилей конфигурация медиапрофилей будет выглядеть следующим образом:

Блок кода
  media profile FOR_TRUNK_1
    codec audio GSM
    codec audio G722
    codec allow AMR
    codec allow CLEARMODE
    codec allow CN
    codec allow G72
    codec allow G722/ 9
    codec allow G728 15
    codec allow G729/ 18
    codec allow GSM 3
    codec allow H26
    codec allow H261 31
    codec allow H263 34
    codec allow ILBC
    codec allow L16/44100 11
    codec allow L16/44100/2 10
    codec allow OPUS
    codec allow PCMA 8
    codec allow PCMU 0
    codec allow SPEEX
    codec allow T38 t38
    codec allow VP
    codec allow telephone-event
  exit

  media profile FOR_TRUNK_2
    codec audio G729
    codec allow AMR
    codec allow CLEARMODE
    codec allow CN
    codec allow G72
    codec allow G722/ 9
    codec allow G728 15
    codec allow G729/ 18
    codec allow GSM 3
    codec allow H26
    codec allow H261 31
    codec allow H263 34
    codec allow ILBC
    codec allow L16/44100 11
    codec allow L16/44100/2 10
    codec allow OPUS
    codec allow PCMA 8
    codec allow PCMU 0
    codec allow SPEEX
    codec allow T38 t38
    codec allow VP
    codec allow telephone-event
  exit

2.1 В SDP Offer1, полученном с транка Trunk1 TRUNK_1, указаны кодеки PCMA, PCMU, G726 и G722. Т. к. в медиа профиле медиапрофиле FOR_TRUNK_1 есть кодек G722, разрешенный для транскодирования, то в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, будет добавлен кодек G729. Остальные кодеки будут передавться передаваться из SDP Offer1 в SDP Offer2, т. к. на обоих медиапрофилях настроены паттерны, разрешающие проксирование этих кодеков. В SDP Answer2, полученном из Trunk2 TRUNK_2, указан кодек PCMU. Этот кодек будет согласован ESBC в SDP Answer1. Т. к. этот кодек был в SDP Offer1, то будет выбран режим проксирования медиаданных.

Image RemovedImage Added

2.2 В SDP Offer1, полученном с транка Trunk1 TRUNK_1,  указаны кодеки PCMA, PCMU, G726 и G722. Т. к. в медиа профиле медиапрофиле FOR_TRUNK_1 есть кодек G722, разрешенный для транскодирования, то в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, будет добавлен кодек G729. Остальные кодеки будут передавться передаваться из SDP Offer1 в SDP Offer2, т. к. на обоих медиапрофилях настроены паттерны, разрешающие проксирование этих кодеков. В SDP Answer2, полученном из Trunk2 TRUNK_2, указан кодек G729. Т. к. этого кодека не было в SDP Offer1, то будет согласован единственный возможный кодек для Trunk1 - TRUNK_1 — G722. Т. к. кодеки на плечах Trunk1 и Trunk2 TRUNK_1 и TRUNK_2 отличаются, будет включено транскодирование медиаданных G722 <---> G729.

Image RemovedImage Added


2.3 В SDP Offer1, полученном с транка Trunk1 TRUNK_1, указаны кодеки PCMA, PCMU, GSM, G726 и G722. Т. к. в медиа профиле медиапрофиле FOR_TRUNK_1 есть кодеки G722 и GSM, разрешенные для транскодирования, то в SDP Offer2, который будет отправлен в Trunk2 TRUNK_2, будет добавлен кодек G729. Остальные кодеки будут передавться из SDP Offer1 в SDP Offer2, т. к. на обоих медиапрофилях настроены паттерны, разрешающие проксирование этих кодеков. В SDP Answer2, полученном из Trunk2 TRUNK_2, указан кодек G729. Т. к. этого кодека не было в SDP Offer1, то будет согласован наиболее приоритетный кодек для Trunk1 - TRUNK_1 — GSM. 
Т. к. кодеки на плечах Trunk1 и Trunk2 TRUNK_1 и TRUNK_2 отличаются, будет включено транскодирование медиаданных GSM <---> G729.

Image RemovedImage Added

 

Scroll Pagebreak

...

Если выбран режим mandatory и включены оба метода, то на втором плече будет выбран DTLS-SRTP, как более приоритетный.

Примечание

По умолчанию поддержка SRTP выключена.

По умолчанию , при использовании DTLS-SRTP используются сертификаты сгенерированные автоматически. Для использования сертификатов, загруженных пользователем, необходимо в медиапрофиле указать криптопрофиль с необходимыми сертификатами командой crypto profile. Подробное описание криптопрофилей приведено в разделе Настройка криптопрофилей.

...

В конфигурации есть два транка, настроена маршрутизация. Вызов, который приходит из TRUNK_IN, уходит в TRUNK_OUT.  На TRUNK_OUT включаем обязательное использование SRTP с методом обмена ключами SDES.

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

#Создание медиапрофиля NEW_MEDIA_PROFILE:
vesbc(config-esbc)# media profile NEW_MEDIA_PROFILE 
vesbc(config-esbc-media profile)# 

#Настройка SRTP (включили обязательный режим использования, метод обмена ключами — SDES):
vesbc(config-esbc-media-profile)# srtp keying 
  dtls-srtp  Enable DTLS-SRTP keying method
  sdes       Enable SDES keying method

vesbc(config-esbc-media-profile)# srtp keying sdes 
vesbc(config-esbc-media-profile)# srtp mode 
  disable    SRTP is disabled
  mandatory  SRTP is mandatory
  optional   SRTP is optional

vesbc(config-esbc-media-profile)# srtp mode mandatory 
vesbc(config-esbc-media-profile)# 

 
vesbc(config-esbc-media-profile)# exit
vesbc(config-esbc)#

#Привязать медиапрофиль к транку TRUNK_OUT:
vesbc(config-esbc)# trunk sip TRUNK_OUT
vesbc(config-esbc-trunk-sip)# media profile NEW_MEDIA_PROFILE 
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.

...

Контроль источника RTP

Контроль источника RTP позоволяет позволяет принимать медиатрафик только с IP-адреса и порта, указанного в SDP встречной стороны, повышая безопасность взаимодействия при использовании публичной сети передачи данных.

Включение/выколючение выключение режима осуществляется командами rtp source-verification и no rtp source-verification соответственно. При отключенной проверке IP-адрес и порт источника RTP не проверяется.

...

Примечание

При использовании опции "Контроль источника RTP" совместно с включенной опцией nat comedia в транке или абонентском интерфейсе, RTP-трафик будет передаваться на IP-адрес и порт из входящего потока.

...

Модуль занимается анализом возникающих ошибок для дальнейшей блокировки источников "подозрительного SIP-трафика". При возникновении ошибки в модуль отправляется информация о типе ошибки и об источнике. При накоплении достаточного количества ошибок источник блокируется. 

Виды ошибок:

  • Ошибка ошибка регистрации;
  • Ошибка ошибка вызова;
  • Ошибка ошибка подписки;
  • Флуд флуд SIP-пакетов;
  • Некорректный некорректный SIP-пакет;
  • Срабатывание срабатывание флуд-фильтра;
  • Получение получение пакета вне транка/абонентского интерфейса.

Лимит количества ошибок зависит от нескольких факторов:

  • Вес вес ошибки;
  • Интервал интервал времени между ошибками;
  • Количество количество ошибок одного вида;
  • Количество количество AOR, которые использовались в SIP-сообщениях с одного IP-адреса;
  • Количество количество IP-адресов, которые присылали SIP-сообщения с одним AOR.

При добавлении адреса в чёрный список указывается причина блокировки. Чёрный список можно просмотреть в CLI командой show esbc black-list или в WEB на странице Мониторинг→Списки доступа→Чёрный список.

Причины блокировки:

  • ACCOUNT HACKING - превышен лимит по количеству ошибок с одинаковым AOR/User-Agent;

  • PACKET FLOODING - превышен лимит по количеству ошибок с одного IP-адреса;

  • BURST ERRORS - превышен глобальный лимит по количеству ошибок в секунду;

  • GLOBAL RPS LIMIT - превышен глобальный лимит по количеству заблокированных запросов в секунду;

  • IP RPS LIMIT - превышен лимит по количеству заблокированных запросов в секунду c одного IP-адреса;

  • MONITORED ADDRESSES LIMIT - превышено максимальное количество IP-адресов с ошибками;

  • DISTRIBUTED SPAM - превышено максимальное количество IP-адресов с одинаковым заблокированным атрибутом (AOR, User-Agent);

  • BLOCKED ATTRIBUTES LIMIT - превышено максимальное количество заблокированных атрибутов (AOR, User-Agent);

  • IP BLOCKED ATTRIBUTES LIMIT - превышено максимальное количество заблокированных атрибутов (AOR, User-Agent) с одного IP-адреса.

Фильтрация SIP-флуда

ESBC поддерживает создание флуд-фильтров для механизма конфигурируемой защиты от SIP-flood, а также для фильтрации клиентских приложений. Фильтр применяется ко всему SIP-сообщению (включая тело - SDP, XML и т. д.).

В настройках фильтра можно указать до 64 масок/паттернов, по которым происходит поиск. В случае нахождения сообщение определяется как флуд и отбрасывается.

...

После применения изменений все входящие инициирующие запросы с абонентских интерфейсов UI_1, UI_2, UI_3 будут проверяться на наличие подстрок "7543546" и "flood". Если хотя бы одна подстрока будет найдена в сообщении, то оно отбросится, а в модуль fail2ban отправится уведомление о срабатывании флуд-фильтра, при накоплении достаточного количества ошибок источник блокируется.

Информация

Для того , чтобы фильтр применялся ко всем сообщениям, а не только к инициирующим запросам нужно , необходимо включить опцию apply-to-created.

...

С адреса 192.168.80.134 через абонентский интерфейс приходят сообщения INVITE с AOR 123@anonymous.invalid, вызовы без регистрации на интерфейсе запрещены, поэтому эти запросы отбиваются 403 Forbidden.

Если в профиле безопасности, привязанному к абонентскому интерфейсу, отключена блокировка по AOR, то через определенное количество запросов заблокируется только IP-адрес, и запросы с него больше обрабатываться не будут.

Информация
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address        Ban reason         AOR       AOR          Blocking      Time  of AORblocking        
Blocking     Time of  blocking       
                                   error        timeout                      error       timeout  
                            
                     count                                            count       in minutes                          
---------------   ----------------   -------------------------   ---------   ----------   --------------------    
192.168.80.134    PACKET FLOODING                        0        0           1440         2025-07-30 11:38:44  

...

С нескольких адресов 192.168.80.13x через абонентский интерфейс приходят сообщения INVITE с User-Agent: sipflood, вызовы без регистрации на интерфейсе запрещены, поэтому эти запросы отбиваются 403 Forbidden.

Если в профиле безопасности, привязанному к абонентскому интерфейсу, отключена блокировка по User-Agent, то через определенное количество запросов заблокируются только IP-адреса, и запросы с них больше обрабатываться не будут:

Информация
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address        Ban reason         AOR                         AOR         Blocking     Time of blocking       
   
                                                             error       timeout                             
   
                                                 count            count       in minutes                          
---------------   ----------------   -------------------------   ---------   ----------   --------------------    
192.168.80.132    PACKET FLOODING                           0      0           1440         2025-07-31 04:51:53  
192.168.80.133    PACKET FLOODING                             0    0           1440         2025-07-31 04:52:22  
192.168.80.134    PACKET FLOODING                             0    0           1440         2025-07-31 04:52:46
192.168.80.136    PACKET FLOODING             0                    0           1440         2025-07-31 04:53:11    
192.168.80.137    PACKET FLOODING                             0    0           1440         2025-07-31 04:54:30  

...

Информация
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address        Ban reason         AOR                         AOR         Blocking     Time of blocking       
        AOR     AOR         Blocking     Time of blocking      
                                   error       timeout      error        timeout               
                 
                                               countcount       in minutes                          
---------------   ----------------   -------------------------   ---------   ----------   --------------------     
192.168.80.132    PACKET FLOODING                                00           1440         2025-07-31 04:54:23  
192.168.80.133    PACKET FLOODING                                00           1440         2025-07-31 04:54:52  
192.168.80.134    PACKET FLOODING                        0        0           1440         2025-07-31 04:55:16
192.168.80.136    PACKET FLOODING                                00           1440         2025-07-31 04:55:41    
192.168.80.137    PACKET FLOODING                                00           1440         2025-07-31 04:56:00  

User-agent black-list:
--------------------------------------------------------------------------------------------
UA                          Ban reason         UA error    Forgive      Time of blocking       
                                               count       time in                             
                                                           minutes                             
-------------------------   ----------------   ---------   ----------   --------------------   
sipflood                    ACCOUNT HACKING    138         60           2025-07-31 04:56:07  

...

Если в профиле безопасности, привязанному к абонентскому интерфейсу, отключено объединение ошибок по адресу, то через определенное количество запросов заблокируется только IP-адрес и запросы с него больше обрабатываться не будут:

Информация
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address        Ban reason         AOR                         AOR         Blocking     Time of blocking       
                     
                                           error       timeout                             
                        
                                           count       in minutes                          
---------------   ----------------   -------------------------   ---------   ----------   --------------------     
192.168.80.133    PACKET FLOODING                                0           1440         2025-07-31 06:38:44

...

Все запросы с любого адреса, в котором будут заблокированные AOR во From, обрабатываться не будут.

Информация
IP black-list:
--------------------------------------------------------------------------------------------------------------
IP address        Ban reason         AOR                         AOR         Blocking     Time of blocking         
                                                                 error    timeout   timeout                             
                                                                 count       in minutes                          
---------------   ----------------   -------------------------   ---------   ----------   --------------------     
192.168.80.133    IP BLOCKED         24018@anonymous.invalid     1           1439         2025-07-31 07:11:32    
                  ATTRIBUTES LIMIT                                                                               


AOR black-list:
--------------------------------------------------------------------------------------------
AOR                         Ban reason         AOR         Forgive      Time of blocking       
                                               error       time in                             
                                               count       minutes                             
-------------------------   ----------------   ---------   ----------   --------------------   
24001@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:29    
24002@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:29    
24003@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:29    
24004@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:30    
24005@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:30    
24006@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:30    
24007@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:30    
24008@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:30    
24009@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:31    
24010@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:31    
24011@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:31    
24012@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:31    
24013@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:31    
24014@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:32    
24015@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:32    
24016@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:32    
24017@anonymous.invalid     PACKET FLOODING    1           19           2025-07-31 07:11:32    
24018@anonymous.invalid     PACKET FLOODING    1           58           2025-07-31 07:11:32

...

При использовании протоколов TLS или WebSocket Secure (WSS) в качестве SIP-транспорта, а также протокола DTLS-SRTP для шифрования RTP-трафика, возможно использование сертификатов, автоматически сгенерированных самим ESBC, сгенерированных по требованию пользователя на ESBC или загруженных пользователем. По умолчанию используются сертификаты, автоматически сгенерированные самим ESBC, дополнительных настроек для их использования не требуется.

...

Примечание

Путь для сохранения сертификатов ca и cert - crypto:cert/ 

Путь для сохранения private-key - crypto:private-key/

Для управления пользовательскими сертификатами и версией TLS используется crypto profile.

Приммер Пример настройки crypto profile:

Блок кода
languagec#
vesbc# 
vesbc# configure 
vesbc(config)# esbc 
vesbc(config-esbc)# crypto profile CRYPTO-PROFILE

#Установка сертификата удостоверяющего центра (CA certificate)
vesbc(config-esbc-crypto-profile)# ca default_ca.pem  

#Установка клиентского сертификата (X.509)
vesbc(config-esbc-crypto-profile)# cert default_cert.pem 

#Установка private-key
vesbc(config-esbc-crypto-profile)# private-key default_cert_key.pem

#Установка пароля private-key (не обязательнонеобязательно)
vesbc(config-esbc-crypto-profile)# password private-key PASSWORD

#Установка минимальной и максимальной версии TLS (не обязательнонеобязательно)
vesbc(config-esbc-crypto-profile)# tls min 1.1
vesbc(config-esbc-crypto-profile)# tls max 1.2
vesbc(config-esbc-crypto-profile)# exit
Примечание

Если не устанавливать значения версии TLC то при установлении соединения будут использоваться любая версия 1.0-10–1.3.

Настройки tls min и tls max используются только при применении crypto profile для SIP-транспорта и не используются для шифрования DTLS-SRTP, при использовании crypto-profile в медиа профилемедиапрофиле.

Для того чтобы использовать crypto profile для SIP-транспорта, необходимо его указать в настройках нужного транспорта:

...

Настройки crypto profile будут использоваться, только если выбран режим работы SIP-транспорта tls или wss, для остальных режимов настройки игнорируются.

Для того чтобы использовать crypto profile для шифрования DTLS-SRTP, необходимо его указать в настройках медиа профиля:

...

Настройки crypto profile будут использоваться, только если выбран режим шифрования srtp keying dtls-srtp, для остальных режимов настройки игнорируются.

...

Задача:

Использовать сертификат, загруженный пользователем на ESBC, для абонентских подключений по tls версии 1.3 и шифрования медиа DTLS-SRTP.

  User -----------tls/srtp-dtls--------ESBC------------udp/rtp--------------ECSS-10.

10.0.0.1:5061                 20.0.0.1:5061    192.168.1.1:5070              192.168.1.2:5070

СХЕМУ СДЕЛАТЬ КРАСИВО

Image Added

Решение:

1. Выполнить базовую настройку ESBC для обеспечения маршрутизации абонентских подключений в сторону ECSS-10:

...

Блок кода
languagec#
vesbc(config-esbc)# crypto profile CRYPTO_PROFILE
vesbc(config-esbc-crypto-profile)# ca ca.crt
vesbc(config-esbc-crypto-profile)# cert cert.crt
vesbc(config-esbc-crypto-profile)# private-key key.pem
vesbc(config-esbc-crypto-profile)# tls min 1.3
vesbc(config-esbc-crypto-profile)# tls max 1.3
vesbc(config-esbc-crypto-profile)# exit

4. Создать медиа-профиль медиапрофиль для использования DTLS-SRTP и привязать к нему crypto profile:

...