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

Ключ

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

...

Для написания условий можно использовать регулярные выражения PCRE.

Маршрутизация на разные направления через общую таблицу маршрутизации

Для всех транков (например, TRUNK_1, TRUNK_2, TRUNK_3) указать одну таблицу маршрутизации (например, MAIN). Все правила и условия для маршрутизации в конкретный транк указаны в отдельной таблице маршрутизации для этого транка (таблицы маршрутизации RT_1, RT_2, RT_3).  При добавлении транков в конфигурации необходимо создать соответствующую таблицу маршрутизации и добавить новое правило в таблицу MAIN.

Image Removed

Пример конфигурации:

Смена таблиц маршрутизации

В конфигурации таблицы маршрутизации реализована команда switch-route-table <route-table-name> для продолжения маршрутизации SIP-запроса через другую таблицу маршрутизации.

Использование каскадного принципа таблиц маршрутизации позволяет гибко настраивать маршрутизацию между направлениями.

Примеры использования каскадных таблиц маршрутизации

Допускается использовать каскадный переход из нескольких таблиц маршрутизации, например:

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

#Создание таблицы маршрутизации ROUTE_TABLE_1 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_2:
vesbc(config-esbc)# route-table ROUTE_TABLE_1
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)#
Блок кода
route-table MAIN
   rule 0
     action switch-route-table RT_1
   exit
   rule 1
     action switch-route-table RTROUTE_TABLE_2
vesbc(config-esbc-route-table-rule)#   exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы  rule 2
     action switch-маршрутизации ROUTE_TABLE_2 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_3:
vesbc(config-esbc)# route-table RTROUTE_TABLE_3
   exit
 exit
 2
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)# action switch-route-table RTROUTE_TABLE_1
   rule 0
     action direct-to-trunk TRUNK_1
     condition 0 cdpn '100'
   exit
 exit
 route-table RT_2
   rule 0
     action direct-to-trunk TRUNK_2
     condition 0 cdpn '200'
   exit
 exit
 route-table RT_3
   rule 0
     action direct-to-trunk TRUNK_3
     condition 0 cdpn '300'
   exit
 exit
   trunk sip TRUNK_1
   route-table MAIN
   ...
 exit
   trunk sip TRUNK_2
   3
vesbc(config-esbc-route-table-rule)# exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы маршрутизации ROUTE_TABLE_3 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_4:
vesbc(config-esbc)# route-table ROUTE_TABLE_3
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)# action switch-route-table ROUTE_TABLE_4
vesbc(config-esbc-route-table-rule)# exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы маршрутизации ROUTE_TABLE_4 и добавление правила с действием отправить вызов в транк TRUNK_1:
vesbc(config-esbc)# route-table ROUTE_TABLE_4
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_1
Примечание

Запрещено указывать в правиле action switch-route-table название той таблицы, в которой указывается данное правило.

Пример:

Блок кода
route-table MAIN
  rule 
...
5
 
exit
   
trunk
 
sip TRUNK_3
action switch-route-table MAIN
  
...
exit
exit

В таком случае маршрутизация любого вызова из любого направления будет осуществляться по всем правилам всех таблиц маршрутизации до первого совпадения CdPN. Если совпадение не будет найдено, то вызов завершится кодом SIP 404 "Not Found".

Смена таблиц маршрутизации

В конфигурации таблицы маршрутизации реализована команда switch-route-table <route-table-name> для продолжения маршрутизации SIP-запроса через другую таблицу маршрутизации.

Использование каскадного принципа таблиц маршрутизации позволяет гибко настраивать маршрутизацию между направлениями.

Примеры использования каскадных таблиц маршрутизации

Допускается использовать каскадный переход из нескольких таблиц маршрутизации, например:

Маршрутизация на разные направления через общую таблицу маршрутизации

Для всех транков (например, TRUNK_1, TRUNK_2, TRUNK_3) указать одну таблицу маршрутизации (например, MAIN). Все правила и условия для маршрутизации в конкретный транк указаны в отдельной таблице маршрутизации для этого транка (таблицы маршрутизации RT_1, RT_2, RT_3).  При добавлении транков в конфигурации необходимо создать соответствующую таблицу маршрутизации и добавить новое правило в таблицу MAIN.

Image Added


Пример конфигурации:

3
     condition 0 cdpn '300'
   exit
 exit
   trunk sip TRUNK_1
   route-table MAIN
   ...
 exit
   trunk sip TRUNK_2
   route-table MAIN
   
rule 5 action switch-
...
 exit
   trunk sip TRUNK_3
   route-table MAIN
   
exit
...
 exit
Блок кода
route-table MAIN
   rule 0
     action switch-route-table RT_1
   exit
   rule 1
     action switch-route-table RT_2
   exit
   rule 2
    
Блок кода
languagec#
vesbc# configure 
vesbc(config)# esbc

#Создание таблицы маршрутизации ROUTE_TABLE_1 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_2:
vesbc(config-esbc)# route-table ROUTE_TABLE_1
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)# action switch-route-table ROUTE_TABLE_2
vesbc(config-esbc-route-table-rule)# exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы маршрутизации ROUTE_TABLE_2 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_3:
vesbc(config-esbc)#RT_3
   exit
 exit
 route-table RT_1
   rule 0
     action direct-to-trunk TRUNK_1
     condition 0 cdpn '100'
   exit
 exit
 route-table ROUTERT_TABLE_2
vesbc(config-esbc-route-table)#   rule 5
vesbc(config-esbc-route-table-rule)# action switch-route-table ROUTE_TABLE_3
vesbc(config-esbc-route-table-rule)# exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы маршрутизации ROUTE_TABLE_3 и добавление правила с действием сменить таблицу маршрутизации на ROUTE_TABLE_4:
vesbc(config-esbc)#0
     action direct-to-trunk TRUNK_2
     condition 0 cdpn '200'
   exit
 exit
 route-table ROUTERT_TABLE_3
vesbc(config-esbc-route-table)#   rule 5
vesbc(config-esbc-route-table-rule)#0
     action switchdirect-routeto-tabletrunk ROUTETRUNK_TABLE_4
vesbc(config-esbc-route-table-rule)# exit
vesbc(config-esbc-route-table)# exit

#Создание таблицы маршрутизации ROUTE_TABLE_4 и добавление правила с действием отправить вызов в транк TRUNK_1:
vesbc(config-esbc)# route-table ROUTE_TABLE_4
vesbc(config-esbc-route-table)# rule 5
vesbc(config-esbc-route-table-rule)# action direct-to-trunk TRUNK_1
Примечание

Запрещено указывать в правиле action switch-route-table название той таблицы, в которой указывается данное правило.

Пример:

Блок кода

В таком случае маршрутизация любого вызова из любого направления будет осуществляться по всем правилам всех таблиц маршрутизации до первого совпадения CdPN. Если совпадение не будет найдено, то вызов завершится кодом SIP 404 "Not Found".


Маршрутизация на разные направления через последовательный каскад таблиц маршрутизации

...