ЄС-11

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

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

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

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


extrasoft:analyser:model

Модель багатопроцесорного комутатора

Дворівнева модель

Параметри моделі комутатора залежать від структури побудови комутатора та структури міжпроцесорних зв'язків в самому комутаторі. Комутатор, який побудований на 'множині' процесорів ЄС-11, складається з процесорів двох рівнів - верхнього та нижнього. Верхній рівень - рівень безпосередньої комутації; нижній рівень - рівень взаємодії з обладнанням користувача або рівень IKM-30 - може бути реалізований двома способами: перший - режим транзиту та - другий - режим конвертації протоколів. Режим транзиту передбачає по-канальну доставку на верхній рівень тональних сигналів; сигнали синхронізації та взаємодії потерпають незначну обробку, яка не змінює їхню суть, та також доставляються на верхній рівень. В режимі транзиту вважається, що 'всі сигнали' поступають на рівень безпосередньої комутації - рівень 8mbs 'верхніх' процесорів. Модель комутатора зазначає які процесори є 'верхні', а які 'нижні' - але тільки, якщо вони працюють в режимі конвертації протоколів; режим конвертації передбачає перетворення всіх 'зовнішніх' протоколів взаємодії в єдиний внутрішній - це Ss7. Модель не описує роботу 'нижніх' процесорів в режимі транзиту - ці процесори описуються окремо та незалежно. Отже, комутатор підключається до 'зовнішнього світу' за допомогою каналів IKM-30 'нижніх' процесорів та каналів 8mbs 'верхніх' процесорів - всі ці канали повинні бути зазначені в описі зовнішніх напрямків та каналів комутатора.

Cхема з'єднань процесорів в дворівневий комутатор така:

  • кожен процесор нижнього рівня з'єднаний з кожним процесором верхнього рівня;
  • процесори верхнього рівня можуть мати між собою необов'язкові з'єднання;
  • кожне міжпроцесорне з'єднання має однотипну структуру:
    • канал синхронізації;
    • одноканальна ланка сигналізації;
    • множина тональних каналів, які працюють в протоколі Ss7;
  • для взаємодії зовнішніх ланок сигналізації між собою використовуються ланки внутрішніх з'єднань;

Структура та характер міжпроцесорних з'єднань визначаються при описі каналів міжпроцесорного зв'язку моделі. На верхньому рівні - рівні комутації - використовуються процесори Ht83v, Ht84r, Ht85f. На нижньому рівні - рівні взаємодії з обладнанням користувача - використовуються процесори Ikm6, Pc75x, Pc76q, Pc78j;

Обробка запитів в моделі

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

При обробці вхідного запиту задача процесорів нижнього рівня зводиться до трансформації та передачі запиту нагору:

  1. прийняти запит будь-якого каналу нижнього рівня IKM-30 в будь-якому протоколі;
  2. перетворити цей запит в протокол Ss7;
  3. без детального аналізу номера відправити цей запит на перший вільний канал верхнього рівня 8mbs;
  4. під час підтримки з'єднання проводити конвертування протоколів з нижнього рівня на верхній та навпаки;

Під час обробки запиту процесор 'верхнього' рівня вирішує такі задачі:

  1. прийняти запит будь-якого каналу рівня 8mbs у 'внутрішньому' Ss7 протоколі або у 'зовнішньому' транзитному протоколі;
  2. після детального аналізу номера відправити цей запит в 'внутрішньому' Ss7 на перший вільний канал відповідного процесора нижнього рівня або у 'зовнішньому' транзитному протоколі на 'зовнішній' канал транзитного напрямку;
  3. під час з'єднання проводити обмін повідомлень між каналами;
  4. проводити реєстрацію та моніторинг розмов;

Задачі процесорів нижнього рівня для трансформації запитів 'згори' 'вниз':

  1. прийняти запит будь-якого каналу верхнього рівня 8mbs у внутрішньому протоколі Ss7;
  2. провести остаточний аналіз номера та відправити запит у відповідний канал 'нижнього' рівня;
  3. перетворити цей запит у відповідний 'зовнішній' протокол;
  4. під час підтримки з'єднання проводити конвертування протоколів з верхнього рівня на нижній та навпаки;

