...
| Объект | Количество |
|---|---|
| sip transport | 500 |
| trunk | 500 |
| user-interface | 500 |
| trunk-group | 250 |
| sip profile | 1000 |
| route table | 500 |
| rule | 64 на таблицу route table |
| condition | 64 на правило rule |
| media profile | 1000 |
| media resource | 1000 |
| mod-table | 500 |
| mod | 64 на таблицу mod-table |
| cause-list | 64 |
| crypto profile | 64 |
| flood filter | 250 |
| security-profile | 500 |
| Предупреждение |
|---|
Не рекомендуется использовать максимальное количество объектов конфигурации одновременно, это может повлиять на работоспособность системы. |
| Scroll Pagebreak |
|---|
Расчет максимального количества контактов зарегистрированных абонентов для vESBC:
...
- Таблица модификаций (для входящих и исходящих сообщений);
- SIP-профиль;
- Медиапрофиль;
- Профиль безопасности;
- Режим работы абонентов за NAT;
- Public IP;
- QoS;
- Ограничение входящего трафика;
- SIP-домен. При настройке , домен будет использоваться в хост части host-part URI в заголовках To и и From для исходящих сообщений. Во входящих сообщениях будет осуществляться проверка домена в заголовке From.
- Опция "Разрешить вызовы без регистрации". Разрешает принимать входящие сообщения INVITE от незарегистрированных абонентов.
...
SIP-транк представляет собой интерфейс для подключения к вышестоящему SIP-устройсву устройству (IP АТС/ SIP-proxy/Удаленный SSW и др.) или группе вышестоящих устройств , при включении динамического режима работы транка. В При включении динамического режима работы в конфигурации необходимо задать адрес и порт удалённой стороны или диапазон адресов и портов, при включении динамического режима работы. Эти параметры используются для идентификации источника запроса.
...
- Таблица маршрутизации;
- Таблица модификаций (для входящих и исходящих сообщений);
- SIP-профиль;
- Медиапрофиль;
- Профиль безопасности;
- Режим работы за NAT;
- Public IP;
- QoS;
- Ограничение входящего трафика;
- Динамический режим; Используется . Используется для подключения к группе вышестоящих SIP-устройсв устройств (IP АТС/ SIP-proxy/Удаленный SSW и др.).
- Опция "Доверенная сеть" для переадресаций;
- SIP-домен. При настройке , домен будет использоваться в хост части host-part URI в заголовках To и и From для исходящих сообщений. Во входящих сообщениях будет осуществляться проверка домена в заголовке From.
...
| Предупреждение |
|---|
Перед использованием модификаторов настоятельно рекомендуем рекомендуется ознакомиться с описанием синтаксиса регулярных выражений PCRE. |
Допускается использование следующей конструкции при составлении регулярных выражений PCRE для помещения значений в локальные переменные (от 0 до 9) с помощью цифр, экранированных обратной чертой ('\1-9'). '\0' — весь текст:
...
| Примечание |
|---|
При использовании модификатора CgPN, помимо заголовка From, изменяется user part SIP URI заголовка Contact. При использовании модификатора CdPN, помимо заголовка To, изменяется user part SIP в Requestв Request-URI. |
| Примечание |
|---|
Модификаторы common, настроенные в качестве IN, могут влиять на результат маршрутизации при использовании в route-table условий (condition), т. к. правила route-table обрабатываются после применения модификации. Модификаторы, настроенные в качестве OUT, не влияют на результат маршрутизации. |
...
Описание всех команд для настройки общих модификаторв модификаторов приведено в разделе Настройки общих модификаторов.
Scroll Pagebreak
Модификаторы SIP
...
Модификаторы SIP позволяют гибко осуществалять осуществлять выбор требуемого метода (Request) или ответного сообщения (Response) по конкретному коду. Для этого используются команды:
- sip method pattern <PATTERN> - — необходимый метод или несколько методов задается при помощи регулярного выражения PCRE.
- sip method type <TYPE> - — необходимый метод выбирается из списка шести базовых методов стандарта RFC3261 (REGISTER, INVITE, ACK, CANCEL, BYE и OPTIONS).
- sip response-pattern <PATTERN> - — необходимый код ответного сообщения задается при помощи регулярного выражения PCRE.
Команда sip method typeаналогичнакомандеsip method patternи может использоваться в случае, когда модификацию требуется осуществлять только в одном и из шести вышеуказанных методов. При ипользовании использовании этой команды нет необходимости использовать pattern для написания регулярного выражения, достаточно выбрать метод из списка. Командыsip method type иsip method pattern являются взаимоисключающими.
| Предупреждение |
|---|
При использовании pattern имейте в виду, чтопо - умолчанию , синтаксис PCRE является регистрозависимым, поэтому. Поэтому, например, паттерн "sip method pattern INVITE" не эквивалентен паттерну "sip method pattern invite" и отбор метода INVITE INVITE не будетосуществляться при использовании выражения "sip method pattern invite". |
| Примечание |
|---|
При настройке модификатора обязательно следует указывать командами выше, для каких методов и кодов ответа он будет применяться. Иначе модификация не будет применена ни к одному сообщению. |
...
Требуется применять модификатор, который добавляет заголовок Test_header cо значением - test_value только в сообщение INVITE:
...
Требуется применять модификатор, который добавляет заголовок Test_header cо значением - test_value только в сообщения INVITE, BYE и в ответы 200 OK:
...
Требуется применять модификатор, который добавляет заголовок Test_header cо значением - test_value во все запросы и ответы:
| Блок кода | ||
|---|---|---|
| ||
mod-table sip SIP_MOD
mod 1 add
# Т.к. по условию требуется добавлять заголовок во все методы, используется отбор любых значений
sip method pattern .+
# Т.к. по условию требуется добавлять заголовок во все ответы, используется отбор любых значений
sip response-pattern .+
header name Test_header
header value test_value
exit |
| Scroll Pagebreak |
|---|
Требуется применять модификатор, который добавляет заголовок Test_header cо значением - test_value только в предварительные ответы 100-199100–199:
| Блок кода | ||
|---|---|---|
| ||
mod-table sip SIP_MOD
mod 1 add
# Т.к. по условию требуется добавлять заголовок во все ответы от 100 до 199, используется, например, регулярное выражение '1\d{2}'
sip response-pattern '1\d{2}'
header name Test_header
header value test_value
exit |
...
В результате если какой-либо заголовок был добавлен модификацией add, а затем этот же заголовок был указан в правиле no-transit, то в исходящем сообщении этот заголовок не будет передан. Scroll Pagebreak
Пример:
Таблица модификации SIP_MOD используется в качестве OUT:
...
Описание всех команд для настройки общих модификаторв модификаторов приведено в разделе разделе Настройки SIP-модификаторов.
| Scroll Pagebreak |
|---|
Модификатор добавления заголовка (add)
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc #Создание таблицы модификаторов MODTABLE_IN: vesbc(config-esbc)# mod-table sip MODTABLE_IN vesbc(esbc-mod-table)# #Добавление в таблицу модификаторов правила на добавление заголовка: vesbc(esbc-mod-table)# mod 0 add vesbc(esbc-mod-table-modification)# #Выбор запроса, в котором будет добавлен заголовок (в данном случае INVITE): vesbc(esbc-mod-table-modification)# sip method type Invite #Указать название заголовка, который необходимо вставить (в данном случае Test_header): vesbc(esbc-mod-table-modification)# header name Test_header #Указать содержимое заголовка, которое необходимо вставить (в данном случае example string): vesbc(esbc-mod-table-modification)# header value "example string" vesbc(esbc-mod-table-modification)# exit vesbc(esbc-mod-table)# exit #Привязать таблицу модификаторов к входящему транку TRUNK_IN: vesbc(config-esbc)# trunk sip TRUNK_IN vesbc(config-esbc-trunk-sip)# mod-table sip in MODTABLE_IN #Применить и подтвердить изменения: vesbc(config-esbc-trunk-sip)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-trunk-sip)# do confirm Configuration has been confirmed. Commit timer canceled. |
| Scroll Pagebreak |
|---|
После внесения изменений в конфигурацию с TRUNK_IN приходит следующий INVIITE:
| Блок кода |
|---|
INVITE sip:24000@192.168.114.130:5461 SIP/2.0 Via: SIP/2.0/UDP 192.168.114.129:5461;branch=z9hG4bK-372660-1-5 From: "Simple UAC send bye" <sip:24001@192.168.114.130;cpc=priority>;tag=1372660 To: "24000" <sip:24000@192.168.114.130> Call-ID: 1-372660@192.168.114.129 CSeq: 1 INVITE Contact: <sip:24001@192.168.114.129:5461> Max-Forwards: 70 Content-Type: application/sdp Content-Length: 149 v=0 o=tester 123456 654321 IN IP4 192.168.114.129 s=A conversation c=IN IP4 192.168.114.129 t=0 0 m=audio 8338 RTP/AVP 8 a=rtpmap:8 PCMA/8000 |
| Scroll Pagebreak |
|---|
На TRUNK_OUT отправляется уже модифицированный INVITE с добавленным заголовком:
...
В конфигурации настроено два транка и настроена маршрутизация из транка TRUNK_IN в TRUNK_OUT. Требуется предать передать заголовок "User-Agent" из входящего INVITE, только если в нем указано значение "TestUA".
| Примечание |
|---|
По умолчанию , все необязательные и пользовательские заголовки удаляются на входящем плече и не передаются на исходящее плечо. |
...
| Блок кода |
|---|
vesbc(config-esbc)# trunk sip TRUNK_IN vesbc(config-esbc-trunk-sip)# mod-table sip in MODTABLE_IN vesbc(config-esbc-trunk-sip)# do commit vesbc(config-esbc-trunk-sip)# do confirm |
| Scroll Pagebreak |
|---|
В резултатерезультате, когда в транке TRUNK_IN будет получен INVITE, содержащий заголовок "User-Agent" со значением "TestUA", в исходящем INVITE также будет присутствовать этот заголовок:
| Блок кода |
|---|
# INVITE полученный в TRUNK_IN: INVITE sip:23002@192.168.23.199:5070 SIP/2.0 Via: SIP/2.0/UDP 192.168.23.200:5070;rport;branch=z9hG4bK-1763439-1-1 From: sipp <sip:24001@192.168.23.200:5070>;tag=1 To: sut <sip:23002@192.168.23.199:5070> Call-ID: 1-1763439@192.168.23.200 Cseq: 1 INVITE Contact: <sip:24001@192.168.23.200:5070> Max-Forwards: 70 Subject: Performance Test Allow: INVITE, ACK, BYE, CANCEL, PRACK, REGISTER, INFO, REFER, NOTIFY, OPTIONS, SUBSCRIBE, MESSAGE, UPDATE, PUBLISH Content-Type: application/sdp User-Agent: TestUA Content-Length: 240 [SDP] # INVITE отправленный c TRUNK_OUT: INVITE sip:23002@192.168.80.26:5080 SIP/2.0 Via: SIP/2.0/UDP 192.168.80.129:5080;rport;branch=z9hG4bKPj88572ec4-0af0-4323-abc6-fe1db1ea6e37 Max-Forwards: 70 From: "sipp" <sip:24001@192.168.80.129>;tag=7da4c833-38da-4523-89d7-adc88b581397 To: "sut" <sip:23002@192.168.80.26> Contact: <sip:24001@192.168.80.129:5080;transport=udp> Call-ID: d21bdedb499dbfe992a939a27255c536 CSeq: 6199 INVITE Allow: INVITE, ACK, BYE, CANCEL, PRACK, REGISTER, INFO, REFER, NOTIFY, OPTIONS, SUBSCRIBE, MESSAGE, UPDATE Supported: 100rel, replaces, ice User-Agent: TestUA Content-Type: application/sdp Content-Length: 241 [SDP] |
| Примечание |
|---|
Данный модификатор сработает только в случае, когда значение заголовка User-Agent будет "TestUA". Если значение отличается, то заголовок User-Agent не будет передаваться на второе плечо. Для передачи заголовка с любым значением не следует использовать команду команду value-pattern в модификаторе, или требуется указать в ней все возможные варианты, например - , value-pattern .* |
Scroll Pagebreak
Модификатор удаления заголовка (no-transit)
Схема:
В конфигурации есть два транка, настроена маршрутизация. Вызов, который приходит из TRUNK_IN, уходит в TRUNK_OUT. В TRUNK_OUT отправляется запрос INVITE, в теле которого есть заголовок Test_header. Требуется, чтобы в запросе INVITE, который отправляется в TRUNK_OUT, вырезался заголовок Test_header, если в его содержимом есть "example string".
| Примечание |
|---|
По умолчанию , все необязательные и пользовательские заголовки удаляются на входящем плече и не передаются на исходящее плечо. В данном примере демонстрируется модификация только для исходящего плеча (TRUNK_OUT), поэтому подразумевается что на входящем плече (TRUNK_IN) настроен модификатор transit для заголовка Test_header. |
...
| Блок кода | ||
|---|---|---|
| ||
vesbc#
vesbc# configure
vesbc(config)# esbc
#Создание таблицы модификаторов MODTABLE_OUT:
vesbc(config-esbc)# mod-table sip MODTABLE_OUT
vesbc(esbc-mod-table)#
#Добавление в таблицу модификаторов правила на удаление заголовка:
vesbc(esbc-mod-table)# mod 0 no-transit
vesbc(esbc-mod-table-modification)#
#Выбор запроса, в котором будет удален заголовок (в данном случае INVITE):
vesbc(esbc-mod-table-modification)# sip method type Invite
#Указать название заголовка, который необходимо удалить (в данном случае Test_header):
vesbc(esbc-mod-table-modification)# sip header-pattern Test_header
#Указать содержимое заголовка, при совпадении с которым заголовок будет удален (в данном случае example string):
vesbc(esbc-mod-table-modification)# value-pattern "example string"
vesbc(esbc-mod-table-modification)# exit
vesbc(esbc-mod-table)# exit
#Привязать таблицу модификаторов к исходящему транку TRUNK_OUT:
vesbc(config-esbc)# trunk sip TRUNK_OUT
vesbc(config-esbc-trunk-sip)# mod-table sip out MODTABLE_OUT
#Применить и подтвердить изменения:
vesbc(config-esbc-trunk-sip)# do commit
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
vesbc(config-esbc-trunk-sip)# do confirm
Configuration has been confirmed. Commit timer canceled.
|
| Scroll Pagebreak |
|---|
До внесения изменений в конфигурацию в TRUNK_OUT отправлялся следующий INVIITE:
...
| Блок кода |
|---|
INVITE sip:24000@192.168.114.129:5460 SIP/2.0 Via: SIP/2.0/UDP 192.168.114.130:5460;rport;branch=z9hG4bKPj8e1WEAvAy16Bk8Vrj-VZiFK-bNOjnjY9 Max-Forwards: 70 From: "Simple UAC send bye" <sip:24001@192.168.114.130>;tag=R83mrTm4KQsFL1Bk87hTOB8e182yCSJ. To: "24000" <sip:24000@192.168.114.129> Contact: <sip:24001@192.168.114.130:5460;transport=udp> Call-ID: eQueXFpyDZESB.hXK.uCGn7XL7TBUdmQ CSeq: 8831 INVITE Allow: PRACK, SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE Supported: timer, 100rel, replaces Session-Expires: 1800 Min-SE: 90 #Заголовок Test_header с содержимым, отличным от "example string", не удаляется: Test_header: new string Content-Type: application/sdp Content-Length: 157 v=0 o=tester 3927597832 3927597832 IN IP4 192.168.114.130 s=A conversation c=IN IP4 192.168.114.130 t=0 0 m=audio 8074 RTP/AVP 8 a=rtpmap:8 PCMA/8000 |
| Scroll Pagebreak |
|---|
Модификатор транзита и замены заголовка (replace)
...
В конфигурации есть два транка, настроена маршрутизация. Вызов, который приходит из TRUNK_IN, уходит в TRUNK_OUT. При отправки отправке сообщения INVITE, полученного из TRUNK_IN в TRUNK_OUT, в host-part заголовков To и From будут использоваться IP-адрес, настроенный в качестве remote address в транке TRUNK_OUT, и IP-адрес sip-транспорта для TRUNK_OUT соответственно (при условии что в транке TRUNK_OUT не настроен домен).
Требуется при отправке INVITE заменять эти адреса на testdomain.loc.
| Scroll Pagebreak |
|---|
Решение:
Конфигурация Конфигурация ESBC до использования модификаторов:
...
Т. к. в транке TRUNK_OUT не настроен домен, то в host-part заголовков To и From , сообщения INVITE , будут указаны IP-адреса в соответствии с конфигурацией:
| Блок кода |
|---|
INVITE sip:23002@192.168.80.26:5080 SIP/2.0 Via: SIP/2.0/UDP 192.168.80.129:5080;rport;branch=z9hG4bKPj11eb899a-a1c3-4659-b78d-4bba6bdc17ce Max-Forwards: 70 From: "sipp" <sip:24001@192.168.80.129>;tag=c090d50d-4b15-4db1-94ac-3ea77fe3dd7d To: "sut" <sip:23002@192.168.80.26> Contact: <sip:24001@192.168.80.129:5080;transport=udp> Call-ID: db38ba3ff093153f38b412372a1bed35 CSeq: 20022 INVITE Allow: INVITE, ACK, BYE, CANCEL, PRACK, REGISTER, INFO, REFER, NOTIFY, OPTIONS, SUBSCRIBE, MESSAGE, UPDATE Supported: 100rel, replaces, ice Content-Type: application/sdp Content-Length: 241 [SDP] |
Настраиваем модификатор MOD_TABLE для замены IP-адресов на testdomain.loc:
| Блок кода |
|---|
vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# mod-table sip MOD_TABLE # Создаем#Создаем модификатор замены: vesbc(esbc-mod-table)# mod 1 replace # С#С помощью паттерна выбираем заголовки, в которых необходимо выполнить замену: vesbc(esbc-mod-table-modification)# sip header-pattern '(From|To)' ##Указываем Указываем метод, в котором необходимо выполнить замену: vesbc(esbc-mod-table-modification)# sip method pattern 'INVITE' # Выбираем#Выбираем часть заголовка, которая начинается с символсимвола @, содержит любое количество, любых символов и заканчивается символом >. подПод это выражение попадает host-part заголовков. : vesbc(esbc-mod-table-modification)# value-pattern '@.*>' # Указываем#Указываем, что тербуетсятребуется заменить то, что мы получили в предыдущем правиле на @testdomain.loc>. : vesbc(esbc-mod-table-modification)# replacement '@testdomain.loc>' vesbc(esbc-mod-table-modification)# exit vesbc(esbc-mod-table)# exit vesbc(config-esbc)# |
...
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_OUT vesbc(config-esbc-trunk-sip)# mod-table sip out MOD_TABLE vesbc(config-esbc-trunk-sip)# do commit vesbc(config-esbc-trunk-sip)# do confirm |
Теперь, в Теперь в результате модификации , в host-part заголовков To и From , сообщения INVITE , будет указан домен - testdomain.loc:
| Блок кода |
|---|
INVITE sip:23002@192.168.80.26:5080 SIP/2.0 Via: SIP/2.0/UDP 192.168.80.129:5080;rport;branch=z9hG4bKPje431c80c-619a-43cc-a631-9ad3be4e6679 Max-Forwards: 70 From: "sipp" <sip:24001@testdomain.loc>;tag=0a5f2f31-e27e-4f7c-a3f8-70ca1d5a9f22 To: "sut" <sip:23002@testdomain.loc> Contact: <sip:24001@192.168.80.129:5080;transport=udp> Call-ID: 81a874656978d43e11d57e3662996fde CSeq: 26399 INVITE Allow: INVITE, ACK, BYE, CANCEL, PRACK, REGISTER, INFO, REFER, NOTIFY, OPTIONS, SUBSCRIBE, MESSAGE, UPDATE Supported: 100rel, replaces, ice Content-Type: application/sdp Content-Length: 241 [SDP] |
...
В SIP-профиле настраивается конфигурации конфигурация общих параметров SIP. Профиль используется в транках, транк-группах и абонентских интерфейсах.
В текущей версии ПО поддержаны следующие настройки:
- Контроль доступности направления;
- Список причин отбоя для перехода на следующее направление;
- Поведение при перенаправлении;
Игнорирование OPTIONS.
Описание всех команд для настройки SIP-профилей приведено в разделе Настройки SIP-профиля.
Контроль доступности направления
Используется для периодической отправки отправки keep-alive сообщений для контороля контроля состояния встречной стороны.
...
По умолчанию keep-alive не используется. Для включения необхоимо необходимо использовать команду keepalive enable в SIP-профиле.
Контроль осуществляется путем отправки сообщений OPTIONS с заданными интервалами success-interval(по умолчанию 60 сек.)и failed-interval(по умолчанию 20 сек.).
Алгоритм работы:
Сообщение OPTIONS отправляется только в случае, кодга когда в транке отсутсвует отсутствует активность SIP , после окончания периода success-interval. Т. е. в случае когда если через транк проходят вызовы с большей частотой, чем указано в настройке success-interval, то сообщения OPTIONS не будут отправляться на встечную встречную сторону, т. к. очевидно, что направление доступно. Если после последнего отправленного или полученного сообщения SIP прошел период равный success-interval, то отправляется OPTIONS. При получение получении ответа на него (с любым статус-кодом) направление считается доступным. Сообщения OPTIONS будут отправляться с периодом success-interval до того момента, пока либо не появится активность SIP, либо не будут получены ответы на отправленные OPTIONS. Если не будет ответов на OPTIONS, транк считается недоступным, и сообщения OPTIONS будут отправляться с интервалом failed-interval до тех пор, пока транк снова не станет доступным. Scroll Pagebreak
Пример настройки:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config)# esbc #Создать SIP-профиль NEW_SIP_PROFILE: vesbc(config-esbc)# sip profile NEW_SIP_PROFILE vesbc(config-esbc-sip-profile)# #Включить контроль доступности: vesbc(config-esbc-sip-profile)# keepalive enable vesbc(config-esbc-sip-profile)# #Настроить интервалы контроля: vesbc(config-esbc-sip-profile)# keepalive success-interval 120 vesbc(config-esbc-sip-profile)# keepalive failed-interval 30 vesbc(config-esbc-sip-profile)# vesbc(config-esbc-sip-profile)# exit vesbc(config-esbc)# #Привязать SIP-профиль к транку TRUNK_OUT: vesbc(config-esbc)# trunk sip NEW_TRUNK vesbc(config-esbc-trunk-sip)# sip profile NEW_SIP_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. |
...
| Предупреждение |
|---|
При использовании SIP-профиля с включенным контролем доступности, для абонентских интерфейсов , отпавка отправка OPTIONS осуществляться не будет. Данная настройка используется только для контроля транков. |
...
Список причин отбоя для указания статус-кодов ответов SIP, по которым будет осуществляться перемаршрутизация вызовов и регистраций на альтернативное направление (следующий транк в транковой группе/следующее правило в таблице маршрутизации).
...
Входящий вызов начинает маршрутизироваться по таблице маршрутизации (ROUTE_TABLE). В результате вызов маршрутизируется по правилу RULE_1 на TRUNK_GROUP и оттуда в TRUNK_1. TRUNK_1 недоступен, вызов отбивается по истечению истечении Timer B, и происходит перемаршрутизация на TRUNK_2 (следующий транк в транковой группе). Из TRUNK_2 приходит ответ 404 Not Found, и т. к. код ответа совпадает с маской из списка, который используется в TRUNK-GROUP, то происходит маршрутизация на следующее направление. Поскольку в транковой группе больше нет транков, маршрутизация переходит к RULE_2, и вызов маршрутизируется в TRUNK_3.
| Предупреждение |
|---|
Без использования списка причин отбоя, перемаршрутизация происходит только по недоступности транка. |
| Предупреждение |
|---|
Для абонентских интерфейсов, использование списка причин отбоя не влияет на маршрутизацию. Перемаршрутизация осуществляться не будет. |
Перемаршрутизация абонентовабонентов
Вызов с зарегистрированного абонента будет направлен в тот транк, через который осуществлялась его регистрация. В случае неуспешного вызова, перемаршрутизация осуществляться не будет.
При вызове с незарегистрированного абонента сначала идёт проверка, разрешены ли с этого абонентского интерфейса вызовы без регистрации (allow_unreg_call), если проверка успешна, то вызов смаршрутизируется по привязанной таблице маршрутизации и в случае недоступности транка/совпадении ответа с маской из списка произойдёт маршрутизация на следующее направление.
Поведение при перенаправлении
| Якорь | ||||
|---|---|---|---|---|
|
Настройка поведения при перенапрвлении позволяет использовать разные режимы обработки сообщений 3XX.
...
Отправляем INVITE абоненту на тот транк, где он зарегистрирован и 181 в сторону A.
| Блок кода | ||
|---|---|---|
| ||
A(транк)---IP_a | IP_ESBC_1---ESBC---IP_ESBC_3 | IP_d---D(trunk)
| |
| INVITE number_с@IP_d---------|---------------------->
| From: number_a@IP_ESBC_3 |
| To: number_b@IP_b |
| Diversion: number_b@IP_ESBC_3|
| |
<--------------------|-----------181 Call is Being Forwarded | |
...
Отправляем INVITE на указанный адрес и 181 в сторону А.
| Блок кода | ||
|---|---|---|
| ||
A(транк)---IP_a | IP_ESBC_1---ESBC---IP_ESBC_2 | IP_с
| |
| INVITE number_с@IP_c |---------------------->
| From: number_a@IP_ESBC_2 |
| To: number_b@IP_b |
| Diversion: number_b@IP_ESBC_2|
| |
<--------------------|-----------181 Call is Being Forwarded | |
...
ignore options enable — игнорирование запросов OPTIONS. На входящие запросы OPTIONS не будут отправляться ответы;
no ignore options enable — отключение игнорирования запросов OPTIONS. На входящие запросы OPTIONS будут отправляться ответы 200 OK;.
| Предупреждение |
|---|
Игнорирование OPTIONS по умолчанию включено. |
...
| Блок кода |
|---|
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 |
| Scroll Pagebreak |
|---|
В результате конфигурация медиапрофиля будет выглядеть следующим образом:
| Блок кода |
|---|
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 |
...
2. Запретить использование кодеков G729 и G726 для транка TRUNK_1.
| Блок кода |
|---|
vesbc# configure vesbc(config)# esbc #Создать медиапрофиль для транка 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 |
| Scroll Pagebreak |
|---|
В результате конфигурация медиапрофиля будет выглядеть следующим образом:
...
В данном примере в транк TRUNK_1 приходит INVITE c SDP Offer1, в котором наиболее приоритетным кодеком является G729, а также указан кодек G726, но т. к. настройками медиапрофиля FOR_TRUNK_1 данные кодеки запрещены, то в транк TRUNK_2 будет отправлен SDP Offer2 без данных кодеков. UA TRUNK_2 выбирает в качестве приоритетного кодек PCMA (SDP Answer2), и в результате ESBC отправляет в SDP Answer1 наиболее приоритетный кодек из SDP Offer1 (кроме G729) — PCMA.
| Scroll Pagebreak |
|---|
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 |
| Scroll Pagebreak |
|---|
В результате конфигурация медиапрофиля будет выглядеть следующим образом:
| Блок кода |
|---|
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 |
...
В данном примере в транк TRUNK_1 приходит INVITE c SDP Offer1, в котором содержится кодек QCELP, и т. к. настройками медиапрофиля FOR_TRUNKS этот кодек разрешен, то он будет передаваться SDP Offer2, отправляемый в транк TRUNK_2. UA TRUNK_2 выбирает кодек QCELP, и в результате он будет согласован в SDP Answer1.
...
В данном примере в транк TRUNK_1 приходит INVITE c SDP Offer1 с набором кодеков. Т. к. настройками медиапрофиля FOR_TRUNK_1 запрещены все кодеки кроме PCMA, то в транк TRUNK_2 будет отправлен SDP Offer2, содержащий только кодек PCMA.scroll-pagebreak
Транскодирование
Транскодирование — это возможность преобразования медиапотоков, основанных на разных кодеках.
...
ESBC предоставляет возможности транскодирования на границе сети вместо использования ресурсов сети предприятия для тех же функций.
| Scroll Pagebreak |
|---|
Список кодеков, поддерживаемых в режиме транскодирования:
Аудиокодеки | Видеокодеки |
|---|---|
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 |
| Scroll Pagebreak |
|---|
Поддержка кодеков для транскодирования осуществляется командами:
...
Описание всех команд приведено в разделе Настройки медиапрофиля справочника команд CLI.
| Scroll Pagebreak |
|---|
Порядок обработки SDP для выбора режима работы:
...
Если на одном из направлений не используется медиапрофиль (т. е. используется медиапрофиль по умолчанию), или в профиле не настроено ни одно правило codec audio/video, то транскодирование осуществляться не будет.
| Scroll Pagebreak |
|---|
Пример:
В транке TRUNK_1 используется медиапрофиль FOR_TRUNK_1, в котором разрешены кодеки PCMA и PCMU для проксирования, и не указаны кодеки, разрешенные для транскодирования.
...
Т. о. включение поддержки транскодирования для кодеков командами codec {audio | video | image} {all | <CODEC>} не означает, что передаваемые через ESBC медиаданные всегда будут транскодироваться.
| Scroll Pagebreak |
|---|
Пример:
Для транков TRUNK_1 и TRUNK_2 используется один и тот же медиапрофиль FOR_TRUNKS, в котором указан только кодек PCMA, разрешенный для транскодирования, и отсутствуют паттерны кодеков для проксирования.
...
Профили безопасности используются для управления механизмом защиты от SIP-атак. Использование профилей безопасности позволяет гибко управлять уровнями защиты для каждого направления.
Необходимы Необходимый уровень защиты обеспечивается следующими настройками профиля:
...
Для обеспечения единой политики безопасности , может быть использовани использован один профиль для всех транков и один профиль для всех абонентских интерфейсов. Это может быть как один и тотже тот же профиль безопасности, так и разные. Эти профили указываются в общих настройках ESBC.
| Информация |
|---|
Если для транка и транковой группы, в которую входит этот транк, используются разные профили безопасности, то будет применяться профиль, указанный в настройках транка. Если для транка/абонентского интерфейса и в общих настройках (для всех транков/абонентских интерфейсов) используются разные профили безопасности, то то будет применяться профиль, указанный в настройках транка/абонентского интерфейса. |
Описание всех команд для настройки профилей профилей безопасности приведено в разделе разделе Настройки профиля безопасности.
Общий принцип работы модуля fail2banЯкорь fail2ban fail2ban
| fail2ban | |
| fail2ban |
...
При добавлении адреса в чёрный список указывается причина блокировки. Чёрный список можно просмотреть в CLI командой show esbc black-list или в WEB на странице Мониторинг→Списки доступа→Чёрный Мониторинг → Списки доступа → Чёрный список.
Причины блокировки:
...
Объединение ошибок по IP-адресу
В настройках профиля безопасности есть опция, которая Данная опция позволяет объединять ошибки по IP-адресу.
...
Для управления пользовательскими сертификатами и версией TLS используется crypto profile.
Описание всех команд для настройки криптопрофилей приведено в разделе Настройки криптопрофиля.
Пример настройки crypto profile:
...
Команда nat keep-alive-interval в настройках абонентского интерфейса используется для настройки интервала для поддержки соединения за NAT. При включении опции, абоненту, с заданным интервалом будут отправляться пакеты с содержанием "0d0a" для предотвращения разрушения сессии на NAT.
Подмена атрибутов direction в SDP
При включении опции nat comedia-mode атрибут direction sendonly в SDP при отправке offer/answer sdp заменяются на sendrecv.
Данный механизм используется для предотвращения ситуации в которой абонент за NAT не начнет первым отправку RTP-пакетов в сторону ESBC и соответственно ESBC не начнет отправку встречного потока RTP к абоненту.
Примеры:
1. Замена атрибутов direction в offer sdp:
...
Public IP (рус. «публичный IP-адрес») — это внешний IP-адрес, который используется при отправке запросов пользователю или удаленному адресу из внешней сети.
Настройка используется в случае, когда ESBC не имеет публичного IP-адреса и выход в публичную сеть осуществляется через NAT. В таком случае в качестве Public IP указывается адрес WAN-интерфейса NAT для подстановки в сигнальные сообщения протокола SIP.
Public IP можно можно задать настроить для абонентского интерфейса, транка и транковой группы.
| Информация |
|---|
Если Public IP настроен на в транке и на в транковой группе, в которую входит этот транк входит, то применится настройка на транке.будет использоваться Public IP из настроек транка. |
| Информация |
|---|
В качестве публичного адреса можно использовать как IPv4, так и IPv6 адрес. |
При наличии Public IP, адреса в SDP, заголовках Via и Contact будут заменены на значение public-ip из конфигурации объекта. Media будет работать в режиме NAT-comedia.
| Предупреждение |
|---|
Для корректной работы опции Public IP необходимо организовать проброс портов для сигнализации SIP и медиапортов RTP на вышестоящем устройстве NAT "один к одному". |
Пример настройки Public IP на транке:для транка
| Блок кода | ||
|---|---|---|
| ||
#Настройка SIP-транспорта для транка: vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRUNK_TRANSPORT vesbc(config-esbc-sip-transport)# ip address 192.168.1.1 vesbc(config-esbc-sip-transport)# exit #Настройка медиаресурсов для транка: vesbc(config-esbc)# media resource TRUNK_MEDIA vesbc(config-esbc-media-resource)# ip address 192.168.1.1 vesbc(config-esbc-media-resource)# exit #Настройка параметров транка: vesbc(config-esbc)# trunk sip TRUNK_PUBLIC_IP vesbc(config-esbc-trunk-sip)# sip transport TRUNK_TRANSPORT vesbc(config-esbc-trunk-sip)# media resource 0 TRUNK_MEDIA vesbc(config-esbc-trunk-sip)# remote address 192.168.1.3 vesbc(config-esbc-trunk-sip)# remote port 5060 vesbc(config-esbc-trunk-sip)# public-ip 10.25.0.1 #Применение и подтверждение изменений: vesbc(config-esbc-trunk-sip)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-trunk-sip)# do confirm Configuration has been confirmed. Commit timer canceled. |
| Scroll Pagebreak |
|---|
Пример использования Public IP
ESBC получает сообщение, которое должно быть смаршрутизировано в транк TRUNK_PUBLIC_IP:
| Блок кода | ||
|---|---|---|
| ||
INVITE sip:23002@192.168.1.1:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.4:5061;rport;branch=z9hG4bK-1914230-1-1 From: "24001" <sip:24001@192.168.1.4:5061>;tag=1 To: "23002" <sip:23002@192.168.1.1:5060> Call-ID: 1-1914230@192.168.1.4 Cseq: 1 INVITE Contact: <sip:24001@192.168.1.4:5061> Max-Forwards: 70 Allow: INVITE, ACK, BYE, CANCEL Content-Type: application/sdp Content-Length: 138 Session Description Protocol Version (v): 0 Owner/Creator, Session Id (o): user1 77755765 7773687637 IN IP4 192.168.1.4 Session Name (s): - Time Description, active time (t): 0 0 Connection Information (c): IN IP4 192.168.1.4 Media Description, name and address (m): audio 10000 RTP/AVP 8 Media Attribute (a): rtpmap:8 PCMA/8000 |
...
ESBC пересылает INVITE в транк TRUNK_PUBLIC_IP.
В SDP, Via и Contact вместо адреса привязанного SIP-транспорта (192.168.1.1) используется Public IP транка (10.25.0.1):
...
Приоритет определяется значением DSCP (0-63) в поле IP-заголовка DS.
QoS можно настроить Установить необходимое значение DS можно отдельно для:
- аудио-пакетов;
- видео-пакетов;
- пакетов сигнализации-SIP.
QoS можно задать для Параметры QoS настраиваются в конфигурации абонентского интерфейса, транка и транковой группы.
| Информация |
|---|
Если QoS настроен на транке для транка и на для транковой группегруппы, в которую входит этот транк входит, то применится настройка на транкебудет использоваться QoS из настроек транка. |
Пример настройки QoS для аудиотрафика на абонентском интерфейсев конфигурации абонентского интерфейса:
| Блок кода | ||
|---|---|---|
| ||
vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENT_QOS_50 vesbc(config-esbc-user-interface-sip)# sip transport ABONENT_TRANSPORT vesbc(config-esbc-user-interface-sip)# media resource 0 ABONENT_MEDIA vesbc(config-esbc-user-interface-sip)# route-table TO_SSW vesbc(config-esbc-user-interface-sip)# dscp audio 50 #Применение и подтверждение изменений: 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. |
...
Изменение количества модулейЯкорь count count
| count | |
| count |
При обработке сигнального SIP-трафика и медиапотоков RTP, ресурсы CPU используются разными модулями ESBC. Соответственно для оптимизации нагрузки на CPU предусмотрена возможность управлять количеством модулей.
При высокой нагрузке сигнальным SIP-трафиком наибольшую нагрузку на ядро CPU производит модуль sip worker, а при большом количестве одновременных вызовов (особенно в режиме транскодирования медии) — media worker.
Поэтому для установления баланса производительности, для многоядерных систем следует использовать оптимальное количество каждого из модулей, т. к. каждый дополнительный экземпляр модуля будет использовать ресурс дополнительного ядра CPU системы.
По умолчанию в системе используется по одному экземпляру каждого модуляESBC поддерживает добавление дополнительных модулей для распределения нагрузки.
Список модулей, количество которых можно изменить:
...
| Примечание |
|---|
Заданное в конфигурации количество модулей не изменяется при увеличении/уменьшении количества ядер CPU системы. |
Описание всех команд для настройки количества модулей приведено в разделе Общие настройки ESBC.
| Scroll Pagebreak |
|---|
Пример:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в общие настройки: vesbc(config-esbc)# general vesbc(config-esbc-general)# #Увеличение количества медиа-воркеров до 2: vesbc(config-esbc-general)# count media worker 2 vesbc(config-esbc-general)# #Применение и подтверждение изменений: vesbc(config-esbc-general)# do commit 2024-09-09T05:26:55+00:00 %SYS-W-EVENT: WARNING!!! After changing ESBC modules count, the system may work unstable. Please restart software. 2024-09-09T05:26:57+00:00 snmpd restarted Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. 2024-09-09T05:26:58+00:00 %CLI-I-CRIT: user admin from console input: do commit vesbc(config-esbc-general)# do confirm Configuration has been confirmed. Commit timer canceled. 2024-09-09T05:27:01+00:00 %CLI-I-CRIT: user admin from console input: do confirm vesbc(config-esbc-general)# #Перезапуск ПО ESBC для корректного перераспределения модулей: vesbc(config-esbc-general)# do reload esbc force Do you really want to reload esbc now? (y/N): y |
...
Ограничение на транковой группе применяется для всех транков, входящих в состав этой группы, и имеет приоритет над ограничением, установленным в настройках транка.
При этом суммарное количество входящего трафика на транках, входящих в состав группы, также не может превышать ограничение на группе.
ПримерПример:
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# config vesbc(config)# esbc #Переход в настройки транка: vesbc(config-esbc)# trunk sip TRUNK_1 vesbc(config-esbc-trunk-sip)# #Ограничение максимального CPS на транке: vesbc(config-esbc-trunk-sip)# max cps 50 #Переход в настройки транковой группы и добавление транков: vesbc(config-esbc-trunk-sip)# exit vesbc(config-esbc)# trunk-group GROUP vesbc(config-esbc-trunk-group)# trunk 0 TRUNK_0 vesbc(config-esbc-trunk-group)# trunk 1 TRUNK_1 vesbc(config-esbc-trunk-group)# trunk 2 TRUNK_2 #Ограничение максимального CPS на группе: vesbc(config-esbc-trunk-group)# max cps 30 #Применение и подтверждение изменений: vesbc(config-esbc-trunk-group)# do commit 2025-04-22T08:44:46+00:00 snmpd restarted Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. 2025-04-22T08:44:46+00:00 %CLI-I-CRIT: user admin from console input: do commit vesbc(config-esbc-trunk-group)# do confirm Configuration has been confirmed. Commit timer canceled. vesbc(config-esbc-trunk-group)# |
...
Из TRUNK_IN в TRUNK_OUT через ESBC поступает 2 вызова каждую секунду длительностью 25 секунд.
| Блок кода | ||
|---|---|---|
| ||
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
| alarms | |
| alarms |
Включение генерации аварий происходит включением SNMP-трапов командой командой snmp-server enable traps esbc в CLI.
Данная команда без указания параметров включает весь набор SNMP-трапов:
...
| Информация |
|---|
Более подробное описание конфигурирования SNMP-трапов можно прочитать в разделе Управление SNMP. |
Аварии можно просмотреть с помощью команды Список аварийных событий выводится командой show alarms brief в CLI. Данная команда выводит историю аварий, включая уже нормализированные аварии.
Если нужно вывести только активные аварии, то Для отображения только активных аварий используется команда show alarms brief active.
...
Авария | Текст аварии | Причины нормализации |
|---|---|---|
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 секунд после последней аварии ИЛИ уничтожение превышающий сессии |
module-connection | Module <module_type> host <host_id> is down | при успешном добавлении модуля в диспетчер |
trunk-group-max-calls-limit | Trunk-Group <trunk_group_name> max calls limit reached | через 10 секунд после последней аварии ИЛИ при снижении счетчика на 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% от лимита |
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% от лимита |
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 секунд после последней аварии |
voip-block-aor | Отсутствует | не нормализуются |
voip-block-ip | Отсутствует | не нормализуются |
| voip-block-user-agent | Отсутствует | не нормализуются |
| Информация |
|---|
Присутствует возможность Для удаления аварий командой используется команда clear alarms в CLI. |
Scroll Pagebreak
...
Заголовок файла (опционален) (<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 можно как сохранять локально (в Хранение записей CDR осуществляется в локальном хранилище ESBC или на внешнем USB-накопителе), так и отправлять по FTP (возможна отправка на 2 сервера). .
Отправка на внешний сервер осуществляется по протоколу FTP. Поддерживается отправка на два FTP-сервера.
Дополнительно поддерживается сохранение и отправка SDR в SYSLOG. Для отправки в SYSLOG требуется дополнительная конфигурация syslog.
Описание всех команд для настройки CDR приведено в разделе Настройки CDR.
Пример настройки записи CDR с опциональными полями, локальным хранением и отправкой на сервер FTP с резервированием в случае неудачной отправки приведен ниже.
| Блок кода | ||
|---|---|---|
| ||
vesbc# vesbc# configure vesbc(config-esbc)# cdr vesbc(config-esbc-cdr)# enable #Добавление заголовка в CDR-запись: vesbc(config-esbc-cdr)# add-header #Запись неудачных вызовов: vesbc(config-esbc-cdr)# collect unsuccess #Запись пустых CDR: vesbc(config-esbc-cdr)# collect empty-files #Режим создания записей: vesbc(config-esbc-cdr)# create-mode periodically vesbc(config-esbc-cdr)# per days 1 vesbc(config-esbc-cdr)# period hours 12 vesbc(config-esbc-cdr)# per minutes 30 #Включение отправки логов: vesbc(config-esbc-cdr)# syslog enable #Добавление отличительного признака: vesbc(config-esbc-cdr)# signature otlichitelnyi_priznak #Настройка локального хранения: vesbc(config-esbc-cdr)# local vesbc(config-esbc-cdr-local)# create-directories by-date vesbc(config-esbc-cdr-local)# keep days 30 vesbc(config-esbc-cdr-local)# keep hours 12 vesbc(config-esbc-cdr-local)# keep minutes 30 vesbc(config-esbc-cdr-local)# path flash:cdr/cdr_record vesbc(config-esbc-cdr-local)# save vesbc(config-esbc-cdr-local)# exit #Настройка основного FTP-сервера: vesbc(config-esbc-cdr)# ftp vesbc(config-esbc-cdr-ftp)# login main_ftp_server vesbc(config-esbc-cdr-ftp)# password password_m_ftp vesbc(config-esbc-cdr-ftp)# path /main_ftp/cdr_record vesbc(config-esbc-cdr-ftp)# remote address 192.168.23.100 vesbc(config-esbc-cdr-ftp)# save vesbc(config-esbc-cdr-ftp)# exit #Настройка резервного FTP-сервера: vesbc(config-esbc-cdr)# reserved-ftp vesbc(config-esbc-cdr-res-ftp)# as-reserved vesbc(config-esbc-cdr-res-ftp)# login reserve_ftp_server vesbc(config-esbc-cdr-res-ftp)# password password_r_ftp vesbc(config-esbc-cdr-res-ftp)# path /reserve_ftp/cdr_record vesbc(config-esbc-cdr-res-ftp)# remote address 192.168.23.200 vesbc(config-esbc-cdr-res-ftp)# save #Применение и подтверждение изменений: vesbc(config-esbc-cdr-res-ftp)# do commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc(config-esbc-cdr-res-ftp)# do confirm Configuration has been confirmed. Commit timer canceled. | ||
Более подробное описание конфигурирования CDR можно прочитать в разделе Настройки CDR Справочника команд CLI. |
Если отправка записи CDR на основной FTP-сервер (192.168.23.100) по какой-либо причине не произойдет, то она попытается отправиться на резервный FTP-сервер (192.168.23.200), в случае неудачи и на резервном, запись сохранится только локально.
...
Логирование ESBC осуществляется с помощью syslog. Более подробно настройки syslog описаны в разделе Управление SYSLOG справочника команд CLI.
По умолчанию логирование модулей ESBC выключено.
| Предупреждение |
|---|
Включение логирования всех модулей при большой вызывной нагрузке может повлиять на производительность системы. Наибольшее влияние на производительность оказывает вывод логов в консоль (syslog console). |
Модули, входящие в состав ESBC
...
| Блок кода | ||
|---|---|---|
| ||
vesbc# #Переход в раздел debug: vesbc# debug vesbc(debug)# #Включение логирования модуля esbc_dispatcher: vesbc(debug)# debug esbc disp #Включение логирования модуля esbc_config_manager: vesbc(debug)# debug esbc cfgmgr #Включение логирования модуля esbc_access_mediator: vesbc(debug)# debug esbc accmed #Включение логирования модуля esbc_mon: vesbc(debug)# debug esbc mon #Включение логирования модуля esbc_aaa: vesbc(debug)# debug esbc aaa #Включение логирования модуля esbc_core: vesbc(debug)# debug esbc core #Включение логирования модуля esbc_sip_balancer: vesbc(debug)# debug esbc sipbl #Включение логирования модуля esbc_sip_worker: vesbc(debug)# debug esbc sipwrk #Включение логирования модуля esbc_media_balancer: vesbc(debug)# debug esbc mediabl #Включение логирования модуля esbc_media_worker: vesbc(debug)# debug esbc mediawrk #Включение логирования модуля esbc_sysio: vesbc(debug)# debug esbc sysio #Включение логирования модуля esbc_sm: vesbc(debug)# debug esbc submngr #Включение логирования модуля esbc_voip_guard: vesbc(debug)# debug esbc voip-guard #Применение и подтверждение настроек |
Для отключения логирования модулей ESBC используется команда, аналогичная включению, с приставкой no:
| Блок кода |
|---|
#Выключение логирования модуля esbc_voip_guard: vesbc(debug)# dono commit vesbc(debug)# do confirm |
| Scroll Pagebreak |
|---|
esbc voip-guard |
Для установки параметров логирования по умолчанию используется команда no debug all. Данная команда отключает логирование всех модулей ESBC.
| Scroll Pagebreak |
|---|
Примеры настройки ESBC Якорь
Примеры настройки ESBC Якорь ESBC_set_examples ESBC_set_examples
| ESBC_set_examples | |
| ESBC_set_examples |
...
Порядок конфигурирования ESBC:1. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
...
1
...
.
...
2. Настроить IP-адрес на интерфейсе в сторону SSW:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# description "SSW" vesbc(config-if-gi)# ip address 192.168.16.113/24 vesbc(config-if-gi)# ip firewall disable |
32. Настроить IP-адрес на внешнем интерфейсе в сторону абонентов:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/2 vesbc(config-if-gi)# description "ABONENTS" vesbc(config-if-gi)# ip address 192.168.20.120/24 |
43. Создать SIP-транспорт в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_SSW vesbc(config-esbc-sip-transport)# ip address 192.168.16.113 vesbc(config-esbc-sip-transport)# port 5061 |
54. Создать SIP-транспорт в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_ABONENTS vesbc(config-esbc-sip-transport)# ip address 192.168.20.120 vesbc(config-esbc-sip-transport)# port 5062 |
65. Создать медиаресурсы для согласования и передачи голоса на плече SSW --- ESBC:
| Блок кода |
|---|
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 |
| Scroll Pagebreak |
|---|
76. Создать медиаресурсы для согласования и передачи голоса на плече ESBC --- Абонентский шлюз/SIP-абоненты:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# media resource MEDIA_ABONENTS vesbc(config-esbc-media-resource)# ip address 192.168.20.120 |
87. Создать SIP-транк в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_SSW vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_SSW 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_SSW |
98. Создать абонентский интерфейс в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# sip transport TRANSPORT_ABONENTS vesbc(config-esbc-user-interface-sip)# media resource 0 MEDIA_ABONENTS #Если абоненты находятся за NAT выполнить команду: vesbc(config-esbc-user-interface-sip)# nat comedia-mode on |
109. Создать Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов будут маршрутизироваться на 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 |
1110. Привязать созданную таблицу маршрутизации к абонентскому интерфейсу:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# route-table TO_SSW |
| Scroll Pagebreak |
|---|
1211. Применить конфигурацию и подтвердить изменения:
...
Порядок конфигурирования ESBC:
1. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — сетевой интерфейс до SSW;
gi1/0/2 — сетевой интерфейс до транкового шлюза.
2. Настроить IP-адрес на интерфейсе в сторону SSW:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# description "SSW" vesbc(config-if-gi)# ip address 192.168.16.113/24 |
| Scroll Pagebreak |
|---|
32. Настроить IP-адрес на интерфейсе в сторону транкового шлюза:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/2 vesbc(config-if-gi)# description "TRUNK_GATEWAY" vesbc(config-if-gi)# ip address 192.168.20.120/24 |
43. Создать SIP-транспорт в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_SSW vesbc(config-esbc-sip-transport)# ip address 192.168.16.113 vesbc(config-esbc-sip-transport)# port 5065 |
54. Создать SIP-транспорт в сторону транкового шлюза:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_TRUNK_GATEWAY vesbc(config-esbc-sip-transport)# ip address 192.168.20.120 vesbc(config-esbc-sip-transport)# port 5067 |
65. Создать медиаресурсы для согласования и передачи голоса на плече SSW --- ESBC:
| Блок кода |
|---|
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 |
76. Создать медиаресурсы для согласования и передачи голоса на плече ESBC --- Транковый шлюз:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# mediaresource MEDIA_TRUNK_GATEWAY vesbc(config-esbc-media-resource)# ip address 192.168.20.120 |
| Scroll Pagebreak |
|---|
87. Создать SIP-trunk в транк в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_SSW vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_SSW 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_SSW |
98. Создать SIP-транк в сторону транкового шлюза:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_GATEWAY vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_TRUNK_GATEWAY vesbc(config-esbc-trunk-sip)# remote address 192.168.20.99 vesbc(config-esbc-trunk-sip)# remote port 5060 vesbc(config-esbc-trunk-sip)# media resource 0 MEDIA_TRUNK_GATEWAY |
109. Создать Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с транкового шлюза будут маршрутизироваться на 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 |
1110. Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с SSW будут маршрутизироваться на транковый шлюз:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# route-table TO_TRUNK_GATEWAY vesbc(config-esbc-route-table)# rule 0 vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_GATEWAY |
1211. Привязать созданные таблицы маршрутизации к транкам:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_SSW vesbc(config-esbc-trunk-sip)# route-table TO_TRUNK_GATEWAY vesbc(config-esbc-trunk-sip)# exit vesbc(config-esbc)# trunk sip TRUNK_GATEWAY vesbc(config-esbc-trunk-sip)# route-table TO_SSW |
| Scroll Pagebreak |
|---|
1312. Применить конфигурацию и подтвердить изменения:
...
Порядок конфигурирования ESBC:
1. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — внутренний сетевой интерфейс до SSW;
gi1/0/2 — внешний сетевой интерфейс для абонентов.
2. Настроить IP-адрес на интерфейсе в сторону SSW:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# description "SSW" vesbc(config-if-gi)# ip address 192.168.16.113/24 vesbc(config-if-gi)# ip firewall disable |
32. Настроить IP-адрес на внешнем интерфейсе в сторону абонентов:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/2 vesbc(config-if-gi)# description "ABONENTS" vesbc(config-if-gi)# ip address 192.168.20.120/24 |
43. Создать SIP-транспорт в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_SSW vesbc(config-esbc-sip-transport)# ip address 192.168.16.113 vesbc(config-esbc-sip-transport)# mode tcp-prefer vesbc(config-esbc-sip-transport)# port 5061 |
54. Создать SIP-транспорт в сторону абонентов:
...
| Примечание |
|---|
Если абоненты используют WebSocket, а не WebSocket Secure, то необходимо выбрать mode ws в настройках SIP-транспорта для абонентов. |
| Scroll Pagebreak |
|---|
65. Создать медиаресурсы для согласования и передачи голоса на плече SSW --- ESBC:
| Блок кода |
|---|
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 |
76. Создать медиаресурсы для согласования и передачи голоса на плече ESBC --- Абонентский шлюз/SIP-абоненты:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# media resource MEDIA_ABONENTS vesbc(config-esbc-media-resource)# ip address 192.168.20.120 |
87. Создать медиапрофиль с шифрованием DTLS-SRTP для SIP-абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# media profile MEDIA_PROFILE_ABONENTS vesbc(config-esbc-media-profile)# srtp mode mandatory vesbc(config-esbc-media-profile)# srtp keying dtls-srtp |
98. Создать SIP-транк в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip TRUNK_SSW vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_SSW 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_SSW |
109. Создать Создать абонентский интерфейс в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# sip transport TRANSPORT_ABONENTS vesbc(config-esbc-user-interface-sip)# media resource 0 MEDIA_ABONENTS vesbc(config-esbc-user-interface-sip)# media profile MEDIA_PROFILE_ABONENTS #Если абоненты находятся за NAT, выполнить команду: vesbc(config-esbc-user-interface-sip)# nat comedia-mode on |
1110. Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов, будут маршрутизироваться на 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 |
1211. Привязать созданную таблицу маршрутизации к абонентскому интерфейсу:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# route-table TO_SSW |
1312. Применить конфигурацию и подтвердить изменения:
...
| Блок кода |
|---|
vesbc(config)# domain lookup enable vesbc(config)# domain nameserver 192.168.20.100 vesbc(config)# |
2. Пробросить сетевые интерфейсы в vESBC по инструкции (только для vESBC):
gi1/0/1 — внутренний сетевой интерфейс до SSW;
gi1/0/2 — внешний сетевой интерфейс для абонентов.
3. Настроить IP-адрес на интерфейсе в сторону SSW:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# description "SSW" vesbc(config-if-gi)# ip address 192.168.16.113/24 vesbc(config-if-gi)# ip firewall disable |
43. Настроить IP-адрес на внешнем интерфейсе в сторону абонентов:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/2 vesbc(config-if-gi)# description "ABONENTS" vesbc(config-if-gi)# ip address 192.168.20.120/24 |
54. Создать SIP-транспорт в сторону SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_SSW vesbc(config-esbc-sip-transport)# ip address 192.168.16.113 vesbc(config-esbc-sip-transport)# port 5061 |
Scroll Pagebreak
65. Создать SIP-транспорт в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# sip transport TRANSPORT_ABONENTS vesbc(config-esbc-sip-transport)# ip address 192.168.20.120 vesbc(config-esbc-sip-transport)# port 5062 |
76. Создать медиаресурсы для согласования и передачи голоса на плече SSW --- ESBC:
| Блок кода |
|---|
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 |
87. Создать медиаресурсы для согласования и передачи голоса на плече ESBC --- Абонентский шлюз/SIP-абоненты:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# media resource MEDIA_ABONENTS vesbc(config-esbc-media-resource)# ip address 192.168.20.120 |
98. Создать динамический SIP-транк, в качестве адреса указать подсеть, в которой находятся SSW:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# trunk sip SSW_DYNAMIC vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_SSW vesbc(config-esbc-trunk-sip)# remote address 192.168.16.0/24 vesbc(config-esbc-trunk-sip)# remote port 5060 vesbc(config-esbc-trunk-sip)# dynamic-mode dns vesbc(config-esbc-trunk-sip)# media resource 0 MEDIA_SSW |
109. Создать Создать абонентский интерфейс в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-trunk-sip)# sip transport TRANSPORT_ABONENTS vesbc(config-esbc-trunk-sip)# media resource 0 MEDIA_ABONENTS #Если абоненты находятся за NAT, выполнить команду: vesbc(config-esbc-user-interface-sip)# nat comedia-mode on |
1110. Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов будут маршрутизироваться на SIP-транк с динамическим режимом:
| Блок кода |
|---|
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 SSW_DYNAMIC |
1211. Привязать созданную таблицу маршрутизации к абонентскому интерфейсу:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# route-table TO_SSW |
1312. Применить конфигурацию и подтвердить изменения:
...



