Сообщение состоит из тела и конверта. Тело сообщения может содержать один или несколько файлов различного типа. Одно сообщение может иметь несколько получателей. Конверт сообщения помещается в его конце.
Конверт
Вміст і розмірність полів конверта представлено в Табл. 1 Кожне повідомлення має ідентифікатор – поле .IN, відправника, його адреса визначена в полі .DL і декількох одержувачів – поле .RP. Крім цього кожне повідомлення може містити декілька файлів – поле .FL. Обов’язковими полями для кожного конверта є:
.IN=хххххх
.DL=C:xxx/ADMD:xxx/PRMD:xxx/ORG:xxx/OU:xxx/PN:xxx
.RP=C:xxx/ADMD:xxx/PRMD:xxx/ORG:xxx/OU:xxx/PN:xxx
Для наступних полів значеннями «за замовчуванням» є –
.TYPE – M
.ST – обробляється програмою клієнтом на розсуд розробника
.PR – N
.AR – 1
.RT – 0
.AT – FM
Поля, що не перераховані в даному списку, не мають значень «за замовчуванням»
Таблиц 1.
Перелік інформаційних полів повідомлення
N | Найменування поля | Дліна і тип | З | Р | Вміст поля |
---|---|---|---|---|---|
***** | *** | Повідомлення | |||
1. | IN | CH42 | > | * | Ідентифікатор |
2. | IT | CH25 | – | * | Час отримання на вузол |
3. | ST | CH25 | + | * | Час створення повідомлення |
4. | ST_O | CH25 | + | K | Час створення вихідного повідомлення (для квитанцій) |
5. | ET | 25 | – | К | Доставка не пізніше |
6. | NREPORTS | INT | – | Б | Кількість звітів |
7. | RECPNUMBER | INT | – | Б | Кількість одержувачів |
8. | DT | 25 | – | К | Доставка не раніше |
9. | VD | 32 | + | К | Ідентифікатор програми, яка сформувала конверт |
10. | X400 | CH255 | – | Б | Повна адреса |
11. | PN | CH32 | + | * | З 8 по 13 адресу відправника Персональний номер |
12. | OU | CH32 | + | * | Відділ |
13. | ORG | CH32 | + | * | Організація |
14. | PRMD | CH32 | + | * | Регіон приватного управління |
15. | ADMD | CH32 | + | * | Регіон адміністративного управління |
16. | C | CH5 | + | * | Страна |
17. | TYPE | CH1 | + | * | Тип повідомлення (М-повідомлення, R-звіт, Х-інші) |
18. | TH | CH76 | > | * | Тема повідомлення |
19. | FILENUMBER | INT | – | Б | Кількість файлів в повідомленні |
20. | SIZEOFMESS | INT | – | Б | Розмір повідомлення байт |
21. | AТ | 2 | > | К | Тип адреси |
22. | TC | 2 | + | K | Лічильник транзитів (не обов’язкове поле) |
23. | T<n> NAME,HT | 24+20 | + | К | Номер транзитного вузла, ім’я транзитного вузла, час маршрутизації на транзитному вузлі |
24. | RT | 1 | + | К | Тип необхідного звіту (1-маршрутизатор, 2-програма розпакування, 3-й те і інше) |
25. | AR | 1 | – | К | Ознака архівації (0 – не архівувати) |
26. | PR | CH1 | + | * | Приорітет |
25. | OT | 255 | + | К | Поле, сформоване у звіті одержувачем повідомлення |
26. | RESERV | CH25 | – | Б | Резерв |
27. | NBODY | INT | > | K | Номер (щодо порядку) файлу в конверті є тілом повідомлення Прим. (Див. Дозволені імена файлів тіла повідомлення) |
***** | *** | Отримувачі | |||
1. | X400 | CH255 | – | Б | Повна адреса |
2. | OUT_FTA | CH8 | – | Б | Ім’я вихідного АПФ |
3. | PN | CH32 | + | * | З 1 по 6 адресу отримувача |
4. | OU | CH32 | + | * | |
5. | ORG | CH32 | + | * | |
6. | PRMD | CH32 | + | * | |
7. | ADMD | CH32 | + | * | |
8. | C | CH5 | + | * | |
9. | DIR | CH32 | – | Б | Ім’я вузла, куди пішло повідомлення |
10. | ХТ | CH25 | – | Б | Час відправки з вузла |
11. | RCODE | INT | + | * | Код доставки від маршрутизатора |
12. | ERCODE | INT | + | * | Код доставки від програми розпакування |
13. | RTR | CH25 | – | Б | Час формування звіту маршрутизатором |
14. | RTP | CH25 | – | Б | Час формування звіту програмою розпакування |
***** | *** | Файли | |||
1. | FL | CH255 | > | * | Ім’я файлу (в конверті повне) |
2. | FSIZE | INT | – | Б | Розмір файлу |
3. | FTIME | CH25 | – | Б | Час створення файлу |
4. | LNN | CH255 | > | K | Інформація про «довге» ім’я файлу |
Символи, що знаходяться в колонці “З” (Запис) означають наступне:
- “>” – дане поле переноситься з конверта повідомлення в конверт звіту без змін;
- “-” – дане поле в звіт не переноситься;
- “+” – дане поле формується програмою, яка відправляє звіт.
Символи, що знаходяться в колонці “Р” (Реєстрація) означають наступне:
- “*” – дане поле реєструється в базах і в конверті;
- “Б” – дане реєструється тільки в базах;
- “K” – дане поле реєструється тільки в конверті.
Опис полів
Нижче описані всі поля конверта.
IN – Идентифікатор – унікальне поле. По цьому полю ідентифікуються всі повідомлення і звіти. У звіт переноситься без змін.
Формат: C~150507125611ASDN12T712G8J65MA, де:
- C – однобуквений код, що привласнюється програмою що сформувала повідомлення;
- “~” –роздільник;
- 150507125611 – дата і час формування даного повідомлення (7 травня 2015 р, 12год 56мін 11сек);
- ASDN12T712G8J65MA – унікальний набір символів.
ST – Час відправки повідомлення.
ST_O – Час відправлення повідомлення на яке прийшов звіт (тільки для звітів)
ET – Доставка не пізніше.
DT – Доставка не раніше.
DL – адреса відправника. У конверті адреса відправника має наступний формат:
.DL=C:xxx/ADMD:xxxx/PRMD:xxxx/ORG:xxxx/OU:xxxx/PN:xxxx
У звіті поле DL може приймати значення короткої адреси (імені вузла). У цьому випадку його формат наступний: .DL = HOST: ім’я вузла.
.DL_R – X400 адреса від чийого імені відправлено повідомлення (наприклад секретар від імені директора) .В звіт не переноситься.
.DL_N – символьне ім’я відправника, наприклад: .DL_N = Василь;
TYPE – Тип повідомлення. Приймає значення M, P для повідомлень.
Визначені типи:
M – повідомлення (message)
R – звіт
A – адресна книга
B – широкомовне повідомлення
S – системне повідомлення
TH – Тема повідомлення.
FILENUMBER – Кількість файлів в повідомленні.
SIZEOFMESS – Розмір повідомлення – байт.
AТ – Тип адреси.
TC – Лічильник транзитних вузлів. Вказує кількість вузлів через яке пройшло дане повідомлення або звіт. Опціонально.
T<n>NAME ,HT – Номер транзитного вузла, ім’я транзитного вузла і час маршрутизації на транзитному вузлі.
RT – Тип необхідного звіту. Вказує від якої програми запитується звіт (1–маршрутизатор, 2-програма розпакування, 3-й те і інше)
AR – Ознака архівації. Вказує на необхідність архівації даного повідомлення для тривалого зберігання. 1 – підлягає тривалому зберіганню в архівах, 0 – ні. При відсутності цього поля приймається значення 1.
PR – Пріоритет. Пріоритет повідомлення. A- абсолютний, H – високий, N- нормальний, L- низький, R-пріоритет звіту.
OT – Поле, сформоване у звіті одержувачем повідомлення. Дане поле присутнє тільки в конверті звіту. В одному звіті може бути присутнім кілька таких полів. У дане поле заноситься адреса одержувача повідомлення, код доставки, який надалі переноситься в поле RCODE / ERCODE баз даних, час доставки повідомлення, на яке відправляється звіт і, при ненормі – символьне пояснення помилки.
Коди доставки:
- jх – відмова в доставці (х-код завершення програми j-й зовнішньої програми типу FMRP)
- 2- дубль
- 3- маршрут не знайдено
- 4- минув час доставки
- 5- помилка СRC поштового повідомлення
- 6- повідомлення було видалено (без відкриття)
- 7- невідповідність адреси відправника його імені
.RP – адреса одержувача. У конверті може бути декілька одержувачів. Формат:
.RP=C:xxx/ADMD:xxxx/PRMD:xxxx/ORG:xxxx/OU:xxxx/PN:xxxx
RCODE – Код доставки від маршрутизатора.
- нормальный
- 1- помилка в доставці, уточнення причини помилки – в полі .OT
ERCODE – Код доставки від програми розпакування
- 0 – нормальний
- 1 – помилка прочитання, уточнення причини помилки – в полі .OT
FL- Ім’я файлу, упакованого в конверт. У конверті вказується з шляхом до цього файлу
Нижче наведені додаткові поля в базі даних:
C, ADMD, PRMD, ORG, OU, PN – Поля адреси відправника повідомлення. У базу даних поля заносяться кожне окремо.
NREPORT – Кількість звітів, що прийшли на дане повідомлення.
RECPNUMBER – Кількість одержувачів повідомлення.
VD – Ідентифікатор програми що сформувала повідомлення.
X400 – Повна адреса Х400.
OUT_FTA – Ім’я вихідного АПФ
DIR – Ім’я вузла, куди пішло повідомлення
IT – Час отримання на вузол
ХТ – Час відправки з вузла
PLG – Службова інформація
RTR –Час формування звіту маршрутизатором
RTP- Час формування звіту програмою розпакування
FL- Ім’я файла, упакованого в конверт. У конверті вказується з шляхом до цього файлу. У базу заноситься тільки ім’я файлу. У звіт це поле переноситься з символом ‘*’ спочатку.
FSIZE – Розмір файлу
FTIME –Час створення файлу
Звіт
На кожне повідомлення може бути запитаний звіт, який формується або вузлом, або прикладною програмою або тим і іншим. Звіт може бути, і не запитаний. Звіт це повідомлення, що складається з одного конверта.
Нижче наведено приклад конверта повідомлення і звіти на нього. Дане повідомлення буде отримано одержувачем. Коментарі наведені для пояснення полів.
.IN=S~150507125611ASDN12T712G8J65MA
;ідентифікатор повідомлення
.ST=20150507130000
; дата отримання повідомлення вузлом одержувача
.ET=20150508010000
; повідомлення повинно бути доставлено до 01:00 8 травня 2015 р., якщо до
;цього терміну воно не буде доставлено в поштову скриньку одержувача, система його
; знищить з відправкою звіту про це його відправнику
.VD=WSH (V 01.1)
;повідомлення сформовано програмою WSH версії 01.1
.DL=C:UA/ADMD:ADFMAIL/PRMD:KIEV/ORG:ADMIN/OU:BUHG/PN:BOSS
;адреса відправника повідомлення
.DL_N=Семен Семенич
.TYPE=M
;тип – повідомлення
.TH=ПРО КРЕДИТ
;тема
.AТ=FM
;тип адреси – FOSSMAIL
.TC=3
;кількість вузлів через яке пройшло це повідомлення
.T1=ADMIN_KIEV,20150507130001
.T2=ADMIN_KHARKOV,20150507130101
.T3=ADMIN_IZUM,20150507130201
;імена цих вузлів і час проходження через них
.RT=3
;тип звіту – це повідомлення потребує створення звіту на нього від вузла до
;якого приписаний його одержувач і від самого отримувача
.AR=0
;дане повідомлення не підлягає тривалому зберіганню в архівах
.PR=H
;повідомлення відправлене з високим пріоритетом
.RP=C:UA/ADMD:ADFMAIL/PRMD:KHARKIV/ORG:IZUM/OU:BUHG/PN:IVAN
;адреса отримувача повідомлення
.FL=C:\USER\KREDIT.TXT
.FL=C:\USER\READ.TXT
;файли, що складають тіло повідомлення
На дане повідомлення буде сформовано два звіти. Один від маршрутизатора вузла, до якого приписаний даний одержувач, і другий безпосередньо від самого отримувача. Дані звіти представлені нижче.
.IN=SRT~150507125611ASDN12T712G8J65MA
;ідентифікатор, що співпадає з ідентифікатором самого повідомлення
.VD=ROUTER (V 01.1)
;версія програми, яка сформувала звіт
.RP=C:UA/ADMD:ADFMAIL/PRMD:KIEV/ORG:ADMIN/OU:BUHG/PN:BOSS
;адреса одержувача звіту (адреса відправника самого повідомлення)
.TYPE=R
;тип – звіт
.TH=ПРО КРЕДИТ
;тема – взята з повідомлення
.AТ=FM
;тип адреси
.TC=3
;кількість вузлів через які пройшов звіт
.T1=ADMIN_IZUM,20150507130211
.T1=ADMIN_KHARKOV,20150507130301
.T3=ADMIN_KIEV,20150507130401
.*T1=ADMIN_KIEV,20150507130001
.*T2=ADMIN_KHARKOV,20150507130101
.*T3=ADMIN_IZUM,20150507130201
;імена вузлів через які пройшов звіт
.PR=R
;пріоритет звіту
.RCODE=0
;код доставки до вузла – успішно
.DL=HOST:ADMIN_IZUM
;ім’я вузла, що сформував звіт
.*FL=C:\USER\KREDIT.TXT
.*FL=C:\USER\READ.TXT
;“закоментовані” символом “*“ імена файлів, що знаходилися в повідомленні
.OT=C:UA/ADMD:ADFMAIL/PRMD:KHARKOV/ORG:IZUM/OU:BUHG/PN:IVAN#(0, 20150507130211)
;адреса одержувача повідомлення і в дужках код його доставки із зазначенням дати формування звіту
Звіт від конкретного одержувача повідомлення відрізняється від звіту самого вузла тим, що поле RCODE відсутнє. Замість нього представлено поле ERCODE. Замість імені вузла, що отримав повідомлення, адреса одержувача повідомлення.
.IN=SRT~150507125611ASDN12T712G8J65MA
.VD=WSH (V 01.1)
.RP=C:UA/ADMD:ADFMAIL/PRMD:KIEV/ORG:ADMIN/OU:BUHG/PN:BOSS
.TYPE=R
.TH=ПРО КРЕДИТ
.AТ=FM
.TC=3.T1=ADMIN_IZUM,20150507130211
.T1=ADMIN_KHARKOV,2015507130301
.T3=ADMIN_KIEV,2015507130401
.*T1=ADMIN_KIEV,2015507130001
.*T2=ADMIN_KHARKOV,2015507130101
.*T3=ADMIN_IZUM,2015507130201
.PR=H
.ERCODE=0
.DL= C:UA/ADMD:ADFMAIL/PRMD:KHARKOV/ORG:IZUM/OU:BUHG/PN:IVAN
.*FL=C:\USER\KREDIT.TXT
.*FL=C:\USER\READ.TXT
.OT=C:UA/ADMD:ADFMAIL/PRMD:KHARKOV/ORG:IZUM/OU:BUHG/PN:IVAN#(0, 2015507130211)