ЄС-11

Цифрова комутаційна система

Науково-виробничий центр
"Автоматизовані мікропроцесорні системи"
ЄДРПОУ: 13807402 тел: +380-32-237-21-36

Користувальницькькі налаштування

Налаштування сайту


es11soft:groupconfig:buildswitch-patternfile

BuildSwitch: Вихідний файл шаблонів

На початку та в кінці кожного файлу формуються рядки з довідковою інформацією про назву головного вхідного файлу, назву комутатора, назву та дату створення цього вихідного файлу.

Для кожного вузла програма BuildSwitch на початку вихідного файлу шаблонів формує інтерфейсну частину (яка 'вирахувана' з опису вузла) в такій послідовності:

  • - опис необхідних поінт-кодів;
  • - опис підключення зовнішнього вузла - а саме комутатора;
  • - опис потоків підключення комутатора;
  • - опис лінків підключення комутатора;
  • - правила аналізу номері для виходу на комутатор;
  • - опис ключів режимів роботи каналів;
  • - опис з'єднувальних каналів для виходу на комутатор;
  • - опис транзитних каналів з комутатора;

а потім всі вставки, що описані відповідними директивами insertbeg/insertend.

Недостатня для повного опису вузла інформація може бути включена в файл шаблонів вже на етапі створення файлу загального опису комутатора - директивами insertbeg/insertend. Після його створення файл шаблонів можна доопрацювати вручну редактором, або підключити необхідні файли опису абонентських каналів на наступному кроці обробки. Як-що для підлеглого вузла потрібна нетипова схема формування шаблонів - цей вузол треба вказати в параметрах директиви model: PeerList.

Формування шаблонів по замовчуванню

Цей спосіб використовується для простих вузлів типу БАД, для яких не потрібно деталізації інтерфейсної частини. Приклад опису підключення до комутатора такого типового БАДу:

;;################################################################
;; на підлеглий BAD1 - підключено як Peer  - з діагностикою
;;=== === === === === === === === === === === === === === === === 
  ConnectOksPeer  BAD1, < 1561>, <F5,E6>,<F5G,E6G>
  AlloctOksPass F,5,H
  AlloctOksPass E,6,H
SetLinkModes    <F5G,E6G>, -T1L
        DirectionStrt    BAD1,0
  InternalTrunkSs7 <F5,E6>,< >
        DirectionEnds    BAD1
  ForwardRule  A, "61(000-239)",DrTownOnly, #, BAD1,  5,0 ;; 240 - номерів точно
;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==

В цьому прикладі вказана назва вузла, його адреса та схема його підключення по ОКСу, перелік каналів в напрямку та номерна ємність цього напрямку. З цього опису у вихідному файлі шаблонів для вузла BAD1 буде сформовано:

;;################################################################
;;  Створено - BuildSwitch /v2.I2/           [2013-09-26 16:19:19]
;;  Джерело  - Pechenigy-Switch.Prj          Проект  - Pechenigy
;;  Вихідний файл - Pechenigy-Bads/Pechenigy-BAD1.pat
;;################################################################

  DefinePointCode BAD1,  1561      ;; Zon:1561
  DefinePointCode Pechenigy,  7040      ;; Nat:7040
  RedirectOksRange Pechenigy, Pechenigy +15
  ConnectOksPeer Pechenigy,,<A1,A2>,<A1G,A2G>
  GroupOksIkm  A1 ,H        ;;  F5
  GroupOksIkm  A2 ,H        ;;  E6
  SetLinkModes A1G,-T1L        ;  F5G
  SetLinkModes A2G,-T1L        ;  E6G
  ForwardRule A,"610",DrTownOnly,-, Ab610,5,0
  ForwardRule A,"611",DrTownOnly,-, Ab611,5,0
  ForwardRule A,"6120",DrTownOnly,-, Ab612,5,0
  ForwardRule A,"6121",DrTownOnly,-, Ab612,5,0
  ForwardRule A,"6122",DrTownOnly,-, Ab612,5,0
  ForwardRule A,"6123",DrTownOnly,-, Ab612,5,0
  ForwardRule A,"612x",,#,Pechenigy,-1,0
  ForwardRule A,"61x",,#,Pechenigy,-1,0
  ForwardRule A,"6x",,#,Pechenigy,-1,0
  ForwardRule A,"x",,#,Pechenigy,-1,0
  MakeForwardTables <A>
  DirectionStrt Pechenigy,0
  InternalTrunkSs7 <A1,A2>,<>,Any,Pechenigy
  DirectionEnds Pechenigy
  TrunkExtraPar Pechenigy,"380-5765xxxxx-",<046h,0ebh,0b6h,00dh,022h,053h>