Модель багатопроцесорного комутатора

Опис моделі комутатора

Основна задача програми аналізу - розділити файл проекту - один або декілька вхідних текстових файлів опису каналів багатопроцесорного комутатора - на декілька окремих файлів опису каналів та аналізу нумерації для кожного процесора комутатора. Опис каналів та опис аналізу нумерації проводиться вже знайомими користувачу директивами, які використовуються для побудови файлів “xxxxx-ln.inc” та “xxxxx-nr.inc”. Поділ на окремі файли каналів та нумерації проводиться згідно директивам опису моделі багатопроцесорного комутатора. Вихідні файли каналів та нумерації потребують мінімальної ручної доробки та можуть відразу подаватись на вхід програм генерації таблиць станцій кожного процесора окремо.

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

Процес обробки

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

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

Примітка: Проект може складатись з декількох вхідних файлів - всі вони об'єднуються в один вхідний потік даних за допомогою директив include у вхідних файлах.

Детально директиви опису моделі будуть розглянуті нижче.

Опис канальної моделі комутатора

Опис канальної моделі комутатора призначений для визначення структури комутатора, в першу чергу, тональних та службових каналів, задіяних в комутаторі. Внутрішні канали описуються так:

        IntrnChanelsModel  HugA@L,     L0A, Oks< - , 0 , - >
        IntrnChanelsModel  HugA@O,     O0A, Oks< - , 0 , -123456789ABCDEFGHIJKLMNOPQRSTUV >
        IntrnChanelsModel  HugA@O,     O0E, Oks< - , - , 0123456789ABCDEFGHIJKLMNOPQRSTUV >

Директива IntrnChanelsModel визначає, що канали L0A0, O0A0, в цьому проекті будуть використовуватись, як службові (Lnk).

Опис зовнішніх каналів:

        ExtrnChanelsModel  Ment@O,     O1,  Pri< 0 , G , -123456789ABCDEF-HIJKLMNOPQRSTUV >  ;; /H--/
        ExtrnChanelsModel  Fire@O,     O2,  Pri< 0 , G , -123456789ABCDEF-HIJKLMNOPQRSTUV >  ;; /H--/
        ExtrnChanelsModel  BADX@O,     O3,  Oks< 0 , 1 , --23456789ABCDEFGHIJKLMNOPQRSTUV >

Директива ExtrnChanelsModel визначає, що канали O10, O20, O30, O31, O1G, O2G, в цьому проекті будуть використовуватись, як службові (Snc, Lnk, Pri) для ланок сигналізації ОКС7; канали Tnl - визначені як тональні. Спосіб використання службового каналу:

  • Snc - канал синхронізації;
  • Cas - канал задіяно для прийому/передачі Cas-сигналізації;
  • Pri - канал задіяно для прийому/передачі Pri-сигналізації Dss1;
  • Lnk - канал задіяно для ланки сигналізації ОКС7;

Групові ресурси, які повинні передати свої параметри транзитно нагору, описуються також за допомогою директиви ExtrnChanelsModel:

  TrunkLine  x1Dn,<H6>,<-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonMaleh ,CAS> <ExtraNumer **,416,Nsp>
    ExtrnChanelsModel  Maleh@H,     H6,  CAS< 0, G, -123456789ABCDEF-HIJKLMNOPQRSTUV >, Norm16<A5F, B5F>
  TrunkLine  ySs7,<D4>,   <-123456789ABCDEFGHIJKLMNOPQRSTUV>,1,00,<0, 0, Far,It, 0,AonUtel,SS7>
        ExtrnChanels  PGW2@D,     D4,  Snc,<0>, Tnl,<-123456789ABCDEFGHIJKLMNOPQRSTUV>  
        TnlHighModel  PGW2@D,     D4,  OKSStnd32, B1C  
    ExtrnChanelsModel  PGW2@D,     D4,  OKS< 0, -, -123456789ABCDEFGHIJKLMNOPQRSTUV >, Stnd32<B1C>

