VI. ASN.1-спецификация протокола взаимодействия СО и ТС ОРМ
MAIL-MESSAGES DEFINITIONS IMPLICIT TAGS ::=
BEGIN
EXPORTS;
Message ::= SEQUENCE {
message-time DateAndTime, -- время и дата сообщения (формируется
отправителем)
message-id MessageID, -- циклический номер сообщения, формируемый
отправителем, действующий на протяжении
сетевого соединения
data Data -- блок данных
}
Data ::= CHOICE {
control-message [0] ControlMessage, -- блок канала управления
data-message [1] DataMessage -- блок канала данных
}
ControlMessage ::= CHOICE {
auth-request [0] AuthenticateSorm, -- команда аутентификации ТС ОРМ на СО
auth-response [1] AuthenticateSormResponse, -- ответ на команду
аутентификации
heartbeat [2] ChannelHeartbeat, -- команда проверки связи ТС ОРМ с СО
heartbeat-response [3] ChannelHeartbeatResponse, -- ответ на команду
проверки связи ТС ОРМ с СО
start-transfer [4] StartDataTransfer, -- команда начала ввода данных СО на
ТС ОРМ
start-transfer-response [5] StartDataTransferResponse, -- ответ на
команду начала ввода данных СО на ТС ОРМ
stop-transfer [6] StopDataTransfer, -- команда окончания ввода данных СО
на ТС ОРМ
stop-transfer-response [7] StopDataTransferResponse, -- ответ на команду
окончания ввода данных СО на ТС ОРМ
segregate-mail-item [8] SegregateMailItem, -- команда назначения ячейки
сортировки почтового отправления
segregate-mail-item-resp [9] SegregateMailItemResponse, -- ответ на
команду назначения ячейки сортировки почтового отправления
cancel-item-segregation [10] CancelitemSegregation, -- команда отмены
смены ячейки сортировки почтового отправления
cancel-item-segregation-resp [11] CancelItemSegregationAck, -- ответ на
команду отмены смены ячейки сортировки почтового отправления
mail-stat-command [12] GetLostMailStatistic, -- команда запроса количества
почтовых отправлений, информация по которым
не была передана СО на ТС ОРМ
mail-stat-response [13] GetLostMailStatisticResponse, -- ответ на команду
запроса не полученных почтовых отправлений
segregated-item-notification [14] SegregatedMailNotification, -- извещение
о завершении сортировки отправления с измененной ячейкой назначения
segregated-item-notification-ack [15] SegregatedMailNotificationAck --
подтверждение извещения о завершении сортировки
отправления с измененной ячейкой назначения
}
DataMessage ::= CHOICE {
data-block [0] MailDataBlock, -- блок данных с изображениями отправлений
data-block-ack [1] MailDataBlockAck, -- подтверждение приема блока данных
heartbeat [2] ChannelHeartbeat, -- команда проверки связи ТС ОРМ с СО
heartbeat-response [3] ChannelHeartbeatResponse -- ответ на команду
проверки связи ТС ОРМ с СО
}
AuthenticateSorm :: = SEQUENCE {
user-name UTF8String (SIZE (1..64)), -- пользователь ТС ОРМ в СО
user-password OCTET STRING (SIZE(8)) -- пользовательский пароль
}
AuthenticateSormResponse ::= BOOLEAN -- признак успешности аутентификации
ChannelHeartbeat ::= NULL
ChannelHeartbeatResponse ::= NULL
StartDataTransfer ::= NULL
StartDataTransferResponse ::= BOOLEAN -- признак успешности приема команды
начала ввода данных
StopDataTransfer ::= NULL
StopDataTransferResponse ::= BOOLEAN -- признак успешности приема команды
окончания ввода данных
SegregateMailItem ::= SEQUENCE {
mail-id MailID, -- идентификатор почтового отправления для
которого изменяется ячейка сортировки
sorting-cell UTF8String (SIZE (1..64)) -- идентификатор новой ячейки
назначения для сортировки почтового отправления
}
SegregateMailItemResponse ::= BOOLEAN -- подтверждение приема СО команды
изменения ячейки назначения отправления
CancelItemSegregation ::= MailID
CancelItemSegregationAck ::= BOOLEAN -- подтверждение отмены смены ячейки
сортировки
GetLostMailStatistic::= NULL
GetLostMailStatisticResponse ::= SEQUENCE {
last-time DateAndTime, -- дата и время предыдущего получения информации
lost-mail-items INTEGER (0 .. 4294967295), -- количество отправлений,
информация по которым не была передана на ТС ОРМ
partially-lost-mail-items INTEGER (0 .. 4294967295) -- количество
отправлений, информация по которым была передана на ТС ОРМ частично
}
SegregatedMailNotification ::= SEQUENCE {
last-time DateAndTime, -- дата и время завершения сортировки
отправления с измененной ячейкой назначения
mail-id MailID -- идентификатор почтового отправления для которого
изменяется ячейка сортировки
}
SegregatedMailNotificationAck ::= NULL
MailDataBlock ::= SEQUENCE {
last-time DateAndTime, -- дата и время формирования изображения
на оборудовании СО
mail-type ENUMERATED {
mail (0), -- письмо
flat (1), -- flat
mail-parcel (2) -- посылка
},
mail-item-images MailItemImages, -- изображения поверхностей почтового
отправления, полученные на СО
mail-id MailID, -- идентификатор
почтового отправления
post-item PostItem -- результаты распознавания OCR
}
MailItemImages ::= SEQUENCE {
side-0 [0] OCTET STRING OPTIONAL, -- изображение лицевой стороны
отправления
side-1 [1] OCTET STRING OPTIONAL, -- изображение обратной стороны
отправления
side-2 [2] OCTET STRING OPTIONAL -- изображение боковой стороны
отправления (для посылок)
}
MailDataBlockAck ::= NULL
MailID ::= SEQUENCE {
machine-id UTF8String (SIZE (1..10)), -- идентификатор машины, выполняющей
обработку отправления
stamp-id [0] UTF8String (SIZE (1..128)) OPTIONAL, -- идентификатор
почтового отправления
track-num [1] UTF8String (SIZE (1..128)) OPTIONAL -- ШПИ почтового
отправления
}
PostItem ::= SEQUENCE {
receiver-info [0] UTF8String (SIZE (1..1024)) OPTIONAL, -- получатель ПО
receiver-address [1] PostAddress OPTIONAL, -- адрес получателя
sender-info [2] UTF8String (SIZE (1..1024)) OPTIONAL, -- отправитель ПО
sender-address [3] PostAddress OPTIONAL -- адрес отправителя
}
PostAddress ::= SEQUENCE {
country-code UTF8String (SIZE (1..3)), -- название страны получателя в
соответствии с ISO-3166-1
index [0] UTF8String (SIZE (1..12)) OPTIONAL, -- индекс отделения
почтовой связи
unstruct-address [1] UTF8String (SIZE (1..1024)) OPTIONAL,
struct-address [2] PostAddressStructData OPTIONAL -- адресные данные
}
PostAddressStructData ::= SEQUENCE {
country [0] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- страна
region [1] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- область (АТЕ)
zone [2] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- район, муниципальный
округ
city [3] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- населенный пункт
street [4] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- улица
building [5] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- дом, строение
build-sect [6] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- корпус
apartment [7] UTF8String (SIZE (1 .. 128)) OPTIONAL, -- квартира, офис
priv-box [8] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- абонементный ящик
acc-addr [9] UTF8String (SIZE (1 .. 128)) OPTIONAL --- адрес
"до востребования"
}
MessageID ::= INTEGER (0 .. 4294967295)
DateAndTime ::= UTCTime
END
- Гражданский кодекс (ГК РФ)
- Жилищный кодекс (ЖК РФ)
- Налоговый кодекс (НК РФ)
- Трудовой кодекс (ТК РФ)
- Уголовный кодекс (УК РФ)
- Бюджетный кодекс (БК РФ)
- Арбитражный процессуальный кодекс
- Конституция РФ
- Земельный кодекс (ЗК РФ)
- Лесной кодекс (ЛК РФ)
- Семейный кодекс (СК РФ)
- Уголовно-исполнительный кодекс
- Уголовно-процессуальный кодекс
- Производственный календарь на 2025 год
- МРОТ 2025
- ФЗ «О банкротстве»
- О защите прав потребителей (ЗОЗПП)
- Об исполнительном производстве
- О персональных данных
- О налогах на имущество физических лиц
- О средствах массовой информации
- Производственный календарь на 2026 год
- Федеральный закон "О полиции" N 3-ФЗ
- Расходы организации ПБУ 10/99
- Минимальный размер оплаты труда (МРОТ)
- Календарь бухгалтера на 2025 год
- Частичная мобилизация: обзор новостей
- Постановление Правительства РФ N 1875