Параметри моделі комутатора залежать від структури побудови комутатора та структури міжпроцесорних зв'язків в самому комутаторі. Комутатор, який побудований на 'множині' процесорів ЄС-11, складається з процесорів двох рівнів - верхнього та нижнього. Верхній рівень - рівень безпосередньої комутації; нижній рівень - рівень взаємодії з обладнанням користувача або рівень IKM-30 - може бути реалізований двома способами: перший - режим транзиту та - другий - режим конвертації протоколів. Режим транзиту передбачає по-канальну доставку на верхній рівень тональних сигналів; сигнали синхронізації та взаємодії потерпають незначну обробку, яка не змінює їхню суть, та також доставляються на верхній рівень. В режимі транзиту вважається, що 'всі сигнали' поступають на рівень безпосередньої комутації - рівень 8mbs 'верхніх' процесорів. Модель комутатора зазначає які процесори є 'верхні', а які 'нижні' - але тільки, якщо вони працюють в режимі конвертації протоколів; режим конвертації передбачає перетворення всіх 'зовнішніх' протоколів взаємодії в єдиний внутрішній - це Ss7. Модель не описує роботу 'нижніх' процесорів в режимі транзиту - ці процесори описуються окремо та незалежно. Отже, комутатор підключається до 'зовнішнього світу' за допомогою каналів IKM-30 'нижніх' процесорів та каналів 8mbs 'верхніх' процесорів - всі ці канали повинні бути зазначені в описі зовнішніх напрямків та каналів комутатора.
Cхема з'єднань процесорів в дворівневий комутатор така:
Структура та характер міжпроцесорних з'єднань визначаються при описі каналів міжпроцесорного зв'язку моделі. На верхньому рівні - рівні комутації - використовуються процесори Ht83v, Ht84r, Ht85f. На нижньому рівні - рівні взаємодії з обладнанням користувача - використовуються процесори Ikm6, Pc75x, Pc76q, Pc78j;
Поділ процесорів на 'верхні' та 'нижні' проводиться також на функціональному рівні; кожний запит з нижнього рівня почергово обробляється та проходить через три процесора - 'нижній', 'верхній', 'нижній'. Процесор нижнього рівня виконує дві окремі задачі - підтримка з'єднання 'знизу' 'вгору' та підтримка з'єднання 'згори' 'вниз'. Запит може двійчи проходити через той самий 'нижній' процесор - для однотипності обробки запиту жодної оптимізації не проводиться.
При обробці вхідного запиту задача процесорів нижнього рівня зводиться до трансформації та передачі запиту нагору:
Під час обробки запиту процесор 'верхнього' рівня вирішує такі задачі:
Задачі процесорів нижнього рівня для трансформації запитів 'згори' 'вниз':
Основна задача програми аналізу - розділити файл проекту - один або декілька вхідних текстових файлів опису каналів багатопроцесорного комутатора - на декілька окремих файлів опису каналів та аналізу нумерації для кожного процесора комутатора. Опис каналів та опис аналізу нумерації проводиться вже знайомими користувачу директивами, які використовуються для побудови файлів “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 - визначені як тональні. Спосіб використання службового каналу:
Групові ресурси, які повинні передати свої параметри транзитно нагору, описуються також за допомогою директиви 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 - такі послідовності символів на початку рядка визначають для якого процесора комутатора призначений залишок рядка. В приведеному вище прикладі ми бачимо:
Програма аналізу послідовно обробляє рядки вхідного файлу і, в залежності від зустрінутих директив (або 'першого' слова в рядку), виконує відповідні дії. Як-що програма на початку рядка зустріне невідому для неї директиву або послідовність символів, то відправить цей рядок у всі файли таблиць ліній, які буде створювати. Тобто, рядки типу:
;*************************************************** ; для ліній з'єднувальних 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