О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571
Организатор распространения информации должен обеспечивать поиск, обработку и передачу определённых данных по запросу ФСБ или автоматически, а также хранить отобранную информацию об объектах контроля не менее 12 часов.
- Jurisdiction
- Russia
- Instrument
- Act or statute
- Citation
- 750
- Version
- Undated source snapshot
- Language
- ru
- Official source
- View official record ↗
Statute overview
About this statute
Организатор распространения информации должен обеспечивать поиск, обработку и передачу определённых данных по запросу ФСБ или автоматически, а также хранить отобранную информацию об объектах контроля не менее 12 часов. This provision defines SORM session and task message structures and field ranges for protocol data.
Search within this statute
Search all stored provisions in this version.
Legal text
Provisions of О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571
Showing 2 of 2
- document.segment-1 Verify source ↗
О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571 — segment 1
Организатор распространения информации должен обеспечивать поиск, обработку и передачу определённых данных по запросу ФСБ или автоматически, а также хранить отобранную информацию об объектах контроля не менее 12 часов.
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ ПРИКАЗ Москва 28 августа 2023 г. № 750 О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571 Зарегистрирован Минюстом России 27 ноября 2023 г. Регистрационный № 76124 В соответствии с частью 4 статьи 10.1 Федерального закона от 27 июля 2006 г. № 149-ФЗ "Об информации, информационных технологиях и о защите информации", пунктами 5 и 8 Правил взаимодействия организаторов распространения информации в информационно-телекоммуникационной сети "Интернет" с уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, утвержденных постановлением Правительства Российской Федерации от 31 июля 2014 г. № 743 , ПРИКАЗЫВАЮ: Утвердить прилагаемые изменения, которые вносятся в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571 (зарегистрирован Министерством кэстиции Российской Федерации 27 декабря 2018 г., регистрационный № 53207). Министр М.И.Шадаев УТВЕРЖДЕНЫ приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 28 августа 2023 г. № 750 ИЗМЕНЕНИЯ в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571 1. Пункт 4 изложить в следующей редакции: "4. Поиск, обработка и передача на пункт управления уполномоченного подразделения органа федеральной службы безопасности (далее - ПУ) следующих данных, хранимых в ИС ОРИ и (или) ПТС ОРИ при реализации ПТС ОРИ в соответствии с пунктом 2 настоящих требований, осуществляются с использованием ПТС ОРИ по запросу уполномоченного подразделения органа федеральной службы безопасности или в автоматическом режиме: 1) информации о зарегистрированных пользователях в соответствии с пунктами 13 и 15 Правил хранения организаторами распространения информации в информационно-телекоммуникационной сети "Интернет" информации о фактах приема, передачи, доставки и (или) обработки голосовой информации, письменного текста, изображений, звуков, видео- или иных электронных сообщений пользователей информационно-телекоммуникационной сети "Интернет" и информации об этих пользователях и предоставления ее уполномоченным государственным органам, осуществляющим оперативно-разыскную деятельность или обеспечение безопасности Российской Федерации, утвержденных постановлением Правительства Российской Федерации от 23 сентября 2020 г. № 1526 (далее - Правила хранения № 1526); 2) информации о фактах приема, передачи, доставки и (или) обработки голосовой информации, письменного текста, изображений, звуков, видео- или иных электронных сообщений пользователей информационно-телекоммуникационной сети "Интернет" (далее - пользователь) и информации об этих пользователях в соответствии с пунктами 3, 14 и 15 Правил хранения № 1526; 3) текстовых сообщений пользователей информационно-телекоммуникационной сети "Интернет", голосовой информации, изображений, звуков, видео-, иных электронных сообщений пользователей в соответствии с Правилами хранения организатором распространения информации в информационно-телекоммуникационной сети "Интернет" текстовых сообщений пользователей информационно-телекоммуникационной сети "Интернет", голосовой информации, изображений, звуков, видео-, иных электронных сообщений пользователей информационно-телекоммуникационной сети "Интернет", утвержденными постановлением Правительства Российской Федерации от 26 февраля 2022 г. № 256, действующим до 1 сентября 2028 г.; 4) информации, необходимой для декодирования принимаемых, передаваемых, доставляемых и (или) обрабатываемых электронных сообщений; 5) информации о событиях, зафиксированных в системных журналах в соответствии с подпунктом "т" пункта 14 настоящих требований.". 2. Пункт 16 дополнить абзацем следующего содержания: "Срок хранения информации об объектах контроля, отобранной по критериям отбора, для доставки объектов на ПУ должен составлять не менее 12 часов с момента отбора.". 3. Приложение № 4 изложить в следующей редакции: "Приложение № 4 к Требованиям к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденным приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29 октября 2018 г. № 571 Описание протокола взаимодействия ПУ и ПТС ОРИ ___________________________________________________________________________ Classification.asn Classification DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS TAGGED, sorm-message-session, sorm-message-trap, sorm-message-task, sorm-message-report, sorm-message-management, sorm-message-unformatted, sorm-message-report-uni, sorm-request-connection-ori-data-standart, sorm-request-connection-ori-data-extended, sorm-request-connection-ori-link, sorm-request-connection-ori-aaa, sorm-request-connection-ori-streams-content, sorm-request-connection-ori-cert, sorm-request-connection-ori-keys, sorm-report-connection-ori-data, sorm-report-connection-ori-link, sorm-report-connection-ori-aaa, sorm-report-connection-ori-streams-content, sorm-report-connection-ori-cert, sorm-report-connection-ori-keys, sorm-request-abonent-ori, sorm-report-abonent-ori, sorm-request-dictionaries, sorm-report-dictionary-telcos, sorm-report-dictionary-ori-services, sorm-report-dictionary-ori-events, sorm-report-dictionary-ori-resources, sorm-report-dictionary-ori-user-types, sorm-report-dictionary-ori-payment-services, sorm-request-presense, sorm-report-presense-dictionaries, sorm-report-presense-abonents-ori, sorm-report-presense-connections-ori; TAGGED::= CLASS { &id ObjectDescriptor UNIQUE, &Data } WITH SYNTAX { OID &id DATA &Data } ---Классификация OID::= ObjectDescriptor ---Подструктура сообщений sorm-message-session OID::= "280" sorm-message-trap OID::= "281" sorm-message-task OID::= "282" sorm-message-report OID::= "283" sorm-message-management OID::= "284" sorm-message-unformatted OID::= "285" sorm-message-report-uni OID::= "289" ---Параметры соединений sorm-request-connection-ori-data-standart OID::= "265" sorm-request-connection-ori-data-extended OID::= "266" sorm-request-connection-ori-link OID::= "267" sorm-request-connection-ori-aaa OID::= "268" sorm-request-connection-ori-streams-content OID::= "269" sorm-request-connection-ori-cert OID::= "270" sorm-request-connection-ori-keys OID::= "271" sorm-report-connection-ori-data OID::= "10" sorm-report-connection-ori-link OID::= "11" sorm-report-connection-ori-aaa OID::= "12" sorm-report-connection-ori-streams-content OID::= "13" sorm-report-connection-ori-cert OID::= "14" sorm-report-connection-ori-keys OID::= "15" ---Абоненты sorm-request-abonent-ori OID::= "245" sorm-report-abonent-ori OID::= "70" ---Справочники sorm-request-dictionaries OID::= "240" sorm-report-dictionary-telcos OID::= "112" sorm-report-dictionary-ori-services OID::= "117" sorm-report-dictionary-ori-events OID::= "118" sorm-report-dictionary-ori-resources OID::= "119" sorm-report-dictionary-ori-user-types OID::= "130" sorm-report-dictionary-ori-payment-services OID::= "131" ---Запрос о наличии данных sorm-request-presense OID::= "260" sorm-report-presense-dictionaries OID::= "123" sorm-report-presense-abonents-ori OID::= "125" sorm-report-presense-connections-ori OID::= "126" END ___________________________________________________________________________ Dictionaries.asn Dictionaries DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS DictionaryTask, DictionaryReport; IMPORTS DateAndTime FROM Sorm TAGGED, sorm-request-dictionaries, sorm-report-dictionary-telcos, sorm-report-dictionary-ori-services, sorm-report-dictionary-ori-events, sorm-report-dictionary-ori-resources, sorm-report-dictionary-ori-user-types, sorm-report-dictionary-ori-payment-services FROM Classification; ---Запрос DictionaryTask::= SEQUENCE { id TAGGED.&id ({DictionaryTaskVariants}), data TAGGED.&Data ({DictionaryTaskVariants}{@id}) } DictionaryTaskVariants TAGGED::= {dictionaryTask} dictionaryTask TAGGED::= { OID {sorm-request-dictionaries} DATA ObjectDescriptor ---тип запрашиваемого справочника (идентификатор отчета) } ---DATA ObjectDescriptor принимает значение одно из: ---sorm-report-dictionary-telcos ---sorm-report-dictionary-ori-services ---sorm-report-dictionary-ori-events ---sorm-report-dictionary-ori-resources ---sorm-report-dictionary-ori-user-types ---sorm-report-dictionary-ori-payment-services ---Отчет DictionaryReport::= SEQUENCE { id TAGGED.&id ({DictionaryRecordsVariants}), ---идентификтор записи справочника data TAGGED.&Data ({DictionaryRecordsVariants}{@id}) ---данные записи справочника } DictionaryRecordsVariants TAGGED::= { telcosRecords ---коммуникационные интернет-сервисы ИС ОРИ | oriServices ---виды информационных сервисов, предоставляемых ОРИ для пользователей | oriEvents ---виды событий, регистрируемых ИС ОРИ при взаимодействии ИС ОРИ с пользователем | oriResources ---типы информационных ресурсов, создаваемых пользователями в ИС ОРИ | oriUserTypes ---типы пользователей, обслуживаемых ИС ОРИ | oriPaymentServices ---виды платежных услуг (платежных сервисов), используемых ОРИ } ---коммуникационные интернет-сервисы ИС ОРИ telcosRecords TAGGED::= { OID {sorm-report-dictionary-telcos} DATA SEQUENCE OF TelcosRecord } TelcosRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL, ---время конца действия description UTF8String (SIZE (1.. 256)), ---описание (наименование) коммуникационного интернет-сервиса ИС ОРИ mcc [0] NumericString (SIZE (3)) OPTIONAL, ---код страны mnc [1] NumericString (SIZE (3)) OPTIONAL - код ОРИ } ---виды информационных сервисов, предоставляемых ОРИ для пользователей oriServices TAGGED::= { OID {sorm-report-dictionary-ori-services} DATA SEQUENCE OF OriServiceRecord } OriServiceRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ service-id INTEGER (0.. 65535), ---идентификатор сервиса description UTF8String (SIZE (1.. 256)), ---описание begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL ---время конца действия } ---виды событий, регистрируемых ИС ОРИ при взаимодействии ИС ОРИ с пользователем oriEvents TAGGED::= { OID {sorm-report-dictionary-ori-events} DATA SEQUENCE OF OriEventRecord } OriEventRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ service-id INTEGER (0.. 65535), ---идентификатор сервиса event-id INTEGER (0.. 65535), ---идентификатор события description UTF8String (SIZE (1.. 256)), ---описание begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL ---время конца действия } ---типы информационных ресурсов, создаваемых пользователями в ИС ОРИ oriResources TAGGED::= { OID {sorm-report-dictionary-ori-resources} DATA SEQUENCE OF OriResourceRecord } OriResourceRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ service-id INTEGER (0.. 65535), ---идентификатор сервиса resource-id INTEGER (0.. 65535), ---идентификатор ресурса description UTF8String (SIZE (1.. 256)), ---описание begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL ---время конца действия } ---типы пользователей, обслуживаемых ИС ОРИ oriUserTypes TAGGED::= { OID {sorm-report-dictionary-ori-user-types} DATA SEQUENCE OF OriUserTypeRecord } OriUserTypeRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ service-id INTEGER (0.. 65535), ---идентификатор сервиса user-type-id INTEGER (0.. 65535), ---тип пользователя description UTF8String (SIZE (1.. 256)), ---описание begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL ---время конца действия) } ---виды платежных услуг (платежных сервисов), используемых ОРИ oriPaymentServices TAGGED::= { OID {sorm-report-dictionary-ori-payment-services} DATA SEQUENCE OF OriPaymentServiceRecord } OriPaymentServiceRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ service-id INTEGER (0.. 65535), ---идентификатор сервиса payment-service-id INTEGER (0.. 65535), ---идентификатор платежной услуги description UTF8String (SIZE (1.. 256)), ---описание begin-time DateAndTime, ---время начала действия end-time DateAndTime OPTIONAL ---время конца действия } END ___________________________________________________________________________ IdentifiersORI.asn IdentifiersORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS UserID, UserIdentifier, UserTechnicalIdentifier, ResourceIdentifier, ResourceName, ORIStreamID; UserIdentifier::= SEQUENCE { user-id [0] UserID, ---идентификатор пользователя в системе (имя пользователя) user-type [1] INTEGER (0.. 65535) ---тип пользователя (расшифровывается по справочнику) } UserTechnicalIdentifier::= CHOICE { ip-address [0] UserIPAddress, ---ip-адрес и порт msisdn [1] UTF8String (SIZE (1.. 64)), ---номер телефона email [2] UTF8String (SIZE (1.. 256)), ---электронная почта program-name [3] UTF8String (SIZE (1.. 1024)), ---имя программы клиента other [4] UTF8String (SIZE (1.. 1024)) ---прочая техническая информация } UserIPAddress::= SEQUENCE { ip-address [0] UTF8String (SIZE (1.. 64)), ---ip-адрес ip-port [1] INTEGER (0.. 65535) OPTIONAL ---TCP/UDP порт } UserID::= UTF8String (SIZE (1.. 128)) ResourceIdentifier::= SEQUENCE { resource-name [0] ResourceName, ---наименование ресурса resource-type[1]INTEGER(0..65535)OPTIONAL ---тип ресурса (расшифровывается по справочнику) } ResourceName::= UTF8String (SIZE (1.. 4096)) ORIStreamID::= UTF8String (SIZE (1.. 1024)) END ___________________________________________________________________________ Locations.asn Locations DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS LocationInfo; IMPORTS ProjectionType FROM NetworkIdentifiers; MobileORILocation::= SEQUENCE { mcc [0] UTF8String (SIZE (1.. 4)) OPTIONAL, ---код страны оператора связи пользователя ОРИ mnc [1] UTF8String (SIZE (1.. 3)) OPTIONAL, ---код оператора связи пользователя ОРИ lac [2] INTEGER (0.. 65535) OPTIONAL, ---код LAC оператора связи пользователя ОРИ cell [3] INTEGER (0.. 4294967295) OPTIONAL, ---код БС оператора связи пользователя ОРИ network-operator [4] UTF8String (SIZE (1.. 64)) OPTIONAL ---наименование оператора связи пользователя ОРИ } GeoLocation::= SEQUENCE { latitude-grade REAL, ---широта longitude-grade REAL, ---долгота projection-type ProjectionType ---тип проекции координат } LocationInfo::= SEQUENCE { mobile-ori-location [0] MobileORILocation OPTIONAL, geo-location [1] GeoLocation OPTIONAL, description [2] UTF8String (SIZE (1.. 4096)) OPTIONAL } END ___________________________________________________________________________ Management.asn Management DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS managementMessage; IMPORTS TAGGED, sorm-message-management FROM Classification; managementMessage TAGGED::= { OID {sorm-message-management} DATA CHOICE { request [0] ManagementRequest, response [1] ManagementResponse } } ---тип сообщения "команда управления ИС СОРМ" ManagementRequest::= CHOICE { get-structure [0] GetStructureRequest, ---запрос на получение структуры ИС СОРМ - КТС и модулей СПО get-module-config [1] GetModuleConfigRequest, ---запрос на получение конфигурации КТС/модуля СПО set-module-config [2] SetModuleConfigRequest, ---запрос на изменение конфигурации КТС/модуля СПО check-module [3] CheckModuleRequest, ---запрос на получение состояния модуля get-module-types [4] GetModuleTypesRequest ---запрос на получение типов модулей КТС и СПО } ---запрос на получение структуры ИС СОРМ - КТС и модулей СПО GetStructureRequest::= NULL ---запрос на получение конфигурации КТС/модуля СПО GetModuleConfigRequest::= CHOICE { hw-modules-list [0] RequestedHardwareModules, ---перечень идентификаторов узлов КТС ИС СОРМ sw-modules-list [1] RequestedSoftwareModules ---перечень идентификаторов модулей СПО ИС СОРМ } RequestedHardwareModules::= SEQUENCE OF ModuleId RequestedSoftwareModules::= SEQUENCE OF ModuleId ---запрос на изменение конфигурации КТС/модуля СПО SetModuleConfigRequest::= SEQUENCE { module-id ModuleId, ---идентификатор конфигурируемого модуля module-config ConfiguratedModule ---устанавливаемая в модуль конфигурация } ConfiguratedModule::= CHOICE ( sw-module [0] SormSoftwareModule, ---для модуля СПО hw-module [1] SormHardwareModule ---для узла КТС } ---запрос на получение состояния модуля CheckModuleRequest::= RequestedModulesList RequestedModulesList::= CHOICE { hw-modules [0] RequestedHardwareModules, ---идентификаторы узлов КТС, для которых запрашивается состояние sw-modules [1] RequestedSoftwareModules ---идентификаторы модулей СПО, для которых запрашивается состояние } ---запрос на получение типов модулей КТС и СПО GetModuleTypesRequest::= NULL ---тип сообщения "ответ на команду управления ИС СОРМ" ManagementResponse::= CHOICE { get-structure [0] GetStructureResponse, ---ответ на запрос получения структуры ИС СОРМ - КТС и модулей СПО get-module-config [1] GetModuleConfigResponse, ---ответ на запрос получения конфигурации КТС/модуля СПО set-module-config [2] SetModuleConfigResponse, ---ответ на запрос изменения конфигурации КТС/модуля СПО check-module [3] CheckModuleResponse, ---ответ на запрос получения состояния модуля get-module-types [4] GetModuleTypesResponse ---ответ на запрос получения типов модулей КТС и СПО } ---ответ на запрос получения структуры ИС СОРМ - КТС и модулей СПО GetStructureResponse::= SEQUENCE { hw-modules SormHardwareModules, ---перечень всех узлов КТС sw-modules SormSoftwareModules ---перечень всех модулей СПО } ---ответ на запрос получения конфигурации КТС/модуля СПО GetModuleConfigResponse::= SEQUENCE { hw-modules SormHardwareModules, ---конфигурации запрошенных узлов КТС sw-modules SormSoftwareModules ---конфигурации запрошенных модулей СПО ИС СОРМ } ---отчет на запрос изменения конфигурации КТС/модуля СПО SetModuleConfigResponse::= ConfiguratedModule ---установленная в модуль конфигурация ---ответ на запрос получения состояния модуля CheckModuleResponse::= CHOICE { hw-modules [0] SormHardwareModules, ---текущее состояние запрошенных узлов КТС sw-modules [1] SormSoftwareModules ---текущее состояние запрошенных модулей СПО ИС СОРМ } ---ответ на запрос получения типов модулей КТС и СПО GetModuleTypesResponse::= SEQUENCE OF ModuleType ModuleType::= SEQUENCE { module-type INTEGER (1.. 512), ---идентификатор типа модуля type-description UTF8String (SIZE (1.. 128)) ---расшифровка типа модуля } SormHardwareModules::= SEQUENCE OF SormHardwareModule SormHardwareModule::= SEQUENCE { module-id ModuleId, ---уникальный идентификатор данного модуля block-name INTEGER (0.. 1024), ---номер блока КТС module-name UTF8String (SIZE (1.. 512)), ---наименование модуля module-parameters HwParameterGroups ---значение группы параметров КТС } HwParameterGroups::= SEQUENCE OF HwParameterGroup HwParameterGroup::= SEQUENCE { group-name UTF8String (SIZE (1.. 512)), ---наименование группы параметров для КТС module-parameters ModuleParameters ---перечень параметров для КТС } SormSoftwareModules::= SEQUENCE OF SormSoftwareModule SormSoftwareModule::= SEQUENCE { module-id ModuleId, ---уникальный идентификатор данного модуля hardware-module-id ModuleId, ---идентификатор КТС, на котором работает данный блок модуля СПО block-name INTEGER (0.. 1024), ---номер блока СПО модуля module-name UTF8String (SIZE (1.. 512)), ---наименование модуля module-type INTEGER (1.. 512), ---идентификатор типа модуля module-parameters ModuleParameters, ---список параметров модуля sub-modules-list SormSoftwareModules OPTIONAL ---субмодули } ModuleParameters::= SEQUENCE OF ModuleParameter ModuleParameter::= SEQUENCE { parameter-name UTF8String (SIZE (1.. 256)), ---наименование параметра read-only BOOLEAN, ---контролируемый или измеряемый параметр parameter-value ParameterValue ---значение параметра } ParameterValue::= CHOICE { string [0] UTF8String (SIZE (1.. 256)), integer [1] INTEGER (0.. 999999999), boolean [2] BOOLEAN } ---уникальный идентификатор КТС/модуля СПО ИС СОРМ ModuleId::= OCTET STRING (SIZE (8)) END ___________________________________________________________________________ NetworkIdentifiers.asn NetworkIdentifiers DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS NetworkPeerInfo, ProjectionType; ---информация об участнике соединения передачи данных NetworkPeerInfo::= SEQUENCE { ip-address IPAddress, ---IP-адрес ip-port IPPort OPTIONAL ---IP-порт } ---IP-адрес IPAddress::= CHOICE { ipv4 [0] IPV4Address, ---IPv4-адрес ipv6 [1] IPV6Address ---IPv6-адрес } ---IPv4-адрес IPV4Address::= OCTET STRING (SIZE (4)) ---IPv6-адрес IPV6Address::= OCTET STRING (SIZE (16)) ---IP/UDP/TCP-порт IPPort::= OCTET STRING (SIZE (2)) ---порт ---тип проекции координат ProjectionType::= ENUMERATED { wgs84 (0), utm (1), sgs85 (2) } END ___________________________________________________________________________ Reports.asn Reports DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS reportMessage, Acknowledgement; IMPORTS TAGGED, sorm-message-report FROM Classification MessageID FROM Sorm TaskID FROM Tasks DictionaryReport FROM Dictionaries PresenseReport FROM ReportsPresense AbonentsORIReport FROM ReportsAbonentsORI ConnectionsORIReport FROM ReportsConnectionsORI; reportMessage TAGGED::= { OID {sorm-message-report} DATA CHOICE { report [0] Report, ---тип сообщения "отчет" ack [1] Acknowledgement ---тип сообщения "подтверждение" } } ---Блок данных сообщения типа "отчет" Report::= SEQUENCE { request-id MessageID, ---идентификатор запроса, запросивший отчет task-id TaskID, ---идентификатор задачи, сгенерировавшей данный отчет total-blocks-number INTEGER, ---общее количество блоков в отчете block-number INTEGER, ---порядковый номер текущего блока report-block ReportDataBiock ---блок данных отчета } ReportDataBlock::= CHOICE { dictionary [0] DictionaryReport, ---отчеты задач пополнения справочников (нормативно-справочная информация) presense [6] PresenseReport, ---отчеты задач по запросу наличия в ИС СОРМ информации abonents-ori [8] AbonentsORIReport, ---отчеты задач по принадлежности абонентов организаторов распространения информации connections-ori [9] ConnectionsORIReport ---отчеты задач по соединениям абонентов организаторов распространения информации } ---Подтверждение приема блока, передается с номером сообщения соответствующему номеру сообщения блока отчета Acknowledgement::= SEQUENCE { successful BOOLEAN, ---признак успешного приема блока broken-record INTEGER OPTIONAL, ---номер записи в отчете, обработанной на ПУ с ошибкой error-description UTF8String (SIZE (1.. 1024)) OPTIONAL ---описание ошибки приема блока в произвольной форме } END ___________________________________________________________________________ ReportsAbonentsORI.asn ReportsAbonentsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS AbonentsORIReport; IMPORTS TAGGED, sorm-report-abonent-ori FROM Classification DateAndTime FROM Sorm TelcoID FROM Tasks UserID, UserIdentifier FROM IdentifiersORI; AbonentsORIReport::= SEQUENCE { id TAGGED.&id ({AbonentsORIReportVariants}), data TAGGED.&Data ({AbonentsORIReportVariants}{@id}) } AbonentsORIReportVariants TAGGED::= { reportAbonentORI } reportAbonentORI TAGGED::= { OID {sorm-report-abonent-ori} DATA SEQUENCE OF AbonentsORIRecord } AbonentsORIRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ, user-identifier UserIdentifier, ---идентификатор пользователя datetime-registered DateAndTime, ---дата и время регистрации abonent-info AbonentInfoORI, ---информация о пользователе abonent-contacts [0] AbonentContactsORI OPTIONAL, ---контактные данные пользователя im-identifiers [1] SEQUENCE OF AbonentImIdentifierORI OPTIONAL, ---идентификаторы пользователя в других средствах электронного взаимодействия datetime-updated [2] DateAndTime OPTIONAL, ---дата и время обновления информации datetime-unregistered [3] DateAndTime OPTIONAL, ---дата и время прекращения регистрации contract-date [4] DateAndTime OPTIONAL, ---дата и время заключения договора contract [5] UTF8String (SIZE (1.. 64)) OPTIONAL, ---номер договора additional [6] SEQUENCE OF AdditionalInfo OPTIONAL ---дополнительная информация о пользователе service-id [7] INTEGER (0.. 65535) OPTIONAL, ---идентификатор сервиса (расшифровывается по справочнику) } ---информация о пользователе AbonentInfoORI::= SEQUENCE { nick-name [0] UTF8String (SIZE (1.. 1024)) OPTIONAL, ---псевдоним пользователя birth-date GeneralizedTime OPTIONAL, ---дата рождения address [1] ReportedAddressORI OPTIONAL, ---адресные данные name-info [2] ReportedNameInfoORI OPTIONAL, ---ФИО passport-info [3] ReportedPassportInfoORI OPTIONAL, ---паспортные данные langs [4] SEQUENCE OF UTF8String (SIZE (1.. 64)) OPTIONAL, ---список языков, которыми владеет пользователь relatives [5] SEQUENCE OF UserID OPTIONAL ---список родственников пользователя } ---адресные данные ReportedAddressORI::= CHOICE { struct-info [0] ReportedStructAddressORI, unstruct-info [1] UTF8String (SIZE (1.. 1024)) } ReportedStructAddressORI::= SEQUENCE { country [0] UTF8String (SIZE (1.. 128)) OPTIONAL, ---страна region (1) UTF8String (SIZE (1.. 128)) OPTIONAL, ---область city [2] UTF8String (SIZE (1.. 128)) OPTIONAL, ---город, поселок, деревня street [3] UTF8String (SIZE (1.. 128)) OPTIONAL, ---улица building [4] UTF8String (SIZE (1.. 128)) OPTIONAL, ---дом, строение apartment [5] UTF8String (SIZE (1.. 128)) OPTIONAL ---квартира, офис } ---ФИО ReportedNameInfoORI::= CHOICE { struct-info [0] ReportedStructNameInfoORI, unstruct-info [1] UTF8String (SIZE (1.. 1024)) } ReportedStructNameInfoORI::= SEQUENCE { given-name [0] UTF8String (SIZE (1.. 128)) OPTIONAL, ---имя initial [1] UTF8String (SIZE (1.. 128)) OPTIONAL, ---отчество (при наличии) family-name [2] UTF8String (SIZE (1.. 128)) OPTIONAL ---фамилия } ---паспортные данные ReportedPassportInfoORI::= CHOICE { struct-info [0] ReportedStructPassroptInfoORI, unstruct-info [1] UTF8String (SIZE (1.. 1024)) } ReportedStructPassroptInfoORI::= SEQUENCE { passport-serial [0] UTF8String (SIZE (1..16)) OPTIONAL, ---серия паспорта passport-number [1] UTF8String (SIZE (1..16)) OPTIONAL ---номер паспорта } ---контактные данные пользователя AbonentContactsORI::= SEQUENCE { msisdn [0] SEQUENCE OF UTF8String (SIZE (1.. 64)) OPTIONAL, ---список номеров телефона пользователя email [1] SEQUENCE OF UTF8String (SIZE (1.. 256)) OPTIONAL ---список адресов электронной почты пользователя } ---идентификаторы пользователя в других средствах электронного взаимодействия AbonentImIdentifierORI::= SEQUENCE { service-name UTF8String (SIZE (1.. 128)), ---наименование сервиса service-id UTF8String (SIZE (1.. 256)) ---идентификатор пользователя в сервисе } ---дополнительная информация о пользователе AdditionalInfo::= SEQUENCE { title UTF8String (SIZE (1.. 1024)), ---наименование о дополнительных сведениях content UTF8String (SIZE (1.. 4096)) ---содержание дополнительных сведений } END ___________________________________________________________________________ ReportsConnectionsORI.asn ReportsConnectionsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS ConnectionsORIReport, reportConnectionsDataORI, reportConnectionsLinkORI, reportConnectionsAAAORI, reportConnectionsStreamsContentORI, reportConnectionsCertORI, reportConnectionsKeysORI; IMPORTS TAGGED, sorm-report-connection-ori-data, sorm-report-connection-ori-link, sorm-report-connection-ori-aaa, sorm-report-connection-ori-streams-content, sorm-report-connection-ori-cert, sorm-report-connection-ori-keys FROM Classification DateAndTime FROM Sorm TelcoID FROM Tasks UserID, UserIdentifier, UserTechnicalIdentifier, ResourceIdentifier, ORIStreamID FROM IdentifiersORI NetworkPeerInfo FROM NetworkIdentifiers LocationInfo FROM Locations; ConnectionsORIReport::= SEQUENCE { id TAGGED.&id ({ReportedConnectionsORIVariants}), data TAGGED.&Data ({ReportedConnectionsORIVariants}{@id}) } ReportedConnectionsORIVariants TAGGED::= { reportConnectionsDataORI - события информационного взаимодействия пользователей в ИС ОРИ | reportConnectionsLinkORI ---события добавления/исключения связанных пользователей | reportConnectionsAAAORI ---события регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса | reportConnectionsStreamsContentORI - содержимое изображений, звуков, голосовой информации, видео-и иных электронных сообщений | reportConnectionsCertORI | reportConnectionsKeysORI } ---события информационного взаимодействия пользователей в ИС ОРИ reportConnectionsDataORI TAGGED::= { OID {sorm-report-connection-ori-data} DATA SEQUENCE OF ConnectionDataORIRecord } ConnectionDataORIRecord::= SEQUENCE { telco-id TelcoID, - идентификатор ИС ОРИ arrive-datetime DateAndTime, ---дата и время поступления информации datetime DateAndTime, ---дата и время service-id INTEGER (0.. 65535), ---идентификатор сервиса (расшифровывается по справочнику) abonent-identifier UserIdentifier, ---идентификатор пользователя abonent-technical-identifier SEQUENCE OF UserTechnicalIdentifier, - технические данные, идентифицирующие пользователя event-id INTEGER (0.. 65535), - тип события (расшифровывается по справочнику) contacts-identifier SEQUENCE OF UserIdentifier, ---идентификаторы контактов abonent-location [0] Locationinfo OPTIONAL, ---местоположение пользователя resource-identifier [1] ResourceIdentifier OPTIONAL, ---ресурс resource-info [2] ResourceMetadataInfoORI OPTIONAL, ---техническая информация о ресурсе owner-identifier [3] UserIdentifier OPTIONAL, ---идентификатор владельца ресурса message-text [4] UTF8String OPTIONAL, ---текст сообщения без разметки и иной служебной коммуникационной информации payment-id [5] PaymentInfoORI OPTIONAL, ---техническая информация о платеже stream-id [6] ORIStreamID OPTIONAL ---идентификатор содержимого } ResourceMetadataInfoORI::= CHOICE { files-metadata [0] SEQUENCE OF FileMetadata, stream-metadata [1] StreamMetadata } ---техническая информация о файловых данных FileMetadata::= SEQUENCE { filename UTF8String (SIZE (1.. 256)), filesize INTEGER, file-type UTF8String (SIZE (1.. 256)) OPTIONAL ---MIME-тип данных для файла } ---техническая информация о потоковых данных StreamMetadata::= SEQUENCE { timestamp [0] GeneralizedTime OPTIONAL, duration [1] INTEGER OPTIONAL, start-offset [2] INTEGER OPTIONAL, stop-offset [3] INTEGER OPTIONAL } PaymentInfoORI::= SEQUENCE { payment-identifier UTF8String (SIZE (1.. 128)), ---идентификатор транзакции, счета, кошелька payment-service-id INTEGER (0.. 65535), ---идентификатор платежного сервиса (расшифровывается по справочнику) payment-info UTF8String (SIZE (1.. 4096)) OPTIONAL ---дополнительная информация } ---события добавления/исключения связанных пользователей reportConnectionsLinkORI TAGGED::= { OID {sorm-report-connection-ori-link} DATA SEQUENCE OF ConnectionLinkORIRecord } ConnectionLinkORIRecord::= SEQUENCE { telco-id TelcoID, - идентификатор ИС ОРИ, arrive-datetime DateAndTime, ---дата и время поступления информации datetime DateAndTime, - дата и время service-id INTEGER (0.. 65535), ---идентификатор сервиса (расшифровывается по справочнику) abonent-id UserIdentifier, ---идентификатор пользователя, устанавливающего связь event-id INTEGER (0.. 65535), ---тип события (расшифровывается по справочнику) linked-identifier LinkedIdentifier - идентификатор объекта, с которым установлена связь } LinkedIdentifier::= CHOICE { connected-user-identifier [0] UserIdentifier, ---идентификатор пользователя connected-resource-identifier [1] ResourceIdentifier ---ресурс } ---события регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса reportConnectionsAAAORI TAGGED::= { OID {sorm-report-connection-ori-aaa} DATA SEQUENCE OF ConnectionAAAORIRecord } ConnectionAAAORIRecord::= SEQUENCE { telco-id TelcoID, - идентификатор ИС ОРИ, arrive-datetime DateAndTime, ---дата и время поступления информации datetime DateAndTime, ---дата и время service-id INTEGER (0.. 65535), ---идентификатор сервиса (расшифровывается по справочнику) abonent-identifier UserIdentifier, ---идентификатор пользователя abonent-technical-identifier SEQUENCE OF UserTechnicalIdentifier, - технические данные, идентифицирующие пользователя event-id INTEGER (0.. 65535), ---тип события (расшифровывается по справочнику) abonent-location [0] LocationInfo OPTIONAL ---местоположение пользователя } ---содержимое изображений, звуков, голосовой информации, видео-и иных электронных сообщений reportConnectionsStreamsContentORI TAGGED::= { OID {sorm-report-connection-ori-streams-content} DATA ConnectionsStreamsContentORIRecords } ConnectionsStreamsContentORIRecords::= CHOICE { flow-data [0] SEQUENCE OF ConnectionsStreamsContentORIRecordFlow, file-data [1] SEQUENCE OF ConnectionsStreamsContentORIRecordFile } ConnectionsStreamsContentORIRecordFlow::= SEQUENCE { data OCTET STRING (SIZE (1..1048576)), ---содержимое блока codec UTF8String (SIZE (1.. 4096)) OPTIONAL, ---описание способа кодирования в формате SDP в соответствии с форматом RFC 2327; direction StreamsContentORIDirection OPTIONAL ---направление передачи } StreamsContentORIDirection::= ENUMERATED { client-server (0), server-client (1) } ConnectionsStreamsContentORIRecordFile::= OCTET STRING (SIZE (1.. 1048576)) reportConnectionsCertORI TAGGED::= { OID {sorm-report-connection-ori-cert} DATA SEQUENCE OF ConnectionCertORIRecord } ConnectionCertORIRecord::= SEQUENCE { telco-id TelcoID, arrive-datetime DateAndTime, datetime-from DateAndTime, datetime-to DateAndTime OPTIONAL, client NetworkPeerInfo, server NetworkPeerInfo, client-random OCTET STRING (SIZE (1.. 512)), pre-master-key OCTET STRING (SIZE (1.. 512)), server-random [0] OCTET STRING (SIZE (1.. 512)) OPTIONAL } reportConnectionsKeysORI TAGGED::= { OID {sorm-report-connection-ori-keys} DATA SEQUENCE OF ConnectionKeysORIRecord } ConnectionKeysORIRecord::= SEQUENCE { telco-id TelcoID, arrive-datetime DateAndTime, datetime-from DateAndTime, datetime-to [0] DateAndTime OPTIONAL, as-server [1] INTEGER OPTIONAL, as-client [2] INTEGER OPTIONAL, client NetworkPeerInfo, server NetworkPeerInfo, client-random OCTET STRING (SIZE (1.. 512)), pre-master-key OCTET STRING (SIZE (1.. 512)), server-random [0] OCTET STRING (SIZE (1.. 512)) OPTIONAL, sni [1] UTF8String (SIZE (1.. 128)) OPTIONAL, user-id [2] UTF8String (SIZE (1.. 64)) OPTIONAL, user-login [3] UTF8String (SIZE (1.. 64)) OPTIONAL, key-exchange [4] UTF8String (SIZE (1.. 16)) OPTIONAL, chipher-suite [5] INTEGER OPTIONAL, client-region [6] UTF8String (SIZE (1.. 10)) OPTIONAL, server-region [7] UTF8String (SIZE (1.. 10)) OPTIONAL, service-name [8] UTF8String (SIZE (1.. 16)) OPTIONAL } END ___________________________________________________________________________ ReportsPresense.asn ReportsPresense DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS PresenseReport; IMPORTS TAGGED, sorm-report-presense-dictionaries, sorm-report-presense-abonents-ori, sorm-report-presense-connections-ori FROM Classification FindRange FROM Sorm TelcoID FROM Tasks; ---отчет по запросу наличия информации PresenseReport::= SEQUENCE { id TAGGED.&id ({ReportedPresensesVariants}), data TAGGED.&Data ({ReportedPresensesVariants}{@id}) } ReportedPresensesVariants TAGGED::= { dictionariesPresence ---отчет по наличию информации по справочникам | abonentsORIPresence ---отчет по наличию информации по данным о пользователях ОРИ и их идентификаторам | connectionsORIPresence ---отчет по наличию информации по соединениям пользователя ОРИ } ---отчет по наличию информации по справочникам ---если какой-либо из справочников не публикуется ИС СОРМ, запись о нем отсутствует dictionariesPresence TAGGED::= { OID {sorm-report-presense-dictionaries} DATA SEQUENCE OF DictionaryInfo } ---запись отчета о наличии справочной информации DictionaryInfo::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ dict ObjectDescriptor, - тип справочника, по которому есть информация count INTEGER (1.. 4294967295), ---количество записей в справочнике change-dates FindRange ---минимальная и максимальная дата, минимальное и максимальное время изменения записей в справочнике } ---отчет по наличию информации по данным о пользователях ОРИ и их идентификаторам abonentsORIPresence TAGGED::= { OID {sorm-report-presense-abonents-ori} DATA SEQUENCE OF AbonentsORIPresenseRecord } AbonentsORIPresenseRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ range FindRange, ---интервал времени, на который имеются данные в ИС ОРИ count INTEGER, ---количество записей service-id INTEGER (0.. 65535) OPTIONAL ---идентификатор сервиса } ---отчет по наличию информации по соединениям пользователя ОРИ connectionsORIPresence TAGGED::= { OID {sorm-report-presense-connections-ori} DATA SEQUENCE OF ConnectionsORIPresenseRecord } ConnectionsORIPresenseRecord::= SEQUENCE { telco-id TelcoID, ---идентификатор ИС ОРИ range FindRange, ---интервал времени, на который имеются данные в ИС ОРИ count INTEGER, ---количество записей data-type ConnectionsORIPresenseType, ---вид событий в ИС ОРИ, информация по которым есть в ИС СОРМ service-id INTEGER (0.. 65535) OPTIONAL ---идентификатор сервиса } ConnectionsORIPresenseType::= ENUMERATED { data (0), ---записи об информационном взаимодействии пользователей в ИС ОРИ link (1), ---записи о добавлении/исключении связанных пользователей aaa (2), - записи о регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса certs (3), keys (4) } END ___________________________________________________________________________ ReportsUNI.asn ReportsUNI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS reportMessageUNI; IMPORTS TAGGED, sorm-message-report-uni FROM Classification ObjectUNI FROM Tasks Acknowledgement FROM Reports reportConnectionsDataORI, reportConnectionsLinkORI, reportConnectionsAAAORI, reportConnectionsStreamsContentORI FROM ReportsConnectionsORI; reportMessageUNI TAGGED::= { OID {sorm-message-report-uni} DATA CHOICE { report [0] ReportUNI, - тип сообщения "отчет" ack [1] Acknowledgement - тип сообщения "подтверждение" } } ---Блок данных сообщения типа "отчет" ReportUNI::= SEQUENCE { object-unis SEQUENCE OF ObjectUNI, ---идентификаторы объектов наблюдения, по которым отобраны данные report-block ReportBlockUNI - блок данных отчета } ReportBlockUNI::= CHOICE { statistics [0] StatisticsReportedConnections, content [1] ContentReportBlockUNI } StatisticsReportedConnections::= SEQUENCE { id TAGGED.&id ({StatisticsReportedConnectionsVariants}), data TAGGED.&Data ({StatisticsReportedConnectionsVariants}{@id}) } StatisticsReportedConnectionsVariants TAGGED::= { reportConnectionsDataORI ---события информационного взаимодействия пользователей в ИС ОРИ | reportConnectionsLinkORI ---события добавления/исключения связанных пользователей | reportConnectionsAAAORI ---события регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса } ContentReportBlockUNI::= SEQUENCE { report-block ContentReportedConnections, ---блок данных отчета stream-id ORIStreamID, ---идентификатор содержимого last-block BOOLEAN ---признак последнего блока } ContentReportedConnections::= SEQUENCE { id TAGGED.&id ({ContentReportedConnectionsVariants}), data TAGGED.&Data ({ContentReportedConnectionsVariants}{@id}) } ContentReportedConnectionsVariants TAGGED::= { reportConnectionsStreamsContentORI ---содержимое изображений, звуков, голосовой информации, видео-и иных электронных сообщений } END ___________________________________________________________________________ RequestedAbonentsORI.asn RequestedAbonentsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS RequestedAbonentsORI; IMPORTS TAGGED, sorm-request-abonent-ori FROM Classification UserID FROM IdentifiersORI; RequestedAbonentORI:= SEQUENCE { id TAGGED.&id ({RequestedAbonentORIVariants}), data TAGGED.&Data ({RequestedAbonentORIVariants)(@id}) } RequestedAbonentORIVariants TAGGED::= { requestedORIabonent } requestedORIabonent TAGGED::= { OID {sorm-request-abonent-ori} DATA CHOICE { user-id [0] UserID, ---идентификатор пользователя nick-name [1] UTF8String (SIZE (1.. 1024)), ---псевдоним пользователя given-name [2] UTF8String (SIZE (1.. 128)), ---имя initial [3] UTF8String (SIZE (1.. 128)), ---отчество (при наличии) family-name [4] UTF8String (SIZE (1.. 128)), ---фамилия address [5] RequestedAddressORI, ---адресные данные passport [6] RequestedPassportORI, ---паспортные данные relatives [7] UserID, ---идентификатор родственника msisdn [8] UTF8String (SIZE (1.. 64)), ---номер телефона пользователя email [9] UTF8String (SIZE (1.. 256)), ---электронная почта пользователя im-id [10] UTF8String (SIZE (1.. 256)), ---идентификатор в сетях мгновенного обмена сообщениями contract [11] UTF8String (SIZE (1.. 64)) ---номер договора } } RequestedAddressORI::= SEQUENCE { country [0] UTF8String (SIZE (1.. 128)) OPTIONAL, ---страна region [1] UTF8String (SIZE (1.. 128)) OPTIONAL, ---область city [2] UTF8String (SIZE (1.. 128)) OPTIONAL, ---город, поселок, деревня, населенный пункт street [3] UTF8String (SIZE (1.. 128)) OPTIONAL, ---улица building [4] UTF8String (SIZE (1.. 128)) OPTIONAL, ---дом, строение apartment [5] UTF8String (SIZE (1.. 128)) OPTIONAL ---квартира, офис } RequestedPassportORI::= SEQUENCE { passport-serial [0] UTF8String (SIZE (1.. 16)) OPTIONAL, ---серия паспорта passport-number [1] UTF8String (SIZE (1.. 16)) OPTIONAL ---номер паспорта } END ___________________________________________________________________________ RequestedConnectionsORI.asn RequestedConnectionsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS RequestedConnectionORI; IMPORTS TAGGED, sorm-request-connection-ori-data-standart, sorm-request-connection-ori-data-extended, sorm-request-connection-ori-link, sorm-request-connection-ori-aaa, sorm-request-connection-ori-streams-content, sorm-request-connection-ori-cert, sorm-request-connection-ori-keys FROM Classification UserID, UserTechnicalIdentifier, ResourceName, ORIStreamID FROM IdentifiersORI NetworkPeerInfo FROM NetworkIdentifiers LocationInfo FROM Locations; RequestedConnectionORI::= SEQUENCE { id TAGGED.&id ({RequestedConnectionORIVariants}), data TAGGED.&Data ({RequestedConnectionORIVariants}{@id}) } RequestedConnectionORIVariants TAGGED::= { requestedORIDataStandart ---события информационного взаимодействия пользователей в ИС ОРИ (базовый набор критериев) | requestedORIDataExtended ---события информационного взаимодействия пользователей в ИС ОРИ (расширенный набор критериев) | requestedORILink ---события добавления/исключения связанных пользователей | requestedORIAAA ---события регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса | requestedORIStreamsContent ---содержимое изображений, звуков, голосовой информации, видео-и иных электронных сообщений | requestedORICert | requestedORIKeys } ---события информационного взаимодействия пользователей в ИС ОРИ (базовый набор критериев) requestedORIDataStandart TAGGED::= { OID {sorm-request-connection-ori-data-standart} DATA CHOICE { abonent-id [0] UserID, ---идентификатор пользователя abonent-technical-identifier [1] UserTechnicalIdentifier ---технические данные, идентифицирующие пользователя } } ---события информационного взаимодействия пользователей в ИС ОРИ (расширенный набор критериев) requestedORIDataExtended TAGGED::= { OID {sorm-request-connection-ori-data-extended} DATA CHOICE { service-id [0] INTEGER (0.. 65535), ---идентификатор сервиса (расшифровывается по справочнику) abonent-id [1] UserID, ---идентификатор абонента abonent-technical-identifier [2] UserTechnicalIdentifier, ---технические данные, идентифицирующие абонента abonent-location [3] LocationInfo, ---местоположение абонента contact-id [4] UserID, ---идентификатор контакта resource-name [5] ResourceName, ---наименование ресурса event-id [6] INTEGER (0.. 65535), ---тип события (расшифровывается по справочнику) owner-id [7] UserID, ---идентификатор владельца ресурса message-text [8] UTF8String, ---текст сообщения без разметки и иной служебной коммуникационной информации payment-identifier [9] UTF8String(SIZE (1.. 128)), ---идентификатор платежа payment-info [10] UTF8String (SIZE (1.. 4096)) ---платежная информация } } ---события добавления/исключения связанных пользователей requestedORILink TAGGED::= { OID {sorm-request-connection-ori-link} DATA CHOICE { user-id [0] UserID, ---идентификатор пользователя, установившего связь connected-user-id [1] UserID, ---идентификатор пользователя, с которым установили связь connected-resource-name [2] ResourceName ---наименование ресурса, с которым установили связь } } ---события регистрации, прекращения регистрации, авторизации, выхода из информационного сервиса requestedORIAAA TAGGED::= { OID {sorm-request-connection-ori-aaa} DATA CHOICE { service-id [0] INTEGER (0.. 65535), ---идентификатор сервиса (расшифровывается по справочнику) user-id [1] UserID, ---идентификатор пользователя user-technical-identifier [2] UserTechnicalIdentifier, ---технические данные, идентифицирующие пользователя user-location [3] LocationInfo, ---местоположение пользователя event-id [4] INTEGER (0.. 65535) ---тип события (расшифровывается по справочнику) } } ---содержимое изображений, звуков, голосовой информации, видео-и иных электронных сообщений requestedORIStreamsContent TAGGED::= { OID {sorm-request-connection-ori-streams-content} DATA ORIStreamsContentRequest } ORIStreamsContentRequest::= SEQUENCE { stream-id ORIStreamID, ---идентификатор запрашиваемых данных duration [1] INTEGER OPTIONAL, ---длительность потоковых данных start-offset [2] INTEGER OPTIONAL, ---начальное смещение потоковых данных stop-offset [3] INTEGER OPTIONAL ---конечное смещение потоковых данных } requestedORICert TAGGED::= { OID {sorm-request-connection-ori-cert} DATA CHOICE { client [0] NetworkPeerInfo, server [1] NetworkPeerInfo } } requestedORIKeys TAGGED::= { OID (sorm-request-connection-ori-keys) DATA CHOICE { as-server [0] INTEGER, as-client [1] INTEGER, client [2] NetworkPeerInfo, server [3] NetworkPeerInfo, sni [4] UTF8String (SIZE (1.. 128)), user-id [5] UTF8String (SIZE (1.. 64)), user-login [6] UTF8String (SIZE (1.. 64)), client-region [7] UTF8String (SIZE (1.. 10)), server-region [8] UTF8String (SIZE (1.. 10)), service-name [9] UTF8String (SIZE (1.. 16)) } } END ___________________________________________________________________________ Sessions.asn Sessions DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS sessionMessage; IMPORTS TAGGED, sorm-message-session FROM Classification; - document.segment-2 Verify source ↗
О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571 — segment 2
This provision defines SORM session and task message structures and field ranges for protocol data.
sessionMessage TAGGED::={ OID {sorm-message-session} DATA CHOICE { connect [0] ConnectRequest, ---запрос на открытие сессии connect-response [1] ConnectResponse, ---ответ на запрос открытия сессии adjustment [2] AdjustmentRequest, ---согласование поддерживаемых типов со стороны ПУ adjustment-response [3] AdjustmentResponse, ---ответ на запрос согласования данных disconnect [4] DisconnectRequest, ---запрос на закрытие сессии disconnect-response [5] DisconnectResponse ---ответ на запрос закрытия сессии } } ---запрос на открытие сессии ConnectRequest::= SEQUENCE { session-timeout INTEGER (60.. 2592000), ---максимальное время неактивности max-data-length INTEGER (10.. 100000), ---максимальная длина блока отчета (в строках) data-packet-window-size INTEGER (4.. 256), ---окно канала передачи данных (максимальное число) блоков данных, которое может быть отправлено без подтверждения приема data-load-timeout INTEGER (1.. 60), ---таймаут начала передачи блоков отчетов request-response-timeout INTEGER (1.. 60), ---таймаут ответа на запрос data-packet-response-timeout INTEGER (1.. 60) ---таймаут подтверждения приема блока данных отчета } ---ответ на запрос создания сессии ConnectResponse::= SEQUENCE { confirmed-data-packet-window-size INTEGER (4.. 256), ---подтвержденное окно передачи данных (окно, которое может обеспечить ИС СОРМ); должно быть меньше или равно окну, переданному в сообщении ConnectRequest confirmed-session-timeout INTEGER (60.. 2592000), ---подтвержденное максимальное время неактивности; должно быть больше или равно значению времени, переданному в сообщении ConnectRequest confirmed-data-load-timeout INTEGER (1.. 60), ---подтвержденный таймаут начала передачи блоков отчетов; должен быть больше или равен значению таймаута, переданному в сообщении ConnectRequest confirmed-request-response-timeout INTEGER (1.. 60), ---подтвержденный таймаут ответа на запрос; должен быть больше или равен значению таймаута, переданному в сообщении ConnectRequest supports SEQUENCE OF ObjectDescriptor ---весь список поддерживаемых СОРМ типов запросов, типов отчетов } ---согласование поддерживаемых типов со стороны ПУ AdjustmentRequest::= SEQUENCE { supports SEQUENCE OF ObjectDescriptor ---список поддерживаемых ПУ типов запросов, типов отчетов; данный список должен быть меньшим либо равным списку в сообщении ConnectRequest } ---ответ на запрос согласования данных AdjustmentResponse::= NULL ---запрос на закрытие сессии DisconnectRequest::= NULL ---ответ на запрос закрытия сессии DisconnectResponse::= NULL END ___________________________________________________________________________ Sorm.asn Sorm DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS DateAndTime, FindRange, MessageID; IMPORTS TAGGED FROM Classification sessionMessage FROM Sessions trapMessage FROM Traps taskMessage FROM Tasks reportMessage FROM Reports managementMessage FROM Management unformatted Message FROM Unformatted reportMessageUNI FROM ReportsUNI Version::= PrintableString vers Version::= "3.0.0" ---текущая версия протокола ---Оболочка сообщения СОРМ Message::= SEQUENCE { version Version DEFAULT vers, ---версия протокола message-id MessageID, ---номер запроса message-time DateAndTime, ---время и дата запроса operator-name PrintableString (SIZE (1.. 128)) OPTIONAL, - наименование оператора связи id TAGGED.&id ({SormPDUs}), ---идентификатор блока данных data TAGGED.&Data ({SormPDUs}{@id}) ---данные блока данных } ---Блок данных сообщения SormPDUs TAGGED::= { sessionMessage ---сообщения организации сессии | trapMessage ---сообщения сигналов | taskMessage ---сообщения работы с задачами | reportMessage ---сообщения работы с отчетами | managementMessage ---сообщения канала передачи мониторинга (КПМ) | unformattedMessage ---сообщения канала передачи неформатированных данных (КПНФ) | reportMessageUNI ---сообщения с отобранными по объектам контроля данными } ---Номер сообщения MessageID::= INTEGER (0.. 4294967295) ---Дата и время DateAndTime::= UTCTime ---Диапазон поиска FindRange::= SEQUENCE { begin-find [0] DateAndTime OPTIONAL, ---время и дата начала поиска информации end-find [1] DateAndTime OPTIONAL ---время и дата окончания поиска информации } END ___________________________________________________________________________ Sorm743.set.asn Classification.asn Dictionaries.asn IdentifiersORI.asn Locations.asn Management.asn NetworkIdentifiers.asn Reports.asn ReportsAbonentsORI.asn ReportsConnectionsORI.asn ReportsPresense.asn ReportsUNI.asn RequestedAbonentsORI.asn RequestedConnectionsORI.asn Sessions.asn Sorm.asn Tasks.asn TasksAbonentsORI.asn TasksConnectionsORI.asn TasksPresense.asn TasksUNI.asn Traps.asn Unformatted.asn ___________________________________________________________________________ Tasks.asn Tasks DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS taskMessage, TaskID, TelcoID, TelcoList, LogicalOperation, CreateTaskResponse; IMPORTS TAGGED, sorm-message-task FROM Classification FindRange, MessageID FROM Sorm DictionaryTask FROM Dictionaries PresenseTask FROM TasksPresense AbonentsORITask FROM TasksAbonentsORI ConnectionsORITask FROM TasksConnectionsORI; UNIControlTaskRequest, UNIControlTaskResponse FROM TasksUNI; taskMessage TAGGED::= { OID {sorm-message-task} DATA CHOICE { data-ready-request [0] DataReadyRequest, ---запрос готовности данных data-ready-response [1] DataReadyResponse, ---ответ на запрос готовности данных data-load-request [2] DataLoadRequest, ---запрос загрузки данных data-load-response [3] DataLoadResponse, ---ответ на запрос загрузки данных data-drop-request [4] DataDropRequest, ---запрос удаления данных data-drop-response [5] DataDropResponse, ---ответ на запрос удаления данных data-interrupt-request [6] DataInterruptRequest, ---запрос прерывания загрузки данных data-interrupt-response [7] DataInterruptResponse, ---ответ на запрос прерывания загрузки данных create-task-request [8] CreateTaskRequest, ---запрос на создание задачи по обработке информации create-task-response [9] CreateTaskResponse, ---ответ на запрос создания задачи uni-task-request [12] UNIControlTaskRequest, ---запрос на постановку/снятие объекта наблюдения на контроль uni-task-response [13] UNIControlTaskResponse ---ответ на запрос постановки/снятия объекта наблюдения с контроля } } ---запрос готовности данных DataReadyRequest::= NULL ---ответ на запрос готовности данных DataReadyResponse::= SEQUENCE OF DataReadyTaskRecord DataReadyTaskRecord::= SEQUENCE { task-id TaskID, ---идентификатор задачи result TaskResult ---результат выполнения задачи } TaskResult::= SEQUENCE { result TaskStatus, report-records-number [0] INTEGER (0.. 999999999999) OPTIONAL, ---для выполненной задачи количество записей в отчете report-limit-exeeded [1] BOOLEAN OPTIONAL, ---количество записей превысило лимит, заданный при создании задачи error-description [2] UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание произошедшей ошибки, если обнаружена } TaskStatus::= ENUMERATED { data-not-ready (0), ---данные не готовы, задача еще выполняется data-ready (1), ---данные есть, задача выполнена data-not-found (2), ---данных нет, задача выполнена error (3) ---в процессе выполнения задачи произошла ошибка } ---запрос загрузки данных DataLoadRequest::= TaskID ---ответ на запрос загрузки данных DataLoadResponse::= SEQUENCE { task-id TaskID, ---идентификатор задачи, сгенерировавшей данный отчет data-exists BOOLEAN, ----признак существования результатов исполнения задачи (есть данные или нет) data-blocks-number INTEGER (0.. 999999999999) OPTIONAL, ---количество блоков в отчете error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } ---запрос удаления данных DataDropRequest::= TaskID ---ответ на запрос удаления данных DataDropResponse::= SEQUENCE { task-id TaskID, ---идентификатор задачи, данные которой будут удалены successful BOOLEAN, ---признак успешного выполнения запроса error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } ---запрос прерывания загрузки данных DataInterruptRequest::= TaskID ---ответ на запрос прерывания загрузки данных DataInterruptResponse::= SEQUENCE { request-id MessageID, ---идентификатор прерванного запроса загрузки данных successful BOOLEAN, ---признак успешного выполнения запроса data-blocks-available INTEGER (0.. 999999999999) OPTIONAL, ---количество оставшихся непереданными блоков error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } ---запрос на создание задачи по обработке информации CreateTaskRequest::= SEQUENCE { telcos [0] TelcoList OPTIONAL, ---список ИС ОРИ (других обслуживаемых ОРИ) range [1] FindRange OPTIONAL, ---временной диапазон поиска report-limit [2] INTEGER (1.. 10000000) OPTIONAL, ---ограничение на максимальное количество возвращаемых записей task [3] CHOICE { dictionary [0] DictionaryTask, ---задачи пополнения справочников (нормативно-справочная информация) presense [6] PresenseTask, ---задачи предоставления сведений о наличии данных abonents-ori [7] AbonentsORITask, ---задачи поисков по принадлежности абонентов организаторов распространения информации connections-ori [8] ConnectionsORITask ---задачи поисков по соединениям абонентов организаторов распространения информации }, find-by-arrive-time BOOLEAN OPTIONAL ---режим поиска информации (true - по дате и времени поступления; false - по дате и времени события; по умолчанию - false) } ---ответ на запрос создания задачи CreateTaskResponse::= SEQUENCE { task-id TaskID OPTIONAL, ---идентификатор задачи successful BOOLEAN, ---признак успешного выполнения запроса error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } ---идентификатор задачи TaskID::= INTEGER (0.. 4294967295) ---идентификатор ОРИ или коммуникационного интернет-сервиса ИС ОРИ TelcoID::= INTEGER (0.. 65535) ---список ИС ОРИ (других обслуживаемых ОРИ) TelcoList::= SEQUENCE OF TelcoID ---идентификатор объекта наблюдения ObjectUNI::= INTEGER (0.. 4294967295) LogicalOperation::= ENUMERATED { operation-open-bracket (0), ---открывающая скобка - "(" operation-close-bracket (1), ---закрывающая скобка - ")" operation-or (2), ---логическое "или" operation-and (3), - логическое "и" operation-not (4) - логическое "не" } END ___________________________________________________________________________ TasksAbonentsORI.asn TasksAbonentsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS AbonentsORITask; IMPORTS LogicalOperation FROM Tasks RequestedAbonentORI FROM RequestedAbonentsORI; ---Заданный при поиске временной интервал применяется к дате и времени регистрации (datetime-registered) AbonentsORITask::= CHOICE { validate-abonents [0] ValidateAbonentsORITask } ValidateAbonentsORITask::= RequestedAbonentORIIdentifiers RequestedAbonentORIIdentifiers::= SEQUENCE OF RequestedAbonentORIIdentifier RequestedAbonentORIIdentifier::= CHOICE { separator [0] LogicalOperation, find-mask [1] RequestedAbonentORI } END ___________________________________________________________________________ TasksConnectionsORI.asn TasksConnectionsORI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS ConnectionsORITask; IMPORTS LogicalOperation FROM Tasks RequestedConnectionORI FROM RequestedConnectionsORI; ConnectionsORITask::= CHOICE { validate-standart [0] ValidateStandartTask, ---используется для запросов стандартного класса сложности (sorm-request-connection-ori-data-standart; sorm-request-connection-ori-link; sorm-request-connection-ori-aaa) validate-extended [1] ValidateExtendedTask, ---используется для расширенных запросов (sorm-request-connection-ori-data-extended) validate-streams-content [2] ValidateStreamsContentTask, ---используется для получения содержимого изображений, звуков, голосовой информации, видео-и иных электронных сообщений (sorm-request-connection-ori-streams-content) valide-keys [3] ValidateTaskF1 } ValidateStandartTask::= RequestedConnectionIdentifiersORI ValidateExtendedTask::= RequestedConnectionIdentifiersORI ValidateStreamsContentTask::= RequestedConnectionORI ValidateTaskF1::= RequestedConnectionIdentifiersORI RequestedConnectionIdentifiersORI::= SEQUENCE OF RequestedConnectionParameterORI RequestedConnectionParameterORI::= CHOICE { separator [0] LogicalOperation, find-mask [1] RequestedConnectionORI } END ___________________________________________________________________________ TasksPresense.asn TasksPresense DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS PresenseTask; IMPORTS TAGGED, sorm-request-presense FROM Classification; PresenseTask::= SEQUENCE { id TAGGED.&id ({PresenseListVariants}), data TAGGED.&Data ({PresenseListVariants}{@id}) } PresenseListVariants TAGGED::= {presenseinfo} presenseInfo TAGGED::= { OID {sorm-request-presense} DATA RequestPresenseData } RequestPresenseData::= ENUMERATED { dictionaries (3), ---запрос наличия справочников abonents-ori (5), ---запрос наличия информации по данным о пользователях ОРИ и их идентификаторам connections-ori (6) ---запрос наличия информации по соединениям пользователя ОРИ } END ___________________________________________________________________________ TasksUNI.asn TasksUNI DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS UNIControlTaskRequest, UNIControlTaskResponse; IMPORTS TAGGED FROM Classification UserID, UserTechnicalIdentifier FROM IdentifiersORI TelcoList, ObjectUNI FROM Tasks; UNIControlTaskRequest::= CHOICE { create-uni [0] CreateUNIRequest, ---запрос на создание объекта наблюдения и постановки его на контроль drop-uni [1] DropUNIRequest ---запрос на снятие объекта наблюдения с контроля и удаление объекта наблюдения get-uni [2] GetUNIRequest ---запрос на получение списка объектов наблюдения установленных на контроль } UNIControlTaskResponse::= CHOICE { create-uni [0] CreateUNIResponse, ---ответ на запрос создания объекта наблюдения и постановки его на контроль drop-uni [1] DropUNIResponse ---ответ на запрос снятия объекта наблюдения с контроля и удаление объекта наблюдения get-uni [2] GetUNIResponse ---ответ на запрос на получение списка объектов наблюдения установленных на контроль } CreateUNIRequest::= SEQUENCE { uni-id ObjectUNI, ---идентификатор объекта наблюдения, переданный ПУ uni-criteria UNIParameterORI, ---критерии отбора для объекта наблюдения content-load BOOLEAN, ---режим выгрузки содержимого (true - статистика и содержимое; false - только статистика) telcos TelcoList OPTIONAL ---список ИС ОРИ (других обслуживаемых ОРИ) } UNIParameterORI::= CHOICE { user-id [0] UserID, ---идентификатор пользователя в системе (имя пользователя) user-technical-identifier [1] UserTechnicalIdentifier, ---технические данные, идентифицирующие пользователя resource-name [2] UTF8String (SIZE (1.. 4096)) ---наименование ресурса } CreateUNIResponse::= SEQUENCE { uni-successful BOOLEAN, ---признак успешной постановки объекта наблюдения на контроль uni-error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } DropUNIRequest::= ObjectUNI ---идентификатор объекта наблюдения для снятия с контроля DropUNIResponse::= SEQUENCE { uni-successful BOOLEAN, - признак успешного снятия объекта наблюдения с контроля uni-error-description UTF8String (SIZE (1.. 256)) OPTIONAL ---краткое описание ошибки, если обнаружена } GetUNIRequest::= NULL GetUNIResponse::= SEQUENCE OF UNIResponse UNIResponse::= SEQUENCE { uni-id ObjectUNI, ---идентификатор объекта наблюдения, переданный ПУ uni-criteria UNIParameterORI, ---критерии отбора для объекта наблюдения content-load BOOLEAN, ---режим выгрузки содержимого (true - статистика и содержимое; false - только статистика) telcos TelcoList OPTIONAL - список филиалов ОРИ (других обслуживаемых ОРИ) } END ___________________________________________________________________________ Traps.asn Traps DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS trapMessage; IMPORTS TAGGED, sorm-message-trap FROM Classification MessageID FROM Sorm; trapMessage TAGGED::= { OID {sorm-message-trap} DATA CHOICE { trap [0] Trap, ---тип сообщения "сигнал" trap-ack [1] TrapAck ---тип сообщения "подтверждение сигнала" } } ---блок данных сообщения типа "сигнал" Trap::= SEQUENCE { trap-type TrapType, ---тип сообщения trap-message UTF8String (SIZE (1.. 256)) OPTIONAL, ---описание сообщения reference-message MessageID OPTIONAL ---номер сообщения, к которому относится данный сигнал } TrapType::= ENUMERATED { heartbeat (0), ---тестовый пакет restart-software (1), ---перезапуск ПО unauthorized-access (2), ---попытка несанкционированного доступа critical-error (3), ---критическая ошибка ПО, потеря данных, дальнейшая работа невозможна major-error (4), ---серьезная ошибка ПО, потеря данных, но дальнейшая работа возможна minor-error (5) ---незначительная ошибка ПО, данные не потеряны, дальнейшая работа возможна } ---блок данных сообщения типа "подтверждение сигнала" (номер сообщения TrapAck должен соответствовать номеру сообщения Trap) TrapAck::= NULL END ___________________________________________________________________________ Unformatted.asn Unformatted DEFINITIONS IMPLICIT TAGS::= BEGIN EXPORTS unformattedMessage; IMPORTS TAGGED, sorm-message-unformatted FROM Classification TelcoList FROM Tasks Acknowledgement FROM Reports ConnectionsORIReport FROM ReportsConnectionsORI AbonentsORIReport FROM ReportsAbonentsORI DateAndTime, MessageID FROM Sorm; unformattedMessage TAGGED::= { OID {sorm-message-unformatted} DATA CHOICE { request [0] RawRequest, response [1] RawResponse, report [2] RawReport, report-ack [3] RawAcknowledgement } } RawRequest::= SEQUENCE { telcos TelcoList, ---список ИС ОРИ (других обслуживаемых ОРИ) raw-task RawRequestTask ---запрос получения неформатированных данных } RawRequestTask::= CHOICE { data-types-request [0] DataTypesRequest, ---запрос проверки наличия вида неформатированных данных в ИС СОРМ data-start-request [1] DataStartRequest, ---запрос на начало передачи неформатированных данных data-stop-request [2] DataStopRequest ---запрос на остановку передачи неформатированных данных data-stop-typed-request [3] DataStopTypedRequest ---запрос на остановку передачи неформатированных данных по типу данных } DataStopTypedRequest::= RawDataType RawResponse::= CHOICE { data-types-response [0] DataTypesResponse, ---ответ на запрос проверки наличия вида неформатированных данных в ИС СОРМ data-start-response [1] DataStartResponse, ---ответ на запрос начала передачи неформатированных данных data-stop-response [2] DataStopResponse ---ответ на запрос остановки передачи неформатированных данных data-stop-typed-response [3] DataStopTypedResponse ---ответ на запрос остановки передачи неформатированных данных по типу данных } DataStopTypedResponse::= BOOLEAN ---признак успешности выполнения команды DataTypesRequest::= RawDataType DataTypesResponse::= SEQUENCE { successful BOOLEAN, ---признак наличия в ИС СОРМ запрошенного вида неформатированных данных selected-type RawDataType, ---выбранный вид данных для передачи time-from DateAndTime, ---начало временного периода в буфере, начиная с которого накоплены данные time-to DateAndTime ---конец временного периода в буфере, по которому накоплены данные } DataStartRequest::= SEQUENCE { time-from DateAndTime, ---начало временного периода в буфере, с которого необходимо получить данные time-to DateAndTime, ---конец временного периода в буфере, с которого необходимо получить данные raw-type RawDataType ---тип неформатированных данных передачи } DataStartResponse::= BOOLEAN DataStopRequest::= NULL DataStopResponse::= BOOLEAN ---типы данных, передаваемых ИС СОРМ RawDataType::= ENUMERATED { data-reports-ori (3), ---записи о соединениях абонентов организаторов распространения информации raw-ori (4) ---записи о соединениях абонентов организаторов распространения информации в бинарном виде data-reports-abonents-ori (5), ---записи о принадлежности абонентов организаторов распространения информации raw-abonents-ori (6), ---записи о принадлежности абонентов организаторов распространения информации в бинарном виде } RawReport::= SEQUENCE { request-id MessageID, ---идентификатор запроса stream-id UTF8String (SIZE (1.. 256)), ---идентификатор потока в сессии total-blocks-number INTEGER (0.. 999999999999), ---общее количество блоков в отчете block-number INTEGER (1.. 1000000000000), ---порядковый номер текущего блока report-block RawDataBlock ---блок данных отчета } RawDataBlock::= CHOICE { reports-ori [3] ConnectionsORIReport, raw-ori [4] RawBytesBlock reports-abonents-ori [5] AbonentsORIReport raw-abonents-ori [6] RawBytesBlock } RawBytesBlock::= SEQUENCE OF RawBytes RawBytes::= OCTET STRING (SIZE (1.. 4096)) RawAcknowledgement::= Acknowledgement END". 4. В приложении № 8: а) пункт 1 изложить в следующей редакции: "1. ПТС ОРИ должны обеспечивать подключение ПУ и обработку поступающих запросов по каналу кпд4 (канал неформатированных данных)."; б) пункт 4 дополнить абзацем следующего содержания: "ПТС ОРИ и (или) ИС ОРИ должны обеспечивать длительность хранения информации о принадлежности абонентов - 1 сутки со дня регистрации абонента в ИС ОРИ, длительность хранения информации о соединениях абонентов - 3 суток со дня наступления события."; в) дополнить пунктом 4.1 следующего содержания: "4.1. Посредством ПТС ОРИ обеспечивается запись в буфер информации о принадлежности абонентов, о соединениях абонентов организаторов распространения информации - файлы в формате "csv" в сжатом виде. Содержимое файлов, содержащих информацию о принадлежности абонентов, генерируется в соответствии с полями, описанными в структуре "AbonentsORIRecord" модуля "ReportsAbonentsORI.asn", содержащейся в приложении № 4 к настоящим требованиям, о соединениях абонентов организаторов распространения информации генерируется в соответствии с полями, описанными в структуре "ConnectionsAAAORIRecord" модуля "ReportsConnectionsORI.asn", содержащейся в приложении № 4 к настоящим требованиям.".
Provision text is displayed from LexChat’s stored statute record. Use the official source links to verify amendments, commencement, and current legal force.
Ask AI about this statute
О внесении изменений в Требования к оборудованию и программно-техническим средствам, используемым организатором распространения информации в сети "Интернет" в эксплуатируемых им информационных системах, для проведения уполномоченными государственными органами, осуществляющими оперативно-розыскную деятельность или обеспечение безопасности Российской Федерации, мероприятий в целях реализации возложенных на них задач, утвержденные приказом Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации от 29.10.2018 № 571
Sign in to ask AI about this statute
Sign in to start authenticated, citation-grounded statute research.
Sign inLexChat organizes source-backed legal information for research. Verify amendments, commencement, and current legal force with the official publisher before relying on it.