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

Ключ

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

...

В конфигурации есть два транка, настроена маршрутизация. Вызов, который приходит из TRUNK_IN, уходит в TRUNK_OUT. Из TRUNK_IN приходит INVITE с заголовком RouteTest_header. Требуется, используя только переменную var1, скопировать значение заголовка Test_header из INVITE на первом плече, вставить его в заголовок Test_header_INVITE в ответе 180 на втором плече, скопировать значение заголовка Test_header из ответа 200 на втором плече и вставить его в заголовок Test_header_200 в запрос BYE на первом плече.

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

#Создание таблицы модификаторов MODTABLE_IN_TRUNK_IN для модификаций на первом плече:
vesbc(config-esbc)# mod-table sip MODTABLE_IN_TRUNK_IN
vesbc(esbc-mod-table)# 

#Добавление в таблицу модификаторов правила copy для копирования значения заголовка RouteTest_header в переменную routevar1:
vesbc(esbc-mod-table)# mod 0 copy
vesbc(esbc-mod-table-modification)# 

#Выбор запроса, в котором будет использоваться модификатор copy (в данном случае INVITE):
vesbc(esbc-mod-table-modification)# sip method type Invite

#Указать название заголовка, из которого необходимо копировать значение (в данном случае Test_header):
vesbc(esbc-mod-table-modification)# sip header-pattern Test_header

#Указать содержимое заголовка, при совпадении с которым будет выполнено копирование в переменную. В переменную будет скопирована та часть отбора, которая указана в скобках:
vesbc(esbc-mod-table-modification)# value-pattern '(.+)'

#Указать переменную, в которую будет скопировано значение, указанное в скобках, в примере - (.+):
vesbc(esbc-mod-table-modification)# variable-str 'var1'
vesbc(esbc-mod-table-modification)# exit

#Добавление в таблицу модификаторов правила add для добавления заголовка Test_header_180 в BYE:
vesbc(esbc-mod-table)# mod 1 add

#Выбор запроса, в котором будет использоваться модификатор add (в данном случае BYE):
vesbc(esbc-mod-table-modification)# sip method type Bye

#Название добавляемого заголовка:
vesbc(esbc-mod-table-modification)# header name Test_header_200

#Указать значение заголовка (переменная var1):
vesbc(esbc-mod-table-modification)# header value '${var1}'
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_TRUNK_IN
vesbc(config-esbc-trunk-sip)# exit

#Создание таблицы модификаторов MODTABLE_IN_TRUNK_OUT для модификаций на втором плече:
vesbc(config-esbc)# mod-table sip MODTABLE_IN_TRUNK_OUT
vesbc(esbc-mod-table)# 

#Добавление в таблицу модификаторов правила copy для копирования значения заголовка Test_header в переменную var1:
vesbc(esbc-mod-table)# mod 0 copy
vesbc(esbc-mod-table-modification)# 

#Выбор ответа, в котором будет использоваться модификатор copy (в данном случае 200):
vesbc(esbc-mod-table-modification)# sip response-pattern 200

#Указать название заголовка, из которого необходимо копировать значение (в данном случае Test_header):
vesbc(esbc-mod-table-modification)# sip header-pattern Test_header

#Указать содержимое заголовка, при совпадении с которым будет выполнено копирование в переменную. В переменную будет скопирована та часть отбора, которая указана в скобках:
vesbc(esbc-mod-table-modification)# value-pattern '(.+)'

#Указать переменную, в которую будет скопировано значение, указанное в скобках, в примере - (.+):
vesbc(esbc-mod-table-modification)# variable-str 'var1'
vesbc(esbc-mod-table-modification)# exit

#Добавление в таблицу модификаторов правила add для добавления заголовка Test_header_INVITE в 180:
vesbc(esbc-mod-table)# mod 1 add

#Выбор ответа, в котором будет использоваться модификатор add (в данном случае 180):
vesbc(esbc-mod-table-modification)# sip response-pattern '180'

#Название добавляемого заголовка:
vesbc(esbc-mod-table-modification)# header name Test_header_INVITE

#Указать значение заголовка (переменная var1):
vesbc(esbc-mod-table-modification)# header value '${var1}'
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 in MODTABLE_IN_TRUNK_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.

...