;;################################################################
;;Input from - Pechenigy-Switch.Prj          Project - Pechenigy
;;Created by - BuildSwitch /v2.I2/           [2013-09-26 16:19:19]
;;################################################################

При формуванні шаблонів опису підключення по типовій схемі зберігається схема нумерації потоків, характерна для БАДів: A1, A2, A3 тощо. Для кожного вузла програма BuildSwitch аналізує порядок визначення потоків (в прикладі <F5,E6>) та послідовно “підключає” до стандартної послідовності A1, A2, A3.

При формуванні правил аналізу номера для кожного вузла вважається, що він має тільки один напрямок для виходу нагору до комутатора - в типовій схемі вважається, що назва такого напрямку назві комутатора - в прикладі Pechenigy. Для забезпечення внутрішньої ємності створюються абонентські сотні з типовими назвами AbXXX; де XXX - фрагмент правила виходу в таку сотню. Для напрямків спецслужб використовуються типові назви SSxxx.

Сформований файл шаблону можна відразу використовувати, наприклад, за допомогою директиви include вставити в файл загального опису вузла BAD1.

Формування шаблонів з макро-підстановками

Використовується для підлеглих вузлів з нестандартною внутрішньою структурою:

  • - використання декількох незалежних тоналсетів або лінк-сетів;
  • - підключення потоків з іншими, крім A1 та A2, назвами;
  • - потрібен додатковий аналіз номера в межах підлеглого вузла;
  • - вихід на сотні з нетиповими назвами;
  • - використання транзитних каналів в напрямку на вузол;

Приклад опису підключення такого вузла до комутатора:

;;################################################################
Model:    PeerList = Bad2   ;; повна деталізація
;;=== === === === === === === === === === === === === === === === 
     AlloctOksHway C,5,C
     AlloctOksHway D,6,C
     AlloctOksHway E,5,C
   ConnectOksPeer  Bad2, +22 /SecC, <C5>, <C5G> ;; три незалежних лінки
   ConnectOksPeer  Bad2,     /SecD, <D6>, <D6G>
   ConnectOksPeer  Bad2,     /SecE, <E5>, <E5G>
   	 SetLinkModes  <C5G,D6G,E5G>, -N-
         DirectionStrt    Bad2, 0
       InternalTrunkSs7 <C5,D6,E5>, < >
         DirectionEnds    Bad2
   ForwardRule  A, "(210-225)xx",  DrTownOnly, #, Bad2,  5,0 ;; 1600
;;################################################################

В цьому прикладі директивою Model:PeerList замовлено формування розгорнутих інтерфейсних шаблонів; в результаті для вузла Bad2 буде сформовано такий файл:

