Файл таблиці нумерації – один зі складових файлів, необхідних для формування змінної частини ПЗ станції. Призначення файлу – опис аналізу номеру, що приймається; його подальша обробка та передача в напрямки. В даному файлі також описуються напрямки (прості та композитні).
Для комутаційних систем файл таблиці нумерації складається з таких частин:
Для систем з канало-перетворюючими функціями файл таблиці нумерації може складатися тільки з загального опису назви станції – для цих систем відсутні напрямки та не проводиться аналіз номера.
Напрямок – це група ліній, які йдуть до іншої станції. В файлі таблиці нумерації визначаються логічні назви напрямків (фізичний опис напрямків та лінії, що належать до них, здійснюється в таблиці ліній). Існують такі типи напрямків:
Порядок опису напрямків такий: прості, композитніі, категорійні. Для визначення простого напрямку використовується директива:
DircDefin drc, [mde], [drzv]
drc
– логічна назва простого напрямку, що визначається. Назва формується із латинських літер та цифр, довжина назви – будь яка, але повинна бути уникальною по перших чотирьох символах, тому що деякі програми розрізняють назви напрямків тільки по перших чотирьох символах;mde
– спосіб пошуку лінії в цьому напрямку. При відсутністі mde алгоритм пошуку вільних ліній буде захоплювати першу вільну лінію в напрямку (послідовне зайняття); але якщо mde присутній та дорівнює 0, - буде займатися перша вільна лінія після останньої занятої в данному напрямку (циклічно);drzv
– резервний простий напрямок. Вступає в дію, коли недоступні всі лінії із основного напрямку drc; назва напрямку формується аналогічно drc
.Для визначення композитного напрямку використовується директива:
DircStruc drcom, dr1, [dr2], … [dr8]
drcom
– логічна назва композитного напрямку. Довжина назви – 4 символи та формується із латинських літер та цифр;dr1
та всі наступні (до dr8
) – назви простих напрямків, із яких буде складатися композитний напрямок; число таких не більш, ніж 8. Усі прості напрямки, що використовуються в якості dr1…dr8
, повинні бути визначені відповідною директивою до визначення цього композитного напрямку.Принцип роботи такий – лінії захоплюються по черзі в кожному напрямку. Директива композитного напрямку використовується для організації напрямку, який складається з ЗЛ, які знаходяться в різних ІКМ-трактах.
Для напрямку, в якому є розподіл ліній на міські та міжміські, лінії необхідно використовувати згідно з категорією зайняття. Для міських це категорії C та D, для міжміських це категорія E та F. Для визначення напрямку, який розподіляється за категоріями обслуговування лінії (міські, міжміські), використовується директива:
DircKateg drckt, drcC, drcD,drcE, drcF
drckt
– логічна назва напрямку. Довжина назви – 4 символи, формується із латинських літер та цифр;drcC
– логічна назва простого напрямку для обслуговування запитів категорії C, який буде працювати по місцевому протоколу з’єднання.drcD
– логічна назва простого напрямку для обслуговування запитів категорії D;drcE
– логічна назва напрямку для обслуговування запитів категорії E, який буде працювати по міжміському протоколу з’єднання;drcF
– логічна назва простого напрямку для обслуговування запитів категорії F;
drcC, drcD, drcE, drcF
повинні бути визначенні як прості напрямки до використання директиви DircKateg.
Для визначеня абонентскої сотні використовується директива:
HundDefin hnd
hnd
– логічна назва абонентскої сотні – групи абонентских каналів пошук каналу в який здійснюється по останніх двох цифрах індивидуального номера канала.Приклади використання директив:
DircDefin Town, 0, Utel
Цією директивою визначається простий напрямок під назвою Town
, який має резервний напрямок Over
. З’єднувальні лінії будуть займатися циклічно (mde
має значення нуль).
DircDefin Utel
Так визначається простий напрямок під назвою Utel
без резервного напрямку та з послідовним способом зайняття каналів.
DircDefin Ats1, 0 DircDefin Ats2, 0 DircStruc Atsky, Ats1, Ats2, Town
Таким чином визначається композитний напрямок Atsky
, який використовує ресурси трьох простих напрямків Ats1
, Ats2
, Town
. Лінії будуть займатися спочатку з напрямку Ats1
, потім з Ats2
, а тоді з Town
. Потім знов з Ats1
і т.д. Напрямки Ats1
, Ats2
та Town
можна використовувати незалежно від композитного напрямку Atsky
.
DircDefin TowD, 0 DircDefin TowF, 0 DircKateg Dali, Town, TowD, Utel, TowF
Цей приклад описує категорійний напрямок Dali
, який росподіляє навантаженя на чотири прості напрямки Town
, FctD
, Utel
, FctF
в залежності від категорії виклику: міські виклики (категорії С) будуть перенаправлені в напрямок Town
, міжміські виклики (категорії E) – в напрямок Utel
. Виклики категорій D та F будуть перенаправлені в напрямки TowD
та FctF
відповідно. Якщо виклики різних категорій (наприклад C і D та E і F) необхідно напрявляти в той самий напрямок, то слід використовувати таку директиву:
DircKateg Dali, Town, Town, Utel, Utel
Приклад визначеня абонентьскої сотні:
HundDefin Abn0
Так визначається абонентська сотня з назвою Abn0
.
Це найголовніша частина файлу. В цьому розділі аналізуються номери та визначаються напрямки, куди слід віддати номер.
Таблиця починається з рядка:
NumerationDecode: ; початок таблиці
Після цієї директиви описуються точки входу в таблицю розбору номерів. Точка входу – це місце, починаючи з якого буде розбиратися (аналізуватися) номер, що приймається. Кожна точка може використовуватися як початкова для розбору прийнятого з лінії номера. Не можна надавати різним точкам входу однакові назви. Для визначення точки входу в таблицю розбору номера та аналізу однієї поточної цифри номера використовується одна або декілька директив:
NmrDigit [nam], dig, key,mde, nod, lng, [ofs]
nam
– символьний ідентифікатор точки входу в таблицю аналізу номерів – повинен бути уникальним. Якщо параметр nam
відсутній, то цей рядок – продовженя опису точки входу початої попередньою директивою NmrDigit
.dig
- цифра із номеру, що аналізується. При співпадінні поточної цифри номера та цифри із параметру dig, директива оброблюється далі, інакше поточна цифра номеру буде аналізуватись по правилам вказаних в наступній директиві NmrDigit
. Можливі два випадки:key
- параметр дозволу виходу в напрямок або сотню (при співпадінні поточної цифри номера з вказаною в параметрі dig). Тільки при наявністі відповідних параметру дозволу відбувається перехід в напрямок чи сотню, або аналіз номера блокується та перехід не здійснюється (відбувається відбій з причиною 3Eh – неспівпдіння прав доступу). При відсутності параметра дозволу виходу всім викликам дозволено переходити у відповідну сотню чи напрямок. Параметр key
приймає такі значення:DrInternal | дозволений вихід у внутрішню мережу |
DrTownOnly | дозволений вихід в міську мережу |
DrOverTown | дозволений вихід в міжміську мережу |
DrOverSeas | дозволений вихід в міжнародну мережу |
DrCharging | дозволений вихід на платні послуги |
DrNoCharge | дозволений вихід на безкоштовні послуги |
DrExtraDrс | додатковий вихід в міжміську мережу |
DrServeDrс | додатковий вихід в міжміську мережу |
mde
- параметр подальшої передачі номера. Може приймати такі значення:nod
; -
символ мінус – продовжити пошук прийнятого номера в сотні nod
; #
символ гратки – припинити аналіз номера та ДО отримання наступних цифр номера зайняти лінію в напрямку nod
: залишок цифр номера буде передаватись в напрямок по мірі надходження; =
символ дорівнює - прийняти номер до кінця (згідно правил вказаних в параметрах lng
та ofs
); лінію в напрямку nod
зайняти ПІСЛЯ прийому номера повністю.nod
– параметр назви напрямку; інтерпретується згідно значеню параметра mde
– назва напрямку або сотні або наступного вузла аналізу номера.lng
- параметр довжини номера. Означає, скільки цифр треба приймати. Всі наступні цифри приймаються без аналізу. Для напрямків (міжнародного зв’язку, наприклад), де кількість цифр може бути змінною (до 18 цифр), на місці параметру lng
вказується або змінна US
або -1
. Дана змінна повинна бути описана до її використання таким чином:US = -1
ofs
- параметр позиції цифри. Означає, скільки цифр з початку номера слід відкинути до видачі номера в напрямок. Якщо вказано 0 або не вказано нічого – номер передається далі повністю.
Параметри в квадратних дужках nam
і ofs
не є обов’язковими при використанні директиви. Їх наявність залежить від способу використання директиви. Для кожного каналу можна визначити свою унікальну точку входу в таблицю розбору номера. Але в більшості випадків всі вхідні канали які приймають та аналізують номер можуть використовувати спільну точку входу в таблицю. Обов’язково в таблиці розбору номера повинна бути присутня точка входу _ (символ підкреслення) - це фіктивний точка аналізу для зв’язку із чистими вихідними лініями (для вихідних ліній не потрібно анализувати номер, але вони повинні мати прив’язку до таблиці нумерації.
Приклад опису однієї точки входу - точки A:
NmrDigit A , 0, DrTownOnly, ,A0 NmrDigit , 1, DrTownOnly, ,A1 NmrDigit , 3, DrTownOnly, #, Town, 7, 0 NmrDigit , 4, DrTownOnly, ,A4 NmrDigit , 7, DrTownOnly, ,A7 NmrDigit , 8, DrOverTown, ,A8 NmrDigit , 9, DrTownOnly, =, Mont, 4, 1 NmrDigit , *, DrTownOnly, #, Town, 6, 0
Дана група директив аналізує одну (в даному випадку – першу) цифру номера від абонента. Якщо ця цифра 0 – здійснюється перехід для подальшого аналізу на точку входу A0; аналогично для цифри 1 на A1, для 4 на A4, для 7 на A7, для 8 на A8. Якщо ця цифра 3 – то номер довжиною сім цифр без подальшого аналізу передається в напрямок Town. Якщо ця цифра 9 – то треба прийняти чотири цифри номера, першу 9 погасити та три цифри, що залишилися передати в напрямок Mont. Якщо перша цифра номера або 2, або 5, або 6 – то треба прийняти номер довжиною шість цифр та повністю передати в напрямок Town.
Приклад опису аналіза номера з виходом на абонентскі сотні:
NmrDigit A41, 1, DrTownOnly, -, Abn1, 5,0 NmrDigit , 2, DrTownOnly, -, Abn2, 5,0 NmrDigit , 3, DrTownOnly, ,A413 NmrDigit , *, DrTownOnly, #, Town, 5,0 NmrDigit A413, 0, DrTownOnly, -, Abn3, 5,0 NmrDigit , 1, DrTownOnly, -, Abn3, 5,0 NmrDigit , 2, DrTownOnly, -, Abn3, 5,0 NmrDigit , 3, DrTownOnly, -, Abn3, 5,0 NmrDigit , 4, DrTownOnly, -, Abn3, 5,0 NmrDigit , *, DrTownOnly, #, Town, 5,0
Розглядаючи цей приклад, слід зауважити, що перші дві цифри номеру (тут це 41) вже прийняті та проаналізовані – подальший аналіз номера продовжується з точки A41 – прийом третьої цифри. Якщо третя прийнята цифра 1, – то в абонентській сотні Abn1 буде проведений пошук каналу, остані дві цифри номера якого співпадають з останіми двома цифрами прийнятого п'ятизначного номера. Якщо третя цифра 2 – то пошук буде здійснюватися в абонентський сотні Abn2. У випадку прийняття цифри 3 буде проведений додатковий аналіз номера з точки входу A413. Якщо третьою прийнятою цифрою буде будь яка цифра крім 1, 2, 3 – то цей п'ятизначний буде переданий в напрямок Town. Далі розглядаючи точку входу A413 ми побачимо що номера 4130*, 4131*, 4132*, 4133*, 4134*, передаються в сотню Abn3, та п'ятдесят номерів що залишилися – передаються в напрямок Town.
Приклад фіктивної точки аналізу:
NmrDigit _, *, 0, =, Town, 6,0
Для опису фіктивної точки необхідно використовувати директиву з точкою входу “ _ ” (знак підкреслення).
Ознакою кінця таблиці аналізу номера є наявність директиви
dw -1, -1, -1, -1, -1
Ці директиви призначені для перевірки зворотнього номера, що надходить від інших станцій. Якщо номер неправильний, то відбувається відбій з причиною 3Fh – послуга недоступна. При використанні цих директив слід пам'ятати, що перевірці піддається 9-значний зворотній номер. Якщо зустрічна станція видає меншу кількість знаків зворотнього номера, він буде розширений до дев'яти знаками номера лінії, по якій здійснено вихід. Основною директивою перевірки зворотнього номера є DigitAon
. Формат директиви такий:
DigitAon [anode], adigit, [ares], [amod]
anode
- символьний ідентифікатор точки входу в таблицю аналізу зворотнього номера – повинен бути уникальним. Якщо параметр відсутній, то цей рядок – продовженя опису точки входу початої попередньою директивою DigitAon
або AonRange
.adigit
- цифра для порівняння аналізованої цифри зворотнього номера. Якщо тут вказати знак * (зірочка) , то на цій позиції допускається будь-яка цифра. При неспівпадінні аналізованої цифри з adigit
аналіз продовжується з наступної директиви DigitAon
або AonRange
, якщо вона не має параметра adigit
, тобто не є вузлом таблиці перевірки зворотнього номера.ares
- режим подальшої роботи - або кінець аналізу або перехід на наступну цифру. При відсутності цього параметра відбувається перехід на вузол аналізу, вказаний в параметрі amod
і аналізується вже наступна цифра зворотнього номера. Якщо на місці цього параметра стоїть знак + (плюс), вважається, що зворотній номер правильний і можлива заміна індикатора screening (для сигналізацій SS7 i DSS1) при наявності параметра amod
amod
- зміна індикатора screening. Допустимі такі значення:Users | Інформація надана користувачем (не перевірено) |
UPass | Інформація надана користувачем (перевірка успішна) |
UFail | Інформація надана користувачем (перевірка неуспішна) |
Netwo | Інформація надана мережею |
Цей параметр не є обов'язковим і при його відсутності зміни індикатора screening не відбуваються. По замовчуванню всі вхідні виклики для сигналізацій, відмінних від SS7 i DSS-1 (включаючи абонентські комплекти) мають параметр screening рівний Netwo.
Для простого об'єднання кількох директив DigitAon
використовується інша директива з таким форматом:
AonRange [anode], adigs, [ares], [amod]
anode
- має таке ж призначення, як і в DigitAon
;adigs
- кілька цифр, що йдуть підряд без розгалужень в усьому діапазоні зворотніх номерів;ares
- має аналогічне призначення, як і в DigitAon
;amod
- також має призначення, як і в DigitAon
;Приклад використання цих директив для обмеження вхідних викликів з неправильними зворотніми номерами:
AonRange AN381,3548381,+,Users ;;дозволяє вхід для 3548381XX і змінює screening на Users DigitAon , 2,+,Upass ;;дозволяє вхід для 3548382XX і змінює screening на Upass DigitAon , 3,+,Ufail ;;дозволяє вхід для 3548383XX і змінює screening на Ufail DigitAon , 4,+,Netwo ;;дозволяє вхід для 3548384XX і змінює screening на Netwo DigitAon , 5,+ ;;дозволяє вхід для 3548385XX і не змінює screening DigitAon , 6,+ ;;дозволяє вхід для 3548386XX і не змінює screening
В даному розділі вказується назва об’єкта, внутрішня нумерація і яка присутня на мережі, способ взаємодії по ЗЛ, версія ФПЗ. Дана інформація зчитується програмою Agent та інщими при зверненні до станциї. Опис починається директивою:
StationNmr: ; початок опису
Далі повинні йти директиви:
db ' '
де між символами “ ' ” (знак апострофа) вноситься текстовий опис. Даних директив може бути декілька (до 4-х). В останній стрічці db після останнього апострофу повинна обов’язково стояти кома та признак кінця текстової інформації (символ нуль).
Для опису способів взаімодій по ЗЛ і т.д. потрібно використовувати директиву:
StationLin:
Далі директивою db вносять текстову інформацію про спосіб взаємодії по ЗЛ до двох директив. Повинна бути присутня строка з описом версії ФПЗ та описом дати та часу.
Директива DefineNZone вказує зоновий номер зони та логічну назву зони, які будуть використовуватись в цій станції. Наприклад:
DefineNZone 41, Gitomyr
Тут вказується зоновий номер 41 та символьна назва зонового напрямку Житомира.
Директива DefineModem
використовується для вказування паролю з'єднання через модем. Довжина паролю 8 символів.
DefineModem Gitomyr7
Приклади додатковых опісів:
;################################################### ; версія та опис нумерації ;--------------------------------------------------- StationNmr: db 'УВАТС-CM1,' db '90x,90xx,90xxx - спецслужби, 8-.. - мiжмiсто,' db '3-значний набiр номера. ' db 'Базовий номер абонентської станцiї biE70 - ' db '401-2Y-xx.K (Y=6-7, xx=00,99)',0 ;------------------------------------------- StationLin: db 'Абонентськi лiнiї та IКМ - частотний пакет. ' db 'ТШГИ 594.021 версiя L9.1b вiд ' db ??date,' ',??time,0 ;*************************************************** DefineNZone 32,Lviv DefineModem ******** ;***************************************************