Взагалі, директиви опису моделі окреслюють жорсткі рамки канальної моделі комутатора - користувач, фіксуючи внутрішню структуру комутатора, має створити ці 'рамки' на початку проекта (бажано в окремому файлі). Наявність канальної моделі дозволяє легко відстежити небажані відхилення від проекту - типу посадки тональних каналів на синхронізацію. Хоча проект може існувати і без канальної моделі - вона впливає тільки на формування та індикацію таблиці каналів, та не впливає на вивід у файли каналів. Файл канальної моделі комутатора формується вручну, але передбачається його створення іншою програмою - аналізу групових ресурсів комутатора.

Опис внутрішніх напрямків та каналів міжпроцесорного зв'язку

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

Перед описом внутрішніх каналів треба описати спільне всіх цих каналів правило перевірки АВН та налаштування транк-груп:

  BackwardRule AnyAON,"x",+	;; Для всіх внутрішніх каналів моделі
  BegExtra DpIntr	;; Для локальної моделі 
      Reload TPf,'380320000'	;; Україна, Львівська область
      Reload NPf,'0'
      Reload IPf,'00'
      Reload SPf,'1'
  EndExtra DpIntr	;;

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

      DirectionStrt   DrHoyC_A
  ForwardModel <A,HiwA>,<Uper,AnSect ,DrHoyC_A,C>
    TrunkLine ySs7,<A0A,A0C,A0E>,<-123456789ABCDEFGHIJKLMNOPQRSTUV>, 1,00,<ChInternal,BmModMajor,AnSect ,It, 0,AnyAON,DpIntr>
      DirectionEnds   DrHoyC_A

Тут описаний напрямок DrHoyC_A - його символічне ім'я пояснюється так - напрямок (Dr) для з'єднання з процесором нижнього рівня C (HoyC_) та розміщений він на процесорі A. В напрямок входять 93 тональні канали типу ySs7 на відповідних групових ресурсах; всі канали використовують спільну точку аналізу номеру AnSect. Канали також використовують правило перевірки АВН - AnyAON та параметри транкгрупи - DpIntr. Канали синхронізації та сигналізації цього напрямку повинні знаходитись в каналах A0A0, A0C0, A0E0 - зверніть на це увагу при побудові файлів групових ресурсів цього процесора. Директива ForwardModel описує метод перебудови загальної таблиці аналізу номера конкретно для процесора верхнього рівня A.

Приклад опису внутрішніх напрямків зі сторони нижнього процесора:

     DirectionStrt   DrUper_O
  ForwardModel <O,HoyO>,<Down, A, DrUper_O >
    TrunkLine ySs7,<O0K,O0E,O0I,O0C,O0G,O0A>,<VUTSRQPONMLKJIHGFEDCBA987654321->, 1,00,<ChInternal, 0,A,It, 0,AnyAON,DpIntr>
     DirectionEnds   DrUper_O

Тут описаний напрямок DrUper_O - його символічне ім'я пояснюється так - напрямок (Dr) для з'єднання з процесорами верхнього рівня (Uper_) та розміщений він на процесорі O. В напрямок входять 186 тональних каналів типу ySs7 на відповідних групових ресурсах; порядок розміщення каналів в напрямку поліпшує рівномірність завантаження вищестоящих процесорів; всі канали використовують спільну точку аналізу номеру A. Канали також використовують правило перевірки АВН - AnyAON та параметри транкгрупи - DpIntr. Директива ForwardModel описують метод перебудови загальної таблиці аналізу номера конкретно для процесора нижнього рівня O.

Примітка: Назви внутрішніх напрямків та точок аналізу номера для внутрішніх каналів не повинні використовуватись для опису зовнішніх каналів. Спосіб побудови цих імен (DrHoyC_A, DrUper_O, AnSect, AnyAON та таке інше) треба використовувати і для опису інших внутрішніх каналів моделі комутатора на інших секціях.

Опис налаштувань транкгруп та режимів роботи каналів комутатора

