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

Ключ

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

...

Блок кода
languagec#
vesbc# 
vesbc# configure 
vesbc(config)# esbc 
vesbc(config-esbc)# route-table ROUTE_TABLE

#Добавление первого правила с действием отправить вызов в транковую группу TRUNK_GROUP:
vesbc(config-esbc-route-table)# rule 0
vesbc(config-esbc-route-table-rule)# action direct-to-trunk-group TRUNK_GROUP
vesbc(config-esbc-route-table-rule)# exit

#Добавление второго правила с действием отправить вызов в транк TRUNK_3:
vesbc(config-esbc-route-table)# rule 1
vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_3

Пример работы условий:

ПЕРЕДЕЛАТЬ СХЕМУ

В таблице маршрутизации два правила, у обоих есть условия по CGPN, CDPN и SIP-MESSAGE. Например, приходит вызов, у которого номер А=23000, номер Б=24000, и кастомный заголовок "Trunk: For trunk_1". ESBC заходит в RULE_1 и анализирует условие CONDITION_1, условие истинно, далее происходит анализ условия из CONDITION_2, условие истинно, далее происходит анализ условия из CONDITION_3, условие также истинно. Значит правило RULE_1 подходит для маршрутизации, и вызов отправляется в TRUNK_1.

...

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

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

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

...

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

Управление типом медиаданных и кодеками

Обработка медиапотоков осуществляется в двух режимах: проксирование и транскодирование. 

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

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

<CODEC_PATTERN> – название кодека/часть названия кодека, 

<PT> – payload type. (Не обязательный параметр). При указании будет проводиться дополнительная проверка патерна на полное совпадение кодека с указанным payload type.

Описание всех команд приведено в разделе Настройки медиапрофиля справочника команд CLI.

При созданиии медиа профиля список паттернов для наиболее известных кодеков IANAПри создании медиапрофиля список кодеков, доступных для проксирования, добавляется автоматически .и выглядит следующим образом:

c#
Блок кода
language
vesbc# configure 
vesbc(config)# esbc 
vesbc(config-esbc)# media profile MEDIA_PROFILE
vesbc(config-esbc-media-profile)# do commit 
vesbc(config-esbc-media-profile)# do confirm 
vesbc(config-esbc-media-profile)# do sh running-config esbc media profile 
media profile MEDIA_PROFILE
 codec allow AMR
    codec allow CLEARMODE
    codec allow AMRCN
  codec allow CLEARMODE
  codec allow CNG72
  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

Для очистки списка используется команда no codec allow all. При использовании данной команды будут удалены кодеки, добавленные автоматически при создании профиля, и кодеки, добавленные пользователем.

Список кодеков, разрешенных для проксирования, можно изменять, а также добавлять в него любые кодеки. Для этого используется команда:

Блок кода
languagec#
codec allow <full or partial codec name> [payload type]

где:

<full or partial codec name> — часть или полное название кодека (в соответствии с SDP rtpmap);

[payload type] — номер payload type. Параметр опциональный.

Т.к. использование паттернов позволяет указывать не полное название кодека а его чать, то запись вида "codec allow G72" означает что кодеки Допускается указание части названия кодека, например: codec allow G72, в таком случае будет разрешено проксирование кодеков G726-16, G726-24, G726-32, G726-40 будут доступны для проксирования.

Предупреждение

Для кодеков со статическим payload type рекомендуется указывать номер payload type, иначе, если в SDP не будет указан атрибут rtpmap, вызов будет отбиваться кодом 488.

Scroll Pagebreak

Транскодирование

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

  • codec audio
  • codec video
  • codec image (в текущей версии ПО не поддерживается, данная команда аналогична команде codec allow T38 t38)

Порядок обработки SDP для выбора режима работы:

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

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

Пример:

На плече A разрешён только кодек PCMA:

Блок кода
languagec#
media profile MP_A
codec audio PCMA
exit

на плече B — PCMU:

Блок кода
languagec#
media profile MP_B
codec audio PCMU
exit

В данном случае на плечах А и B будут согласованы кодеки PCMA и PCMU соответственно, и будет включено транскодирование.

Если на плече B включить поддержку PCMA:

Блок кода
languagec#
media profile MP_B
codec audio PCMU
codec audio PCMA
exit

то выбор режима работы (проксирование/транскодирование) будет осуществляться в зависимости от кодека, указанного в Answer SDP плеча B.

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

Для очистки списка используется команда no codec allow all. При использовании данной команды будут удалены паттерны кодеков, добавленные автоматически при создании профиля, и паттерны кодеков, добавленные/измененные пользователем.

Управление списком кодеков и типом медиаданных (audio, video, image) SDP осуществляется путем добавления/удаления/изменения паттернов codec allow. Максимальное количесво паттернов в одном медиа профиле - 64.

Примечание

Для успешного согласования кодеков в режиме проксирования, необходимо что бы на входящем и исходящем напрвлении, в медиапрофилях, привязанным к этим напрвлениям, содержались паттерны, позволяющие пропускать одни и теже кодеки. В случае когда согласование невозможно, на запросы INVITE ESBC будет отвечать сообщением 488.

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

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