;;################################################################
;;  Створено - BuildSwitch /v2.I2/           [2013-09-27 16:34:35]
;;  Джерело  - Verhovina-Switch.Prj          Проект  - Verhovina
;;  Вихідний файл - Verhovina-Ptrn/Verhovina-Bad2.pat
;;################################################################

  DefinePointCode Bad2,  38      ;; Zon:+22
  DefinePointCode SecC,  512      ;; Zon:2,0,0
  DefinePointCode SecD,  516      ;; Zon:2,1,0
  DefinePointCode SecE,  520      ;; Zon:2,2,0
  DefinePointCode Verhovina,  2320      ;; Nat:9-4-0
    DefinePointCode Zon16, 16 ;
  RedirectOksRange Verhovina, Zon16 +15
  ConnectOksPeer Verhovina,SecC,<.Verhovina@ImagePcm@C5.>,<.Verhovina@ImagePcm@C5.G>
  ConnectOksPeer Verhovina,SecD,<.Verhovina@ImagePcm@D6.>,<.Verhovina@ImagePcm@D6.G>
  ConnectOksPeer Verhovina,SecE,<.Verhovina@ImagePcm@E5.>,<.Verhovina@ImagePcm@E5.G>
  GroupOksIkm  .Verhovina@ImagePcm@C5. ,C        ;;  C5
  GroupOksIkm  .Verhovina@ImagePcm@D6. ,C        ;;  D6
  GroupOksIkm  .Verhovina@ImagePcm@E5. ,C        ;;  E5
  SetLinkModes .Verhovina@ImagePcm@C5.G,-N-        ;  C5G
  SetLinkModes .Verhovina@ImagePcm@D6.G,-N-        ;  D6G
  SetLinkModes .Verhovina@ImagePcm@E5.G,-N-        ;  E5G
  ForwardRule A,"21",DrTownOnly,  .Verhovina@Numr@A@21.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"220",DrTownOnly,  .Verhovina@Numr@A@220.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"221",DrTownOnly,  .Verhovina@Numr@A@221.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"222",DrTownOnly,  .Verhovina@Numr@A@222.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"223",DrTownOnly,  .Verhovina@Numr@A@223.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"224",DrTownOnly,  .Verhovina@Numr@A@224.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"225",DrTownOnly,  .Verhovina@Numr@A@225.  ;;  >:>: #,Bad2,5,0
  ForwardRule A,"22x",,#,Verhovina,-1,0
  ForwardRule A,"2x",,#,Verhovina,-1,0
  ForwardRule A,"x",,#,Verhovina,-1,0
  MakeForwardTables <A>
  DirectionStrt Verhovina,0
  InternalTrunkSs7 <.Verhovina@ImagePcm@C5.,.Verhovina@ImagePcm@D6.,.Verhovina@ImagePcm@E5.>,<>,Any,Verhovina
  DirectionEnds Verhovina
  TrunkExtraPar Verhovina,"380-3432xxxxx-",<044h,07ch,07dh,008h,0d4h,006h>
;;################################################################
;;Input from - Verhovina-Switch.Prj          Project - Verhovina
;;Created by - BuildSwitch /v2.I2/           [2013-09-27 16:34:35]
;;################################################################

В цьому шаблоні, сформованому програмою BuildSwitch для підлеглого вузла Bad2, в місцях де потрібне звернення до невідомих ресурсів лінійної частини, вказуються текстові макро-підстановки, а саме:

  • .Verhovina@ImagePcm@C5. - потік на вузлі, який відповідає потоку C5 комутатора Verhovina;
  • .Verhovina@Numr@A@225. - спосіб переходу, який відповідає точці A з номером 225 аналізу номера комутатора Verhovina;

При використанні цього шаблону в проекті Bad2, потрібно попередньо визначити ці макро-підстановки. Це можна зробити таким чином:

;;################################################################
;;      використовуються шаблони створені на попередньому кроці
;;==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--
;; повинно бути визначено до використання шаблонів !!!!
  macrotext Verhovina@ImagePcm@C5 = .A1.    ;; заміна потоку 
  macrotext Verhovina@ImagePcm@D6 = .A2.    ;; заміна потоку 
  macrotext Verhovina@ImagePcm@E5 = .A3.    ;; заміна потоку 
;; нумерація   
  macrotext Verhovina@Numr@A@21   = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@220  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@221  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@222  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@223  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@224  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
  macrotext Verhovina@Numr@A@225  = .,NN2xx.	;; на додаткову мітку для розділення по категоріям
    ForwardRule NN2xx,"{KAT,43h}", DrTownOnly, =,ATCKTown, 5, 0  ;; для міського зайняття
    ForwardRule NN2xx,"{KAT,}",    DrTownOnly, =,ATCKOver, 5, 0  ;; все інше МІЖміське