Ці описи повинні передувати описам каналів і, в принципі, вже відомі уважному користувачу:

;********************************************************
  BegExtra SS7	;; налаштування для транкгрупи з точністю до тисячі
      Reload TPf,'380320000'	;;Україна, Львiв
      Reload NPf,'0'
      Reload IPf,'00'
      Reload SPf,'1'
  EndExtra SS7	;;
  BegExtra CAS	;; для локальної модел?
      Reload TPf,'380320000'	;;Україна, Львiв
      Reload NPf,'0'
      Reload IPf,'00'
      Reload SPf,'1'
  EndExtra CAS	;;

Оисати транкгрупу можна також за допомогою директиви TrunkNumer :

TrunkNumer Near, '380-3434-xxxxx', <46.56789,24.78901>	
TrunkNumer Sect, '380-3434-xxxxx'	

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

      BegExtra Near  ;; TrunkNumer Near, '380-3434-xxxxx', <46.56789,24.78901>
         Reload INL, 12
         Reload NNL, 9
         Reload LNL, 5
           Reload TPf,'3803434000'
           Reload NPf,'0'
           Reload IPf,'00'
           Reload SPf,'1'
          Reload GEO,<042h,03Ah,0DAh,011h,0A0h,0B4h>
      EndExtra Near
      
      BegExtra Sect  ;; TrunkNumer Sect, '380-3434-xxxxx'	
        Reload INL, 12
        Reload NNL, 9
        Reload LNL, 5
          Reload TPf,'3803434000'
          Reload NPf,'0'
          Reload IPf,'00'
          Reload SPf,'1'
      EndExtra Sect
;***************************************************
;	з перевіркою преамбули
;---------------------------------------------------
Nsp = IsUsePream	; на передачі перевіряє та відкидає преамбулу
Nvp = WhUsePream      ; на вході вхідні доставляють преамбулу
;***************************************************
;	для ліній з'еднувальних 
iWo = IkModOvert	; протокол міжміста
iDc = IkModDecad	; декадний прийом/передача
iAo = WhModAsAon	; для вхідної запитувати АВН
vSn = VsModAonSn	;xVsk!! - додатковий імпульс зняття запиту АВН
vZs = VsModZn100	;xVsk!! - зайняття ТУДИ тільки 100ms
;***************************************************

Опис зовнішніх напрямків та каналів комутатора

При описі зовнішніх напрямків користувач відразу (в одному місці файла) описує як канали, так і номерну інформацію дотичну до цього напрямку. Відразу приклад опису напрямку:

      DirectionStrt   Fire
  ForwardRule A, 6770  , DrTownOnly, # ,        Fire, 6, 0	;; як м?ський
  ForwardRule A,    101, DrTownOnly, # ,        Fire, 3, 0	;; як спецслужби
  BackwardRule AonFire,3803226774xx	;; АОН в Межах України !!!
    TrunkLine  yDss,<O2>,<-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonFire,SS7>
      DirectionEnds   Fire

В прикладі описаний напрямок Fire - він обмежений директивами DirectionStrt та DirectionEnds. Спосіб виходу в цей напрямок - фрагмент таблиці аналізу номеру - описаний поряд директивами ForwardRule. Спосіб перевірки АВН від каналів цього напрямку - директива BackwardRule - там само. Далі, директивою TrunkLine безпосередньо описані канали цього напрямку, які розміщені на зовнішньому IKM-30 в позиції O2. Канали використовують посилання в точку A таблиці аналізу номерів; посилання в точку AonFire таблиці аналізу АВН - правило AonFire описано там само; посилання в таблицю параметрів транкгруп SS7 - сама таблиця повинна бути описана десь попереду.

Наступний приклад:

      DirectionStrt   CasAI1
  ForwardRule A, 416xxx, DrTownOnly, # ,        CasAI1, 6, 0
  BackwardRule AonCasAI1,380322416xxx	;; АВН в Межах України !!! 60 - область
    TrunkLine  x1Dn,<A2C,B2C>,<-123456789ABCDEF>,1,00,<0, 0, A,It, 0,AonCasAI1,CAS> <ExtraNumer **,416,Nsp>
      DirectionEnds   CasAI1

