...
Для реализации данной схемы общий алгоритм настройки следующий:
- Настроить сетевые интерфейсы на ESBC в сторону SSW и в сторону SIP-абонентов.
- Настроить внешний сервис.
- Создать SIP-транспорт в сторону SSW и SIP-транспорт для SIP-абонентов.
- Создать медиаресурсы для обоих направлений, назначить им диапазон портов для передачи голоса.
- Создать абонентский интерфейс и SIP-транк в динамическом режиме.
- Создать правила, по которым будут маршрутизироваться вызовы от абонентов до SSW.
Использование DNS в качестве внешнего сервиса:
1. Настроить адрес DNS:
| Блок кода |
|---|
vesbc(config)# domain lookup enable
vesbc(config)# domain nameserver 192.168.16.200
vesbc(config)# |
...
- 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
...
- Настроить 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
...
- Создать 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
...
- Создать 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
...
- Создать медиаресурсы для согласования и передачи голоса на плече 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
...
- Создать медиаресурсы для согласования и передачи голоса на плече 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
...
8. Создать динамический SIP-транк, в качестве адреса указать подсеть, в которой находятся SSW:
...
...
- Создать абонентский интерфейс в сторону абонентов:
Блок кода 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
...
- Настроить внешний сервис, создать SIP-транк в динамическом режиме и настроить маршрутизацию
DNS
1. Настроить DNS:
| Блок кода |
|---|
vesbc(config)# domain lookup enable
vesbc(config)# domain nameserver 192.168.16.200
vesbc(config)# |
Описание всех доступных настроек DNS приведено в разделе Настройка DNS Справочника команд CLI.
2. Создать динамический 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 |
3. Создать таблицу
...
маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов будут маршрутизироваться на 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 |
...
4. Привязать созданную таблицу маршрутизации к абонентскому интерфейсу:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# route-table TO_SSW |
...
5. Применить конфигурацию и подтвердить изменения:
| Блок кода |
|---|
vesbc# commit vesbc# confirm |
...
SIP-абонент отправляет сообщение REGISTER, в hostname RURI указывает ssw125_2.domain. ESBC отправляет запрос на DNS-сервер (192.168.16.200) для определения адреса назначения, внешний сервис в ответ присылает адрес SIP-сервера (192.168.16.125), на который нужно отправить запрос. ESBC отправляет регистрацию на указанный адрес, подставляя в заголовки To и From ssw125_2.domain, последующие запросы с этого абонента при указании того же домена будут отправляться в транк 192.168.16.125 без предварительного обращения к внешнему сервису.
| Примечание |
|---|
Исходящий запрос на динамический транк будет отправлен на тот же порт, что указан в RURI входящего запроса. Если порт явно не указан, то запрос отправится на стандартный порт 5060. |
Для определения входящего запроса из транка с динамическим режимом используется адрес/маска подсети из remote address и порт/диапазон портов из remote port.
...
RADIUS
...
1. Настроить RADIUS сервер
...
Пример конфигурации freeradius:
| Блок кода |
|---|
Файл clients.conf:
client ESBC {
ipaddr = 192.168.16.131113 #адрес интерфейса ESBC, с которого будут отправляться запросы на RADIUS сервер
secret = password #Ключ для аутентификации клиента
}
Файл users:
ssw125_2.domain Cleartext-Password := "domain_resolve" #обязательный пароль при использовании динамического режима
Framed-IP-Address = 192.168.16.125 #адрес, который сервер отправит в ответе на Access-Request с User-Name: ssw125_2.domain |
...
2. Задать параметры RADIUS сервера на ESBC:
| Блок кода |
|---|
vesbc(config)# radius-server host 192.168.16.250
vesbc(config-radius-server)# key ascii-text password #должен совпадать с secret на сервере
vesbc(config-radius-server)# usage voip |
2. Настроить IP-адрес на интерфейсе в сторону SSW:
| Блок кода |
|---|
vesbc# configure vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi-radius-server)# description "SSW" vesbc(config-if-gi)# ip address 192.168source-address 192.168.16.113/24 vesbc(config-if-gi)# ip firewall disable |
3. Настроить 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 |
4. Создать 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
5. Создать 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
|
6. Создать медиаресурсы для согласования и передачи голоса на плече 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 |
7. Создать медиаресурсы для согласования и передачи голоса на плече ESBC --- Абонентский шлюз/SIP-абоненты:
#адрес интерфейса, с которого будут отправляться запросы |
Описание всех доступных настроек RADIUS сервера приведено в разделе Настройка AAA Справочника команд CLI.
3. Создать RADIUS профиль, добавить в его конфигурацию RADIUS сервер:
| Блок кода |
|---|
| Блок кода |
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# mediaradius resourceprofile MEDIARADIUS_ABONENTSPROFILE vesbc(config-esbcradius-media-resourceprofile)# ipradius-server addresshost 192.168.20.120 |
...
.16.250 |
Описание всех доступных настроек RADIUS профиля приведено в разделе Настройка ESBC Справочника команд CLI.
4. Создать динамический 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 |
9. Создать абонентский интерфейс в сторону абонентов:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTSradius RADIUS_PROFILE 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 |
...
SSW |
5. Создать таблицу маршрутизации и добавить туда правила, по которым вызовы, приходящие с абонентов будут маршрутизироваться на 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 |
...
6. Привязать созданную таблицу маршрутизации к абонентскому интерфейсу:
| Блок кода |
|---|
vesbc# vesbc# configure vesbc(config)# esbc vesbc(config-esbc)# user-interface sip ABONENTS vesbc(config-esbc-user-interface-sip)# route-table TO_SSW |
...
7. Применить конфигурацию и подтвердить изменения:
| Блок кода |
|---|
vesbc# commit vesbc# confirm |
...
SIP-абонент отправляет сообщение REGISTER, в hostname RURI указывает ssw125_2.domain. ESBC для определения адреса назначения отправляет запрос(Access-Request) на DNSRADIUS-сервер (192.168.16.200) для определения адреса назначения, внешний сервис в ответ присылает адрес 250) c аттрибутом User-Name, в котором содержится домен ssw125_2.domain.
RADIUS сервер присылает Access-Accept с адресом SIP-сервера (192.168.16.125) , на который нужно отправить запрос. в аттрибуте Framed-IP-Address.
ESBC отправляет регистрацию на указанный адрес, подставляя в заголовки To и From ssw125_2.domain, последующие запросы с этого абонента при указании того же домена будут отправляться в транк 192.168.16.125 :5060 без предварительного обращения к внешнему сервису.
| Примечание |
|---|
Исходящий запрос на динамический транк будет отправлен на тот же порт, что указан в RURI входящего запроса. Если порт явно не указан, то запрос отправится на стандартный порт 5060. |
...



