...
На ESBC есть возможность настроить поведение при перенаправлении (получении 3xx ответа), доступны 3 варианта:
- forbidden — при получении 3xx ответа вызов завершается;
- transit — 3xx передаётся на другое плечо без изменений контакта;
- process — локальная обработка 3xx ответа.
...
ignore options enable — игнорирование запросов OPTIONS;
no ignore options enable — отключение игнорирования запросов OPTIONS.
| Предупреждение |
|---|
Игнорирование OPTIONS по умолчанию включено. |
...
<CODEC_PATTERN> — название кодека/часть названия кодека, ;
<PT> — payload type (необязательный параметр). При указании будет проводиться дополнительная проверка паттерна на полное совпадение кодека с указанным payload type.
...
| Блок кода |
|---|
vesbc# configure vesbc(config)# esbc #СоЗдать#Создать медиапрофиль для транка 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 |
...
| Блок кода |
|---|
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 |
В данном примере , для транка TRUNK_1 1 не требуется использование отдельного медиапрофиля, т. к. при вызовах, поступающих в TRUNK_1, и, маршрутизируемых в TRUNK_2, все видеокодеки из SDP будут удалены в соответствии с медиапрофилем, используемым для транка TRUNK_2.
...
| Блок кода |
|---|
vesbc# configure vesbc(config)# esbc #Создать медиапрофиль для транка TRUNK_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 #Привязать медиапрофиль к транку 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 #Создать медиапрофиль для транка 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 #Привязать медиапрофиль к транку 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 |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# security profile SECURITY_PROFILE #Сбор ошибок по User-Agent: vesbc(config-esbc-security-profile)# check user-agent 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. |
...
| Предупреждение |
|---|
Объединение ошибок работает, только если в профиле безопасности включена блокировка по AOR или User-Agent. |
Scroll Pagebreak
Пример включения объединения ошибок по IP-адресу:
...
С адреса 192.168.80.133 через абонентский интерфейс приходят сообщения INVITE с разными AOR, вызовы без регистрации на интерфейсе запрещены, поэтому эти запросы отбиваются 403 Forbidden.
Если в профиле безопасности, привязанному к абонентскому интерфейсу, отключено объединение ошибок по адресу, то через определенное количество запросов заблокируется только IP-адрес и запросы с него больше обрабатываться не будут:
...
| Примечание |
|---|
Если не устанавливать значения версии TLC, то при установлении соединения будут будет использоваться любая версия 1.0–1.3. Настройки tls min и tls max используются только при применении crypto profile для SIP-транспорта и не используются для шифрования DTLS-SRTP , при использовании применении crypto-profile в медиапрофиле. |
...
ESBC пересылает INVITE в транк TRUNK_PUBLIC_IP.
В SDP, Via и Contact вместо адреса привязанного SIP-транспорта (192.168.1.1) используется используется Public IP транка (10.25.0.1):
| Блок кода | ||
|---|---|---|
| ||
INVITE sip:23002@192.168.1.3:5060 SIP/2.0 Via: SIP/2.0/UDP 10.25.0.1:5060;rport;branch=z9hG4bKPj6e357f04-e13e-4ead-8386-2246d12450b4 Max-Forwards: 70 From: "24001" <sip:24001@192.168.1.1>;tag=76776c9a-022b-4ccf-9458-e83e2701f6c8 To: "23002" <sip:23002@192.168.1.3> Contact: <sip:24001@10.25.0.1:5060;transport=udp> Call-ID: 5fc229f6657d7706f2b6c81a44a5b10e CSeq: 28491 INVITE Allow: INVITE, ACK, BYE, CANCEL Supported: 100rel, replaces, ice Content-Type: application/sdp Content-Length: 135 Session Description Protocol Version (v): 0 Owner/Creator, Session Id (o): user1 77755765 7773687637 IN IP4 10.25.0.1 Session Name (s): - Time Description, active time (t): 0 0 Connection Information (c): IN IP4 10.25.0.1 Media Description, name and address (m): audio 10000 RTP/AVP 8 Media Attribute (a): rtpmap:8 PCMA/8000 |
...
Поддержана возможность просматривать белый список адресов командой show esbc white-list в CLI и на странице Мониторинг → Списки доступа → Белый список в WEB.
| Информация |
|---|
Реализовано добавление в белый список динамических адресов и доменов. |
...
Состояние транков
Поддержана возможность просматривать просматривать состояние транков командой командой show esbc trunks в CLI или на странице Мониторинг → Телефония → Транки в WEB.
...
Заголовок файла (опционален) (<hostname> CDR. File started at 'YYYYMMDDhhmmss');
Отличительный признак (опционален);
Время поступления вызова;
Время ответа на вызов;
Входящий номер вызывающего абонента;
- Исходящий номер вызывающего абонента;
Входящий номер вызываемого абонента;
Исходящий номер вызываемого абонента;
Имя trunk/user-interface вызывающего абонента;
Имя trunk/user-interface вызываемого абонента;
Длительность вызова;
Причина разъединения (согласно ITU-T Q.850);
Индикатор успешного вызова (1 — успешный, 0 — неуспешный);
Сторона-инициатор разъединения (1 — вызывающая сторона, 2 — вызываемая сторона, 3 — ESBC);
Call-ID входящего вызова;
Call-ID исходящего вызова;
Номер вызываемого абонента при переадресации;
IP-адрес шлюза вызывающего абонента;
IP-адрес шлюза вызываемого абонента;
Список IP-адресов из заголовка Record-Route при установлении соединения в направлении от вызывающего абонента;
Список IP-адресов из заголовка Via при установлении соединения в направлении от вызывающего абонента;
IP -адрес из заголовка Contact вызывающего абонента;
IP-адрес из заголовка Contact вызываемого абонента.
Значения параметров в файле CDR записываются в порядке указанном выше , порядке и разделяются символом - ";".
Записи CDR можно как сохранять локально (в хранилище ESBC или USB-накопителе), так и отправлять по FTP (возможна отправка на 2 сервера).
...
Если отправка записи CDR на основной FTP-сервер (192.168.23.100) по какой-либо причине не произойдет, то она попытается отправиться на резервный FTP-сервер (192.168.23.200), в случае неудачи и на резервном, запись сохранится только локально.
Пример записи файла CDR.
На ESBC настроена следующая конфигурация CDR:
...
1. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — внутренний сетевой интерфейс до SSW;
gi1/0/2 — внешний сетевой интерфейс для абонентов.
...
| Блок кода |
|---|
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 |
...
| Блок кода |
|---|
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 |
...
- Настроить сетевые интерфейсы на ESBC в сторону SSW и в сторону SIP-абонентов.
- Создать SIP-транспорт в режиме TCP (only/prefer) в сторону SSW и SIP-транспорт в режиме WSS для SIP-абонентов.
- Создать медиаресурсы для обоих направлений, назначить им диапазон портов для передачи голоса.
- Создать медиапрофиль для SIP-абонентов и включить на нём шифрование DTLS-SRTP.
- Создать абонентский интерфейс и SIP-транк.
- Создать правила, по которым будут маршрутизироваться вызовы от абонентов до SSW.
...
1. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — внутренний сетевой интерфейс до SSW;
gi1/0/2 — внешний сетевой интерфейс для абонентов.
...
| Блок кода |
|---|
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 |
...
11. Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов, будут маршрутизироваться на SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# route-table TO_SSW vesbc(config-esbc-route-table)# rule 0 vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_SSW |
...
2. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — внутренний сетевой интерфейс до SSW;
gi1/0/2 — внешний сетевой интерфейс для абонентов.
...