Описані канали напрямку CasAI1, які розміщені на двох різних ресурсах двох різних процесорів - A та B. Зверніть увагу - тут, як і в попередньому прикладі, опис напрямку CasAI1 іде перед його використання в директиві ForwardRule; правило AonCasAI1 описано перед його використанням в директиві TrunkLine; точка аналізу номерів A, що використовується в директивах ForwardRule та TrunkLine повинна бути описана десь попереду - не в цих фрагментах.

Ще приклад опису напрямку:

;     вихід на сусідній НИЖЧЕСТОЯЩИЙ вузол на 5 тисяч
      DirectionStrt   UzNear
  ForwardRule A, 440xxx, DrTownOnly, # ,        UzNear, 6, 0
  ForwardRule A, 441xxx, DrTownOnly, # ,        UzNear, 6, 0
  ForwardRule A, 442xxx, DrTownOnly, # ,        UzNear, 6, 0
  ForwardRule A, 443xxx, DrTownOnly, # ,        UzNear, 6, 0
  ForwardRule A, 444xxx, DrTownOnly, # ,        UzNear, 6, 0
  BackwardRule AonUzNear,380322440xxx
  BackwardRule AonUzNear,380322441xxx
  BackwardRule AonUzNear,380322442xxx
  BackwardRule AonUzNear,380322443xxx
  BackwardRule AonUzNear,380322444xxx
    TrunkLine  ySs7,<J3,K3,J4,K4,J5,K5>,<-123456789ABCDEFGHIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonUzNear,SS7>
    TrunkLine  ySs7,<J6,K6>,            <-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonUzNear,SS7>
      DirectionEnds   UzNear

Канали цього напрямку описані в одному місці, хоча розміщені на різних процесорах. Ще приклад опису виходу на декілька напрямків:

;---------------------------------------------------
  BackwardRule AonAllBAD,380322600xxx	;; АОН для вс?х BAD
  BackwardRule AonAllBAD,380322601xxx	;; АОН для вс?х BAD
;---------------------------------------------------
  ForwardRule A, 6000  , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 6001  , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 60020 , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 60021 , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 60022 , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 60023 , DrTownOnly, # ,        BAD1, 6, 0	;;
  ForwardRule A, 60024 , DrTownOnly, # ,        BAD1, 6, 0	;;
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
  ForwardRule A, 60025 , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 60026 , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 60027 , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 60028 , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 60029 , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 6003  , DrTownOnly, # ,        BAD2, 6, 0	;;
  ForwardRule A, 6004  , DrTownOnly, # ,        BAD2, 6, 0	;;
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
  ForwardRule A, 6013  , DrTownOnly, # ,        BAD6, 6, 0	;; !!!!!!!!!!!!!!!!!!!!
  ForwardRule A, 6014  , DrTownOnly, # ,        BAD6, 6, 0	;; !!!!!!!!!!!!!!!!!!!!
  ForwardRule A, 60125 , DrTownOnly, # ,        BAD6, 6, 0	;;
  ForwardRule A, 60126 , DrTownOnly, # ,        BAD6, 6, 0	;;
  ForwardRule A, 60127 , DrTownOnly, # ,        BAD6, 6, 0	;;
  ForwardRule A, 60128 , DrTownOnly, # ,        BAD6, 6, 0	;;
  ForwardRule A, 60129 , DrTownOnly, # ,        BAD6, 6, 0	;;
;---------------------------------------------------
      DirectionStrt   BAD1
    TrunkLine  ySs7,<G1,H1>,<-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonAllBAD,SS7>
      DirectionEnds   BAD1
;---------------------------------------------------
      DirectionStrt   BAD2
    TrunkLine  ySs7,<G2,H2>,<-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonAllBAD,SS7>
      DirectionEnds   BAD2