;;================================================================
include "Verhovina-Bad2.Pat"    ;; шаблони підключення до Verhovina
;;################################################################

Вставка в шаблон лінійної частини

Для “безумовної” передачі фрагментів тексту у вихідні файли шаблонів використовуються операційні дужки insertbeg/insertend; приклад визначення такого фрагменту в файлі загального опису комутатора:

;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==
;; деталі для підлеглого БАД1
insertbeg BAD1  ;; абонентська частина - вставляється в шаблон BAD1
;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
  Model:    Name = BAD1    ;; назва цього баду для маршрутів
  Model:    Type = Abn     ;; тип комутатора
;;......................................
  AlloctTract     B, ,Mtu,5,<-----> ; без каналів
  AlloctTract     <C,D,E,F, G,H,I,J, K,L,M,N, O,P,Q,R>, ,Akf ; 16 плат 
;;......................................
  MultiLine aAbn,<C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R>,<>,aon1,"61000",<0,Ft,A,Ic,AbnReg,Any,61>
;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
insertend   ;;
;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==

Весь фрагмент між дужками insertbeg/insertend без перетворень буде виведено в файл шаблонів для вузла BAD1:

  ;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
    Model:    Name = BAD1    ;; назва цього баду для маршрутів
    Model:    Type = Abn     ;; тип комутатора
  ;;......................................
    AlloctTract     B, ,Mtu,5,<-----> ; без каналів
    AlloctTract     <C,D,E,F, G,H,I,J, K,L,M,N, O,P,Q,R>, ,Akf ; 16 плат 
  ;;......................................
    MultiLine aAbn,<C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R>,<>,aon1,"61000",<0,Ft,A,Ic,AbnReg,Any,61>
  ;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  

Використання include у вставках

В вставках insertbeg/insertend можна вказувати директиви include - ці директиви (без розкриття тексту файлу!) будуть передані у відповідні файли шаблонів. Приклад опису в файлі комутатора:

;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==
;; деталі для підлеглого БАД5
insertbeg Bad5  ;; абонентська частина - вставляється в шаблони
;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
   AlloctTract     B, ,Mtu,5,<--2-4> ; два канали нагору
   AlloctTract     <C,D,E,F, G,H,I,J, K,L,M,N, O,P,Q>, ,Akf ; 15 плат 
;;......................................
;;!!!!!! канали в окремому старому файлі
include "Desna032-Bad5-LN.inc"  ;; майже точна копія 
;;......................................
;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
insertend   ;;
;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==

Цей фрагмент один в один попаде у вихідний файл шаблону для вузла Bad5:

;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  
AlloctTract     B, ,Mtu,5,<--2-4> ; два канали нагору
AlloctTract     <C,D,E,F, G,H,I,J, K,L,M,N, O,P,Q>, ,Akf ; 15 плат 
;;......................................
;;!!!!!! канали в окремому старому файлі
include "Desna032-Bad5-LN.inc"  ;; майже точна копія 
;;......................................
;;==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  ==  

і тільки при обробці самого шаблону файл, що вказаний в директиві include розкриється.

Вставка фрагментів у декілька шаблонів

В списку директиви insertbeg можна вказувати назви декількох вузлів:

;;################################################################
;; СПІЛЬНЕ для всіх підлеглих БАДів - вставляється в усі шаблони
insertbeg <BAD1,BAD2,BAD3,BAD4,BAD5,Arte>  ;; вставляється в шаблон
;===================================================
        Cross403e A   ; в усіх однаковий кросс