Image Added

Блок кода
vesbc# configure 
vesbc(config)# esbc
# Содать медиа профиль для транка Trunk2 
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

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

Блок кода
  media profile FOR_TRUNK_2
    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 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 telephone-event
  exit

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

Image Added

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

Image Added

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

Блок кода
vesbc# configure 
vesbc(config)# esbc
# Содать медиа профиль для транка Trunk1 
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 Added

В данном примере в транк Trunk1 приходит INVITE c SDP Offer1 в котором наиболее приоритетным кодеком является G729, а также указан кодек G726, но т.к. настройками медиа профиля FOR_TRUNK_1 данные кодеки запрещены, то в транк Trunk2 будет отправлен SDP Offer2 без данных кодеков. UA Trunk2 выбирает в качестве приоритетного кодек 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

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

Блок кода

Image Added

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

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

Блок кода
vesbc# configure 
vesbc(config)# esbc
# Содать медиа профиль для транка Trunk1 
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 Added

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


Scroll Pagebreak

Транскодирование

Транскодирование — это возможность преобразования медиапотоков, основанных на разных кодеках. 

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

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

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

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

Аудиокодеки

Видеокодеки

 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 - включает транскодирование всех доступных кодеков заданного типа медиаданных.

Примечание

Команда codec image в текущей версии ПО не поддерживается, данная команда аналогична команде codec allow T38 t38

Описание всех команд приведено в разделе Настройки медиапрофиля справочника команд CLI.

Порядок обработки SDP для выбора режима работы:

  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 используется медиапрофиль FOR_TRUNK_1 в котором разрешены кодеки PCMA и PCMU для проксирования и не указаны кодеки разрешенные для транскодирования.

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

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

Image Added


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

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

Пример:

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

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

Image Added

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

1. Настроить только режим транскодирования кодеков PCMA <---> PCMU между направлениями. 

Блок кода
vesbc# configure 
vesbc(config)# esbc
# Содать медиа профиль для транка Trunk1
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
# Привязать медиа профиль к транку Trunk1
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1
vesbc(config-esbc-trunk-sip)# exit
# Содать медиа профиль для транка Trunk2
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
# Привязать медиа профиль к транку Trunk2
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 указан кодек PCMA, и т.к. в медиа профиле FOR_TRUNK_2 указан только кодек PCMU для транскодирования, в SDP Offer2 который будет отправлен в Trunk2 кодек кодек PCMA будет заменен на PCMU. Соответственно при вызовах из Trunk1 в Trunk2 (и в обратном направлении) возможно только транскодирование медиаданных.

Image Added

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


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

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

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

Блок кода
vesbc# configure 
vesbc(config)# esbc
# Содать медиа профиль для транка Trunk1
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
vesbc(config-esbc)# trunk sip TRUNK_1
vesbc(config-esbc-trunk-sip)# media profile FOR_TRUNK_1
vesbc(config-esbc-trunk-sip)# exit
# Содать медиа профиль для транка Trunk2
vesbc(config-esbc)# media profile FOR_TRUNK_2
# Включить поддержку кодека G729 в режиме транскодирования
vesbc(config-esbc-media-profile)# codec audio G729
vesbc(config-esbc-media-profile)# exit
# Привязать медиа профиль к транку Trunk2
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 указаны кодеки PCMA, PCMU, G726 и G722. Т.к. в медиа профиле FOR_TRUNK_1 есть кодек G722 разрешенный для транскодирования, то в SDP Offer2 который будет отправлен в Trunk2 будет добавлен кодек G729. Остальные кодеки будут передавться из SDP Offer1 в SDP Offer2 т.к. на обоих медиапрофилях настроены паттерны разрешающие проксирование этих кодеков. В SDP Answer2, полученном из Trunk2 указан кодек PCMU. Этот кодек будет согласован ESBC в SDP Answer1. Т.к. этот кодек был в SDP Offer1 то будет выбран режим проксирования медиаданных.

Image Added

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

Image Added


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

Image AddedЕсли в ответе первым кодеком будет указан PCMA, то будет выбран режим проксирования, если PCMU — режим транскодирования.


 

Scroll Pagebreak

Таймаут ожидания RTP-пакетов

...

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

#Просмотр полной статистики при активных вызовах:
vesbc# show esbc statistics all  
ESBC global call counters: 
-----------------------------------------------------------------------
Counter Name                Incoming               Outgoing               
-------------------------   --------------------   --------------------   
CALLS PER SECOND            2                      2                      
CALL LEGS                   50                     50                     
REQUESTS IN CALL            6                      7                      
RESPONSES IN CALL           8                      8                      
ANSWERED CALLS              2                      2                      
CALLS TO WRONG NUMBER       0                      0                      
BUSY CALLS                  0                      0                      
NO ANSWERED CALLS           0                      0                      
FORBIDDEN CALLS             0                      0                      
UNAUTHORIZED CALLS          0                      0                      
3XX CODES                   0                      0                      
4XX CODES                   0                      0                      
5XX CODES                   0                      0                      
6XX CODES                   0                      0                      