;---------------------------------------------------
-  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  
;---------------------------------------------------
      DirectionStrt   BAD6
    TrunkLine  ySs7,<K2,L2>,<-123456789ABCDEF-HIJKLMNOPQRSTUV>,1,00,<0, 0, A,It, 0,AonAllBAD,SS7>
      DirectionEnds   BAD6
;---------------------------------------------------

В цьому прикладі номерна інформація описана окремо від каналів, але всеодно перед описом каналів, що її використовують. Зверніть увагу - фрагменти таблиці аналізу номерів (директиви ForwardRule) розміщені в різних частинах вхідного файлу в будь-якому порядку.

Додатковий опис номерної та довідкової інформації проекту

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

      MakeForwardTables  <A,Far,  SORM>
      MakeBackwardTables

Далі треба вказати описати таблиці аналізу номера та ліній - раніше вони завершували файл нумерації:

  ;###################################################
  ;;	Загальний дескриптор проекту		11:41 30.04.2009
  ;###################################################
  ;               версія та опис нумерації
  ;---------------------------------------------------
  StationNmr:
  %?=A   db      '{HugA}',' ’Секція - A -',0
  %?=B   db      '{HugB}',' ’Секція - B -',0
         db	   'Малехів, комутатор  ',0
  ;-------------------------------------------
  StationLin:
         db      'Лінії різного типу '
         db      'ТШГИ 594.021 Версія L9.1b від ',??date,' ',??time,0
  ;***************************************************

Далі, в проекті треба вказати пароль модему, ключ заміни конфігурації та, при потребі, адреси в IP-мережі

  ;===================================================
  DefineParol	**Serg**,1	;; для всіх той самий
  ;===================================================
  %?=A TableCryptKey	<0123-4567-89AB-CDEF-FEDC-BA98-7654-3210> 
  %?=B TableCryptKey	<0123-4567-89AB-CDEF-FEDC-BA98-7654-3210> 
  %?=A DefineIPNet	<000h,008h,002h,094h,02Bh,0CCh>,<192,168,000,004>,0e800h
  %?=B DefineIPNet	<000h,008h,002h,094h,02Bh,0CDh>,<192,168,000,005>,0e800h
  ;===================================================

Зверніть увагу: деякі рядки починаються з символів %?=A та %?=B - такі послідовності символів на початку рядка визначають для якого процесора комутатора призначений залишок рядка. В приведеному вище прикладі ми бачимо:

  • всі секції комутатора мають той самий пароль технологічних операцій;
  • оперативна зміна конфігурацій можлива тільки для секцій A та B з тим самим ключем;
  • в IP-мережі доступні тільки секції A та B - з відповідними адресами.

Директиви опису моделі комутатора

Програма аналізу послідовно обробляє рядки вхідного файлу і, в залежності від зустрінутих директив (або 'першого' слова в рядку), виконує відповідні дії. Як-що програма на початку рядка зустріне невідому для неї директиву або послідовність символів, то відправить цей рядок у всі файли таблиць ліній, які буде створювати. Тобто, рядки типу:

  ;***************************************************
  ;	для ліній з'єднувальних 
  iWo = IkModOvert	; протокол міжміста
  iDc = IkModDecad	; декадний прийом/передача

'автоматично' попадуть у файли таблиць ліній для всіх секцій проекту.

Префікс 'по-секційна вставка'

  %?=A TableCryptKey	<0123-4567-89AB-CDEF-FEDC-BA98-7654-3210> 

Префикс вставки вказує конкретну секцію - отримувач додаткової інформації. 'По-секційна вставка' починається з символів %?= на початку рядка, далі повинна ідти одна літера - символ секції 'отримувача' залишків рядка; в даному випадку - у відповідний файл для секції A попадуть залишки рядка починаючи з п'ятого символу.

Директива обробки вкладеного файлу має такий вигляд:

  include "OPTS-channels.inc"

Ця директива вказує програмі про необхідність відкриття файлу “OPTS-channels.inc” та подальшій аналіз рядків з вказаного файлу; після закінченя аналізу вказаного файлу програма продовжить аналіз файлу, що був перерваний, відразу після директиви include. Якщо в имені файлу нема символів пробілу та інших сумнівних символів, то назву файлу можна не брати в обмежуючі подвійні лапки. Програма допускає до дев'яти рівнів вкладеності файлів по директиві include.

