...
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc |
| Scroll Pagebreak |
|---|
Создать и настроить соответствующим образом медиаресурс:
...
| Блок кода |
|---|
vesbc# vesbc# config vesbc(config)# esbc vesbc(config-esbc)# aaa profile AAA_PROFILE vesbc(config-aaa-profile)# credential local profile CREDENTIAL_PROFILE |
9. Создать SIP-транк в сторону IP-ATC и привязать к нему настроенный ААА профиль, а также выданный провайдером домен:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_IP vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_IP vesbc(config-esbc-trunk-sip)# aaa profile AAA_PROFILE vesbc(config-esbc-trunk-sip)# remote address 192.168.16.65 vesbc(config-esbc-trunk-sip)# remote port 5060 vesbc(config-esbc-trunk-sip)# media resource 0 MEDIA_IP vesbc(config-esbc-trunk-sip)# domain DOMAIN.loc |
...
11. Создать таблицу маршрутизации и добавить в него нее правила, по которым вызовы, приходящие с SSW, будут маршрутизироваться на IP-ATC:
...
13. Создать таблицу маршрутизации и добавить в него нее правила, по которым вызовы, приходящие с IP-ATC, будут маршрутизироваться на SSW:
...
При включении режима nat comedia-mode on/flexible отправка сообщений сигнализации сигнализации SIP осуществляется симметрично (на IP-адрес и порт, с которого был принят запрос) в случае, если клиент в инициирующем запросе не использовал параметр RPORT.
Отправка сообщений сигнализации SIP на зарегистрированного абонента будет осуществляться на IP-адрес и порт, с которого был принят запрос REGISTER, а не на данные абонента, указанные в заголовке Contact.
...
Данный механизм используется для предотвращения ситуации, в которой абонент за NAT не начнет первым отправку RTP-пакетов в сторону ESBC, и соответственно ESBC не не начнет отправку встречного потока RTP к абоненту.
| Scroll Pagebreak |
|---|
Примеры:
1. Замена атрибутов direction в offer sdp:
...
Когда абонент, находящийся за NAT, отправит STUN-запрос, который будет получен ESBC с адреса 20.20.20.1:15060 на адрес ESBC и порт локального STUN-сервера (30.30.30.1:13478), в ответе ESBC укажет 20.20.20.1:15060 в качестве Reflexive Address.
| Scroll Pagebreak |
|---|
Настройка QoSЯкорь qos qos
| qos | |
| qos |
...
Пример работы ограничения количества SIP-сообщений в секунду в рамках одной сессии сессии на абонентском интерфейсе:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в настройки абонентского интерфейса: vesbc(config-esbc)# user-interface sip USER_IFACE vesbc(config-esbc-user-interface)# #Ограничение максимального количества SIP-сообщений в секунду в рамках одной сессии в секунду: vesbc(config-esbc-user-interface-sip)# max in session pps 30 #Применение и подтверждение изменений: vesbc(config-esbc-user-interface)# do commit vesbc(config-esbc-user-interface)# do confirm |
После применения изменений , количество SIP-сообщений, проходящих через абонентский интерфейс USER_IFACE в секунду, в рамках одной сессии, не может быть больше 30. При достижении лимита сессия будет завершена.
| Scroll Pagebreak |
|---|
...
При вводе show esbc call-flow sip info <SESSION_ID> будет доступна диаграмма отдельной сессии. scroll-pagebreak
Пример вывода статистики:, см. ниже.
| Блок кода | ||
|---|---|---|
| ||
#Просмотр диаграммы отфильтрованной call-flow сессий:
vesbc# show esbc call-flow sip info 50300000000000c
ESBC call flow 50300000000000c
Time Leg A Direction Leg B
--------------- -------------------------------------- --------- ---------------------------------------
2025-10-08 (UDP SDP) INVITE --->
09:50:25.976 sip:1142@192.168.113.177:5090 SIP/2.0
(+00:00:00.000)
2025-10-08 (UDP) SIP/2.0 100 Trying <---
09:50:25.976
(+00:00:00.000)
2025-10-08 ---> (UDP SDP) INVITE
09:50:25.992 sip:1142@192.168.113.172:5070 SIP/2.0
(+00:00:00.016)
2025-10-08 <--- (UDP) SIP/2.0 100 Trying
09:50:26.003
(+00:00:00.027)
2025-10-08 <--- (UDP) SIP/2.0 180 Ringing
09:50:26.046
(+00:00:00.070)
2025-10-08 (UDP) SIP/2.0 180 Ringing <---
09:50:26.048
(+00:00:00.072)
2025-10-08 <--- (UDP SDP) SIP/2.0 200 OK
09:50:27.544
(+00:00:01.568)
2025-10-08 (UDP SDP) SIP/2.0 200 OK <---
09:50:27.557
(+00:00:01.581)
2025-10-08 (UDP) ACK --->
09:50:27.600 sip:1142@192.168.113.177:5090;transport=
(+00:00:01.624) udp SIP/2.0
2025-10-08 ---> (UDP) ACK sip:1142@192.168.113.172:5070
09:50:27.603 SIP/2.0
(+00:00:01.627)
2025-10-08 <--- (UDP) BYE
09:50:44.673 sip:1140@192.168.113.177:5071;transport=
(+00:00:18.697) udp;line=83b0f9ea4622375be3232f3c892b024
0 SIP/2.0
2025-10-08 (UDP) BYE <---
09:50:44.675 sip:1140@192.168.113.170;transport=udp
(+00:00:18.699) SIP/2.0
2025-10-08 (UDP) SIP/2.0 200 Ok --->
09:50:44.700
(+00:00:18.724)
2025-10-08 ---> (UDP) SIP/2.0 200 OK
09:50:44.703
(+00:00:18.727)
vesbc# |
...
- Trunk — имя транка;
- Trunk type — тип транка;
- Status — статус транка (принимает значения Uncontrolled, Available или Not available, в зависимости от настройки SIP профиля и реального состояния транка);
- Last change time — время изменения статуса транка.
- Registration type — режим регистрации транка(принимает значения None или Client)
- Registration count (active/all) — краткое отображение активных регистраций (active) и всех номеров (all), которые присутствуют в привязанном к транку профилю учётных данных. Отображается только при включении клиентской регистрации транка.
Scroll Pagebreak
Список зарегистрированных абонентов
...
Данные выводятся в виде гистограммы. При вызове команды отображается 3 графика – – за последнюю минуту, час и 3 дня. Опция interval позволяет отобразить график для конкретного интервала времени.
| Примечание |
|---|
График отображает значения метрики от 10 и выше. Вертикальная ось графика автоматически подстраивается под диапазон отображаемых данных. |
...
Включение журналирования аварий происходит c помощью команды alarm enable journal esbc в CLI.
Данная команда без указания параметров включает весь набор аварий:
...
Для отображения только активных аварий используется команда show alarms brief active.
| Scroll Pagebreak |
|---|
Пример:
| Блок кода | ||
|---|---|---|
| ||
#Просмотр истории аварийных событий:
vesbc# show alarms brief
History Alarms
--------------
Severity Group Set time Clear time Description
-------- ------ ------------------- -------------------- ---------------------------------
major esbc 2026-03-20 09:55:32 2026-03-20 10:01:32 Trunk(TRUNK_SSW_1) is unavailable
major esbc 2026-03-20 15:51:17 - Trunk(TRUNK_SSW_2) is unavailable
#Просмотр активных аварийных событий:
vesbc# show alarms brief active
History Alarms
--------------
Severity Group Set time Clear time Description
-------- ------- -------------------- ------------------- ---------------------------------
major esbc 2026-03-20 15:51:17 - Trunk(TRUNK_SSW_2) is unavailable
|
Для удаления истории аварийных событий используется команда clear alarms в CLI.
| Примечание |
|---|
Аварии сохраняются локально. Для отправки уведомлений об авариях на удаленный хост необходимо настроить отправку аварийных SNMP-трапов. |
Текст аварий и причины их нормализации представлены в таблице ниже.
Для удаления истории аварийных событий используется команда clear alarms в CLI.
| Примечание |
|---|
Аварии сохраняются локально. Для отправки уведомлений об авариях на удаленный хост необходимо настроить отправку аварийных 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/ | |
Авария | Текст аварии | Причины нормализации |
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% 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 секунд после последней аварии |
...
- Базовая настройка сети (конфигурация IP-адресов интерфейсов, настройка маршрутизации и т. д.).
- Настройка туннелирования (конфигурация PPTP/L2TP-сервера, и/или настройка PPTP/L2TP-туннелей).
- Настройка firewal firewall для прохождения протоколов туннелирования (разрешить TCP-порт 1723, протокол GRE(47) для PPTP и UDP-порты 500, 1701, 4500 и протоколы ESP (50) и GRE (47) для L2TP).
- Настройка транков и/или абонентских интерфейсов ESBC для работы через VPN.
...
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# description LAN vesbc(config-if-gi)# ip address 192.168.113.207/20 vesbc(config-if-gi)# exit vesbc(config)# interface gigabitethernet 1/0/2 vesbc(config-if-gi)# description WAN vesbc(config-if-gi)# ip address 10.30.101.150/24 vesbc(config-if-gi)# exit |
Выполнить настройку firewal firewall для разрешения прохождения протокола PPTP на интерфейс gigabitethernet 1/0/2:
...
| Блок кода | ||
|---|---|---|
| ||
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)# |
...
| Блок кода | ||
|---|---|---|
| ||
esbc(config)# esbc vesbc(config-esbc)# media resource MEDIA_PPTP #Указать IP-адрес сервера PPTP: vesbc(config-esbc-media-resource)# ip address 20.20.20.1 vesbc(config-esbc-media-resource)# exit vesbc(config-esbc)# sip transport PPTP_1 #Указать IP-адрес сервера PPTP: vesbc(config-esbc-sip-transport)# ip address 20.20.20.1 vesbc(config-esbc-sip-transport)# port 5070 vesbc(config-esbc-sip-transport)# exit vesbc(config-esbc)# sip transport PPTP_2 #Указать IP-адрес сервера PPTP: vesbc(config-esbc-sip-transport)# ip address 20.20.20.1 vesbc(config-esbc-sip-transport)# port 5071 vesbc(config-esbc-sip-transport)# exit vesbc(config-esbc)# trunk sip PPTP_USER vesbc(config-esbc-trunk-sip)# sip transport PPTP_1 vesbc(config-esbc-trunk-sip)# media resource 1 MEDIA_PPTP #Указать IP-адрес PPTP-клиента pptp_user: vesbc(config-esbc-trunk-sip)# remote address 20.20.20.5 vesbc(config-esbc-trunk-sip)# remote port 5080 vesbc(config-esbc-trunk-sip)# exit vesbc(config-esbc)# trunk sip PPTP_USER2 vesbc(config-esbc-trunk-sip)# sip transport PPTP_2 vesbc(config-esbc-trunk-sip)# media resource 1 MEDIA_PPTP #Указать IP-адрес PPTP-клиента pptp_user2: vesbc(config-esbc-trunk-sip)# remote address 20.20.20.6 vesbc(config-esbc-trunk-sip)# remote port 5081 vesbc(config-esbc-trunk-sip)# exit |
| Scroll Pagebreak |
|---|
Выполнить настройку ESBC для транка TRUNK_1:
| Блок кода | ||
|---|---|---|
| ||
vesbc(config-esbc)# vesbc(config-esbc)# media resource MEDIA_TRUNK_1 vesbc(config-esbc-media-resource)# ip address 192.168.113.207 vesbc(config-esbc-media-resource)# exit vesbc(config-esbc)# sip transport TRANSPORT_TRUNK_1 vesbc(config-esbc-sip-transport)# ip address 192.168.113.207 vesbc(config-esbc-sip-transport)# port 5090 vesbc(config-esbc-sip-transport)# exit vesbc(config-esbc)# route-table TO_PPTP_USER vesbc(config-esbc-route-table)# rule 1 vesbc(config-esbc-route-table-rule)# action direct-to-trunk PPTP_USER vesbc(config-esbc-route-table-rule)# exit vesbc(config-esbc-route-table)# exit vesbc(config-esbc)# trunk sip TRUNK_1 vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_TRUNK_1 vesbc(config-esbc-trunk-sip)# route-table TO_PPTP_USER vesbc(config-esbc-trunk-sip)# media resource 1 MEDIA_TRUNK_1 vesbc(config-esbc-trunk-sip)# remote address 192.168.113.200 vesbc(config-esbc-trunk-sip)# remote port 5091 vesbc(config-esbc-trunk-sip)# exit vesbc(config-esbc)# exit vesbc(config)# |
| Scroll Pagebreak |
|---|
Настроить маршрутизацию вызовов из транка PPTP_USER в транк TRUNK_1:
...
Настройка маршрутизации для транка PPTP_USER2 выполняется аналогично.
| Scroll Pagebreak |
|---|
Пример настройки PPTP-клиента для подключения SIP-транков
...
Организовать подключение в режиме PPTP-клиента к вышестоящему серверу и использовать это подключения в подключение в качестве SIP-транка.
IP-адрес сервера PPTP — 10.30.101.150
...
| Блок кода |
|---|
vesbc(config)# security zone PPTP_TENNEL vesbc(config-security-zone)# exit vesbc(config)# |
| Scroll Pagebreak |
|---|
Создать и настроить PPTP-туннель:
| Блок кода | ||
|---|---|---|
| ||
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)# |
...
| Блок кода | ||
|---|---|---|
| ||
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)# |
...
| Блок кода |
|---|
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 |
| Scroll Pagebreak |
|---|
Выполнить настройку ESBC для транка TRUNK_1:
...
| Блок кода |
|---|
vesbc(config)# esbc vesbc(config-esbc)# route-table TO_TRUNK_1 vesbc(config-esbc-route-table)# rule 1 vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_1 vesbc(config-esbc-route-table-rule)# exit vesbc(config-esbc-route-table)# exit vesbc(config-esbc)# trunk sip PPTP vesbc(config-esbc-trunk-sip)# route-table TO_TRUNK_1 vesbc(config-esbc-trunk-sip)# exit vesbc(config-esbc)# exit |
Scroll Pagebreak
Примеры настройки ESBC ESBC Якорь ESBC_set_examples ESBC_set_examples
| ESBC_set_examples | |
| ESBC_set_examples |
...
9. Создать таблицу маршрутизации и добавить туда в нее правила, по которым вызовы, приходящие с абонентов будут маршрутизироваться на SSW:
...
9. Создать таблицу маршрутизации и добавить туда в нее правила, по которым вызовы, приходящие с транкового шлюза, будут маршрутизироваться на SSW:
...
10. Создать таблицу маршрутизации и добавить туда в нее правила, по которым вызовы, приходящие с SSW, будут маршрутизироваться на транковый шлюз:
...
10. Создать таблицу маршрутизации и добавить туда в нее правила, по которым вызовы, приходящие с абонентов, будут маршрутизироваться на 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 |
...