ESBC global register counters: 
-----------------------------------------------------------------------
Counter Name                Incoming               Outgoing               
-------------------------   --------------------   --------------------   
REGISTERS PER SECOND        0                      0                      
REGISTER TRANSACTIONS       0                      0                      
RESPONSES                   0                      0                      
SUCCESS REGISTERS           0                      0                      
REQUEST TIMEOUT             0                      0                      
FORBIDDEN REGISTERS         0                      0                      
UNAUTHORIZED REGISTERS      0                      0                      
INTERVAL TOO BRIEF          0                      0                      
3XX CODES                   0                      0                      
4XX CODES                   0                      0                      
5XX CODES                   0                      0                      
6XX CODES                   0                      0                      

ESBC global subscribe counters: 
-----------------------------------------------------------------------
Counter Name                Incoming               Outgoing               
-------------------------   --------------------   --------------------   
SUBSCRIBES PER SECOND       0                      0                      
ACTIVE SUBSCRIBES           0                      0                      
REQUESTS IN SUBSCRIBE       0                      0                      
RESPONSES IN SUBSCRIBE      0                      0                      
SUCCESS SUBSCRIBES          0                      0                      
REQUEST TIMEOUT             0                      0                      
FORBIDDEN SUBSCRIBES        0                      0                      
UNAUTHORIZED SUBSCRIBES     0                      0                      
INTERVAL TOO BRIEF          0                      0                      
3XX CODES                   0                      0                      
4XX CODES                   0                      0                      
5XX CODES                   0                      0                      
6XX CODES                   0                      0

ESBC global rps counters: 
-----------------------------------------------------------------------
Counter Name                Incoming               Outgoing               
-------------------------   --------------------   --------------------   
REQUESTS PER SECOND         6                      6                      
INVITE PER SECOND           2                      2                      
ACK PER SECOND              2                      2                      
BYE PER SECOND              2                      3                      
CANCEL PER SECOND           0                      0                      
REFER PER SECOND            0                      0                      
PRACK PER SECOND            0                      0                      
SUBSCRIBE PER SECOND        0                      0                      
NOTIFY PER SECOND           0                      0                      
UPDATE PER SECOND           0                      0                      
OPTIONS PER SECOND          0                      0                      
INFO PER SECOND             0                      0                      
REGISTER PER SECOND         0                      0                      
MESSAGE PER SECOND          0                      0

#Просмотри статистики вызовов после завершения вызовов

vesbc# show esbc statistics call 

ESBC global call counters: 
-----------------------------------------------------------------------
Counter Name                Incoming               Outgoing               
-------------------------   --------------------   --------------------   
CALLS PER SECOND            0                      0                                          
CALL LEGS                   0                      0                     
REQUESTS IN CALL            0                      0                      
RESPONSES IN CALL           0                      0                      
ANSWERED CALLS              0                      0                      
CALLS TO WRONG NUMBER       0                      0                      
BUSY CALLS                  0                      0                      
NO ANSWERED CALLS           0                      0                      
FORBIDDEN CALLS             0                      0                      
UNAUTHORIZED CALLS          0                      0                      
3XX CODES                   0                      0                      
4XX CODES                   0                      0                      
5XX CODES                   0                      0                      
6XX CODES                   0                      0

...

Аварии
Якорь
alarms
alarms

Включение аварий происходит включением SNMP трапов командой snmp-server enable traps esbc в CLI

...

Настройка для SIP-абонентов, использующих WebRTC
Якорь
sip_abonents_webrtc
sip_abonents_webrtc

Схема применения:

ПЕРЕДЕЛАТЬ ОБОЗНАЧЕНИЕ SIP-АБОНЕНТОВ

Описание:

SIP-абоненты (WEB, Desktop-клиенты) отправляют сообщения на IP-адрес 192.168.20.120 порт 5062 с помощью WebSocket Secure, ESBC отправляет по TCP данный трафик с IP-адреса 192.168.16.113 порт 5061 на адрес Softswitch (IP АТС/SIP-proxy и т. д) 192.168.16.65 порт 5060.

...

Примечание

В текущей версии ПО поддержана работа только с DNS в качестве внешнего сервиса.

Схема применения:

ПЕРЕДЕЛАТЬ СХЕМУ


Описание:

SIP-абоненты (IP-телефон/VoIP шлюз/Мобильный SIP-клиент и т. д.) отправляют SIP-запросы на IP-адрес 192.168.20.120 порт 5062.
ESBC должен смаршрутизировать запрос в зависимости от домена в hostname части RURI, полученного от абонента. Вызовы/регистрации могут быть смаршрутизированы на один из трёх Softswitch (IP АТС/SIP-proxy и т. д), на каждом из них настроено несколько доменов.

...