Майже всі директиви опису проекту (крім Визначення канальної моделі) мають той самий сенс та синтаксис, що і в файлах таблиці ліній (“xxxxx-Ln.inc”“) або в файлах таблиць нумерації (“xxxxx-Nr.inc””) ці директиви обробляються для побудови таблиць напрямків та сотень та передаються у всі вихідні файли без змін.

Визначення канальної моделі

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

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

Для кожного 'верхнього' процесора проекту повинно вказуватись декілька директив ForwardModel; одна директива для формування виходу 'сам на себе' :

  ForwardModel <A,HiwA>,<Uper,  ,        ,A>

В цій директиві вказано, що вона призначена для процесора A з іменем HiwA; для цього процесора треба сформувати таблицю аналізу номеру по моделі Uper для виходу на секцію A. Також, для 'верхніх' процесорів для виходу по внутрішньому резервному напрямку на сусідній процесор 'верхнього' рівня треба вказати:

  ForwardModel <A,HiwA>,<Uper,  ,DrSide_A,B>

В цій директиві вказано, що вихід з процесора A на процесор B здійснюється по напрямку DrSide_A. Крім того, для 'верхніх' процесорів для кожного внутрішнього напрямку виходу на 'нижню' секцію треба ще вказати:

  ForwardModel <B,HiwB>,<Uper,  ,DrHoyD_B,D>

В цій директиві вказано, що вона призначена для процесора B з іменем HiwB; для нього треба сформувати таблицю аналізу номеру по моделі Uper для виходу на секцію D (останній параметр) через напрямок DrHoyD_B.

Для кожного 'нижнього' процесора для виходу на спільний напрямок 'нагору' треба вказати тільки одну директиву:

  ForwardModel <D,HoyD>,<Down,  ,DrUper_D>

В цій директиві вказано, що вона призначена для процесора D з іменем HoyD; для нього треба сформувати таблицю аналізу номеру по моделі Down для виходу 'нагору' через напрямок DrUper_D.

Опис каналів

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

  LineAloc  x2Wh,A6E5, 0,09,  0, iDc+oNu, VD,It, 0,ALL,EXT
  ChanAloc  x2Tz,A6AB, 0,36,  0,  0, A7EB      ; 21 канал
  TranzitPair  <ySTz,D1V>, <0,  0>, <ySTz,D51>, <0,  0>
  TranzitPair  <ySTz,D1U>, <0,  0>, <ySTz,D52>, <0,  0>
  MultiLine aAbn,<E >,<-123456789ABCDEF>, 1,30, <0,00h, A, It,   ,ALL,CAS>
  Multiline vAnw, ZY, <-123456789A>,      1,40, <0,00h, A, It,gii,ALL,CAS>
  TrunkLine ySs7,<A01,C1,C2>,<12-4-6-8-A-C-E-G-I-K-M-O-Q-S-U>, 1,00,<wE,No8,AU,It, 0,ALL,EXT>

Вищевказані директиви мають той самий сенс та синтаксис, що і в файлах таблиці ліній (“xxxxx-Ln.inc”“) звичайних секцій; ці директиви обробляються для побудови таблиць каналів окремих секцій. Ці директиви передаються тільки в ті вихідні файли (тобто таблиці ліній для певних процесорів), для яких ці директиви призначені, наприклад остання директива TrunkLine буде розбита на дві:

  TrunkLine ySs7,<A01>,  <12-4-6-8-A-C-E-G-I-K-M-O-Q-S-U>, 1,00,<wE,No8,AU,It, 0,ALL,EXT>
  TrunkLine ySs7,<C1,C2>,<12-4-6-8-A-C-E-G-I-K-M-O-Q-S-U>, 1,00,<wE,No8,AU,It, 0,ALL,EXT>

які попадуть в файли таблиць ліній для процесорів A та C, і тільки для них.