;;......................................
;; режими роботи каналів
Ft     = FnModTonal 
Ic     = DrInternal+DrTownOnly+DrOverTown+DrOverSeas
AbnReg = RgIshodTlk+RgWhodlTlk
;;......................................
;; параметри для абонентських тисяч
   TrunkExtraPar    61,     ".Znu.-61xxx"  , < .Geo. >;
   TrunkExtraPar    62,     ".Znu.-62xxx"  , < .Geo. >;
   TrunkExtraPar    65,     ".Znu.-65xxx"  , < .Geo. >;
;;......................................
   ForwardRule A,"0x",, #, Pechenigy, -1,0  ;;Для гарантованого формування гудка після 0
;; для таблиць аналізу номера
BackwardRule   Any, "x" , +	;;
  MakeBackwardTables
;===================================================
insertend   ;;
;;##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==##==

такий фрагмент (між дужками insertbeg/insertend) буде виведено в файли шаблонів відповідних вузлів (BAD1, BAD2, BAD3, BAD4, BAD5, Arte):

;===================================================
Cross403e A   ; в усіх однаковий кросс
;;......................................
;; режими роботи каналів
Ft     = FnModTonal 
Ic     = DrInternal+DrTownOnly+DrOverTown+DrOverSeas
AbnReg = RgIshodTlk + RgWhodlTlk
;;......................................
;; параметри для абонентських тисяч
TrunkExtraPar    61,     "380-5765-61xxx"  , <  49.866151, 36.939626  >;
TrunkExtraPar    62,     "380-5765-62xxx"  , <  49.866151, 36.939626  >;
TrunkExtraPar    65,     "380-5765-65xxx"  , <  49.866151, 36.939626  >;
;;......................................
ForwardRule A,"0x",, #, Pechenigy, -1,0  ;;Для гарантованого формування гудка після 0
;; для таблиць аналізу номера
BackwardRule   Any, "x" , +	;;
MakeBackwardTables
;===================================================

Таким чином, один фрагмент текстових визначень гарантовано попаде в декілька файлів опису незалежних вузлів. Зверніть увагу, всі тестові підстановки (в прикладі .Znu. та .Geo.) визначені в описі комутатора директивами macrotext, розкриваються під час формування файлів шаблонів.

Блокування видачі в файли шаблонів

Для блокування видачі окремих фрагментів в файл шаблонів використовується директива supressfrag, приклад її використання:

  supressfrag PtTranzit, VNS1   ;; не формувати транзитні канали в шаблонах для VNS1
  • PtTranzit - ключ блокування, визначає видачу якого саме фрагменту треба блокувати при формування файлу шаблонів; список ключів треба вказувати в кутових дужках;
  • VNS1 - назва вузла (або список вузлів у кутових дужках) для яких треба блокувати видачу цього фрагменту;

Примітка: Програма BuildSwitch під-час формування файлів шаблонів виводить символи ';~~' (початок коментарю) на початку рядків блокованих фрагментів, наприклад, для фрагменту транзитних каналів:

;~~ TranzitPair .Verhovina@ImagePcm@C2.U,0,.Verhovina@Tranzit@C2U.  ;;  F2P <> C2U
;~~ TranzitPair .Verhovina@ImagePcm@C2.V,0,.Verhovina@Tranzit@C2V.  ;;  F2T <> C2V

Ключ блокування може приймати такі значення:

  • PtPcodes - “коментувати” фрагмент поінт-кодів;
  • PtPeers - “коментувати” описи підключення зовнішніх вузлів;
  • PtPcm - “коментувати” опис потоків;
  • PtLinks - “коментувати” опис лінків;
  • PtForward - “коментувати” таблицю аналізу номера;
  • PtChnKeys - “коментувати” опис ключів режимів роботи каналів;
  • PtChannel - “коментувати” опис з'єднувальних каналів;
  • PtTranzit - “коментувати” опис транзитних каналів;

Користувач може використовувати таке блокування, як-що вважає за потрібне самостійно описувати таки функціональні фрагменти в описах підлеглих вузлів.

es11soft/groupconfig/buildswitch-patternfile.txt · В останнє змінено: 2015/04/17 15:23 (зовнішнє редагування)