Внутрішні канали моделі (канали міжпроцесорного зв'язку) описуються директивою TrunkLine, їх тип тільки ySs7!

    TrunkLine ySs7,<O0K,O0E,O0I,O0C,O0G,O0A>,<VUTSRQPONMLKJIHGFEDCBA987654321->, 1,00,<ChInternal, 0,A,It, 0,AnyAON,DpIntr>

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

  TripleUse  iCpr,AJ, D,E,F, 9,99, <0000h, 0>,ABN
      ExtraNumer ZYB,23061,PrUseReadr
      ExtraPoint C1,CH
  BlckLine  aApz,<A1>,<-23456789ABCDEFGHIJKLMNOPQRSTUV>, 1,00,<0,00h, A, It,  ,ALL,CAS>

Обробляються вони належним чином та передаються у відповідні вихідні файли, але в подальшому їх аналіз буде заблокований, як застарілих!

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

Опис напрямків та сотень

Канали що входять в один напрямок або одну сотню обмежуються директивами:

  DirectionStrt OPTS
  DirectionEnds OPTS

та

  HundredStart    00000 , Hnd00
  HundredEnds

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

Формування таблиць аналізу номерів

Додатково, в 'секційні' файли таблиць аналізу номерів вставляють відповідні директиви визначення напрямків та сотень; для 'нижніх' процесорів - звичайні директиви:

 DircDefin  Utel, 0
 DircDefin  OPTS, 0
 HundDefin  FAbont, 0
 DircDefin  BAD8, 0

На 'верхніх' процесорах проблема виходу на 'багато-секційні' напрямки вирішується спеціальним описом таких напрямків, з вказанням секцій де він знаходиться:

 DircShared  Utel, <DrHoyC_A, DrHoyD_A, DrHoyF_A> 
 DircShared  BilaB, <     , DrSide_A> 
 DircShared  CasHP2, <DrHoyG_A, DrHoyH_A> 
 DircShared  EnoHP2, <DrHoyI_A, DrHoyL_A> 
 HundShared  NAbont, <DrSide_A> 

Примітка Сотня може знаходитись тільки на одній секції!

Опис прямих та зворотніх номерів

Фрагменти таблиці аналізу прямих номерів описуються тільки директивою:

  ForwardRule A, "6770", DrTownOnly, # ,        Fire, 6, 0	;; як міськи 
  ForwardRule A, "101",  DrTownOnly, # ,        Fire, 3, 0	;; як спецслужби

Для опису зворотніх номерів використовуються:

  BackwardRule AonFire,"3803226774xx",+	;; Україна, Львів, сотня 26774 у Львові

Ці директиви після групування та сортування за номерами використовуються для побудови секційних таблиць аналізу номерів.

Після використання всіх директив опису прямих та зворотніх номерів необхідно вказати директиви генерації таблиць аналізу номерів:

  MakeForwardTables  <A,Far,  SORM>    ;; для прямих номерів
  MakeBackwardTables                   ;; для зворотніх

В директиві MakeForwardTables необхідно вказати які точки аналізу будуть використовуватися в проекті.

Додаткові описи

Точка входу

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

  CreateEntry	SORM, <O6,O5>, 99, А

За рахунок використання префіксів 'по-секційної вставки' кожна секція проекту може отримати свій індивідуальній набір додаткових описів які перераховані нижче:

Додаткова інформація

  StationNmr:
       db      '{HugA}',' ТЕСТ Генератора Станцій - Сектор - A -',0
  StationLin:
      db      '- Канали Ss7 тільки -'
      db      'ТШГИ 594.021 версiя L9.1b вiд ',??date,' ',??time,0

Пароль модему

  DefineModem	********,1

Ключ динамічної реконфігурації

  TableCryptKey	<0123-4567-89AB-CDEF-FEDC-BA98-7654-3210> 

Адреса в IP-мережі

  DefineIPNet	<000h,008h,002h,094h,02Bh,0CDh>,<192,168,000,005>,0e800h
extrasoft/analyser/model.txt · В останнє змінено: 2015/04/17 15:24 (зовнішнє редагування)