---
title: "Приказ Минцифры России от 12.07.2023 N 630"
number: "630"
issuer: "Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации"
issued_on: 2023-07-12
status: действует
canonical: "https://bukva.ai/docs/prikaz-630-2023-mintsifry-rossii-ministerstvo"
---

## Приказ Минцифры России от 12.07.2023 N 630

# Приказ Минцифры России от 12.07.2023 N 630

"О внесении изменений в приказ Минкомсвязи России от 29 октября 2018 г. N 573 "Об утверждении Требований к техническим и программным средствам информационных систем, содержащих базы данных абонентов оператора связи и предоставленных им услугах связи, а также информацию о пользователях услугами связи и о предоставленных им услугах связи, обеспечивающих выполнение установленных действий при проведении оперативно-розыскных мероприятий"

(Зарегистрировано в Минюсте России 05.09.2023 N 75102)

> [!IMPORTANT]
> Срок действия документа [ограничен](#p100007) 1 марта 2030 года.
> Начало действия документа - [01.03.2024](#p100007).
> В данном документе упоминаются организации, признанные в соответствии с законодательством Российской Федерации экстремистскими или террористическими. Данные организации ликвидированы или их деятельность запрещена.
> Актуальную информацию - см. Перечень экстремистских, террористических организаций (см. справочную информацию).


<a id="p100001"></a>Зарегистрировано в Минюсте России 5 сентября 2023 г. N 75102

---


<div align="center">

<a id="p100002"></a>**МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ**<br>
**И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ**

<a id="p100003"></a>**ПРИКАЗ**<br>
**от 12 июля 2023 г. N 630**

<a id="p100004"></a>**О ВНЕСЕНИИ ИЗМЕНЕНИЙ**<br>
**В ПРИКАЗ МИНКОМСВЯЗИ РОССИИ ОТ 29 ОКТЯБРЯ 2018 Г. N 573**<br>
**"ОБ УТВЕРЖДЕНИИ ТРЕБОВАНИЙ К ТЕХНИЧЕСКИМ И ПРОГРАММНЫМ**<br>
**СРЕДСТВАМ ИНФОРМАЦИОННЫХ СИСТЕМ, СОДЕРЖАЩИХ БАЗЫ ДАННЫХ**<br>
**АБОНЕНТОВ ОПЕРАТОРА СВЯЗИ И ПРЕДОСТАВЛЕННЫХ ИМ УСЛУГАХ**<br>
**СВЯЗИ, А ТАКЖЕ ИНФОРМАЦИЮ О ПОЛЬЗОВАТЕЛЯХ УСЛУГАМИ СВЯЗИ**<br>
**И О ПРЕДОСТАВЛЕННЫХ ИМ УСЛУГАХ СВЯЗИ, ОБЕСПЕЧИВАЮЩИХ**<br>
**ВЫПОЛНЕНИЕ УСТАНОВЛЕННЫХ ДЕЙСТВИЙ ПРИ ПРОВЕДЕНИИ**<br>
ОПЕРАТИВНО-РОЗЫСКНЫХ МЕРОПРИЯТИЙ"

</div>


<a id="p100005"></a>В соответствии со [статьями 41](https://bukva.ai/docs/zakon-126-fz-2003/statya-41#p100437) и [64](https://bukva.ai/docs/zakon-126-fz-2003/statya-64#p667) Федерального закона от 7 июля 2003 г. N 126-ФЗ "О связи", [пунктами 4](https://bukva.ai/docs/postanovlenie-538-2005#p3) и [12](https://bukva.ai/docs/postanovlenie-538-2005#p100043) Правил взаимодействия операторов связи с уполномоченными государственными органами, осуществляющими оперативно-разыскную деятельность, утвержденных постановлением Правительства Российской Федерации от 27 августа 2005 г. N 538, и [пунктами 5](https://bukva.ai/docs/postanovlenie-445-2018#p100015) - [8](https://bukva.ai/docs/postanovlenie-445-2018#p100020) Правил хранения операторами связи текстовых сообщений пользователей услугами связи, голосовой информации, изображений, звуков, видео- и иных сообщений пользователей услугами связи, утвержденных постановлением Правительства Российской Федерации от 12 апреля 2018 г. N 445, приказываю:
1. <a id="p100006"></a>Внести изменения в [приказ](https://bukva.ai/docs/prikaz-573-2018) Минкомсвязи России от 29 октября 2018 г. N 573 "Об утверждении Требований к техническим и программным средствам информационных систем, содержащих базы данных абонентов оператора связи и предоставленных им услугах связи, а также информацию о пользователях услугами связи и о предоставленных им услугах связи, обеспечивающих выполнение установленных действий при проведении оперативно-розыскных мероприятий" (зарегистрирован Министерством юстиции Российской Федерации 18 декабря 2018 г., регистрационный N 53028) согласно [приложению](#p100011) к настоящему приказу.
2. <a id="p100007"></a>Установить, что настоящий приказ вступает в силу с 1 марта 2024 г. и действует до 1 марта 2030 г.

<div align="right">

<a id="p100008"></a>Министр<br>
М.И.ШАДАЕВ

</div>






<div align="right">

<a id="p100010"></a>Приложение<br>
к приказу Министерства<br>
цифрового развития,<br>
связи и массовых коммуникаций<br>
Российской Федерации<br>
от 12.07.2023 N 630

</div>


<div align="center">

<a id="p100011"></a>**ИЗМЕНЕНИЯ,**<br>
**КОТОРЫЕ ВНОСЯТСЯ В ПРИКАЗ МИНКОМСВЯЗИ РОССИИ**<br>
**ОТ 29 ОКТЯБРЯ 2018 Г. N 573 "ОБ УТВЕРЖДЕНИИ ТРЕБОВАНИЙ**<br>
**К ТЕХНИЧЕСКИМ И ПРОГРАММНЫМ СРЕДСТВАМ ИНФОРМАЦИОННЫХ**<br>
**СИСТЕМ, СОДЕРЖАЩИХ БАЗЫ ДАННЫХ АБОНЕНТОВ ОПЕРАТОРА СВЯЗИ**<br>
**И ПРЕДОСТАВЛЕННЫХ ИМ УСЛУГАХ СВЯЗИ, А ТАКЖЕ ИНФОРМАЦИЮ**<br>
**О ПОЛЬЗОВАТЕЛЯХ УСЛУГАМИ СВЯЗИ И О ПРЕДОСТАВЛЕННЫХ ИМ**<br>
**УСЛУГАХ СВЯЗИ, ОБЕСПЕЧИВАЮЩИХ ВЫПОЛНЕНИЕ УСТАНОВЛЕННЫХ**<br>
**ДЕЙСТВИЙ ПРИ ПРОВЕДЕНИИ ОПЕРАТИВНО-РОЗЫСКНЫХ МЕРОПРИЯТИЙ"**

</div>


1. <a id="p100012"></a>[Дополнить](https://bukva.ai/docs/prikaz-573-2018) пунктом 3 следующего содержания:
<a id="p100013"></a>"3. Установить, что настоящий приказ действует до 1 марта 2030 г.".
2. <a id="p100014"></a>[Сноску 2](https://bukva.ai/docs/prikaz-573-2018#p100017) к пункту 2 Требований к техническим и программным средствам информационных систем, содержащих базы данных абонентов оператора связи и предоставленных им услугах связи, а также информацию о пользователях услугами связи и о предоставленных им услугах связи, обеспечивающих выполнение установленных действий при проведении оперативно-розыскных мероприятий, утвержденных приказом Минкомсвязи России от 29 октября 2018 г. N 573 (далее - Требования), изложить в следующей редакции:
<a id="p100015"></a>"<2> [Пункты 1](https://bukva.ai/docs/postanovlenie-2385#p100080) - [6](https://bukva.ai/docs/postanovlenie-2385#p100085), [9](https://bukva.ai/docs/postanovlenie-2385#p100088) - [16](https://bukva.ai/docs/postanovlenie-2385#p100095) перечня наименований услуг связи, вносимых в записи в реестре лицензий в области связи в отношении лицензий на осуществление деятельности в области оказания услуг связи, содержащегося в приложении N 1 к Положению о лицензировании деятельности в области оказания услуг связи, утвержденному постановлением Правительства Российской Федерации от 30 декабря 2020 г. N 2385 (далее - Положение). Согласно [пункту 4](https://bukva.ai/docs/postanovlenie-2385#p100503) постановления Правительства Российской Федерации от 30 декабря 2020 г. N 2385 данный акт действует до 1 сентября 2026 г.".
3. <a id="p100016"></a>[Пункт 3](https://bukva.ai/docs/prikaz-573-2018#p100018) Требований изложить в следующей редакции:
<a id="p100017"></a>"3. Технические и программные средства ИС ОРМ в соответствии с [пунктом 30](https://bukva.ai/docs/postanovlenie-113-2022#p100069) перечня средств связи, подлежащих обязательной сертификации, утвержденного постановлением Правительства Российской Федерации от 4 февраля 2022 г. N 113 <2(1)>, подлежат обязательной сертификации в порядке, установленном [Правилами](https://bukva.ai/docs/postanovlenie-1387-2022#p100013) организации и проведения работ по обязательному подтверждению соответствия средств связи, утвержденными постановлением Правительства Российской Федерации от 5 августа 2022 г. N 1387 <2(2)>.".
4. <a id="p100018"></a>[Пункт 3](https://bukva.ai/docs/prikaz-573-2018#p100018) Требований дополнить сноской 2(1) следующего содержания:
<a id="p100019"></a>"<2(1)> Согласно [пункту 5](https://bukva.ai/docs/postanovlenie-113-2022#p100023) постановления Правительства Российской Федерации от 4 февраля 2022 г. N 113 данный акт действует до 1 сентября 2028 г.".
5. <a id="p100020"></a>[Пункт 3](https://bukva.ai/docs/prikaz-573-2018#p100018) Требований дополнить сноской 2(2) следующего содержания:
<a id="p100021"></a>"<2(2)> Согласно [пункту 3](https://bukva.ai/docs/postanovlenie-1387-2022#p100010) постановления Правительства Российской Федерации от 5 августа 2022 г. N 1387 данный акт действует до 1 сентября 2029 г.".
6. <a id="p100022"></a>[Сноску 7](https://bukva.ai/docs/prikaz-573-2018#p100048) к пункту 6 Требований изложить в следующей редакции:
<a id="p100023"></a>"<7> [Пункты 13](https://bukva.ai/docs/postanovlenie-2385#p100092), [14](https://bukva.ai/docs/postanovlenie-2385#p100093), [16](https://bukva.ai/docs/postanovlenie-2385#p100095) перечня наименований услуг связи, вносимых в записи в реестре лицензий в области связи в отношении лицензий на осуществление деятельности в области оказания услуг связи, содержащегося в приложении N 1 к Положению.".
7. <a id="p100024"></a>[Сноску 9](https://bukva.ai/docs/prikaz-573-2018#p100060) к пункту 8 Требований изложить в следующей редакции:
<a id="p100025"></a>"<9> [Пункт 9](https://bukva.ai/docs/postanovlenie-2606#p100048) Правил оказания услуг связи по передаче данных, утвержденных постановлением Правительства Российской Федерации от 31 декабря 2021 г. N 2606. Согласно [пункту 3](https://bukva.ai/docs/postanovlenie-2606#p100013) постановления Правительства Российской Федерации от 31 декабря 2021 г. N 2606 данный акт действует до 31 декабря 2027 г.".
8. <a id="p100026"></a>[Подпункт 15 пункта 19](https://bukva.ai/docs/prikaz-573-2018#p100101) Требований изложить в следующей редакции:
<a id="p100027"></a>"15) взаимодействие с техническими средствами ОРМ в соответствии с протоколом взаимодействия, приведенным в [приложении N 3](https://bukva.ai/docs/prikaz-86-2018-minkomsvyaz-rossii#p100237) к Правилам применения оборудования систем коммутации, включая программное обеспечение, обеспечивающего выполнение установленных действий при проведении оперативно-розыскных мероприятий. [Часть IV](https://bukva.ai/docs/prikaz-86-2018-minkomsvyaz-rossii#p100124). Правила применения оборудования систем коммутации, включая программное обеспечение и технические средства накопления голосовой информации, обеспечивающего выполнение установленных действий при проведении оперативно-розыскных мероприятий, утвержденным приказом Министерства связи и массовых коммуникаций Российской Федерации от 26 февраля 2018 г. N 86 (далее соответственно - ТС ОРМ 86, Приказ-86) (зарегистрирован Министерством юстиции Российской Федерации 28 марта 2018 г., регистрационный N 50536).
<a id="p100028"></a>При организации подключения ТС ОРМ 86 к ИС ОРМ осуществляется формирование дополнительной статистической записи в справочнике операторов связи, обслуживаемых ИС ОРМ, в соответствии с подпунктом 13 пункта 9 приложения N 1 к Требованиям. Данная запись должна иметь текстовое описание, указывающее на подключение ТС ОРМ 86 в соответствии с [Приказом-86](https://bukva.ai/docs/prikaz-86-2018-minkomsvyaz-rossii);".
9. <a id="p100029"></a>[Сноску 16](https://bukva.ai/docs/prikaz-573-2018#p100105) к пункту 19 Требований изложить в следующей редакции:
<a id="p100030"></a>"<16> [Пункты 13](https://bukva.ai/docs/postanovlenie-2385#p100092), [14](https://bukva.ai/docs/postanovlenie-2385#p100093), [16](https://bukva.ai/docs/postanovlenie-2385#p100095) перечня наименований услуг связи, вносимых в записи в реестре лицензий в области связи в отношении лицензий на осуществление деятельности в области оказания услуг связи, содержащегося в приложении N 1 к Положению.".
10. <a id="p100031"></a>[Сноску 17](https://bukva.ai/docs/prikaz-573-2018#p100120) к пункту 19 Требований изложить в следующей редакции:
<a id="p100032"></a>"<17> [Положение](https://bukva.ai/docs/postanovlenie-2385#p100020).".
11. <a id="p100033"></a>В [пункте 22](https://bukva.ai/docs/prikaz-573-2018#p100127) Требований:
<a id="p100034"></a>а) [абзац первый](https://bukva.ai/docs/prikaz-573-2018#p100127) изложить в следующей редакции:
<a id="p100035"></a>"22. Посредством использования технических и программных средств ИС ОРМ обеспечиваются непрерывный сбор и накопление информации о соединениях, инициированных абонентами и другими пользователями и реализованных посредством оказания услуг сети передачи данных (при наличии лицензий на услуги связи по предоставлению каналов связи, оказания услуг связи в сети передачи данных, за исключением передачи голосовой информации, телематические услуги связи):";
<a id="p100036"></a>б) [подпункт 8](https://bukva.ai/docs/prikaz-573-2018#p100135) изложить в следующей редакции:
<a id="p100037"></a>"8) передаче иных сообщений, передаваемых (получаемых) абонентом при помощи закрытых протоколов обмена, а также протокола DNS;";
<a id="p100038"></a>в) [дополнить](https://bukva.ai/docs/prikaz-573-2018#p100135) подпунктом 11 следующего содержания:
<a id="p100039"></a>"11) о фактах входа и иных действиях в личном кабинете абонента при оказании услуг по предоставлению ресурсов для размещения информации на сервере, постоянно имеющем доступ к сети Интернет (далее - услуги хостинг-провайдеров).".
12. <a id="p100040"></a>В [пункте 23](https://bukva.ai/docs/prikaz-573-2018#p100141) Требований:
<a id="p100041"></a>а) [абзац первый](https://bukva.ai/docs/prikaz-573-2018#p100141) изложить в следующей редакции:
<a id="p100042"></a>"23. Посредством использования технических и программных средств ИС ОРМ обеспечиваются непрерывный сбор, накопление и хранение информации о следующих соединениях и сеансах связи абонентов (пользователей услугами телефонной связи), реализованных посредством сетей телефонной связи:";
<a id="p100043"></a>б) [дополнить](https://bukva.ai/docs/prikaz-573-2018#p100141) абзацем следующего содержания:
<a id="p100044"></a>"Информация о соединениях абонентов, использующих услуги VoWiFi, в том числе услуги WiFi Calling, хранится в ИС ОРМ в формате статистических записей о телефонных соединениях абонентов. В качестве информации о местоположении указываются географические координаты абонентского устройства или IP-адрес и порт точки доступа WiFi-сети. В случае одновременного получения актуальной информации о нескольких типах местоположения абонента дополнительно формируются отдельные статистические записи, соответствующие обновлению местоположения абонента в сети подвижной радио- и радиотелефонной связи.".
13. <a id="p100045"></a>[Пункт 24](https://bukva.ai/docs/prikaz-573-2018#p100148) Требований изложить в следующей редакции:
<a id="p100046"></a>"24. Посредством использования технических и программных средств ИС ОРМ в соответствии с протоколом, приведенным в пункте 5 приложения N 9 к Требованиям, обеспечиваются непрерывный сбор, накопление и хранение информации об изменении местоположения абонентов, в доступной в сети связи при оказании услуги связи и в режиме ожидания вызова: при переключении его обслуживания различными устройствами сети связи, находящимися в разных географических зонах обслуживания, при включении и/или выключении абонентского устройства, при рассылке запросов от средств связи, при любом информационном обмене между абонентским устройством и коммутационным оборудованием, включая пейджинг и периодические запросы обновления местоположения.".
14. <a id="p100047"></a>[Пункт 25](https://bukva.ai/docs/prikaz-573-2018#p100149) Требований дополнить абзацами следующего содержания:
<a id="p100048"></a>"ИС ОРМ имеет функционал настройки правил формирования строк HTTP-статистики по критериям "Тип запроса (HTTP Request Methods)" и "Тип содержимого (HTTP Content-Type).
<a id="p100049"></a>По умолчанию ИС ОРМ формирует отдельные строки HTTP-статистики для каждой записи, соответствующей одному из приведенных ниже критериев:
<a id="p100050"></a>тип запроса POST;
<a id="p100051"></a>тип содержимого text/html;
<a id="p100052"></a>тип содержимого application/* (за исключением application/javascript, json, woff).
<a id="p100053"></a>При наличии нескольких сообщений протокола HTTP в рамках одной TCP-сессии содержимое данной сессии записывается в полном объеме в единый Pcap-файл и соотносится с каждой формируемой строкой HTTP-статистики.
<a id="p100054"></a>Если в потоке TCP содержатся только сообщения протокола HTTP, по которым не требуется формировать строки HTTP-статистики, то формируется одна строка HTTP-статистики по первому сообщению протокола HTTP в потоке TCP.
<a id="p100055"></a>В случае организации вызовов по протоколу STUN с использованием сервисов обмена мгновенными сообщениями в сети "Интернет" накапливаются внешние и внутренние сетевые реквизиты абонента и его контакта.
<a id="p100056"></a>При этом статистические записи об использовании протокола STUN формируются путем формирования дополнительной строки в статистике VoIP-соединений (структура "dataVoipRecord" пункта 11 приложения N 9 к Требованиям). Параметры "voip-calling-number" и "voip-called-number" блока "DataVoipRecordContent" имеют следующую структуру:
<a id="p100057"></a>voip-calling-number:
<a id="p100058"></a>original-number (stun:[телефонный номер абонента (при наличии)] prvip:[внутренний (серый) IP-адрес абонента: используемые порты] pubip:[внешний (белый) IP-адрес абонента: используемые порты] proxyip:[IP-адрес прокси-сервера: используемые порты (при наличии)]);
<a id="p100059"></a>e164-number ([телефонный номер абонента (при наличии)]);
<a id="p100060"></a>voip-called-number:
<a id="p100061"></a>original-number (stun: prvip:[внутренний (серый) IP-адрес абонента: используемые порты] pubip:[внешний (белый) IP-адрес абонента: используемые порты].
<a id="p100062"></a>Посредством использования технических и программных средств ИС ОРМ обеспечиваются сбор, накопление и хранение информации о DNS-запросах абонентов (пользователей).
<a id="p100063"></a>Формирование статистических записей DNS-запросов осуществляется заполнением поля SNI/CN структуры "dataRawFlowsRecord" пункта 11 приложения N 9 к Требованиям в следующей последовательности:
<a id="p100064"></a>включением доменного имени из запроса пользователя (dns-query);
<a id="p100065"></a>сокращением доменного имени до домена второго уровня и удалением дубля в случаях, когда в UDP-потоке присутствуют доменные имена, размера большего, чем размер поля SNI/CN.
<a id="p100066"></a>При этом результат выполнения задачи поиска с заполнением поля SNI/CN включает TLS и DNS-запросы пользователей.".
15. <a id="p100067"></a>[Дополнить](https://bukva.ai/docs/prikaz-573-2018#p100010) пунктом 42 следующего содержания:
<a id="p100068"></a>"42. ИС ОРМ функционально обеспечивает передачу на ПУ ОРМ результаты поисковых задач в соответствии с временными характеристиками, приведенными в таблице N 2.

<a id="p100069"></a>Таблица N 2. Результаты поисковых задач в соответствии с временными характеристиками


| <a id="p100070"></a>NN п.п. | <a id="p100071"></a>Количество записей в результате выполнения поисковой задачи | <a id="p100072"></a>Время загрузки результатов на ПУ ОРМ (минут) |
| --- | --- | --- |
| <a id="p100073"></a>1 | <a id="p100074"></a>до 100 000 включительно | <a id="p100075"></a>менее 3 |
| <a id="p100076"></a>2 | <a id="p100077"></a>от 100 001 до 200 000 | <a id="p100078"></a>менее 6 |
| <a id="p100079"></a>3 | <a id="p100080"></a>от 200 001 до 300 000 | <a id="p100081"></a>менее 9 |
| <a id="p100082"></a>4 | <a id="p100083"></a>от 300 001 до 400 000 | <a id="p100084"></a>менее 12 |
| <a id="p100085"></a>5 | <a id="p100086"></a>от 400 001 до 500 000 | <a id="p100087"></a>менее 15 |
| <a id="p100088"></a>6 | <a id="p100089"></a>от 500 001 до 600 000 | <a id="p100090"></a>менее 18 |
| <a id="p100091"></a>7 | <a id="p100092"></a>от 600 001 до 700 000 | <a id="p100093"></a>менее 21 |
| <a id="p100094"></a>8 | <a id="p100095"></a>от 700 001 до 800 000 | <a id="p100096"></a>менее 24 |
| <a id="p100097"></a>9 | <a id="p100098"></a>от 800 001 до 900 000 | <a id="p100099"></a>менее 27 |
| <a id="p100100"></a>10 | <a id="p100101"></a>от 900 001 до 1 000 000 | <a id="p100102"></a>менее 30 |


16. <a id="p100103"></a>В [приложении N 1](https://bukva.ai/docs/prikaz-573-2018#p100223) к Требованиям:
<a id="p100104"></a>а) [подпункт 9 пункта 5](https://bukva.ai/docs/prikaz-573-2018#p100407) дополнить абзацем следующего содержания:
<a id="p100105"></a>"DNS-запросы абонентов/пользователей услугами связи.";
<a id="p100106"></a>б) [пункт 5](https://bukva.ai/docs/prikaz-573-2018#p100304) дополнить подпунктами 11 и 12 следующего содержания:
<a id="p100107"></a>"11) информацию о соединениях, использующих протокол STUN для организации вызовов посредством интернет-мессенджеров, включающую;
<a id="p100108"></a>телефонный номер абонента;
<a id="p100109"></a>внутренние ("серые") IP/порт абонента;
<a id="p100110"></a>внешние ("белые") IP/порт абонента;
<a id="p100111"></a>внутренние ("серые") IP/порт контакта;
<a id="p100112"></a>внешние ("белые") IP/порт контакта;
12) <a id="p100113"></a>информацию о входах и иных действиях в личном кабинете абонента при оказании услуг хостинг-провайдеров, включающую:
<a id="p100114"></a>тип события;
<a id="p100115"></a>наименования программы клиента (текстовая строка в произвольном виде, содержащая сведения о наименовании программы, версии, дате обновления и иные регистрируемые сведения при передаче информации);
<a id="p100116"></a>идентификатор сообщений пользователей услугами связи.";
<a id="p100117"></a>в) [подпункт 4 пункта 6](https://bukva.ai/docs/prikaz-573-2018#p100427) после слов "возможности накопления" дополнить словами ", а также информацию об IP-адресе и порте точки доступа Wi-Fi-сети";
<a id="p100118"></a>г) [подпункт 10 пункта 9](https://bukva.ai/docs/prikaz-573-2018#p100440) изложить в следующей редакции:
<a id="p100119"></a>"10) справочниках с планами внешней и внутренней IP-адресации, используемой в сети оператора связи с разделением на пользовательские и служебные подсети;".
17. <a id="p100120"></a>В [приложении N 2](https://bukva.ai/docs/prikaz-573-2018#p100457) к Требованиям:
<a id="p100121"></a>а) [пункт 24](https://bukva.ai/docs/prikaz-573-2018#p100596) дополнить подпунктами 9 - 11 следующего содержания:
<a id="p100122"></a>"9) "Запрос на создание фильтра содержимого соединений сети передачи данных" (CreateFilterRequest);
10) <a id="p100123"></a>"Запрос на удаление фильтра содержимого соединений сети передачи данных" (DropFilterRequest);
11) <a id="p100124"></a>"Запрос на получение списка установленных фильтров" (GetFiltersRequest).";
<a id="p100125"></a>б) [пункт 28](https://bukva.ai/docs/prikaz-573-2018#p100617) дополнить подпунктами 9 - 11 следующего содержания:
<a id="p100126"></a>"9) "Ответ на запрос создания фильтра содержимого соединений сети передачи данных" (CreateFilterResponse);
10) <a id="p100127"></a>"Ответ на запрос удаления фильтра содержимого соединений сети передачи данных" (DropFilterResponse);
11) <a id="p100128"></a>"Ответ на запрос получения списка установленных фильтров" (GetFilterResponse).";
<a id="p100129"></a>в) [абзац четвертый пункта 32](https://bukva.ai/docs/prikaz-573-2018#p100662) изложить в следующей редакции:
<a id="p100130"></a>"Задача на поиск информации о действиях абонента в личном кабинете (ValidateEntranceTask)";
<a id="p100131"></a>г) [пункт 38](https://bukva.ai/docs/prikaz-573-2018#p100690) дополнить абзацем следующего содержания:
<a id="p100132"></a>"Результат выполнения поисковой задачи с критерием, содержащим только символ маскирования "*", содержит все записи, присутствующие в ИС ОРМ по данному типу задач, включая записи, в которых запрашиваемое поле не заполнено.";
<a id="p100133"></a>д) [пункт 43](https://bukva.ai/docs/prikaz-573-2018#p100711) изложить в следующей редакции:
<a id="p100134"></a>"43. При установлении соединения ПУ и ИС ОРМ взаимно аутентифицируются. Аутентификация выполняется установлением SSL/TLS-соединения поверх установленного TCP-соединения между ПУ и ИС ОРМ. Для взаимной аутентификации ПУ и ИС ОРМ предварительно создаются X.509-сертификаты, которые должны быть подписаны самоподписанным корневым сертификатом, созданным ПУ. ИС ОРМ должна обеспечивать установку указанных корневых сертификатов в качестве доверенных. Созданный для ПУ сертификат используется для аутентификации данного ПУ на одной ИС ОРМ по всем каналам передачи данных - кпд1, кпд2, кпд3, кпд4, кпд5. ПУ и ИС ОРМ используют TLS версии 1.2. Требования к сертификатам, в том числе длины ключей, согласуются для каждой пары ИС ОРМ и ПУ отдельно. В случае невозможности аутентифицировать одну из сторон TCP-соединение разрывается.";
<a id="p100135"></a>е) [дополнить](https://bukva.ai/docs/prikaz-573-2018#p100457) пунктом 61 следующего содержания:
<a id="p100136"></a>"61. При реализации подпункта 2 пункта 27 Требований ИС ОРМ функционально обеспечивает возможность задания, удаления и запроса установленных фильтров содержимого соединений сети передачи данных посредством:
<a id="p100137"></a>добавления заданного фильтра в список, используемый для фильтрации содержимого соединений в сети передачи данных при получении "Запроса на создание фильтра содержимого соединений сети передачи данных";
<a id="p100138"></a>исключения заданного фильтра из списка, используемого для фильтрации соединений в сети передачи данных при получении "Запроса на удаление фильтра содержимого соединений сети передачи данных";
<a id="p100139"></a>записи содержимого соединений сети передачи данных в соответствии с установленными фильтрами;
<a id="p100140"></a>записи сетевого трафика в полном объеме при отсутствии установленных правил фильтрации;
<a id="p100141"></a>исключения содержимого из записи при совпадении содержимого соединения с правилом фильтрации.
<a id="p100142"></a>ИС ОРМ функционально обеспечивает возможность настройки фильтра протоколов потокового медиаконтента (параметр protocol-group=2 структуры "FilterSingleCriteria" пункта 4 приложения N 9 к Требованиям) по следующим основным критериям в любой их комбинации:
<a id="p100143"></a>IP-адрес/подсеть;
<a id="p100144"></a>VLAN;
<a id="p100145"></a>MPLS-метка;
<a id="p100146"></a>SNI/URL.
<a id="p100147"></a>В части предустановленных SNT/URL указываются CDN медиа потоков видеосервисов социальных сетей, онлайн-кинотеатров и иных видеосервисов.
<a id="p100148"></a>При реализации подпункта 1 пункта 27 Требований команды управления фильтрацией от ПУ на ИС ОРМ выполняются с параметрами successful = false, error-description и содержат произвольное текстовое описание ошибки.".
18. <a id="p100149"></a>[Абзац пятый пункта 2](https://bukva.ai/docs/prikaz-573-2018#p100771) приложения N 4 к Требованиям изложить в следующей редакции:
<a id="p100150"></a>"В случае если на ИС ОРМ передается запрос от ПУ "Запрос загрузки данных" (DataLoadRequest), ИС ОРМ направляет "Ответ на запрос загрузки данных" (DataLoadResponse) по кпд1. Данные блоков отчетов по кпд2 передаются в последнюю очередь (при их наличии).".
19. <a id="p100151"></a>[Пункт 5](https://bukva.ai/docs/prikaz-573-2018#p100806) приложения N 5 к Требованиям дополнить подпунктом 5 следующего содержания:
<a id="p100152"></a>"5) процент отфильтрованного трафика в соответствии с установленными в ИС ОРМ фильтрами на запись содержимого.".
20. <a id="p100153"></a>В [приложении N 6](https://bukva.ai/docs/prikaz-573-2018#p100838) к Требованиям:
<a id="p100154"></a>а) [пункт 4](https://bukva.ai/docs/prikaz-573-2018#p100845) дополнить абзацем следующего содержания:
<a id="p100155"></a>"Для услуг, оказываемых в сети подвижной радиотелефонной связи, информация о подключении, отключении и изменении местоположения абонентов хранится не менее 3 суток со дня наступления события, информация о соединениях абонентов в сети передачи данных хранится не менее 1 суток со дня наступления события.";
<a id="p100156"></a>б) [сноску 29](https://bukva.ai/docs/prikaz-573-2018#p100848) к пункту 4 изложить в следующей редакции:
<a id="p100157"></a>"<29> [Перечень](https://bukva.ai/docs/postanovlenie-2385#p100525) наименований услуг связи, вносимых в записи в реестре лицензий в области связи в отношении лицензий на осуществление деятельности в области оказания услуг связи, содержащийся в приложении N 1 к Положению.";
<a id="p100158"></a>в) [пункт 5](https://bukva.ai/docs/prikaz-573-2018#p100849) изложить в следующей редакции:
<a id="p100159"></a>"5. ИС ОРМ функционально обеспечивает запись в буфер в виде архивированных недекодированных файлов следующей информации:
<a id="p100160"></a>а) о соединениях и сеансах связи абонентов, реализованных посредством сетей телефонной связи:
<a id="p100161"></a>телефонные соединения абонентов, дополненные информацией об идентификаторе потока;
<a id="p100162"></a>служебные соединения;
<a id="p100163"></a>входящие/исходящие SMS и USSD (доставленные и не доставленные абоненту);
<a id="p100164"></a>б) о соединениях, инициированных абонентами и другими пользователями и реализованных посредством услуг сети передачи данных;
<a id="p100165"></a>в) о подключении, отключении и изменении местоположения абонентов - данные, содержащие информацию о параметрах подключения, отключения абонентов и изменения местоположения абонентов, соответствующие следующим событиям:
<a id="p100166"></a>присоединение к сети и отключение от сети связи;
<a id="p100167"></a>GTP-C события изменения и обновления местоположения, включая обновление зоны обслуживания (группы базовых станций);
<a id="p100168"></a>изменения зоны обслуживания во время активного вызова либо активной сессии передачи данных, включая изменение базовой станции, изменение контроллера группы базовых станций, изменение обслуживающего коммутатора, изменение обслуживающего узла сети передачи данных (SGSN, SGW либо аналог);
<a id="p100169"></a>запросы на дополнительные виды обслуживания.
<a id="p100170"></a>В случае получения соответствующей иным событиям сети связи информации о подключении, отключении и изменении местоположения абонентов в буфере ИС ОРМ формируются соответствующие статистические записи.
<a id="p100171"></a>Интервал времени обработки информации о подключении, отключении и изменении местоположении абонентов от значения времени (час, минута, секунда) наступления события до значения времени (час, минута, секунда), когда данная информация становится доступной для запросов ПУ по кпд4, не должен превышать 5 минут.";
<a id="p100172"></a>г) [дополнить](https://bukva.ai/docs/prikaz-573-2018#p100838) пунктом 10 следующего содержания:
<a id="p100173"></a>"10. Поступающие запросы от ПУ по кпд4 и ответы ИС ОРМ на указанные запросы не должны оказывать влияния на временные характеристики обработки запросов и поиска информации в ИС ОРМ, указанные в пунктах 34 - 41 Требований. В организованных каналах передачи данных для доставки информации на ПУ (в соответствии с пунктом 3 приложения N 1 к Требованиям) должна резервироваться пропускная способность, равная или большая среднесуточной скорости поступления данных в циклический буфер.".
21. <a id="p100174"></a>[Приложение N 9](https://bukva.ai/docs/prikaz-573-2018#p101071) к Требованиям изложить в следующей редакции:

<div align="right">

<a id="p100175"></a>"Приложение N 9<br>
к Требованиям к техническим<br>
и программным средствам<br>
информационных систем, содержащих базы<br>
данных абонентов оператора связи<br>
и предоставленных им услугах связи,<br>
а также информацию о пользователях<br>
услугами связи и о предоставленных<br>
им услугах связи, обеспечивающих<br>
выполнение установленных действий<br>
при проведении оперативно-розыскных<br>
мероприятий, утвержденным приказом<br>
Министерства цифрового развития,<br>
связи и массовых коммуникаций<br>
Российской Федерации<br>
от 29.10.2018 N 573

</div>


<div align="center">

<a id="p100176"></a>ТРЕБОВАНИЯ<br>
К ПАРАМЕТРАМ КОДИРОВАНИЯ ПРОТОКОЛА ВЗАИМОДЕЙСТВИЯ ASN.1<br>
ПУНКТА УПРАВЛЕНИЯ И ИНФОРМАЦИОННЫХ СИСТЕМ, СОДЕРЖАЩИХ БАЗЫ<br>
ДАННЫХ АБОНЕНТОВ ОПЕРАТОРА СВЯЗИ И ПРЕДОСТАВЛЕННЫХ ИМ<br>
УСЛУГАХ СВЯЗИ, А ТАКЖЕ ИНФОРМАЦИЮ О ПОЛЬЗОВАТЕЛЯХ УСЛУГАМИ<br>
СВЯЗИ И О ПРЕДОСТАВЛЕННЫХ ИМ УСЛУГАХ СВЯЗИ, ОБЕСПЕЧИВАЮЩИХ<br>
ВЫПОЛНЕНИЕ УСТАНОВЛЕННЫХ ДЕЙСТВИЙ ПРИ ПРОВЕДЕНИИ<br>
ОПЕРАТИВНО-РАЗЫСКНЫХ МЕРОПРИЯТИЙ

</div>


     1. <a id="p100177"></a>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-filter,

        sorm-request-identifier-pager,
        sorm-request-identifier-pstn,
        sorm-request-identifier-gsm,
        sorm-request-identifier-cdma,
        sorm-request-identifier-data-network,
        sorm-request-identifier-voip,

        sorm-report-identifier-pager,
        sorm-report-identifier-pstn,
        sorm-report-identifier-gsm,
        sorm-report-identifier-cdma,
        sorm-report-identifier-data-network,
        sorm-report-identifier-voip,

        sorm-request-payment-bank-transaction,
        sorm-request-payment-express-pays,
        sorm-request-payment-terminal-pays,
        sorm-request-payment-service-center,
        sorm-request-payment-cross-account,
        sorm-request-payment-telephone-card,
        sorm-request-payment-balance-fillups,
        sorm-request-payment-bank-division-transfer,
        sorm-request-payment-bank-card-transfer,
        sorm-request-payment-bank-account-transfer,

        sorm-report-payment-bank-transaction,
        sorm-report-payment-express-pays,
        sorm-report-payment-terminal-pays,
        sorm-report-payment-service-center,
        sorm-report-payment-cross-account,
        sorm-report-payment-telephone-card,
        sorm-report-payment-balance-fillups,
        sorm-report-payment-bank-division-transfer,
        sorm-report-payment-bank-card-transfer,
        sorm-report-payment-bank-account-transfer,

        sorm-request-connection-pager,
        sorm-request-connection-pstn,
        sorm-request-connection-mobile,
        sorm-request-connection-aaa-login,
        sorm-request-connection-resource,
        sorm-request-connection-email,
        sorm-request-connection-im,
        sorm-request-connection-voip,
        sorm-request-connection-file-transfer,
        sorm-request-connection-term-access,
        sorm-request-connection-raw-flows,
        sorm-request-connection-entrance,
        sorm-request-connection-address-translations,
        sorm-request-connection-sms,

        sorm-report-connection-pager,
        sorm-report-connection-pstn,
        sorm-report-connection-mobile,
        sorm-report-connection-ipdr-header,
        sorm-report-connection-aaa-login,
        sorm-report-connection-resource,
        sorm-report-connection-email,
        sorm-report-connection-im,
        sorm-report-connection-voip,
        sorm-report-connection-file-transfer,
        sorm-report-connection-term-access,
        sorm-report-connection-raw-flows,
        sorm-report-connection-address-translations,
        sorm-report-connection-entrance,
        sorm-report-connection-sms,

        sorm-request-dictionaries,
        sorm-report-dictionary-bunches,
        sorm-report-dictionary-basic-stations,
        sorm-report-dictionary-roaming-partners,
        sorm-report-dictionary-switches,
        sorm-report-dictionary-gates,
        sorm-report-dictionary-call-types,
        sorm-report-dictionary-supplement-services,
        sorm-report-dictionary-pay-types,
        sorm-report-dictionary-termination-causes,
        sorm-report-dictionary-ip-numbering-plan,
        sorm-report-dictionary-phone-numbering-plan,
        sorm-report-dictionary-doc-types,
        sorm-report-dictionary-telcos,
        sorm-report-dictionary-ip-data-points,
        sorm-report-dictionary-special-numbers,
        sorm-report-dictionary-bunches-map,
        sorm-report-dictionary-mobile-subscriber-identity-plan,
        sorm-report-dictionary-signal-point-codes,
        sorm-request-presense,
        sorm-report-presense-abonents,
        sorm-report-presense-connections,
        sorm-report-presense-payments,
        sorm-report-presense-dictionaries,
        sorm-report-presense-locations,

        sorm-request-abonent-person,
        sorm-request-abonent-organization,

        sorm-report-abonent-abonent,
        sorm-report-abonent-service,
        sorm-report-abonent-person,
        sorm-report-abonent-organization,
        sorm-request-location,
        sorm-report-data-content-raw;

     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-filter OID ::= "286"

     -- Идентификаторы
     sorm-request-identifier-pager OID ::= "140"
     sorm-request-identifier-pstn OID ::= 141"
     sorm-request-identifier-gsm OID ::= "142"
     sorm-request-identifier-cdma OID ::= "143"
     sorm-request-identifier-data-network OID ::= "144"
     sorm-request-identifier-voip OID::= "145"

     sorm-report-identifier-pager OID ::= "1"
     sorm-report-identifier-pstn OID ::= "2"
     sorm-report-identifier-gsm OID ::= "3"
     sorm-report-identifier-cdma OID ::= "4"
     sorm-report-identifier-data-network OID ::= "5"
     sorm-report-identifier-voip OID ::= "6"

     -- Параметры соединений
     sorm-request-connection-pager OID ::= "160"
     sorm-request-connection-pstn OID ::= "161"
     sorm-request-connection-mobile OID ::= "162"
     sorm-request-connection-aaa-login OID ::= "164"
     sorm-request-connection-resource OID ::= "165"
     sorm-request-connection-email OID ::= "166"
     sorm-request-connection-im OID ::= "167"
     sorm-request-connection-voip OID ::= "168"
     sorm-request-connection-file-transfer OID ::= "169"
     sorm-request-connection-term-access OID ::= "170"
     sorm-request-connection-raw-flows OID ::= "171"
     sorm-request-connection-entrance OID ::= "172"
     sorm-request-connection-address-translations OID ::= "173"
     sorm-request-connection-sms OID ::= "174"

     sorm-report-connection-pager OID ::= "20"
     sorm-report-connection-pstn OID ::= "21"
     sorm-report-connection-mobile OID ::= "22"
     sorm-report-connection-ipdr-header OID ::= "23"
     sorm-report-connection-aaa-login OID ::= "24"
     sorm-report-connection-resource OID ::= "25"
     sorm-report-connection-email OID ::= "26"
     sorm-report-connection-im OID ::= "27"
     sorm-report-connection-voip OID ::= "28"
     sorm-report-connection-file-transfer OID ::= "29"
     sorm-report-connection-term-access OID ::= "30"
     sorm-report-connection-raw-flows OID ::= "31"
     sorm-report-connection-address-translations OID ::= "32"
     sorm-report-connection-entrance OID ::= "33"
     sorm-report-connection-sms OID ::= "34"

     -- Абоненты
     sorm-request-abonent-person OID ::= "180"
     sorm-request-abonent-organization OID ::= "181"

     sorm-report-abonent-abonent OID ::= "40"
     sorm-report-abonent-service OID ::= "41"
     sorm-report-abonent-person OID ::= "42"
     sorm-report-abonent-organization OID ::= "43"

     -- Местоположение
     sorm-request-location OID ::= "200"

     -- Платежи
     sorm-request-payment-bank-transaction OID ::= "220"
     sorm-request-payment-express-pays OID ::= "221"
     sorm-request-payment-terminal-pays OID ::= "222"
     sorm-request-payment-service-center OID ::= "223"
     sorm-request-payment-cross-account OID ::= "224"
     sorm-request-payment-telephone-card OID ::= "225"
     sorm-request-payment-balance-fillups OID ::= "226"
     sorm-request-payment-bank-division-transfer OID ::= "227"
     sorm-request-payment-bank-card-transfer OID ::= "228"
     sorm-request-payment-bank-account-transfer OID ::= "229"

     sorm-report-payment-bank-transaction OID ::= "80"
     sorm-report-payment-express-pays OID ::= "81"
     sorm-report-payment-terminal-pays OID ::= "82"
     sorm-report-payment-service-center OID ::= "83"
     sorm-report-payment-cross-account OID ::= "84"
     sorm-report-payment-telephone-card OID ::= "85"
     sorm-report-payment-balance-fillups OID ::= "86"
     sorm-report-payment-bank-division-transfer OID ::= "87"
     sorm-report-payment-bank-card-transfer OID ::= "88"
     sorm-report-payment-bank-account-transfer OID ::= "89"

     -- Справочники
     sorm-request-dictionaries OID ::= "240"

     sorm-report-dictionary-bunches OID ::= "100"
     sorm-report-dictionary-basic-stations OID ::= "101"
     sorm-report-dictionary-roaming-partners OID ::= "102"
     sorm-report-dictionary-switches OID ::= "103"
     sorm-report-dictionary-gates OID ::= "104"
     sorm-report-dictionary-call-types OID ::= "105"
     sorm-report-dictionary-supplement-services OID ::= "106"
     sorm-report-dictionary-pay-types OID ::= "107"
     sorm-report-dictionary-termination-causes OID ::= "108"
     sorm-report-dictionary-ip-numbering-plan OID ::= "109"
     sorm-report-dictionary-phone-numbering-plan OID ::= "110"
     sorm-report-dictionary-doc-types OID ::= "111"
     sorm-report-dictionary-telcos OID ::= "112"
     sorm-report-dictionary-ip-data-points OID ::= "113"
     sorm-report-dictionary-special-numbers OID ::= "114"
     sorm-report-dictionary-bunches-map OID ::= "115"
     sorm-report-dictionary-mobile-subscriber-identity-plan OID ::= "116"
     sorm-report-dictionary-signal-point-codes OID ::= "132"

     -- Запрос о наличии данных
     sorm-request-presense OID ::= "260"

     sorm-report-presense-abonents OID ::= "120"
     sorm-report-presense-connections OID ::= "121"
     sorm-report-presense-payments OID ::= "122"
     sorm-report-presense-dictionaries OID ::= "123"
     sorm-report-presense-locations OID ::= "124"

     -- Запрос о содержимом потоков
     sorm-report-data-content-raw OID ::= "50"

     END

     2. Addresses.asn
     Addresses DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS AddressType,
        ReportedAddresses,
        ReportedAddress,
        RequestedAddress;

     AddressType ::= ENUMERATED {
     registered (0),           ---  для физических лиц адрес регистрации по
месту  жительства  (пребывания),  для  юридических лиц - адрес юридического
лица в пределах места нахождения
     postal (1),               --- почтовый адрес (дополнительный адрес для
юридических лиц)
     invoice (2),              ---  адрес  доставки  счета  (дополнительный
адрес для юридических лиц)
     device-location (3),      --- адрес     установки    пользовательского
устройства (телефонного аппарата)
     reserved (4)              --- резерв
     }

     ReportedAddresses ::= SEQUENCE OF ReportedAddress

     ReportedAddress ::= SEQUENCE {
     title AddressType,                     --- тип адреса
     address-info AddressInfoReport         --- адрес
     }

     AddressInfoReport ::= CHOICE {
     struct-info[1] AddressStructInfoReport,       ---    структурированный
адрес
     unstruct-info[2] UTF8String(SIZE (1 .. 1024)) ---  неструктурированный
адрес
     }

     AddressStructInfoReport ::= SEQUENCE {
      zip [0]        UTF8String (SIZE (1 .. 32)) OPTIONAL,  ---    почтовый
индекс, zip-код
      country [1] UTF8String (SIZE (1 .. 128)) OPTIONAL,    --- страна
      region [2] UTF8String (SIZE (1 .. 128)) OPTIONAL,     --- область
      zone [3]       UTF8String (SIZE (1.. 128)) OPTIONAL,  ---      район,
муниципальный округ
      city [4]       UTF8String (SIZE (1 .. 128)) OPTIONAL, ---      город,
поселок, деревня
      street [5]     UTF8String (SIZE (1 .. 128)) OPTIONAL, --- улица
      building [6]   UTF8String (SIZE (1 .. 128)) OPTIONAL, ---        дом,
строение
      build-sect [7] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- корпус
      apartment [8]  UTF8String (SIZE (1 .. 128)) OPTIONAL  ---   квартира,
офис
     }

     -- поля адресных данных
     RequestedAddress ::= SEQUENCE {
     zip [0]         UTF8String (SIZE (1.. 32)) OPTIONAL,   ---    почтовый
индекс, zip-код
     country [1] UTF8String (SIZE (1 .. 128)) OPTIONAL,     --- страна
     region [2] UTF8String (SIZE (1 .. 128)) OPTIONAL,      --- область
     zone [3]        UTF8String (SIZE (1 .. 128)) OPTIONAL, ---      район,
муниципальный округ
     city [4]        UTF8String (SIZE (1 .. 128)) OPTIONAL, ---      город,
поселок, деревня, населенный пункт
     street [5] UTF8String (SIZE (1 .. 128)) OPTIONAL,      --- улица
     building [6] UTF8String (SIZE (1 .. 128)) OPTIONAL,    --- дом,
строение
     build-sect [7]  UTF8String (SIZE (1 .. 128)) OPTIONAL, --- корпус
     apartment [8]   UTF8String (SIZE (1 .. 128)) OPTIONAL  ---   квартира,
офис
     }

     END

     3. Dictionaries.asn
     Dictionaries DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS
       TelcoID,
       TelcoList,

       DictionaryTask,
       DictionaryReport,

       PhoneAbonentType;

     IMPORTS DateAndTime
       FROM Sorm
         TAGGED,
         sorm-request-dictionaries,
         sorm-report-dictionary-telcos,
         sorm-report-dictionary-bunches,
         sorm-report-dictionary-basic-stations,
         sorm-report-dictionary-roaming-partners,
         sorm-report-dictionary-switches,
         sorm-report-dictionary-gates,
         sorm-report-dictionary-call-types,
         sorm-report-dictionary-supplement-services,
         sorm-report-dictionary-pay-types,
         sorm-report-dictionary-termination-causes,
         sorm-report-dictionary-ip-numbering-plan,
         sorm-report-dictionary-phone-numbering-plan,
         sorm-report-dictionary-doc-types,
         sorm-report-dictionary-ip-data-points,
         sorm-report-dictionary-special-numbers,
         sorm-report-dictionary-bunches-map,
         sorm-report-dictionary-mobile-subscriber-identity-plan,
         sorm-report-dictionary-signal-point-codes
       FROM Classification

         ReportedAddress
       FROM Addresses

         Bunch,
         DataNetworkEquipment,
         IPAddress,
         IPPort,
         IPMask,
         NetworkPeerInfo,
         NetworkType
       FROM NetworkIdentifiers

         GeoLocation FROM Locations;

     -- идентификатор оператора связи или структурного подразделения
     TelcoID ::= INTEGER (0 .. 65535)

     ---  список  идентификаторов   операторов   связи   или   структурного
подразделения
     TelcoList ::= SEQUENCE OF TelcoID

     -- запрос
     DictionaryTask ::= SEQUENCE {
      id TAGGED.&id ({DictionaryTaskVariants}),
      data TAGGED.&Data ({DictionaryTaskVariants}{@id})
     }

     DictionaryTaskVariants TAGGED ::= { dictionaryTask }

     dictionaryTask TAGGED ::= {
      OID { sorm-request-dictionaries }
      DATA ObjectDescriptor                        --  тип   запрашиваемого
справочника (идентификатор отчета)
     }

     -- ObjectDescriptor принимает значение одно из:
     -- sorm-report-dictionary-telcos
     -- sorm-report-dictionary-bunches
     -- sorm-report-dictionary-basic-stations
     -- sorm-report-dictionary-roaming-partners
     -- sorm-report-dictionary-switches
     -- sorm-report-dictionary-gates
     -- sorm-report-dictionary-call-types
     -- sorm-report-dictionary-supplement-services
     -- sorm-report-dictionary-pay-types
     -- sorm-report-dictionary-termination-causes
     -- sorm-report-dictionary-ip-numbering-plan
     -- sorm-report-dictionary-phone-numbering-plan
     -- sorm-report-dictionary-doc-types
     -- sorm-report-dictionary-ip-data-points
     -- sorm-report-dictionary-special-numbers
     -- sorm-report-dictionary-bunches-map
     -- sorm-report-dictionary-mobile-subscriber-identity-plan
     -- sorm-report-dictionary-signal-point-codes

     -- Отчет
     DictionaryReport ::= SEQUENCE {
      id   TAGGED.&id ({DictionaryRecordsVariants}),   ---    идентификатор
записи справочника
      data TAGGED.&Data({DictionaryRecordsVariants}{@id})   ---      данные
записи справочника
     }

     Dictionary Records VariantsTAGGED ::= {
     telcosRecords                          ---       операторы      связи,
обслуживаемые ИС ОРМ
      | bunchesRecords                      --- пучки  соединительных линий
      | basicStationsSectorRecords          --- базовые станции
      | roamingPartnersRecords              --- роуминговые партнеры
      | switchesRecords                     --- коммутаторы
      | gatesRecords                        --- IP шлюзы
      | callTypesRecords                    --- типы вызовов
      | supplementServicesRecords           --- список дополнительных видов
обслуживания (далее - ДВО)
      | payTypesRecords                     --- способы  оплаты (пополнения
баланса)
      | terminationCausesRecords            ---      причины     завершения
соединения
      | ipNumberingPlanRecords              --- IP-план адресации
      | telephoneNumberingPlanRecords       --- план   телефонной  номерной
емкости
      | docTypesRecords                     ---       типы      документов,
удостоверяющих личность
      | ipDataPointsRecords                 ---    идентификаторы     точек
подключения   к   сети  передачи  данных,  от  которых  получены  записи  о
соединениях
      | specialNumbersRecords               ---     специальные      номера
оператора (SMS-центры, ТМС, сервисы)
      | bunchesMapRecords --- карта связей пучков соединительных линий
      | mobileSubscriberIdenityPlanRecords  ---        план       нумерации
идентификаторов мобильных телефонных абонентов
      | signalPointCodes --- коды сигнальных точек OPC/DPC
     }

     --- операторы связи, обслуживаемые ИС ОРМ
     telcosRecordsTAGGED ::= {
     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     ---  код   оператора
связи
     }

     --- пучки соединительных линий
     bunchesRecordsTAGGED ::= {
     OID { sorm-report-dictionary-bunches }
      DATA SEQUENCE OF BunchRecord
     }

     BunchRecord ::= SEQUENCE {
     telco-id         TelcoID,                    ---         идентификатор
оператора связи или структурного подразделения
     bunch-id  Bunch,                             ---  идентификатор пучка
     switch-id UTF8String (SIZE (1 .. 128)),      ---         идентификатор
коммутатора
     bunch-type ENUMERATED {                      ---                  тип:
входящий/исходящий
     inbound (0),
     outbound (1),
     bidirectional (3)
      },
     begin-time DateAndTime,                      ---     время      начала
назначения пучка
     end-time DateAndTime OPTIONAL,               ---    время   завершения
назначения пучка
     description UTF8String (SIZE (1 .. 256))     ---  расшифровка пучка
     }

     --- базовые станции
     basicStationsSectorRecords TAGGED ::= {
      OID { sorm-report-dictionary-basic-stations }
      DATA SEQUENCE OF BasicStationSectorRecord
     }

     BasicStationSectorRecord ::= SEQUENCE {
     telco-id          TelcoID,             ---   идентификатор   оператора
связи или структурного подразделения
     begin-time  DateAndTime,               ---   время   начала   действия
базовой станции
     end-time    DateAndTime,               --- время  завершения  действия
базовой станции
     address  UTF8String (SIZE (1 .. 256)), ---    произвольное   текстовое
описание адреса или места расположения
     sector-identifiers BasicStationIdentifiers,  ---        идентификаторы
сектора
     antenna-configuration   BasicStationAntenna, ---  параметры   антенной
системы
     station-type     BasicStationType,           ---  тип   сети   базовой
станции
     structured-address [0] ReportedAddress  OPTIONAL, ---   адрес    места
установки базовой станции
     location [1] GeoLocationOPTIONAL                  ---   географическое
местоположение
     }

     --- идентификаторы сектора
     BasicStationIdentifiers ::= CHOICE {
     telephone [0]      TelephoneIdentifiers,               ---
идентификаторы сектора для телефонной сети
     wireless [1] SEQUENCEOFWirelessIdentifiers        ---   идентификаторы
сектора для сети передачи данных
     }

     --- идентификаторы сектора для телефонной сети
     TelephoneIdentifiers ::= SEQUENCE {
     lac  INTEGER (0 .. 65535),                        ---   код зоны
     cell INTEGER (0 .. 100000000000),                 ---    идентификатор
сектора базовой станции (идентификатор базовой станции и сектор)
     cell-sign    UTF8String (SIZE (1 .. 18)) OPTIONAL ---       телефонный
идентификатор соты
     }

     --- идентификаторы сектора для сети передачи данных
     WirelessIdentifiers ::= SEQUENCE {
     cell  UTF8String (SIZE (1 .. 64)),           --- идентификатор сектора
     ip-list IPListOPTIONAL,                      --- перечень назначенных
сектору IP-адресов/портов
     mac OCTETSTRING  (SIZE (6)) OPTIONAL         ---  MAC-адрес   сетевого
оборудования сектора
     }

     IPList ::= SEQUENCE OF NetworkPeerInfo

     --- параметры антенной системы
     BasicStationAntenna ::= CHOICE {
      gsm-antenna [0]    GsmAntenna,                        ---   параметры
антенной системы GSM-сектора
      cdma-antenna [1]   SEQUENCE OF CdmaAntenna,           ---   параметры
антенной системы CDMA-сектора
      wireless-antenna [2] SEQUENCE OF WirelessAntenna      ---   параметры
антенной системы WiFi/WiMAX-сектора
     }

     --- параметры антенной системы
     GsmAntenna ::= SEQUENCE {
     azimuthINTEGER (-1 .. 359),       --- азимут  относительно направления
на   север,   в  градусах,  если  значение  равно  "1",  то  направленность
отсутствует
     widthINTEGER (0 .. 359),          --- ширина растра в градусах
     horizon-angleINTEGER (0 .. 359),  --- угол наклона сектора к горизонту
     power [0]        INTEGER (0 .. 25000) OPTIONAL,           --- мощность
в ваттах (сектор)
     frequency [1]    INTEGER (0 .. 100000000000) OPTIONAL,     --- частота
излучения (сектор)
     vertical-lift [2] INTEGER (0 .. 100) OPTIONAL,      --- высота подвеса
сектора
     gain-factor [3] INTEGER (-100 .. 100) OPTIONAL,        --- коэффициент
усиления антенны (Дб)
     polarization  [4]  INTEGER  (-45 ..45)  OPTIONAL,      --- поляризация
антенной системы
     setting [5]     BsSetting OPTIONAL,                    ---         тип
расположения базовой станции
     thickness [6]   INTEGER   (0 .. 359) OPTIONAL,    --- ширина диаграммы
направленности  основного  лепестка сектора базовой станции по вертикали (в
градусах)
     generation [7] BsGeneration OPTIONAL,            --- поколение базовой
станции
     controller-num [8] UTF8String (SIZE (1 .. 128)) OPTIONAL,    --- номер
контроллера базовой станции
     bcc-ncc [9]        UTF8String (SIZE (1 .. 128)) OPTIONAL,      --- код
идентификации базовой станции (BCC + NCC)
     cell-type [10] BsCellTypeOPTIONAL,                --- тип соты базовой
станции (макро-, микро-, пико-, фемто-)
     radiation-class [11] UTF8String  (SIZE (1 .. 32)) OPTIONAL,  --- класс
излучения базовой станции
     name [12]       UTF8String (SIZE (1 .. 32)) OPTIONAL, --- наименование
базовой станции (номер базовой станции в базах данных оператора связи)
     channel [13]    UTF8String (SIZE (1 .. 32)) OPTIONAL    --- десятичный
номер канала
     }

     --- тип соты базовой станции (макро-, микро-, пико-, фемто-)
     BsCellType ::= ENUMERATED {
      macro (0),
      micro (1),
      pico (2),
      femto (3)
     }

     --- поколение базовой станции
     BsGeneration ::= ENUMERATED {
     g2 (0),
     g3 (1),
     g4 (2),
     g5 (3)
     }

     --- тип расположения базовой станции
     BsSetting ENUMERATED {
      indoor (0),
      outdoor (1),
      underground (2)
     }

     CdmaAntenna ::= BroadbandWirelessParameters       ---        параметры
антенной системы CDMA-сектора
     WirelessAntenna ::= BroadbandWirelessParameters   ---        параметры
антенной системы WiFi/WiMAX-сектора

     BroadbandWirelessParameters ::= SEQUENCE {
     azimuth         INTEGER (-1 .. 359),              ---           азимут
относительно  направления на север, в градусах, если значение равно "1", то
направленность отсутствует
     width           INTEGER (0 .. 359),               --- ширина растра  в
градусах
     horizon-angle       INTEGER (0 .. 359),                  ---      угол
наклона сектора к горизонту
     power [0] INTEGER (0 .. 25000) OPTIONAL,                 ---  мощность
в ваттах (сектор)
     frequency-start [1] INTEGER (0 .. 10000000000) OPTIONAL, ---    нижняя
частота излучения диапазона (сектор)
     frequency-stop [2]  INTEGER (0 .. 10000000000) OPTIONAL, ---   верхняя
частота излучения диапазона (сектор)
     leaf-level [3]      INTEGER (-45 .. 45) OPTIONAL, ---  уровень боковых
лепестков
     vertical-lift [4]   INTEGER (0 .. 100) OPTIONAL,  ---  высота  подвеса
сектора
     gain-factor [5]     INTEGER (-100 .. 100) OPTIONAL, ---    коэффициент
усиления антенны (Дб)
     polarization [6]    INTEGER (-45..  45) OPTIONAL  ---      поляризация
антенной системы
     }

     --- виды базовых станций
     BasicStationType ::= ENUMERATED {
      gsm (0),
      cdma (1),
      umts (2),
      wifi (3),
      wimax (4)
     }

     roamingPartnersRecords TAGGED::= {
      OID { sorm-report-dictionary-roaming-partners }
      DATA SEQUENCE OF RoamingPartnerRecord
     }

     RoamingPartnerRecord ::= SEQUENCE {
     telco-id        TelcoID,                     ---         идентификатор
оператора связи или структурного подразделения
     roaming-id INTEGER (0 .. 4294967295),        ---         идентификатор
роумингового партнера
     begin-time DateAndTime,                      --- время начала действия
роуминга
     end-time   DateAndTime OPTIONAL,             ---    время   завершения
действия роуминга
      description UTF8String (SIZE (1 .. 256))    --- описание
     }

     switchesRecords TAGGED ::= {
      OID { sorm-report-dictionary-switches }
      DATA SEQUENCE OF SwitchesRecord
     }

     SwitchesRecord ::= SEQUENCE {
     telco-id          TelcoID,                   ---         идентификатор
оператора связи или структурного подразделения
     switch-id   UTF8String (SIZE (1 .. 128)),    ---         идентификатор
коммутатора
     begin-time DateAndTime,                      --- время начала действия
коммутатора
     end-time DateAndTime OPTIONAL,               ---    время   завершения
действия коммутатора
     description UTF8String (SIZE (1 .. 256)),    --- описание
     network-type    NetworkType,                 --- тип сети связи
     address         ReportedAddress,             --- адрес места установки
коммутатора
     switch-sign NumericString (SIZE (1 .. 18)) OPTIONAL,   ---  телефонный
идентификатор коммутатора
     switch-type ENUMERATED {
     internal(0),    --- внутренний
     border(1)      --- пограничный
      }
     }
     gatesRecords TAGGED ::= {
      OID { sorm-report-dictionary-gates }
      DATA SEQUENCE OF GatesRecord
     }

     GatesRecord ::= SEQUENCE {
     telco-id         TelcoID,                         ---    идентификатор
оператора связи или структурного подразделения
     gate-id          INTEGER (0 .. 4294967295),       ---    идентификатор
шлюза
     ip-list     IPList,                               ---   IP-адрес шлюза
     begin-time  DateAndTime,                          ---   время   начала
действия шлюза
     end-time    DateAndTime OPTIONAL,                 --- время завершения
действия шлюза
     description  UTF8String (SIZE (1 .. 256)),        --- описание
     address          ReportedAddress,                 ---    адрес   места
установки шлюза
     gate-type ENUMERATED {                            --- тип IP-шлюза
     sgsn(0),
     ggsn(1),
     smsc(2),
     gmsc(3),
     hss(4),
     pstn(5),
     voip-gw(6),
     aaa(7),
     nat(8)
      }
     }

     callTypesRecords TAGGED ::= {
      OID { sorm-report-dictionary-call-types }
      DATA SEQUENCE OF CallsTypesRecord
     }

     CallsTypesRecord ::= SEQUENCE {
     telco-id         TelcoID,                    ---         идентификатор
оператора связи или структурного подразделения
     call-type-id INTEGER (0 .. 4294967295),      ---   идентификатор  типа
вызова
     begin-time DateAndTime,                      --- время начала действия
     end-time   DateAndTime OPTIONAL,             ---    время   завершения
действия
     description UTF8String (SIZE (1 .. 256))     --- описание
     }

     supplementServicesRecords TAGGED ::= {
      OID { sorm-report-dictionary-supplement-services }
      DATA SEQUENCE OF SupplementServicesRecord
     }

     SupplementServicesRecord ::= SEQUENCE {
     telco-id         TelcoID,                         ---    идентификатор
оператора связи или структурного подразделения
     service-id INTEGER (0 .. 4294967295),             ---    идентификатор
сервиса
     mnemonic   UTF8String (SIZE (1 .. 64)) OPTIONAL,  ---    мнемоническое
обозначение сервиса
     begin-time DateAndTime,                           ---    время  начала
действия
     end-time   DateAndTime OPTIONAL,                  --- время завершения
действия
     description UTF8String (SIZE (1 .. 256))          --- описание
     }

     payTypesRecords TAGGED ::= {
      OID { sorm-report-dictionary-pay-types }
      DATA SEQUENCE OF PayTypesRecord
     }

     PayTypesRecord ::= SEQUENCE {
     telco-id         TelcoID,                    ----        идентификатор
оператора связи или структурного подразделения
     pay-type-id INTEGER (0 .. 4294967295),       ---  идентификатор   типа
оплаты
     begin-time DateAndTime,                      --- время начала действия
     end-time   DateAndTime OPTIONAL,             ---   время    завершения
действия
     description UTF8String (SIZE (1 .. 256))     --- описание
     }

     terminationCausesRecords TAGGED ::= {
      OID { sorm-report-dictionary-termination-causes)
      DATA SEQUENCE OF TerminationCausesRecord
     }

     TerminationCausesRecord ::= SEQUENCE {
      telco-id             TelcoID,                    ---    идентификатор
оператора связи или структурного подразделения
      termination-cause-id INTEGER (0 .. 16384),       --- код причины
      begin-time       DateAndTime,               --- время начала действия
      end-time         DateAndTime OPTIONAL,           --- время завершения
действия
      description      UTF8String (SIZE (1 .. 256)),   --- описание
      network-type         NetworkType                 --- тип сети связи
     }

     ipNumberingPlanRecords TAGGED ::= {
      OID { sorm-report-dictionary-ip-numbering-plan }
      DATA SEQUENCE OF IpNumberingPlanRecord }

     IpNumberingPlanRecord ::= SEQUENCE {
      telco-id       TelcoID,                     ---         идентификатор
оператора связи или филиала
      description UTF8String (SIZE (1 .. 256)),   ---  описание  назначения
диапазона
      network-address IPAddress,                  --- подсеть
      network-mask IPMask,                        --- маска подсети
      begin-time DateAndTime,                     --- время начала действия
      end-time DateAndTime OPTIONAL               ---   время    завершения
действия
     }

     telephoneNumberingPlanRecords TAGGED ::= {
      OID { sorm-report-dictionary-phone-numbering-plan }
      DATA SEQUENCE OF TelephoneNumberingPlanRecord
     }

     TelephoneNumberingPlanRecord ::= SEQUENCE {
     telco-id             TelcoID,                ---         идентификатор
оператора связи или структурного подразделения
     iso-3166-alpha-2     UTF8String (SIZE (2)),       ---  2-х  символьная
аббревиатура страны
     iso-3166-alpha-3     UTF8String (SIZE (3)),       ---  3-х  символьная
аббревиатура страны
     country-code         UTF8String (SIZE (3)),       ---    международный
код страны
     national-significant-number UTF8String (SIZE (14)),      ---  номерной
телефонный префикс оператора связи, включая код зоны
     area-code-length     INTEGER (0 .. 6),            ---  длина кода зоны
в телефонном префиксе оператора связи
     min-subscr-nr-length INTEGER (1 .. 15),           ---      минимальная
длина   абонентского   номера,   символов   (national-significant-number  +
min-subscr)
     max-subscr-nr-length INTEGER (1 .. 15),           ---     максимальная
длина   абонентского   номера,   символов   (national-significant-number  +
max-subscr)
     utc-min             INTEGER (-12 .. 12),          ---      минимальный
часовой пояс
     utc-max             INTEGER (-12 .. 12),          ---     максимальный
часовой пояс
     destination         UTF8String (SIZE (2 .. 256)), --- страна
     operator-type-id    NetworkType,                  --- тип  сети  связи
оператора

     capacity-from       NumericString (SIZE (1 .. 15)), --- нижняя граница
диапазона выданных номеров (от)
     capacity-to        NumericString (SIZE (1 .. 15)), --- верхняя граница
диапазона выданных номеров (до)
     capacity-size       INTEGER (1 .. 10000000),      ---       количество
выделенных номеров в диапазоне (емкость)

     location            UTF8String (SIZE (0 .. 256)), ---        текстовое
описание местоположения оператора связи
     registrar           UTF8String (SIZE (0 .. 256)), ---     наименование
оператора связи
     range-activation    DateAndTime,                  ---   дата  и  время
начала действия номерной емкости
     mobile-country-code NumericString (SIZE(3)),      --- MCC
     mobile-network-code NumericString (SIZE(3)),      --- MNC
     range-deactivation [0] DateAndTimeOPTIONAL,       ---  дата  и   время
завершения действия номерной емкости
     range-status [1]    UTF8String (SIZE 1 .. 128)) OPTIONAL,    ---
текущее состояние номерной емкости
     description [2]     UTF8String (SIZE (1 .. 256)) OPTIONAL,   ---
расшифровка оказываемых услуг связи по номерной емкости
     operating-company-number [3] UTF8String (SIZE (0 .. 4)) OPTIONAL   ---
международный идентификатор оператора связи
     }

     docTypesRecords TAGGED ::= {
     OID {sorm-report-dictionary-doc-types}
     DATA SEQUENCE OF DocTypesRecord
     }

     DocTypesRecord ::= SEQUENCE {
     telco-id         TelcoID,                         ---    идентификатор
оператора связи или структурного подразделения
     doc-type-id INTEGER (0 .. 65535),                 ---    идентификатор
типа документа
     begin-time  DateAndTime,                          ---   время   начала
действия
     end-time    DateAndTime OPTIONAL,                 --- время завершения
действия
     description UTF8String (SIZE (1 .. 256))          ---         описание
(наименование)
     }

     ipDataPointsRecords TAGGED ::= {
     OID { sorm-report-dictionary-ip-data-points }
     DATA SEQUENCE OF IpDataPointRecord
     }

     IpDataPointRecord ::= SEQUENCE {
     telco-id        TelcoID,                          ---    идентификатор
оператора связи или структурного подразделения
     point-id        INTEGER (0 .. 1000),              ---    идентификатор
точки подключения
     description UTF8String (SIZE (1 .. 256)),         ---         описание
(наименование) точки подключения
     begin-time  DateAndTime,                          ---     время начала
действия
     end-time    DateAndTime OPTIONAL                  --- время завершения
действия
     }

     specialNumbersRecords TAGGED ::= {
      OID { sorm-report-dictionary-special-numbers }
      DATA SEQUENCE OF SpecialNumberRecord
     }

     SpecialNumberRecord ::= SEQUENCE {
     telco-id         TelcoID,                     ---        идентификатор
оператора  связи или структурного подразделения
     directory-number UTF8String (SIZE (1 .. 32)), ---  специальный   номер
     description UTF8String (SIZE (1 .. 256)),     ---             описание
(наименование, назначение) специального номера
     begin-time  DateAndTime,                      ---      время    начала
действия
     end-time    DateAndTime OPTIONAL,             ---    время  завершения
действия
     network-address  IPAddress OPTIONAL           ---     адрес   в   сети
передачи данных
     }

     bunchesMapRecords TAGGED ::= {
      OID { sorm-report-dictionary-bunches-map }
      DATA SEQUENCE OF BunchesMapRecord
     }

     BunchesMapRecord ::= SEQUENCE {
     a-bunch        BunchMapPoint,                     ---             пара
коммутатор/пучок в связи
     b-bunch        BunchMapPoint,                     ---             пара
коммутатор/пучок в связи
     begin-time DateAndTime,                           ---  время    начала
действия связи
     end-time   DateAndTime OPTIONAL                   --- время завершения
действия связи
     }

     BunchMapPoint ::= SEQUENCE {
     telco-id        TelcoID,                          ---    идентификатор
оператора связи или филиала
     switch-id UTF8String (SIZE (1 .. 128)),           ---    идентификатор
коммутатора
     bunch-id  Bunch                                   ---    идентификатор
пучка коммутатора
     }

     mobileSubscriberIdenityPlanRecords TAGGED ::= {
      OID { sorm-report-dictionary-mobile-subscriber-identity-plan }
      DATA SEQUENCE OF MobileSubscriberIdenityPlanRecord
     }

     MobileSubscriberIdenityPlanRecord ::= SEQUENCE {
      telco-id      TelcoID,                       ---        идентификатор
оператора связи или структурного подразделения
      mcc           NumericString (SIZE(3)),       ---      код      страны
      mnc           NumericString (SIZE(3)),       ---  код оператора связи
      area-code     NumericString (SIZE(3 .. 10)), ---   код   зоны/региона
      capacity-from NumericString (SIZE (0 .. 7)), ---     нижняя   граница
диапазона (от)
      capacity-to   NumericString  (SIZE (0 .. 7)), ---   верхняя   граница
диапазона (до)
      capacity-size INTEGER (1 .. 10000000),        ---          количество
выделенных  в диапазоне (емкость)
      description       UTF8String (SIZE (2.. 255)),      ---     описание,
назначение
      region        UTF8String (SIZE (1 .. 128)),     --- область
      city    UTF8String (SIZE (1 .. 128)), --- город, поселок, деревня
      range-activation       DateAnd Time,                --- дата и  время
начала действия номерной емкости
      range-deactivation [0] DateAndTimeOPTIONAL,         ---  дата и время
завершения действия номерной емкости
      range-status [1]       UTF8String (SIZE (2 .. 128)) OPTIONAL      ---
текущее состояние номерной емкости
     }

     -- Тип абонента
     PhoneAbonentType ::= ENUMERATED {
      local (0),                            --  абонент данного коммутатора
      network (1),                          --  абонент сети связи
      roamer (2),                           --  абонент    сети   подвижной
радиотелефонной  связи,  пользующийся  услугами  связи за пределами региона
регистрации (роумер)
      undefined (3)
     }

     - коды сигнальных точек OPC/DPC
     signalPointCodes TAGGED ::= {
      OID {sorm-report-dictionary-signal-point-codes}
      DATA SEQUENCE OF SignalPointCodesRecord
     }

     SignalPointCodesRecord ::= SEQUENCE {
      ss7-point-code UTF8String (SIZE (1.. 32)), ---          идентификатор
сигнальной точки (OPC/DPC)
      switch-idUTF8String (SIZE (1 .. 128)),  --- идентификатор коммутатора
      begin-timeDateAndTime,              --- время начала назначения пучка
      end-time  DateAndTime OPTIONAL,       --- время завершения назначения
пучка
      description UTF8String (SIZE (1 .. 256))   --- расшифровка пучка
     }

     END

     4. Filters.asn
     Filters DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS filterMessage;

     IMPORTS TAGGED,
        sorm-message-filter
        FROM Classification

        IPAddress,
        IPPort,
        IPMask,
        PortRange
        FROM NetworkIdentifiers

        TelcoList
        FROM Dictionaries;

     filterMessage TAGGED ::= {
      OID sorm-message-filter
      DATA CHOICE {
       create-filter-request [0] CreateFilterRequest,
       create-filter-response [1] CreateFilterResponse,
       drop-filter-request [2] DropFilterRequest,
       drop-filter-response [3] DropFilterResponse,
       get-filters-request [4] GetFiltersRequest,
       get-filters-response [5] GetFiltersResponse
      }
     }

     CreateFilterRequest ::= SEQUENCE {
      filter-id   FilterID,
      filter-parameters FilterParameters,
      allow-only-mode     BOOLEAN DEFAULT TRUE,
      telcos   TelcoListOPTIONAL  ---  список  филиалов/узлов,  на  которых
устанавливается фильтр (для случаев, когда разные узлы сети передачи данных
реализованы  в  одних  технических и программных средствах ИС ОРМ с разными
telco_id)
     }

     CreateFilterResponse ::= SEQUENCE {
      filter-id FilterlD,
      successful BOOLEAN,
      error-description UTF8String (SIZE (1 .. 256)) OPTIONAL
     }

     DropFilterRequest ::= FilterID

     DropFilterResponse ::= SEQUENCE {
      filter-id   FilterID,
      successful    BOOLEAN,
      error-description UTF8String (SIZE (1 .. 256)) OPTIONAL
     }

     GetFiltersRequest ::= NULL

     GetFiltersResponse ::= SEQUENCE OF FilterResponse

     FilterParameters ::= SEQUENCE OF FilterParameter

     FilterParameter ::= CHOICE {
      single-criteria [0] FilterSingleCriteria, --- одиночный критерий
      pair-criteria [1]   FilterPairCriteria  --- два критерия объединенные
по логическому "И"
     }

     FilterPairCriteria ::= SEQUENCE {
      criteria-a [0] FilterSingleCriteria, --- критерий 1
      criteria-b [1] FilterSingleCriteria  --- критерий 2
     }

     FilterSingleCriteria ::= CHOICE {
      ip-address [0] IPAddress,                    --- IP-адрес
      ip-port [1]   IPPort,                        --- IP порт
      port-range [2] PortRange,                 --- диапазон TCP/UDP портов
      vlan [3]      INTEGER (0 .. 4096),           --- 802.1Q метка (VLAN)
      mac [4]        OCTET STRING (SIZE (6)),      --- MAC-адрес
      mpls-tag [5]    INTEGER,                     --- MPLS-метка
      sni [6]       UTF8String (SIZE (1 .. 128)),  --- SSL/TLS server name
      http-content-type [7] UTF8String (SIZE (1 .. 64)), ---            тип
содержимого поля Conten-typeHTTP-заголовка
      protocol-group [8]    INTEGER,               ---  группа   прикладных
протоколов   (значение  1  -  torrent-протоколы  передачи,  2  -  протоколы
потокового медиаконтента, 3 - шифрованные протоколы)
     ip-protocol-number [9] INTEGER,           --- номер интернет-протокола
по RFC 1700
     http-cookie [10]    UTF8String,                     --- HTTP Cookie,
     http-uri [11]      UTF8String,                      --- HTTP URI
     ip-filter-mask [12] IPFilterMask                    --- IP маска
     }

     IPFilterMask ::= SEQUENCE {
      mask IPMask,             --- маска IP/сети
      mask-length INTEGER      --- длина маски
     }

     FilterResponse ::= SEQUENCE {
      filter-id   FilterID,
      filter-parameters FilterParameters,
      allow-only-mode    BOOLEAN,
      telcos                TelcoListOPTIONAL          --- список филиалов,
на которых установлен конкретный фильтр
    }

     FilterlD ::= INTEGER

     END

     5. Locations.asn
     Locations DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS
      Location,
      GeoLocation;

     IMPORTS
      NetworkPeerInfo FROM NetworkIdentifiers;

     Location ::= CHOICE {
      mobile-location [0]   MobileLocation,       ---        местоположение
мобильного абонента
      wireless-location [1] WirelessLocation,     ---        местоположение
абонента мобильной сети передачи данных
      geo-location [2]      GeoLocation,          ---        географическое
местоположение
      ip-location [3]       IpLocation            ---     ip местоположение
     }

     MobileLocation ::= SEQUENCE {
      lac INTEGER (0 .. 65535),                   --- код зоны
      cell INTEGER (0 .. 100000000000),           --- идентификатор базовой
станции
      ta [0] INTEGER (0 .. 63) OPTIONAL,          --- Timing        Advance
(временная компенсация)
      mcc [1] NumericString (SIZE(3)) OPTIONAL,             ---  код страны
      mnc [2] NumericString (SIZE(3)) OPTIONAL              ---         код
оператора связи
     }

      WirelessLocation ::= SEQUENCE {
      cell UTF8String (SIZE (1.. 64)),         --- идентификатор    сектора
      mac OCTETSTRING (SIZE (6))               --- MAC-адрес       сетевого
оборудования сектора
     }

     GeoLocation ::= SEQUENCE {
     latitude-grade  REAL,                        ---  широта   в   формате
[целое_число_градусов].[стотысячные_доли_градуса]
     longitude-grade REAL,                        ---  долгота   в  формате
[целое_число_градусов].[стотысячные_доли_градуса]
     projection-type ENUMERATED {                 ---    тип       проекции
координат
       wgs84 (0),
       utm (1),
       sgs85 (2)
      }
     }

     IpLocation ::= NetworkPeerInfo

     END

     6. 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 ::= SEQUENCEOFModuleId        ---    перечень
идентификаторов узлов КТС
     RequestedSoftwareModules ::= SEQUENCEOFModuleId        ---    перечень
идентификаторов модулей СПО
     --- запрос на изменение конфигурации КТС/модуля СПО
     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

     --- уникальный идентификатор КТС/модуля СПО
     ModuleId ::= OCTET STRING (SIZE (8))

     --- параметр модуля
      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
     }

     ModuleParameters ::= SEQUENCE OF ModuleParameter

     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 SubmodulesList OPTIONAL     --- субмодули
     }

     SubmodulesList ::= SEQUENCE OF SormSoftwareModule

     SormHardwareModule ::= SEQUENCE {
      module-id    ModuleId,                           ---       уникальный
идентификатор данного модуля
      block-name        INTEGER (0 .. 1024),           --- номер блока КТС
      module-name       UTF8String (SIZE (1 .. 512)),  ---     наименование
модуля
      module-parameters HwParameterGroups              --- значение  группы
параметров КТС
     }

     HwParameterGroup ::= SEQUENCE {

     group-name     UTF8String (SIZE (1 .. 512)),      ---     наименование
группы параметров для КТС
      module-parameters ModuleParameters               ---         перечень
параметров для КТС
     }

     HwParameterGroups ::= SEQUENCE OF HwParameterGroup

     SormSoftwareModules ::= SEQUENCE OF SormSoftwareModule

     SormHardwareModules ::= SEQUENCE OF SormHardwareModule

    --- тип сообщения "ответ на команду управления ИС ОРМ"
     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))    --- расшифровка типа
модуля
     }

     END

     7. NetworkIdentifiers.asn
     NetworkIdentifiers DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS   Bunch,   DataNetworkEquipment,  IPAddress,  IPPort,  IPMask,
NetworkPeerInfo,   PortRange,   NetworkType,   DataVoipNumber,  IMProtocol,
VoipProtocol, HttpMethod, EntranceEventType;

     --- идентификаторы пучка
     Bunch ::= CHOICE {
      gsm [0]       UTF8String (SIZE (1 .. 32)),       ---    идентификатор
пучка для GSM-Сети
      cdma-umts [1] DataNetworkEquipment               ---    идентификатор
пучка для W/CDMA, UMTS-сети
     }

     -- идентификатор оборудования сети передачи данных
     DataNetworkEquipment ::= CHOICE {
     mac [0] OCTETSTRING (SIZE (6)),                   ---        MAC-адрес
оконечного  сетевого оборудования
     atm [1] DataNetworkATM
     }

     --- ATM адрес (SDH/PDH-сети)
     DataNet work ATM ::= SEQUENCE {
     vpi OCTETSTRING (SIZE (1)),                  ---   номер  виртуального
пути сети ATM (VPI)
     vci OCTETSTRING (SIZE (2)) OPTIONAL          ---   номер  виртуального
канала сети ATM (VCI)
     }

     --- тип сети связи (стандарт)
     NetworkType ::= ENUMERATED {
     not-specified(0),        --- не конкретизированный стандарт
     mob-gsm(1),              --- сеть   подвижной   радиотелефонной  связи
стандарта GSM
     mob-cdma(2),             --- сеть   подвижной   радиотелефонной  связи
стандарта CDMA
     fix-pstn(3),             --- сеть телефонной связи
     data-ip(4),              --- стационарные сети передачи данных
     data-srv(5),             --- ТМС-службы
     data-ip-mob(6),          ---  передача   данных   в   сети   подвижной
радиотелефонной связи
     data-ip-wifi (7),        --- беспроводная    сеть    передачи   данных
стандарта WiFi
     data-ip-max (8),         --- беспроводная    сеть    передачи   данных
стандарта WiMAX
     paging(9),               --- персональный радиовызов
     voip(10)                 ---  передача  голосовой  информации  в  сети
передачи данных
     }

     --- IP-адрес
     IPAddress ::= CHOICE {
      ipv4 [0]       IPV4 Address, --- IPv4-адрес
      ipv6 [1]       IPV6 Address, --- IPv6-адрес
      ip-range  [2]  IPRange              ---  использование    только    в
RequestedConnections, RequestedIdentifiers, TaskLocation
     }

     --- IP-адрес без возможности указать диапазон значений адреса
     IPAddressWithoutRange ::= CHOICE {
      ipv4 [0]       IPV4Address,                 --- IPv4-адрес
      ipv6 [1]       IPV6Address                  --- IPv6-адрес
     }

     --- IPv4-адрес
     IPV4 Address ::= OCTET STRING (SIZE (4))               --     IP-адрес
4 байта)

     -- IPv6-адрес
     IPV6 Address ::= OCTET STRING (SIZE (16))        -- IP-адрес (16 байт)

     --- IP/UDP/TCP-порт
     IPPort ::= OCTET STRING (SIZE (2))    --- порт

     --- маска IP-подсети
     IPMask ::= CHOICE {
      ipv4-mask [0] IPV4Mask,                     --- IPv4-маска
      ipv6-mask [1] IPV6Mask                      --- IPv6-маска
     }

     --- диапазон IP-адресов заданный маской или интервалом значений
     IPRange ::= CHOICE {
      ip-address-range [0] IPAddressRange,
      ip-address-mask [1] IPAddressMask
     }

     --- диапазон IP-адресов заданный интервалом значений
     IPAddressRange ::= SEQUENCE {
     ip-from [0] IPAddressWithoutRange, --- начало ip-интервала значений
     ip-to [1] IPAddressWithoutRange    --- конец ip-интервала значений }
     }

     --- диапазон IP-адресов заданный маской
     IPAddressMask ::= SEQUENCE {
      ip-prefix IPAddressWithoutRange,      --- префикс IP/сети
      ip-mask IPMask                        --- маска IP/сети
     }

     --- информация об участнике соединения передачи данных
     NetworkPeerInfo ::= SEQUENCE {
      ip-address IP Address,                      --- IP-адрес
      ip-port IPPort OPTIONAL                     --- IP-порт
     }

     PortRange ::= SEQUENCE {
      port-from [0] IPPort,
      port-to [1] IPPort
     }

     --- IPv4-маска
     IPV4Mask ::= OCTET STRING (SIZE (4))

     --- IPv6-маска
     IPV6Mask ::= OCTET STRING (SIZE (16))

     --- Номер телефона VoIP-абонента
     DataVoipNumber ::= SEQUENCE {
      original-number UTF8String (SIZE (1 .. 2048))OPTIONAL,            ---
исходный номер абонента
      translated-number [0] UTF8String (SIZE (1 .. 32)) OPTIONAL, --- номер
абонента после преобразования
      e164-number [1] UTF8String (SIZE (1 .. 15)) OPTIONAL        --- номер
абонента в E164-сети
     }

    VoipProtocol ::= ENUMERATED {
      sip(0),
      h323(1),
      iax(2),
      skype(100)
     }
     IMProtocol ::= ENUMERATED {     --- протокол,   при   помощи  которого
отправлены сообщения
     icq(0),
     aol(1),
     msn(2),
     yahoo(3),
     web-mail(4),     ---  передача   сообщения  пользователем  посредством
почтового веб-сервера
     skype(5),
     irc(6),
     jabber(7),
     mra(8),
     tencent(9),
     airway(10),
     mms(98),
     sms(99),
     vk(100),
     facebook(101),
     myspace(102),
     twitter(103),
     odnoklassniki(104),
     moymir(105),
     zello(106),
     other(151),
     whatsapp(152),
     viber(153),
     telegram(154),
     rezerv 5(155),
     rezerv 6(156),
     rezerv 7(157),
     rezerv 8(158),
     rezerv 9(159),
     rezerv 10(160),
     rezerv 11(161),
     rezerv 12(162),
     rezerv 13(163),
     rezerv 14(164),
     rezerv 15(165),
     rezerv 16(166),
     rezerv 17(167),
     rezerv 18(168),
     rezerv 19(169),
     rezerv 20(170)
     }

     - http метод
     HttpMethod ::= ENUMERATED {
     get(0),
     post(1),
     put(2),
     delete(3)
       }

     ---  Тип события входа в личный кабинет
     EntranceEventType ::= ENUMERATED {
     registration(0),       --- регистрация
     logon(1),              --- вход
     logon-failure(2),      --- неудачный вход
     logoff(3),             --- выход
     add-service(4),        --- заказ услуги
     update-service(5),     --- изменение услуги
     del-service(6),        --- прекращение услуги
     add-domain(7),         --- подключение/покупка домена
     del-domain(8),         --- удаление домена
     create-support-ticket(9), --- создание запроса в службу поддержки
     update-profile(10),    --- обновления информации в профиле
     other(11)              --- иное
     }

     END

     8. ReportedIdentifiers.asn
     ReportedIdentifiers DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS
      ReportedIdentifier
      ;

     IMPORTS TAGGED,
        sorm-report-identifier-pager,
        sorm-report-identifier-pstn,
        sorm-report-identifier-gsm,
        sorm-report-identifier-cdma,
        sorm-report-identifier-data-network,
        sorm-report-identifier-voip
        FROM Classification

        IPAddress, DataNetworkEquipment, IPMask
        FROM NetworkIdentifiers;

     ReportedIdentifier ::= SEQUENCE {
      id TAGGED.&id ({ReportedIdentifierVariants}),
      data TAGGED.&Data ({ReportedIdentifierVariants} {@id})
     }

     --- варианты идентификаторов отчета
     ReportedIdentifierVariants TAGGED ::= {
       reportedPagerIdentifier                         ---    идентификатор
сети персонального радиовызова
      | reportedPstnIdentifier                    ---   идентификатор  сети
телефонной связи
      | reportedGsmIdentifier                          ---    идентификатор
GSM
      | reportedCdmaIdentifier                         ---    идентификатор
CDMA
      | reportedDataNetworkIdentifier                  ---    идентификатор
сети передачи данных
      | reportedVoipIdentifier
     }

     ---  идентификатор сети персонального радиовызова
     reportedPagerIdentifier TAGGED ::= {
      OID { sorm-report-identifier-pager }
      DATA ReportedPagerIdentifier
     }

     ReportedPagerIdentifier ::= NumericString (SIZE (2 .. 18))

     --- идентификатор телефонной сети общего пользования
     reportedPstnIdentifierTAGGED ::= {
     OID { sorm-report-identifier-pstn }
      DATA ReportedPstnIdentifier
     }

     ReportedPstnIdentifier ::= SEQUENCE {
     directory-number UTF8String (SIZE (1 .. 32)),          ---  телефонный
номер в международном формате
     intemal-numberNumericString (SIZE (1 .. 32)) OPTIONAL  ---
дополнительный внутренний номер (при наличии)
     }

     --- идентификатор абонента GSM
     reportedGsmIdentifier TAGGED ::= {
      OID { sorm-report-identifier-gsm }
      DATA ReportedGsmIdentifier
     }

     ReportedGsmIdentifier ::= SEQUENCE {
     directory-number UTF8String (SIZE (1 .. 32)),      ---      телефонный
номер в международном формате
      imsi NumericString (SIZE (2 .. 18)),              ---   идентификатор
мобильного абонента
      imei [0] NumericString (SIZE (2 .. 18)) OPTIONAL, ---   идентификатор
мобильной станции
      icc [1] NumericString (SIZE (10 .. 20)) OPTIONAL  ---   идентификатор
SIM-карты абонента
     }

     -- идентификатор абонента CDMA
     reportedCdmaIdentifier TAGGED ::= {
      OID { sorm-report-identifier-cdma }
      DATA ReportedCdmaIdentifier
     }

     ReportedCdmaIdentifier ::= SEQUENCE {
      directory-number UTF8String (SIZE (1 .. 32)),     ---      телефонный
номер в международном формате
      imsi NumericString (SIZE (2 .. 18)),              ---   идентификатор
мобильного абонента
      esn [0] NumericString (SIZE (2 .. 18)) OPTIONAL,  ---   идентификатор
мобильной станции
      min [1] NumericString (SIZE (2 .. 18)) OPTIONAL,  ---   идентификатор
мобильного абонента (CDMA)
      icc [2] NumericString (SIZE (10 .. 20)) OPTIONAL  ---   идентификатор
SIM-карты абонента
     }

     reportedDataNetworkIdentifier TAGGED ::= {
      OID { sorm-report-identifier-data-network }
      DATA ReportedDataNetworkIdentifier
     }

     ReportedDataNetworkIdentifier ::= SEQUENCE {
      user-equipment [0] DataNetworkEquipment OPTIONAL,          ---
идентификатор пользовательского оборудования
      login [1] UTF8String (SIZE (1 .. 128)) OPTIONAL,        ---       имя
пользователя - login
      ip-address [2]   IPAddress OPTIONAL,                    ---  IP-адрес
      e-mail [3] UTF8String (SIZE (1 .. 256)) OPTIONAL,       ---     адрес
электронной почты
      pin [4] NumericString (SIZE (2 .. 20)) OPTIONAL,        ---       PIN
      phone-number [5] UTF8String (SIZE (2 .. 32)) OPTIONAL,     ---  номер
телефона
      user-domain [6]  UTF8String (SIZE (2 .. 256)) OPTIONAL,    ---
пользовательский домен
      reserved [7]     UTF8String (SIZE (1 .. 256)) OPTIONAL,    --- резерв
      ip-mask [8]      IPMask OPTIONAL
     }

      reportedVoipIdentifier TAGGED ::= {
       OID { sorm-report-identifier-voip }
       DATA ReportedVoipIdentifier
     }

     ReportedVoipIdentifier ::= SEQUENCE {
      ip-address [0] IPAddress OPTIONAL,                      ---  IP-адрес
абонента
      originator-name [1] UTF8String (SIZE (1 .. 512)) OPTIONAL,  ---
общедоступное имя инициатора связи
      calling-number [2] UTF8String (SIZE (1 .. 32)) OPTIONAL     --- номер
вызывающего абонента
     }

     END

     9. ReportsAbonents.asn
     ReportsAbonents DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS AbonentsReport;

     IMPORTS TAGGED,
        sorm-report-abonent-abonent,
        sorm-report-abonent-service,
        sorm-report-abonent-person,
        sorm-report-abonent-organization
      FROM Classification

       DateAndTime
      FROM Sorm

       TelcoID
      FROM Dictionaries

       ReportedIdentifier
      FROM ReportedIdentifiers

       NetworkType,
       NetworkPeerInfo,
       IPAddress
      FROM Networkidentifiers

       AddressType,
       ReportedAddresses,
       ReportedAddress
      FROM Addresses;

     AbonentsReport ::= SEQUENCE {
      id TAGGED.&id ({AbonentsReportVariants}),
      data TAGGED.&Data({AbonentsReportVariants} {@id})
     }

     AbonentsReportVariants TAGGED ::= {
      reportAbonent |         --- информация об абоненте
      reportService           --- информация об сервисах
     }

     reportAbonent TAGGED ::= {
      OID sorm-report-abonent-abonent
      DATA SEQUENCE OF AbonentsRecord
     }

     AbonentsRecord ::= SEQUENCE {
     telco-id TelcoID,                                 ---    идентификатор
оператора  связи или структурного подразделения
      idents ReportedIdentifier,                       ---   идентификаторы
абонента
      contract-date DateAndTime,                       --- дата   и   время
заключения договора
      contract UTF8String (SIZE (1 .. 64)),            --- номер договора
      actual-from DateAndTime,                         ---  дата  и   время
начала  интервала  времени,  на  котором  актуальна  информация  по текущим
idents+abonent
      actual-to  DateAndTime,                          ---  дата  и   время
окончания  интервала  времени,  на  котором актуальна информация по текущим
idents+abonent
      abonent AbonentInfo,                             ---   информация  об
абоненте (клиенте оператора связи)
      status ActiveStatus,                             --- текущий   статус
абонента (подключен/отключен)
      attach [0]   DateAndTime OPTIONAL,               --- дата   и   время
подключения услуги
      detach [1]   DateAndTime OPTIONAL,               --- дата   и   время
отключения услуги
      services [3] ActiveServices OPTIONAL,            ---   активированные
услуги
      line-data [4] LineData OPTIONAL,                 --- линейные  данные
(кросс, рамка, пара)
      standard [5] Standard OPTIONAL,                  --- стандарт связи
      addresses [6] ReportedAddresses OPTIONAL,        --- адреса абонента
      last-ip [8] NetworkPeerInfoOPTIONAL,             ---        последний
IP-адрес абонента, зафиксированный при авторизации в системах IP-телефонии
      last-ip-date [9] DateAndTimeOPTIONAL             ---  дата   фиксации
последнего IP-адреса абонента
     }

     ActiveServices ::= SEQUENCE OF AbonentService      ---           набор
подключенных ДВО

     ActiveStatus ::= ENUMERATED {
      active (0),                                 --- активный
      not-active (1)                              --- не активный
     }

     LineData ::= SEQUENCE {
      object [0] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---        описание
объекта связи
     cross [1]   UTF8String (SIZE (1 .. 128)) OPTIONAL, --- описание кросса
     block [2]   UTF8String (SIZE (1 .. 128)) OPTIONAL, --- описние блока
     pair [3]    UTF8String (SIZE (1 .. 128)) OPTIONAL, --- описание пары
     reserved [4] UTF8String (SIZE (1.. 128)) OPTIONAL  --- резерв
     }

     AbonentInfo ::= SEQUENCE {
      id TAGGED.&id ({AbonentsInfoVariants}),
      data TAGGED.&Data({ AbonentsInfoVariants) {@id}) }
     }

     AbonentsInfoVariants TAGGED ::= {
     abonentPerson |     --- информация об абоненте - физическом лице
     abonentOrganization --- информация об абоненте - юридическом лице
     }

     --- Физическое лицо
     abonentPerson TAGGED {
      OID { sorm-report-abonent-person }
      DATA AbonentPerson
     }

     AbonentPerson ::= SEQUENCE {
      name-info PersonNameInfoReport,        ---   фамилия,  имя,  отчество
(при наличии)
      birth-date GeneralizedTime OPTIONAL,   --- дата рождения
      passport-info PassportInfoReport,      --- паспортные данные
      bank [1]         UTF8String (SIZE(1 .. 256)) OPTIONAL,  ---      банк
абонента (используемый при расчетах с оператором связи)
      bank-account [2] UTF8String (SIZE(1 .. 30)) OPTIONAL,   ---      счет
абонента в банке (используемый при расчетах с оператором связи)
      e-mail [3]       UTF8String (SIZE (1 .. 256)) OPTIONAL, ---     адрес
электронной почты
      phone-contact [4] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- телефоны
для взаимодействия
      ssid [5]         UTF8String (SIZE (1 .. 256)) OPTIONAL,  ---     SSID
абонентской WiFi-точки доступа
      mac [6]          OCTET STRING (SIZE (6)) OPTIONAL       --- MAC-адрес
абонентской WiFi-точки доступа
     }

     PersonNameInfoReport ::= CHOICE {
      struct-name [0] PersonStructNameInfoReport,        ---
структурированные фамилия, имя, отчество (при наличии)
      unstruct-name [1] UTF8String(SIZE(1 .. 1024))   ---
неструктурированные фамилия, имя, отчество (при наличии)
     }

     PersonStructNameInfoReport ::= SEQUENCE {
      given-name  UTF8String (SIZE (1 .. 256)),        --- имя
      initial     UTF8String (SIZE (1 .. 256)),        ---   отчество  (при
наличии)
      family-name UTF8String (SIZE (1 .. 256))         --- фамилия
     }

     PassportInfoReportm ::= SEQUENCE {
     ident-card-info IdentCardInfoReport,              ---         описание
удостоверения личности
     doc-type-id     INTEGER (0 .. 65535)              ---    идентификатор
типа  документа, удостоверяющего личность
     }

     IdentCardInfoReport ::= CHOICE {
      struct-info [0]   IdentCardStructInfoReport,     ---
структурированная информация
      unstruct-info [1] UTF8String (SIZE (1 .. 1024))  ---
неструктурированная информация
     }

     IdentCardStructInfoReport::= SEQUENCE {
     ident-card-serial UTF8String (SIZE (1 .. 16)),    ---            серия
удостоверения личности
     ident-card-number UTF8String (SIZE (1 .. 16)),    ---            номер
удостоверения личности
     ident-card-description UTF8String (SIZE (1 .. 512)) ---  когда  и  кем
выдано
     }

     abonentOrganization TAGGED ::= {
      OID { sorm-report-abonent-organization }
      DATA AbonentOrganization
     }

     AbonentOrganization ::= SEQUENCE {
     full-name   UTF8String (SIZE (1 .. 256)), --- полное наименование
     inn UTF8String (SIZE (1 .. 64)),          --- ИНН
     contact [0] UTF8String (SIZE (1 .. 128)) OPTIONAL,  ---          лицо,
взаимодействующее с оператором связи по вопросам оказания услуг связи
     phone-fax [1] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---     телефоны,
факс  (при  наличии)  для  взаимодействия  абонента  -  юридического лица с
оператором связи по вопросам оказания услуг связи
     internal-users [2] InternalUsers OPTIONAL,          ---         список
внутренних  пользователей, выдается только при заполнении аналогичного поля
в  запросе  формирования  задачи на поиск идентификаторов абонентов или при
заполнении поля internal-number в запросе на принадлежность идентификаторов
операторам связи
     bank [3]         UTF8String(SIZE (1 .. 256)) OPTIONAL,   ---      банк
абонента (используемый при расчетах с оператором связи)
     bank-account [4] UTF8String (SIZE (1 .. 30)) OPTIONAL,   ---      счет
абонента в банке (используемый при расчетах с оператором связи)
     e-mail [5]       UTF8String (SIZE (1 .. 256)) OPTIONAL,  ---     адрес
электронной почты
     ssid [6] UTF8String (SIZE (1 .. 256)) OPTIONAL,          ---      SSID
абонентской WiFi-точки доступа
     mac [7] OCTET STRING (SIZE (6)) OPTIONAL                 ---
MAC-адрес абонентской WiFi-точки доступа
     }

     InternalUsers ::= SEQUENCE OF IntemalUsersRecord  ---  набор  записей,
описывающих внутренних пользователей абонента - юридического лица

     InternalUsersRecord ::= SEQUENCE {
      user-name UTF8String (SIZE (1 .. 64)), ---    строка    -   описатель
внутреннего пользователя
      internal-number NumericString (SIZE (1 .. 64)) ---  внутренний  номер
(при наличии)
     }

      Standard ::= NetworkType --- перечень стандартов связи

     reportService TAGGED ::= {
      OID sorm-report-abonent-service
      DATA SEQUENCE OF AbonentService
     }

     AbonentService::= SEQUENCE {
     telco-id TelcoID,                            ---         идентификатор
оператора связи или структурного подразделения
     service-id INTEGER (0 .. 4294967295),        --- идентификатор услуги
      idents  ReportedIdentifier OPTIONAL,      --- идентификаторы абонента
      contract  UTF8String (SIZE (1 .. 64)),      --- номер договора
      begin-time DateAndTime,                     --- дата и  время  начала
оказания услуги
      end-time   DateAndTime,                    --- дата и время окончания
оказания услуги
      parameter  UTF8String (SIZE (1 .. 256)) OPTIONAL ---   индивидуальные
параметры настройки услуги абонента
     }

     END

     10. Reports.asn
     Reports DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS reportMessage,
        Acknowledgement;

     IMPORTS TAGGED,
        sorm-message-report
        FROM Classification

        Message, MessageID, DateAndTime
        FROM Sorm

        TaskID
        FROM Tasks

        DictionaryReport
        FROM Dictionaries

        ConnectionsReport
        FROM ReportsConnections

        LocationReport
        FROM ReportsLocations

        PaymentsReport
        FROM ReportsPayments

        PresenseReport
        FROM ReportsPresense

        NonFormalizedReport
        FROM ReportsNonFormalized

        AbonentsReport
        FROM ReportsAbonents

        DataContentReport
        FROM ReportsDataContent;

     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 ReportDataBlock      --- блок данных отчета
     }

     --  Подтверждение   приема   блока   передается  с  номером  сообщения
соответствующему номеру сообщения блока отчета
     Acknowledgement ::= SEQUENCE {
     successful BOOLEAN,                     --- признак корректного приема
блока
     broken-record INTEGEROPTIONAL,          ---  номер  записи  в  отчете,
обработанной на ПУ с ошибкой
     error-description UTF8String (SIZE (1 .. 1024)) OPTIONAL ---  описание
ошибки приема блока в произвольной форме
     }

     ReportDataBlock ::= CHOICE {
     dictionary [0]    DictionaryReport,               ---  отчеты    задач
пополнения справочников (нормативно-справочная информация)
     abonents [1] AbonentsReport,            --- отчеты  задач  поисков  по
принадлежности абонентов
     connections [2]   ConnectionsReport,    --- отчеты  задач  поисков  по
соединениям абонентов
     locations [3] LocationReport,           --- отчет   задачи   получения
данных о местоположении абонентов
     payments [4]      PaymentsReport,       --- отчеты  задач  поисков  по
совершенным платежам
     presense [6]  PresenseReport,           ---       отчеты         задач
по запросу наличия в ИС ОРМ информации
     nonFormalized [7] NonFormalizedReport,  ---       отчеты         задач
по обработке неформализованных данных
     data-content [10] DataContentReport     ---    отчеты     задач    по
получению содержимого потоков
     }

     END

     11. ReportsConnections.asn
     ReportsConnections DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS ConnectionsReport, CallsRecords;

     IMPORTS DateAndTime
      FROM Sorm

        DataContentID
      FROM Tasks

       Location
      FROM Locations

       ReportedIdentifier
      FROM ReportedIdentifiers

       Bunch,
       NetworkPeerInfo,
       DataNetworkEquipment,
       Data VoipNumber,
       IPAddress,
       IPMask,
       VoipProtocol,
       IMProtocol,
       HttpMethod,
       EntranceEventType
      FROM NetworkIdentifiers

       PhoneAbonentType,
       TelcoID
      FROM Dictionaries

       TAGGED,
       sorm-report-connection-pager,
       sorm-report-connection-pstn,
       sorm-report-connection-mobile,
       sorm-report-connection-ipdr-header,
       sorm-report-connection-aaa-login,
       sorm-report-connection-resource,
       sorm-report-connection-email,
       sorm-report-connection-im,
       sorm-report-connection-voip,
       sorm-report-connection-file-transfer,
       sorm-report-connection-term-access,
       sorm-report-connection-raw-flows,
       sorm-report-connection-address-translations,
       sorm-report-connection-entrance,
       sorm-report-connection-sms
      FROM Classification;

     ConnectionsReport ::= CallsRecords

     CallsRecords ::= SEQUENCE {
      id TAGGED.&id ({ReportedCallsVariants}),
      data TAGGED.&Data ({ReportedCallsVariants} {@id})
     }

     ReportedCallsVariants TAGGED ::= {
       pagerRecord
      | pstnRecord
      | mobileRecord
      | dataAAARecord
      | dataEmailRecord
      | dataImRecord
      | dataFileTransferRecord
      | dataTermAccessRecord
      | dataRawFlowsRecord
      | dataResourceRecord
      | dataVoipRecord
      | dataAddressTranslationRecord
      | dataEntranceRecord
      | smsRecord
     }

     --- Детализированные  записи  отправки  пэйджинг-сообщений
     pagerRecord TAGGED ::= {
      OID { sorm-report-connection-pager }
      DATA SEQUENCE OF PagerRecordContent
     }

     PagerRecordContent ::= SEQUENCE {
     telco-id TelcoID,                            ---         идентификатор
оператора  связи или структурного подразделения
     call-type-id INTEGER (0 .. 4294967295),      ---   тип      соединения
     connection-time DateAndTime,                 --- дата и время передачи
сообщения
     info ReportedIdentifier,                     ---        идентификаторы
абонента
     in-bytes-count INTEGER (0 .. 1024),          ---   объем    переданных
данных
     term-cause INTEGER (0 .. 16384)              ---   причина  завершения
соединения
     }

     --  детализированные  записи  разговоров  абонентов  в сети телефонной
связи, в том числе неудавшиеся попытки соединений
     pstnRecord TAGGED ::= {
      OID { sorm-report-connection-pstn }
      DATA SEQUENCE OF PstnRecordContent
     }

     PstnRecordContent ::= SEQUENCE {
      telco-id  TelcoID,                               ---    идентификатор
оператора  связи или структурного подразделения
      begin-connection-time DateAndTime,               ---  дата   и  время
начала соединения
      duration INTEGER (0 .. 86399),                   --- время соединения
      call-type-id INTEGER (0 .. 4294967295),          --- тип соединения
      supplement-service-id INTEGER (0 .. 4294967295), --- ДВО при
соединении
      in-abonent-type Phone AbonentType,          ---    тип    вызывающего
абонента
      out-abonent-type PhoneAbonentType,          ---    тип    вызываемого
абонента
      switch-id UTF8String (SIZE (1 .. 128)),     ---    код    коммутатора
обслужившего соединение
      inbound-bunch  UTF8String (SIZE (1 .. 32)), --- входящий пучок
      outbound-bunch UTF8String (SIZE (1 .. 32)), --- исходящий пучок
      term-cause     INTEGER (0 .. 16384),        ---  причина   завершения
соединения
      phone-card-number [0] NumericString (SIZE (1 .. 20)) OPTIONAL,    ---
номер телефонной карты
      in-info [1] ReportedIdentifier OPTIONAL,             ---
идентификаторы вызывающего абонента
      dialed-digits [2]    UTF8String (SIZE (1 .. 128)),   ---    набранный
номер вызываемого абонента
      out-info [3]         ReportedIdentifier OPTIONAL,             ---
идентификаторы вызываемого абонента
      forwarding-identifier [4] UTF8String (SIZE (2 .. 32)) OPTIONAL,  ---
телефонный номер при переадресации
      border-switch-id [5] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---   код
пограничного коммутатора
      message  [10]           UTF8StringOPTIONAL,           ---   текстовое
содержание  сообщения абонента
      ss7-opc [11]            UTF8String (SIZE (1 .. 32)) OPTIONAL, --- SS7
код точки отправления
      ss7-dpc [12]            UTF8String (SIZE (1 .. 32)) OPTIONAL, --- SS7
код точки назначения
      data-content-id [13] DataContentID OPTIONAL                   ---
идентификатор потока
     }

     --   детализированные   записи  разговоров  абонентов  сети  подвижной
радиотелефонной связи, в том числе неудавшиеся попытки соединений
     --  детализированные записи об SMS-сообщениях, в том числе неудавшихся
попытки отправки сообщений
     mobileRecord TAGGED ::= {
      OID { sorm-report-connection-mobile }
      DATA SEQUENCE OF MobileRecordContent
     }

     MobileRecordContent ::= SEQUENCE {
      telco-id              TelcoID,                   ---    идентификатор
оператора  связи или структурного подразделения
      begin-connection-time DateAndTime,               ---   дата  и  время
начала соединения
      duration              INTEGER (0 .. 86399),      --- время соединения
      call-type-id          INTEGER (0 .. 4294967295), --- тип соединения
      supplement-service-id INTEGER (0 .. 4294967295), ---     ДВО      при
соединении
      in-abonent-type       PhoneAbonentType,          --- тип  вызывающего
абонента
      out-abonent-type      PhoneAbonentType,          --- тип  вызываемого
абонента
      switch-id UTF8String (SIZE (1 .. 128)),          --- код  коммутатора
обслужившего соединении
      term-cause INTEGER (0 .. 16384),                 ---          причина
завершения соединения
      inbound-bunch [0]     Bunch OPTIONAL,            ---  входящий  пучок
      outbound-bunch [1]    Bunch OPTIONAL,            ---  исходящий пучок
      in-info [2] ReportedIdentifier OPTIONAL,         ---   идентификаторы
вызывающего абонента
      in-end-location [3]   Location OPTIONAL,         ---   местоположение
вызывающего абонента при завершении вызова
      in-begin-location [4] LocationOPTIONAL,          ---   местоположение
вызывающего абонента на начало вызова
      out-info [5] ReportedIdentifier OPTIONAL,        ---   идентификаторы
вызываемого абонента
      out-begin-location [6] Location OPTIONAL,        ---   местоположение
вызываемого абонента на начало вызова
      out-end-location [7]  Location OPTIONAL,         ---   местоположение
вызываемого абонента при завершении вызова
      forwarding-identifier [8] UTF8String (SIZE (2 .. 32)) OPTIONAL,  ---
телефонный номер при переадресации
      roaming-partner-id [9] INTEGER (0 .. 4294967295) OPTIONAL,   ---  код
роумингового партнера
      border-switch-id [10] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---  код
пограничного коммутатора
      data-content-id [41] DataContentID OPTIONAL,                 ---
идентификатор потока
      dialed-digits [42]   UTF8String (SIZE (1 .. 128)) OPTIONAL   ---
набранный номер вызываемого абонента
     }

     --   детализированные   записи  об  SMS-сообщениях,  включающие  текст
сообщений
     smsRecord TAGGED ::= {
      OID { sorm-report-connection-sms }
      DATA SEQUENCE OF SmsRecordContent
     }

     SmsRecordContent ::= SEQUENCE {
      telco-id  TelcoID,                               ---    идентификатор
оператора  связи или структурного подразделения
      begin-connection-time DateAndTime,               --- дата  и    время
начала соединения
      call-type-id          INTEGER (0 .. 4294967295), --- тип   соединения
      in-abonent-type       PhoneAbonentType,          --- тип  вызывающего
абонента
      out-abonent-type      PhoneAbonentType,          --- тип  вызываемого
абонента
      switch-id  UTF8String (SIZE (1 .. 128)),    ---  код     коммутатора,
обслужившего соединении
      term-cause INTEGER (0 .. 16384),            --- причина    завершения
соединения
      message    UTF8String,                      ---  текстовое содержание
сообщения абонента
      inbound-bunch [0]     Bunch OPTIONAL,            ---  входящий  пучок
      outbound-bunch [1]    Bunch OPTIONAL,            --- исходящий  пучок
      in-info [2] ReportedIdentifier OPTIONAL,         ---   идентификаторы
вызывающего абонента
      in-end-location [3]   Location OPTIONAL,         ---   местоположение
вызывающего абонента при завершении вызова
      in-begin-location [4] Location OPTIONAL,         ---   местоположение
вызывающего абонента на начало вызова
      out-info [5]          ReportedIdentifier OPTIONAL, ---
идентификаторы  вызываемого абонента
      out-begin-location [6] Location OPTIONAL,        ---   местоположение
вызываемого абонента на начало вызова
      out-end-location [7]   Location OPTIONAL,        ---   местоположение
вызываемого абонента при завершении вызова
      roaming-partner-id [9] INTEGER (0 .. 4294967295) OPTIONAL,    --- код
роумингового партнера
      border-switch-id [10]  UTF8String (SIZE (1 .. 128)) OPTIONAL  --- код
пограничного коммутатора
     }

     --- запись IPDR подключения/отключения абонента к сети связи
     dataAAARecord TAGGED ::= {
      OID { sorm-report-connection-aaa-login }
      DATA SEQUENCE OF DataAAARecordContent
     }

     DataAAARecordContent ::= SEQUENCE {
     telco-id            TelcoID,                 ---         идентификатор
оператора  связи или структурного подразделения
     point-id            INTEGER (0 .. 1000),     --- идентификатор   точки
подключения к сети передачи данных, от которой получена запись о соединении
     aaa-connection-time DateAndTime,             ---    дата    и    время
подключения/отключения к сети передачи данных
     aaa-login-type      ENUMERATED {             --- тип соединения
     connect (0),                   ---   подключение   к   сети   передачи
данных
     disconnect (1),                ---   отключение   от   сети   передачи
данных
     lac-update (2)
     },
     aaa-session-id UTF8String (SIZE (1 .. 64)),       ---    идентификатор
сессии
     aaa-allocated-ip IPAddress,                       ---       выделенный
динамический IP-адрес
     aaa-user-name UTF8String (SIZE (1 .. 128)),              ---       имя
пользователя (login)
     aaa-connect-type  INTEGER (0 .. 65535),                  ---       код
протокола в соответствии с RFC 1700 либо номер порта для TCP/UDP
     aaa-calling-number UTF8String (SIZE (2 .. 32)),          ---
вызывающий номер
     aaa-called-numberUTF8String (SIZE (2 .. 32)),     ---       вызываемый
номер
     aaa-nas              NetworkPeerInfo,             ---    IP-адрес/порт
NAS-сервера
     aaa-in-bytes-count INTEGER (0 .. 18446744073709551615), ---      объем
принятых данных
     aaa-out-bytes-count   INTEGER (0 .. 18446744073709551615),   --- объем
переданных  данных
     aaa-user-password [0] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---
пользовательский пароль
     aaa-user-equipment [1] DataNetworkEquipment    OPTIONAL,           ---
идентификатор пользовательского оборудования
     aaa-apn [2]     UTF8String (SIZE (1 .. 128)) OPTIONAL,             ---
наименование точки доступа (Access Point Name)
     aaa-sgsn-ip [3] IPAddress OPTIONAL,                    ---    IP-адрес
GPRS/EDGE SGSN
     aaa-ggsn-ip [4] IPAddress OPTIONAL,                    ---    IP-адрес
GPRS/EDGE GGSN
     aaa-service-area-code [5] INTEGER (0 .. 65535) OPTIONAL,      ---  код
зоны обслуживания (SAC) GPRS/EDGE
     aaa-location-start [6] LocationOPTIONAL,               ---     базовая
станция,  через которую установлено соединение (передача данных посредством
подвижной сети связи)
     aaa-location-end [7]   LocationOPTIONAL,               ---     базовая
станция,  посредством  которой завершено соединение (передача данных в сети
подвижной радиотелефонной связи)
     phone-card-number [8]  NumericString (SIZE (20)) OPTIONAL,   --- номер
телефонной карты
     aaa-imsi [9]  NumericString (SIZE (2 .. 18)) OPTIONAL,       ---  IMSI
мобильного абонента
     aaa-imei [10] NumericString (SIZE (2 .. 18)) OPTIONAL,             ---
идентификатор мобильной станции абонента
     aaa-esn [11]  NumericString (SIZE (10 .. 18)) OPTIONAL,            ---
идентификатор мобильной станции абонента
     aaa-pool-number [12]  UTF8String (SIZE (1 .. 64)) OPTIONAL,  --- номер
модемного пула
     aaa-mcc [13]           UTF8String OPTIONAL,
     aaa-mnc [14]           UTF8String OPTIONAL,
     aaa-allocated-ip-mask [15] IPMask OPTIONAL
     }

     --- запись IPDR передачи почтового сообщения
     dataEmailRecord TAGGED ::= {
     OID { sorm-report-connection-email }
      DATA SEQUENCE OF DataEmailRecordContent
     }

     DataEmailRecordContent ::= CHOICE {
      mail-aaa [0]   DataEmailRecordContentAAA,
      mail-ipdr [1]  DataEmailRecordContentIPDR
     }

     DataEmailRecordContentIPDR ::= SEQUENCE {
      mail-cdr-header DataNetworkCdrHeader,       ---             заголовок
IPDR-соединения
     mail-event EmailEvent,         ---         тип события
     mail-sender UTF8String (SIZE (1 .. 512)), ---  отправитель   почтового
сообщения
     mail-receiver EmailReceivers,             ---   получатель   почтового
сообщения
     mail-cc       EmailReceivers,           --- получатель-копия почтового
сообщения
     mail-subject UTF8String (SIZE (0 .. 2048)), --- тема почтового
сообщения
     mail-size  INTEGER  (0 .. 4294967295), --- размер почтового сообщения,
включая прикрепленные файлы, байт
     attachements INTEGER (0 .. 1),         ---    наличие    прикрепленных
файлов в письме (да/нет)
     mail-servers EmailServers,             ---      список       текстовых
наименований  почтовых  серверов,  посредством  которых  которые отправлено
письмо (сообщение), в том числе сервера веб-почты
     mail-term-cause INTEGER (0 .. 16384),  ---    причина       завершения
соединения
     mail-reply-to UTF8String (SIZE (1 .. 256)) OPTIONAL,  --- имя и адрес,
куда следует адресовать ответы на письмо
     mail-protocol ENUMERATED {                        ---   протокол,  при
помощи которого отправлено сообщение
        smtp(0),
     pop3(1),
     imap(2),
     web-mail(3)
      } OPTIONAL,
     mail-abonent-id [0] UTF8String (SIZE (0 .. 64)) OPTIONAL,      ---
идентификатор абонента
     mail-message [10] UTF8String OPTIONAL,                 ---   текстовое
содержание сообщения абонента
     mail-nat-info [11] SEQUENCE OF NetworkPeerInfo  OPTIONAL,          ---
транслированные NAT IP/порт
     mail-location [12] Location OPTIONAL,        ---        местоположение
абонента
     mail-data-content-id [13] DataContentID OPTIONAL     --- идентификатор
потока
     }

     DataEmailRecordContentAAA ::= SEQUENCE {
     mail-cdr-header       DataNetworkCdrHeader,  ---             заголовок
IPDR-соединения
     mail-event EmailEvent,                       ---           тип события
     mail-aaa-info     IP-AAAInformation,         ---      пользовательские
реквизиты входа
     mail-message [10] UTF8String OPTIONAL,       ---  текстовое содержание
сообщения абонента
     mail-nat-info [11] SEQUENCE OF  NetworkPeerInfo OPTIONAL,    ---
транслированные NAT IP/порт
     mail-location [12]        Location OPTIONAL,      ---   местоположение
абонента
     mail-data-content-id [13] DataContentID OPTIONAL        ---
идентификатор потока
     }

     EmailEvent ::= ENUMERATED
     {
         email-send(1),
         email-receive(2),
         email-download(3),
         email-logon-attempt(4),
         email-logon(5),
         email-logon-failure(6),
         email-logoff(7),
         email-partial-download(8)
     }

     EmailReceivers ::= SEQUENCE {
      data SEQUENCE OF UTF8String (SIZE (1 .. 512))
     }

     EmailServers ::= SEQUENCE {
      data SEQUENCE OF UTF8String (SIZE (1 .. 512))
     }

     --- запись  IPDR  передачи   мгновенных  электронных  сообщений  между
пользователями
     dataImRecord TAGGED ::= {
      OID { sorm-report-connection-im }
      DATA SEQUENCE OF DataImRecordContent
     }

     DataImRecordContent ::= SEQUENCE {
     im-cdr-header     DataNetworkCdrHeader,           ---        заголовок
IPDR-соединения
     im-user-login     UTF8String (SIZE (1 .. 128)),   ---   учетная запись
пользователя при подключении
     im-user-password  UTF8String (SIZE (1 .. 128)),   --- пользовательский
пароль при подключении
     im-sender-screen-name UTF8String (SIZE (1 .. 256)), ---  общедоступное
имя отправителя
     im-sender-uin     UTF8String (SIZE (1 .. 256)),   --- пользовательский
идентификатор  отправителя  (в том числе для чата сервера, предназначенного
для отправки мгновенных сообщений)
     im-receivers ImReceivers,                       --- список получателей
сообщения
     im-size           INTEGER (0 .. 4294967295),      ---    размер данных
сессии, байт
     im-term-cause     INTEGER (0 .. 16384),           ---          причина
завершения соединения

     im-protocol [0]   IMProtocol OPTIONAL,
     im-abonent-id [1] UTF8String (SIZE (0 .. 64)) OPTIONAL,      ---
идентификатор абонента
     im-event [5] ImEvent OPTIONAL,
     im-message [10]   UTF8String OPTIONAL,                   --- текстовое
содержание сообщения абонента
     im-nat-info [11]  SEQUENCE OF NetworkPeerInfo OPTIONAL,            ---
транслированные NAT IP/порт
     im-location [12]  Location OPTIONAL,                     ---
местоположение абонента
     im-data-content-id [13] DataContentID OPTIONAL                ---
идентификатор потока
     }

     ImReceivers ::= SEQUENCE OF ImReceiver

     ImReceiver ::= SEQUENCE {
     im-receiver-screen-name UTF8String (SIZE (1 .. 256)),    ---
общедоступное имя получателя
     im-receiver-uin  UTF8String  (SIZE  (1  ..  256))        ---
пользовательский   идентификатор  получателя  (в  том  числе  для  сервера,
предназначенного для отправки мгновенных сообщений)
     }

     ImEvent ::= ENUMERATED
     {
         im-undefined(0),
         im-send(1),
         im-receive(2)
     }

     --- запись IPDR передачи файловых данных
     dataFileTransferRecord TAGGED ::= {
      OID { sorm-report-connection-file-transfer }
      DATA SEQUENCE OF DataFileTransferRecordContent
     }

     DataFileTransferRecordContent ::= SEQUENCE {
     file-cdr-header DataNetworkCdrHeader,             ---        заголовок
IPDR-соединения
     file-server-name   UTF8String (SIZE (1 .. 256)),  --- название сервера
     file-user-name     UTF8String (SIZE (0 .. 128)), --- имя пользователя,
наименование учетной записи
     file-user-password UTF8String (SIZE (0 ..  256)), --- пользовательский
пароль
     file-server-type   BOOLEANOPTIONAL,               ---   режим   работы
файлового сервера (ACTIVE/PASSIVE)
     file-in-bytes-count  INTEGER (0 .. 18446744073709551615),    --- объем
принятых  абонентом  данных,  (включает  соединения управления и соединения
передачи данных), байт
     file-out-bytes-count INTEGER (0 .. 18446744073709551615),    --- объем
переданных  абонентом  данных  (включает соединения управления и соединения
передачи данных), байт
     file-term-cause      INTEGER (0 .. 16384),               ---   причина
завершения соединения
     file-abonent-id [0]  UTF8String (SIZE (0 .. 64)) OPTIONAL,     ---
идентификатор абонента
     file-nat-info [10]   SEQUENCE OF NetworkPeerInfo OPTIONAL,         ---
транслированные NAT IP/порт
     file-location [11]   Location OPTIONAL,                  ---
местоположение абонента
     file-data-content-id [12] DataContentID  OPTIONAL                  ---
идентификатор потока
     }

     --- запись IPDR терминального доступа к оборудованию
     dataTermAccessRecord TAGGED ::= {
      OID { sorm-report-connection-term-access }
      DATA SEQUENCE OF DataTermAccessRecordContent
     }

     DataTermAccessRecordContent ::= SEQUENCE {
      term-cdr-header      DataNetworkCdrHeader,            ---   заголовок
PDR-соединения
      term-in-bytes-count  INTEGER (0 .. 18446744073709551615),   --- объем
принятых  абонентом  данных  (включает  соединения  управления и соединения
передачи данных), байт
      term-out-bytes-count INTEGER (0 .. 18446744073709551615),  ---  объем
переданных  абонентом  данных  (включает соединения управления и соединения
передачи данных), байт
      term-protocol   ENUMERATED {          --- протокол удаленного доступа
к оборудованию
         telnet(0),
         ssh(1),
         scp(2)
      } OPTIONAL,
      term-abonent-id [0] UTF8String (SIZE (0 .. 64)) OPTIONAL,         ---
идентификатор абонента
      term-nat-info [10]        SEQUENCE OF NetworkPeerInfo OPTIONAL,   ---
транслированные NAT IP/порт
      term-location [11]        Location OPTIONAL,                      ---
местоположение абонента
      term-data-content-id [12] DataContentID  OPTIONAL,                ---
идентификатор потока
      sni[13] UTF8String (SIZE (0 .. 128)) OPTIONAL                     ---
SNI/CN DNS-query
     }

     ---  запись IPDR иных  данных,  принимаемых,  получаемых пользователем
при помощи закрытых протоколов обмена, а также DNS-запросы
     dataRawFlowsRecord TAGGED ::= {
      OID { sorm-report-connection-raw-flows }
      DATA SEQUENCE OF DataRawFlowsRecordContent
     }

     DataRawFlowsRecordContent ::= SEQUENCE {
      flow-cdr-header     DataNetworkCdrHeader,               --- заголовок
IPDR-соединения
      flow-in-bytes-count INTEGER (0 .. 18446744073709551615),    --- объем
принятых  абонентом  данных  (включает  соединения  управления и соединения
передачи данных), байт
      flow-out-bytes-count INTEGER (0 .. 18446744073709551615),   --- объем
переданных  абонентом  данных  (включает соединения управления и соединения
передачи данных), байт
      flow-protocol ENUMERATED {                              ---  протокол
передачи данных
        ip(0),
        udp(1),
        tcp(2)
      } OPTIONAL,
      flow-abonent-id [0]  UTF8String (SIZE (0 .. 64))  OPTIONAL,       ---
идентификатор абонента
      flow-nat-info [10]    SEQUENCE OF NetworkPeerInfo   OPTIONAL,     ---
транслированные NAT IP/порт
      flow-location [11]    Location OPTIONAL,                          ---
местоположение абонента
      flow-data-content-id [12] DataContentID OPTIONAL                  ---
идентификатор потока
      sni[13]         UTF8String (SIZE (0 .. 128)) OPTIONAL             ---
SNI/CN, DNS-query
     }

     --- запись IPDR HTTP-обращения к  информационному  ресурсу сети  связи
(сайт, портал)
     dataResourceRecord TAGGED ::= {
      OID { sorm-report-connection-resource }
      DATA SEQUENCE OF DataResourceRecordContent
     }

     DataResourceRecordContent ::= SEQUENCE {
      res-cdr-header        DataNetworkCdrHeader,                       ---
заголовок IPDR-соединения
      res-url        UTF8String (SIZE (1 .. 8192)),                     ---
Наименование информационного ресурса
      res-bytes-count       INTEGER (0 .. 18446744073709551615),        ---
объем  принятых  и  переданных  данных  в  соединении  (включает соединения
управления и соединения передачи данных), байт
      res-term-cause        INTEGER (0 .. 16384),                       ---
причина завершения соединения
      res-aaa-info [0]      IP-AAAInformationOPTIONAL,                  ---
пользовательские реквизиты входа в информационный ресурс
      res-http-method [1]   HttpMethod OPTIONAL,                        ---
http метод
      res-abonent-id [2]    UTF8String (SIZE (0 .. 64))  OPTIONAL,      ---
идентификатор абонента
      res-nat-info [10]     SEQUENCE OF  NetworkPeerInfo   OPTIONAL,    ---
транслированные NAT IP/порт
      res-location [11]     Location OPTIONAL,                          ---
местоположение абонента
      res-data-content-id [12] DataContentID OPTIONAL                   ---
идентификатор потока
     }

     --- запись IPDR  голосовой  связи  посредством  сети  передачи данных,
в том числе с использованием Интернет-мессенджеров
     dataVoipRecord TAGGED ::= {
      OID { sorm-report-connection-voip }
      DATA SEQUENCE OF DataVoipRecordContent
     }

     DataVoipRecordContent ::= SEQUENCE {
      voip-cdr-header    DataNetworkCdrHeader,         ---        заголовок
CDR-соединения
      voip-session-id    UTF8String (SIZE (0 .. 64)),  ---    идентификатор
сессии/call-id
      voip-conference-id UTF8String (SIZE (1 .. 64)),  ---    идентификатор
конференции
      voip-duration INTEGER (0 .. 864000),             ---     длительность
разговора, секунд
      voip-originator-name UTF8String (SIZE (1 .. 512)),      ---
общедоступное имя инициатора связи
      voip-call-type-id    INTEGER (0 .. 4294967295),         ---    способ
подключения
      voip-calling-number  DataVoipNumber,                    ---     номер
вызывающего  абонента  (при  вызовах с использованием Интернет-мессенджер с
использованием  протокола  STUN  -  внешние  и внутренние сетевые реквизиты
абонента сети)
      voip-called-number   DataVoipNumber,                    ---     номер
вызываемого  абонента  (при  вызовах с использованием Интернет-мессенджер с
использованием  протокола  STUN  -  внешние  и внутренние сетевые реквизиты
удаленной стороны)
      voip-in-bytes-count  INTEGER (0 .. 18446744073709551615),   --- объем
принятых  абонентом  данных  (включает  соединения  управления и соединения
передачи данных), байт
      voip-out-bytes-count INTEGER  (0 .. 18446744073709551615),  --- объем
переданных  абонентом  данных  (включает соединения управления и соединения
передачи данных), байт
      voip-fax          BOOLEAN,                       ---  наличие попытки
передачи факсовой информации (T.38)
      voip-term-cause INTEGER (0 .. 16384),            ---          причина
завершения соединения
      inbound-bunch [0] Bunch OPTIONAL,                ---   входящий пучок
      outbound-bunch [1] Bunch OPTIONAL,               ---  исходящий пучок
      voip-gateways  [2] SEQUENCE  OF IPAddress OPTIONAL,               ---
идентификаторы медиашлюзов, обслуживших соединение
      voip-protocol [3] VoipProtocol OPTIONAL,
      supplement-service-id [4] INTEGER (0 .. 4294967295) OPTIONAL,
    --- ДВО при соединении
      voip-abonent-id [5] UTF8String (SIZE (0 .. 64)) OPTIONAL,         ---
идентификатор абонента
      voip-nat-info [10] SEQUENCE OF NetworkPeerInfo OPTIONAL,          ---
транслированные NAT IP/порт
      voip-location [11] Location OPTIONAL,            ---   местоположение
абонента
      voip-event [12] VoIPEvent OPTIONAL,              --- тип      события
      voip-data-content-id [13] DataContentID OPTIONAL ---    идентификатор
потока
     }

     VoIPEvent:: = ENUMERATED {
      outgoing (0),        --- исходящее
      incoming (1),        --- входящее
      unknown (2)          --- направление неизвестно
     }

     --- запись IPDR трансляции сетевых адресов
     dataAddressTranslationRecord TAGGED ::= {
      OID { sorm-report-connection-address-translations }
      DATA SEQUENCE OF DataAddressTranslationRecordContent
     }

     DataAddressTranslationRecordContent ::= SEQUENCE {
      telco-id          TelcoID,                  ---         идентификатор
оператора связи или структурного подразделения
      point-id          INTEGER (0 .. 1000),      ---   идентификатор точки
подключения к сети передачи  данных, с которой получена запись о соединении
      translation-time  DateAndTime,            --- дата и время трансляции
      record-type       ENUMERATED {                   ---   тип  записи  о
трансляции сетевого адреса
      session-start (0),                    --- начало сессии трансляции
      session-end (1)                       --- окончание сессии трансляции
     },

      private-ip        NetworkPeerInfo,         --- внутренний адрес
      public-ip         NetworkPeerInfo,         --- внешний адрес
      destination-ip    NetworkPeerInfo,         --- адрес назначения
      translation-type  ENUMERATED {             --- тип трансляции сетевых
адресов
          static-nat (0),                   --- статическая
          dynamic-nat (1),                       --- динамическая
          source-nat (2),                        --- источника
          destination-nat (3),                   --- получателя
          pat (4)                           --- адрес-порт
      }
     }

     --- Data network header
     DataNetworkCdrHeader ::= SEQUENCE {
      id TAGGED.&id ({DataNetworkHeaderVariants}),
      data TAGGED.&Data ({DataNetworkHeaderVariants}{@id})
     }

     DataNetworkHeaderVariants TAGGED ::= { dataNetworkCdrHeader }

     dataNetworkCdrHeader TAGGED ::= {
      OID { sorm-report-connection-ipdr-header }
      DATA DataNetworkCdrHeaderData
     }

     DataNetworkCdrHeaderData ::= SEQUENCE {
      telco-id              TelcoID,            ---           идентификатор
оператора связи или структурного подразделения
      begin-connection-time DateAndTime,        ---   дата   и время начала
соединения
      end-connection-time   DateAndTime,        --- дата и время завершения
соединения
      client-info      NetworkPeerInfo,         ---  информация  о  клиенте
(IP/порт)
      server-info      NetworkPeerInfo,         ---  информация  о  сервере
(IP/порт)
      protocol-code    INTEGER (0 .. 65535),    ---      код      протокола
в соответствии с RFC1700 либо номер порта для TCP/UDP
      point-id     INTEGER (0 .. 1000) OPTIONAL ---   идентификатор   точки
подключения к сети передачи данных, от которой получена запись о соединении
     }

     --- информация о входе в ресурс
     IP-AAAInformation ::= SEQUENCE {
      username UTF8String (SIZE (0 .. 64)),    ---  пользовательский  login
      aaaResult IP-AAAResultOPTIONAL           ---     результат   операции
входа
     }

     --- результат операции входа в ресурс
     IP-AAAResult ::= ENUMERATED {
     aaaUnknown(1),                            ---   результат   неизвестен
     aaaFailed(2),                             ---     неудачная    попытка
входа
     aaaSucceeded(3)                           --- успешный вход
     }

     --- запись IPDR входа в личный кабинет
     dataEntranceRecord TAGGED :: = {
      OID { sorm-report-connection-entrance }
      DATA SEQUENCE OF DataEntranceRecordContent
     }

     DataEntranceRecordContent :: = SEQUENCE {
      entrance-cdr-header DataNetworkCdrHeader,        --- заголовок  IPDR-
соединения
      entrance-event-type EntranceEventType,           --- тип события
      user-agent [0] UTF8String (SIZE (1 .. 8192)) OPTIONAL,  --- заголовок
User-agent HTTP соединения
      entrance-event-status [1] EntranceEventStatus OPTIONAL, ---    статус
события
      entrance-service-id [2] INTEGER (0 .. 4294967295) OPTIONAL,       ---
идентификатор заказанной услуги
      entrance-abonent-id [3] ReportedIdentifier OPTIONAL, ---
идентификатор абонента (data-network-identifier)
      entrance-owner-id [4] ReportedIdentifier  OPTIONAL, --- идентификатор
владельца   аккаунта,   если   не   совпадает  с  идентификатором  абонента
(data-network-identifier)
      entrance-service-parameter [5] EntranceServiceParameter OPTIONAL,
      entrance-location [6] LocationOPTIONAL,   --- местоположение абонента
(при наличии возможности определения)
      entrance-data-content-id [7] DataContentID OPTIONAL               ---
идентификатор потока
     }

     EntranceServiceParameter ::= SEQUENCE {
       ip-address [0] IPAddress OPTIONAL,                      --- IP-адрес
       domain [1]     UTF8String (SIZE (2 .. 256)) OPTIONAL,       ---
название подключенного/отключенного/удаленного домена
       e-mail [2] UTF8String (SIZE (1 .. 256)) OPTIONAL,       ---    адрес
электронной почты
       parameter [3] UTF8String (SIZE (1 .. 8192)) OPTIONAL             ---
индивидуальные параметры настройки услуги абонента
     }

     --- Статус заказа/изменения/прекращения услуги в личном кабинете
     EntranceEventStatus ::= ENUMERATED {
     event-failed (0),  ---  ошибка выполнения заказа/изменения/прекращения
услуги,   подключения/покупки/удаления   домена,  обновления  информации  в
профиле
     event-succeeded        (1)     ---           успешное       выполнение
заказа/изменения/прекращения  услуги,  подключения/покупки/удаления домена,
обновления информации в профиле
     }

     END

     12. Reports Locations.asn
     ReportsLocations DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS LocationReport;

     IMPORTS DateAndTime
       FROM Sorm

        TelcoID
       FROM Dictionaries

        Location
       FROM Locations

        ReportedIdentifier
       FROM ReportedIdentifiers;

     LocationReport ::= SEQUENCE OF ValidateLocationRecord

     ValidateLocationRecord ::= SEQUENCE {
     telco-id          TelcoID,             ---     идентификатор оператора
связи или структурного подразделения
     connection-time   DateAndTime,         ---         время   определения
местоположения
     ident ReportedIdentifier,              ---    идентификатор мобильного
абонента
     connection-locationLocation            ---   местоположение мобильного
абонента

     END

     13. ReportsNonFormalized.asn
     ReportsNonFormalized DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS NonFormalizedReport;

     IMPORTS
        EntityId,
        NonFormalizedEntityAttributeData
        FROM TasksNonFormalized
        StandardInterval
        FROMReports Presense;

     --- отчет задачи по обработке неформализованных данных
     NonFormalizedReport ::= CHOICE {
     nonformalized-report [0] NonFormalizedRecords,     --- отчет по задаче
обработки неформализованных данных
     nonformalized-presense [1] NonFormalizedPresenseInfo      ---    отчет
по наличию неформализованных данных заданного вида
     }

     NonFormalizedRecords ::= SEQUENCE OF NonFormalizedRecord

     NonFormalizedPresenseInfo ::= SEQUENCE OF StandardInterval         ---
диапазоны времени за которые есть неформализованные данные

     --- запись неформализованных данных
     NonFormalizedRecord ::= SEQUENCE OF NonFormalizedEntityAttributeData

     END

     14. ReportsPayments.asn
     ReportsPayments DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS PaymentsReport;

     IMPORTS TAGGED,
        sorm-report-payment-bank-transaction,
        sorm-report-payment-express-pays,
        sorm-report-payment-terminal-pays,
        sorm-report-payment-service-center,
        sorm-report-payment-cross-account,
        sorm-report-payment-telephone-card,
        sorm-report-payment-balance-fillups,
        sorm-report-payment-bank-division-transfer,
        sorm-report-payment-bank-card-transfer,
        sorm-report-payment-bank-account-transfer
      FROM Classification

        DateAndTime
      FROM Sorm

        TelcoID
      FROM Dictionaries

        Location
      FROM Locations

        ReportedIdentifier
      FROM ReportedIdentifiers

        ReportedAddress
      FROM Addresses;

     PaymentsReport ::= SEQUENCE {
      id TAGGED.&id ({ReportedPaymentsVariants}),
      data TAGGED.&Data ({ReportedPaymentsVariants}{@id})
     }

     --- варианты запрашиваемых параметров связей
     ReportedPaymentsVariants TAGGED ::= {
     bankTransactionReport
      |expressCardReport
      |publicTerminalReport
      |serviceCenterReport
      |crossAccountReport
      |telephoneCardReport
      |balanceFillupReport
      |bankDivisionTransferReport
      |bankCardTransferReport
      |bankAccountTransferReport
     }

     --- отчет задачи на поиск  пополнения баланса посредством  банковского
перевода
     bankTransactionReport TAGGED ::= {
      OID { sorm-report-payment-bank-transaction }
      DATA SEQUENCE OF BankTransactionRecord
     }

     BankTransactionRecord ::= SEQUENCE {
     telco-id                 TelcoID,             ---        идентификатор
оператора связи или структурного подразделения
     device-id        ReportedIdentifier,          ---        идентификатор
абонента
     date-time-fillup DateAndTime,                 ---   время    и    дата
пополнения баланса
     bank-account     UTF8String (SIZE (1 .. 64)), ---  номер   банковского
счета, с которого совершен платеж
     bank-name UTF8String (SIZE (1 .. 512)),       --- наименование  банка,
со счета которого совершен перевод
     bank-address     ReportedAddress,            --- адрес банка, со счета
 которого совершен перевод
     amount           UTF8String (SIZE (1 .. 64)) --- сумма перевода
     }

     ---  отчет  задачи на  поиск пополнения баланса с использованием карты
экспресс-оплаты
     expressCardReport TAGGED ::= {
      OID { sorm-report-payment-express-pays }
      DATA SEQUENCE OF ExpressPaysRecord
     }

     ExpressPaysRecord ::= SEQUENCE {
     telco-id             TelcoID,                ---         идентификатор
оператора связи или структурного подразделения
     device-id        ReportedIdentifier,         ---         идентификатор
абонента
     date-time-fillup DateAndTime,                ---     время    и   дата
пополнения баланса
     card-number      UTF8String (SIZE (1 .. 64)), --- номер карты
     amount           UTF8String (SIZE (1 .. 64)) --- сумма перевода
     }

    --- отчет задачи на поиск пополнения баланса с использованием терминала
моментальных платежей
     publicTerminalReport TAGGED ::= {
      OID { sorm-report-payment-terminal-pays }
      DATA SEQUENCE OF PublicTerminalRecord
     }

     PublicTerminalRecord ::= SEQUENCE {
      telco-id    TelcoID,                        ---         идентификатор
оператора связи или структурного подразделения
      device-id        ReportedIdentifier,        ---         идентификатор
абонента
      date-time-fillup DateAndTime,               ---    время    и    дата
пополнения баланса
      terminal-id UTF8String (SIZE (1 .. 64)),  --- идентификатор терминала
      terminal-number  NumericString (SIZE (2 .. 20)),  --- номер терминала
      terminal-address ReportedAddress,             --- адрес терминала
      amount           UTF8String (SIZE (1 .. 64)), --- сумма перевода
      location   Location OPTIONAL             --- адрес совершения платежа
     }

     ---  отчет  задачи на  поиск  пополнения  баланса  посредством центров
обслуживания клиентов
     serviceCenterReport TAGGED ::= {
      OID { sorm-report-payment-service-center }
      DATA SEQUENCE OF ServiceCenterRecord
     }

     ServiceCenterRecord ::= SEQUENCE {
      telco-id         TelcoID,                   ---         идентификатор
оператора связи или структурного подразделения
      device-id        ReportedIdentifier,        ---         идентификатор
абонента
      date-time-fillup DateAndTime,               ---     время    и   дата
пополнения баланса
      center-id    UTF8String (SIZE (1 .. 64)), ---  идентификатор   центра
обслуживания клиентов
      center-address   ReportedAddress,           ---     адрес      центра
обслуживания клиентов
      amount           UTF8String (SIZE (1 .. 64)) --- сумма перевода
     }

     ---  отчет задачи на поиск пополнения баланса посредством снятия денег
со счета другого абонента
     crossAccountReport TAGGED ::= {
      OID { sorm-report-payment-cross-account }
      DATA SEQUENCE OF CrossAccountRecord
     }
     CrossAccountRecord ::= SEQUENCE {
     telco-id         TelcoID,                    ---         идентификатор
оператора связи или структурного подразделения
     device-id        ReportedIdentifier,         ---         идентификатор
абонента-получателя платежа
     date-time-fillup DateAndTime,                ---     время    и   дата
пополнения баланса
     donanted-id      ReportedIdentifier,         ---         идентификатор
абонента-отправителя платежа
      amount         UTF8String (SIZE (1 .. 64))  --- сумма перевода
     }

     ---  отчет задачи  на  поиск пополнения баланса посредством телефонных
карт
     telephoneCardReport TAGGED ::= {
      OID { sorm-report-payment-telephone-card }
      DATA SEQUENCE OF ValidateTelephoneCardRecord
     }

     ValidateTelephoneCardRecord ::= SEQUENCE {
     telco-id          TelcoID,                        ---    идентификатор
оператора связи или структурного подразделения
     activator-device-id ReportedIdentifier,           ---    идентификатор
абонента, активировавшего карту
     date-time-fillup  DateAndTime,                    ---  время   и  дата
пополнения баланса
     card-number       NumericString (SIZE (2 .. 20)), --- номер телефонной
карты
     amount            UTF8String (SIZE (1 .. 64))     ---  сумма  перевода
     }

     --- отчет задачи на поиск пополнения баланса личного счета абонента
     balanceFillupReport TAGGED ::= {
     OID { sorm-report-payment-balance-fillups }
     DATA SEQUENCE OF ValidateBalanceFillupRecord
     }

     ValidateBalanceFillupRecord ::= SEQUENCE {
     telco-id         TelcoID,                         ---    идентификатор
оператора связи или структурного подразделения
     pay-type-id    INTEGER (0 .. 4294967295),      --- тип платежа (способ
оплаты)
     device-id        ReportedIdentifier,              ---    идентификатор
абонента
     date-time-fillup DateAndTime,                     ---   время  и  дата
пополнения баланса
     amount           UTF8String (SIZE (1 .. 64)),     --- сумма перевода
     pay-parameters   UTF8String (SIZE (1 .. 512)) OPTIONAL ---
"неструктурированная" информация
     }

     --- отчет задачи по переводу средств со счета абонента для их снятия в
отделении банка
     bankDivisionTransferReport TAGGED ::= {
      OID { sorm-report-payment-bank-division-transfer }
      DATA SEQUENCE OF ValidateBankDivisonTransferRecord
     }

     ValidateBankDivisonTransferRecord ::= SEQUENCE {
         telco-id             TelcoID,            ---         идентификатор
оператора связи или структурного подразделения
         donanted-id        ReportedIdentifier,   ---         идентификатор
инициатора перевода средств
         date-time-fillup     DateAndTime,        --- время и дата перевода
средств
         person-recieved UTF8String(SIZE (1 .. 512)),  ---       получатель
платежа (ФИО и прочая неструктурированная информация)
         bank-name       UTF8String (SIZE (1 .. 256)), ---     наименование
банка получателя
         bank-division-name UTF8String (SIZE (1 .. 512)), ---  наименование
отделения банка получателя
         bank-division-address ReportedAddress,        ---  адрес отделения
банка получателя
         amount          UTF8String (SIZE (1 .. 64))   ---   сумма перевода
     }

     ---  отчет задачи  по переводу средств со счета абонента на банковскую
карту
     bankCardTransferReport TAGGED ::= {
      OID { sorm-report-payment-bank-card-transfer }
      DATA SEQUENCE OF ValidateBankCardTransferRecord
     }

     ValidateBankCardTransferRecord ::= SEQUENCE {
         telco-id           TelcoID,                   ---    идентификатор
оператора связи или структурного подразделения
         donanted-id        ReportedIdentifier,        ---    идентификатор
инициатора перевода средств
         bank-card-id NumericString (SIZE (1 .. 12)),  --- номер банковской
карты получателя перевода
         date-time-fillup DateAndTime,                 ---  время   и  дата
перевода средств
        amount         UTF8String (SIZE (1 .. 64))     ---  сумма  перевода
     }

    --- отчет задачи по переводу средств со счета абонента на счет в банке
     bankAccountTransferReport TAGGED ::= {
      OID { sorm-report-payment-bank-account-transfer }
      DATA SEQUENCE OF ValidateBankAccountTransferRecord
     }

     ValidateBankAccountTransferRecord ::= SEQUENCE {
         telco-id     TelcoID,                      ---       идентификатор
оператора связи или структурного подразделения
         donanted-id  ReportedIdentifier,           ---       идентификатор
инициатора перевода средств
         bank-name    UTF8String (SIZE (1 .. 256)), ---  наименование банка
получателя
         bank-account UTF8String (SIZE (1 .. 64)),  ---   номер банковского
счета получателя
         date-time-fillup DateAndTime,            --- время и дата перевода
средств
        amount      UTF8String (SIZE (1 .. 64))     ---    сумма   перевода
     }

     END

     15. ReportsPresense.asn

     ReportsPresense DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS PresenseReport,
        StandardInterval;

     IMPORTS FindRange,
        DateAndTime
      FROM Sorm

        TelcoID
      FROM Dictionaries

        Location
      FROM Locations

        ReportedIdentifier
      FROM ReportedIdentifiers

        NetworkType
      FROM NetworkIdentifiers

        TAGGED,
        sorm-report-presense-abonents,
        sorm-report-presense-connections,
        sorm-report-presense-payments,
        sorm-report-presense-dictionaries,
        sorm-report-presense-locations
      FROMClassification;

     ---отчет по запросу наличия информации
     PresenseReport ::= SEQUENCE {
      id    TAGGED.&id ({ReportedPresensesVariants}),
      data   TAGGED.&Data ({ReportedPresensesVariants}{@id})
     }

     ReportedPresensesVariants TAGGED ::= {
       subsPresence
      |connectionsPresence
      |paymentsPresense
      |dictionariesPresence
     |locationPresence
     }

     --- отчет  по  наличию  информации  по абонентам и их идентификаторам.
Для  каждого  стандарта  указывается  более  одного или ни одного интервала
(фактические периоды наличия информации)

     subsPresence TAGGED ::= {
       OID { sorm-report-presense-abonents }
       DATASEQUENCEOFStandardInterval
     }
     --- отчет  по наличию информации по соединениям. Для каждого стандарта
указывается  более  одного  или  ни  одного  интервала (фактические периоды
наличия информации);
     connectionsPresence TAGGED ::= {
      OID { sorm-report-presense-connections }
      DATA SEQUENCE OF ConnectionsPresenseRecord
     }

     ConnectionsPresenseRecord ::= SEQUENCE {
     standard-interval StandardInterval,
     data-type ENUMERATED {          --- вид  соединений  передачи  данных,
информация по которым есть в ИС ОРМ
     telephone-pstn (0),             --- соединения телефонной сети связи
     telephone-mobile (1),           ---   телефонные    соединения    сети
подвижной радиотелефонной связи
     pager (2),                      ---   соединения   сети  персонального
радиовызова
     data-aaa (3),                   --- подключения/отключения  абонента к
сети связи
     data-resource  (4),             --- HTTP-обращения  к  информационному
ресурсу сети связи (сайт, портал)
     data-email (5),                 --- передача почтовых сообщений
     data-im  (6),                   ---  передача  мгновенных  электронных
сообщений между пользователями
     data-voip (7),                  --- голосовая  связь  посредством сети
передачи данных
     data-file (8),                  --- передача файловых данных
     data-term (9),                  --- терминальный доступ к оборудованию
     data-raw (10),                  ---    иные    данные,    принимаемые,
получаемые пользователем при помощи закрытых протоколов обмена
     data-address-translations (11), --- трансляции сетевых адресов
     data-entrance (12)              --- действие в личном кабинете
     }
     }

     paymentsPresense TAGGED ::= {
      OID { sorm-report-presense-payments }
      DATA  SEQUENCE  OF  StandardInterval         ---   описание имеющейся
информации по пополнениям балансов абонентов
     }

     ---  отчет о  наличии  информации справочников в ИС ОРМ. Если любой из
справочников не публикуется ИС ОРМ, запись о нем отсутствует
       dictionariesPresence TAGGED ::= {
       OID { sorm-report-presense-dictionaries }
       DATA SEQUENCE OF DictionaryInfo
     }

     --- запись отчета о наличии информации справочников
     DictionaryInfo ::= SEQUENCE {
     telco-id TelcoID,             --- идентификатор  оператора  связи  или
структурного подразделения
     dict ObjectDescriptor,        --- тип справочника, по которому имеется
информация
                              ---   (идентификатор   запроса   справочника)
(Requested...)
     count INTEGER (1 .. 4294967295),       ---      количество     записей
в справочнике
     change-dates   FindRange            ---   минимальное  и  максимальное
дата/время изменения записей в справочнике
     }

     --- отчет по наличию информации по местоположению абонентов
     locationPresence TAGGED ::= {
      OID { sorm-report-presense-locations }
      DATASEQUENCEOFStandardInterval
     }

     ---   интервал  времени,  на  котором  имеются  данные  по  абонентам,
соединениям и платежам, в рамках стандарта связи
     StandardInterval::= SEQUENCE {
     telco-id  TelcoID,             --- идентификатор  оператора  связи или
структурного подразделения
     standard  NetworkType,         ---   стандарт   связи,  информация  по
которому имеется в ИС
    range FindRange,                ---   интервал   времени,   на  который
имеются данные в ИС
    count INTEGER OPTIONAL          --- количество записей
     }

     END

     16. RequestedAbonents.asn
     RequestedAbonents DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS RequestedAbonent;

     IMPORTS TAGGED,
        sorm-request-abonent-person,
        sorm-request-abonent-organization
        FROM Classification

        RequestedAddress FROM Addresses;

     RequestedAbonent ::= SEQUENCE {
      id   TAGGED.&id ({RequestedAbonentVariants}),
      data TAGGED.&Data ({RequestedAbonentVariants}{@id})
     }

     --- варианты запрашиваемых идентификаторов
     RequestedAbonentVariants TAGGED ::= {
     requestedPerson |                                 --- физическое лицо
     requestedOrganization                             --- юридическое лицо
    }

     --- поля параметра запроса на физическое лицо
     requestedPerson TAGGED ::= {
      OID { sorm-request-abonent-person }
      DATA RequestedPerson
     }

     RequestedPerson ::= SEQUENCE {
      given-name [0] UTF8String (SIZE (1 .. 256)) OPTIONAL,  --- имя
      initial [1] UTF8String  (SIZE  (1 .. 256)) OPTIONAL,   ---   отчество
(при наличии)
      family-name [2] UTF8String (SIZE (1 .. 256)) OPTIONAL, ---  фамилия
      passport-info [3] RequestedPassport OPTIONAL,          --- паспортные
данные
      address [4] RequestedAddress OPTIONAL,                 ---   адресные
данные: адрес регистрации по месту жительства (пребывания), адрес установки
пользовательского устройства (телефонного аппарата)
      contract [6] UTF8String (SIZE (1 .. 64)) OPTIONAL,     ---      номер
договора
      birth-date [7] GeneralizedTime OPTIONAL,               ---       дата
рождения
      e-mail [8]  UTF8String  (SIZE (1 .. 256)) OPTIONAL,    ---      адрес
электронной почты
      phone-contact [9] UTF8String (SIZE (1 .. 128)) OPTIONAL, --- телефоны
для  взаимодействия  абонента  с  оператором связи при оказании услуг связи
(при наличии)
      ssid [10]  UTF8String  (SIZE  (1 ..  256)) OPTIONAL,   ---       SSID
абонентской WiFi-точки доступа
      mac [11]   OCTET  STRING  (SIZE (6)) OPTIONAL               ---  MAC-
адрес абонентской WiFi-точки доступа
     }

     --- поля паспортных данных
     RequestedPassport ::= SEQUENCE {
      doc-type-id [0]       INTEGER (0 .. 65535) OPTIONAL,        ---
идентификатор типа документа, удостоверяющего личность
      passport-serial [1] UTF8String (SIZE (1 .. 16)) OPTIONAL,   --- серия
паспорта
      passport-number [2]  UTF8String (SIZE (1 .. 16)) OPTIONAL   --- номер
паспорта
     }

     --- поля параметра запроса на юридическое лицо
     requestedOrganization TAGGED ::= {
      OID { sorm-request-abonent-organization }
      DATA RequestedOrganization
     }

     RequestedOrganization ::= SEQUENCE {
      full-name [0] UTF8String (SIZE (1 .. 256)) OPTIONAL,        ---
полное наименование организации
      address [1] RequestedAddressOPTIONAL,       ---    адресные   данные:
адрес  юридического лица в пределах места нахождения; адрес доставки счета;
адрес установки пользовательского устройства (телефонного аппарата)
      inn [2] NumericString (SIZE (1 .. 64)) OPTIONAL,            ---   ИНН
      internal-user  [3]  UTF8String  (SIZE (1  .. 64)) OPTIONAL, ---
внутренний пользователь
      contract [4] UTF8String (SIZE (1 .. 64)) OPTIONAL,          --- номер
договора
      e-mail  [5]  UTF8String (SIZE (1 .. 256)) OPTIONAL,     ---     адрес
электронной почты
      phone-fax  [6]  UTF8String (SIZE (1 .. 128)) OPTIONAL,  --- телефоны,
факс  (при  наличии)  для  взаимодействия  абонента  с  оператором связи по
вопросам оказания услуг связи
      ssid [7] UTF8String (SIZE (1 .. 256)) OPTIONAL,  --- SSID абонентской
WiFi-точки доступа
      mac  [8] OCTET  STRING  (SIZE  (6))  OPTIONAL
  --- MAC-адрес абонентской WiFi-точки доступа
     }

     END

     17. RequestedConnections.asn
     RequestedConnections DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS RequestedConnection;

     IMPORTS TAGGED,
        sorm-request-connection-pstn,
        sorm-request-connection-mobile,
        sorm-request-connection-entrance,
        sorm-request-connection-aaa-login,
        sorm-request-connection-resource,
        sorm-request-connection-email,
        sorm-request-connection-im,
        sorm-request-connection-voip,
        sorm-request-connection-file-transfer,
        sorm-request-connection-term-access,
        sorm-request-connection-raw-flows,
        sorm-request-connection-address-translations,
        sorm-request-connection-sms
        FROM Classification

        requestedPagerIdentifier,
        requestedPstnIdentifier,
        requestedGsmIdentifier,
        requestedCdmaIdentifier
        FROM RequestedIdentifiers

        PhoneAbonentType
        FROM Dictionaries

        Bunch,
        DataNetworkEquipment,
        IPAddress,
        NetworkPeerInfo,
        DataVoipNumber,
        VoipProtocol,
        IMProtocol,
        HttpMethod,
        EntranceEventType
        FROM NetworkIdentifiers

        Location
        FROM Locations;

     RequestedConnection ::= SEQUENCE {
      id   TAGGED.&id ({RequestedConnectionVariants}),
      data TAGGED.&Data ({RequestedConnectionVariants}{@id})
     }

     --- варианты запрашиваемых параметров связей
     RequestedConnectionVariants TAGGED ::= {
      requestedPagerIdentifier
      | requestedConnectionPstn                   --- параметры  соединений
абонента телефонной сети связи
      | requestedConnectionMobile                 --- параметры  соединений
абонента сети подвижной радиотелефонной связи
      | requestedConnectionEntrance             ---  параметры  соединений,
связанных с действиями в личном кабинете
      | requestedAAALogin
      | requestedResource
      | requestedEmail
      | requestedIm
      | requestedVoip
      | requestedFileTransfer
      | requestedTermAccess
      | requestedRawFlows
      | requestedAddressTranslations
      | requestedConnectionSms
     }

     ---  параметры соединений, связанных  с действиями  в  личном кабинете
     requestedConnectionEntrance TAGGED ::= {
      OID { sorm-request-connection-entrance }
      DATACHOICE {
     protocol-code [0] INTEGER (0 .. 65535),      ---     код  протокола  в
соответствии с RFC 1700
     client-info [1]   NetworkPeerInfo,                ---    идентификатор
абонента сети передачи данных
     server-info   [2] NetworkPeerInfo,                ---    идентификатор
сервера сети передачи данных
     abonent-id  [3]   RequestedConnectionEntranceIdentifier,           ---
идентификаторы вызывающего абонента
     owner-id  [4]  RequestedConnectionEntranceIdentifier,          ---
идентификаторы вызываемого абонента
     event-type [5] EntranceEventType,                  --- тип события
     user-agent [6] UTF8String (SIZE (1 .. 8192)), --- заголовок User-agent
HTTP соединения
     service-id [7] INTEGER (0 .. 4294967295), --- идентификатор заказанной
услуги
     service-ip-address [8] IP Address, ---    внешний      IP-адрес    для
подключенной услуги
     service-domain [9] UTF8String (SIZE (2 .. 256)),         ---  название
подключенного/отключенного/удаленного домена
     service-e-mail [10] UTF8String (SIZE (1 .. 256)),            --- адрес
подключенной электронной почты
     service-parameter [11] UTF8String (SIZE (1 .. 8192)),              ---
индивидуальные параметры настройки услуги абонента
     location [12]     Location                          --- местоположение
абонента
      }
     }

     -- Идентификаторы Entrance
     RequestedConnectionEntranceIdentifier ::= SEQUENCE {
      id TAGGED.&id ({RequestedConnectionEntranceIdentifierVariants}),
      data TAGGED.&Data
({RequestedConnectionEntranceIdentifierVariants} {@id})
     }

     RequestedConnectionEntranceIdentifierVariants TAGGED ::= {
      requestedDataNetworkIdentifier
     }

     --- параметры соединений абонента телефонной сети связи
     requestedConnectionPstn TAGGED::= {
      OID { sorm-request-connection-pstn }
      DATA CHOICE {
     duration [0] INTEGER (0 .. 86399),                --- время соединения
     call-type-id [1] INTEGER (0 .. 4294967295),           ---          тип
соединения
     in-abonent-type [2] PhoneAbonentType,                 ---          тип
вызывающего абонента
     out-abonent-type [3] PhoneAbonentType,                ---          тип
вызываемого абонента
     switch-id  [4]  UTF8String  (SIZE  (1  ..  128)),     ---          код
коммутатора, обслужившего вызов
     inbound-bunch [5] UTF8String (SIZE (1 .. 32)),      --- входящий пучок
     outbound-bunch [6] UTF8String (SIZE (1 .. 32)),       ---    исходящий
пучок
     border-switch-id [7] UTF8String (SIZE (1 .. 128)),    ---          код
пограничного коммутатора
     term-cause [8] INTEGER (0 .. 16384),                  ---      причина
завершения соединения
     supplement-service-id [9] INTEGER (0 .. 4294967295),  ---   ДВО    при
соединении
     phone-card-number [10] NumericString (SIZE (1 .. 20)), ---       номер
телефонной карты
     in-info    [11]    RequestedConnectionPstnIdentifier, ---
идентификаторы вызывающего абонента
     out-info  [12]  RequestedConnectionPstnIdentifier,    ---
идентификаторы вызываемого абонента
     forwarding-identifier [13] UTF8String (SIZE (2 .. 32)), --- телефонный
номер при переадресации
     dialed-digits [21] UTF8String (SIZE (1 .. 128)),   --- набранный номер
вызываемого абонента
     message [20] UTF8String                            ---       текстовое
содержание сообщения абонента
     }
     }

     -- Идентификаторы PSTN
     RequestedConnectionPstnIdentifier ::= SEQUENCE {
      id TAGGED.&id ({RequestedConnectionPstnIdentifierVariants}),
      data TAGGED.&Data({RequestedConnectionPstnIdentifierVariants} {@id})
     }

     RequestedConnectionPstnIdentifierVariants TAGGED ::= {
      requestedPstnIdentifier
     }

     requestedConnectionMobile TAGGED ::= {
      OID { sorm-request-connection-mobile }
      DATA CHOICE {
     duration [0] INTEGER (0 .. 86399),                --- время соединения
     call-type-id [1]       INTEGER (0 .. 4294967295), --- тип соединения
     supplement-service-id [2] INTEGER (0 .. 4294967295), ---    ДВО    при
соединении
     in-abonent-type [3]       PhoneAbonentType,       ---  тип вызывающего
абонента
     out-abonent-type [4]      PhoneAbonentType,       ---  тип вызываемого
абонента
     switch-id [5]       UTF8String (SIZE (1 .. 128)), --- код коммутатора,
обслужившего соединение
     --- или номер SMS центра, если SMS
     inbound-bunch [6] Bunch,                          --- входящий пучок
     outbound-bunch [7]     Bunch,                     --- исходящий пучок
     border-switch-id [8]   UTF8String (SIZE (1 .. 128)), ---           код
пограничного коммутатора
     roaming-partner-id [9] INTEGER (0 .. 4294967295), --- код роумингового
партнера
     term-cause [10]        INTEGER (0 .. 16384),      ---          причина
завершения соединения
     in-info  [11]  RequestedConnectionMobileIdentifier, --- идентификаторы
вызывающего абонента
     in-end-location  [12] Location,                   ---   местоположение
вызывающего абонента при завершении вызова
     in-begin-location   [13]   Location,              ---   местоположение
вызывающего абонента на начало вызова
     dialed-digits  [14] UTF8String (SIZE (1 .. 128)), ---  набранный номер
вызываемого абонента
     out-info [15] RequestedConnectionMobileIdentifier, ---  идентификаторы
вызываемого абонента
     out-begin-location   [16]   Location,             ---   местоположение
вызываемого абонента на начало вызова
     out-end-location [17] Location,                   ---   местоположение
вызываемого абонента при завершении вызова
     forwarding-identifier [18] UTF8String (SIZE (2 .. 32)) ---  телефонный
номер при переадресации
      }
     }

     requestedConnectionSms TAGGED ::= {
      OID { sorm-request-connection-sms }
      DATA CHOICE {
     call-type-id [1]     INTEGER (0 .. 4294967295),   ---   тип соединения
     in-abonent-type [3]  PhoneAbonentType,            ---  тип вызывающего
абонента
     out-abonent-type [4] PhoneAbonentType,            ---  тип вызываемого
абонента
     switch-id  [5]      UTF8String (SIZE (1 .. 128)), --- код коммутатора,
обслужившего соединение или номер SMS центра, если SMS
     inbound-bunch [6] Bunch,                          ---   входящий пучок
     outbound-bunch [7]   Bunch,                       ---  исходящий пучок
     border-switch-id [8] UTF8String (SIZE (1 .. 128)), ---             код
пограничного коммутатора
     roaming-partner-id [9] INTEGER (0 .. 4294967295), --- код роумингового
партнера
     term-cause [10]        INTEGER (0 .. 16384),      ---          причина
завершения соединения
     in-info [11] RequestedConnectionMobileIdentifier, ---   идентификаторы
вызывающего абонента
     in-end-location [12]     Location,                ---   местоположение
вызывающего абонента при завершении вызова
     in-begin-location [13]   Location,                ---   местоположение
вызывающего абонента на начало вызова
     out-info   [15]   RequestedConnectionMobileIdentifier,       ---
идентификаторы вызываемого абонента
     out-begin-location [16]  Location,                ---   местоположение
вызываемого абонента на начало вызова
     out-end-location [17]    Location,                ---   местоположение
вызываемого абонента при завершении вызова
     message [40]             UTF8String           --- текстовое содержание
сообщения абонента
      }
     }

     -- Идентификаторы мобильных абонентов
     RequestedConnectionMobileIdentifier ::= SEQUENCE {
     id   TAGGED.&id ({RequestedConnectionMobileIdentifierVariants}),
     data TAGGED.&Data
({RequestedConnectionMobileIdentifierVariants} {@id})
     }

     RequestedConnectionMobileIdentifierVariants TAGGED ::= {
      requestedGsmIdentifier |
      requestedCdmaIdentifier
     }

     requestedAAALogin TAGGED ::= {
      OID { sorm-request-connection-aaa-login }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),            ---  идентификатор  точки
подключения к сети передачи данных, с которой получены записи
     login-type [1] ENUMERATED {                  --- тип соединения
     connect (0),                           --- подключение к сети передачи
данных
     disconnect (1),                        --- отключение от сети передачи
данных
     update (2)
      },
     user-equipment [2] DataNetworkEquipment,          ---    идентификатор
пользовательского оборудования
     allocated-ip [3]   IPAddress,                     ---       выделенный
динамический IP-адрес
     user-name [4]      UTF8String (SIZE (1 .. 128)),  --- имя пользователя
(login)
     user-password [5] UTF8String (SIZE (1 .. 128)),   --- пользовательский
пароль
     connect-type [6] INTEGER (1 .. 65535),             --- код протокола в
соответствии с RFC 1700 либо номер порта для TCP/UDP
     calling-number [7] UTF8String (SIZE (2 .. 32)),   --- вызывающий номер
     called-number [8] UTF8String (SIZE (2 .. 32)),    --- вызываемый номер
     nas [9] NetworkPeerInfo,                             --- IP-адрес/порт
NAS-сервера
     apn [10] UTF8String (SIZE (1 .. 128)),       ---  наименование   точки
доступа (Access Point Name)
     sgsn-ip [11] IP Address,                --- IP-адрес GPRS/EDGE SGSN
     ggsn-ip [12] IP Address,                --- IP-адрес GPRS/EDGE GGSN
     service-area-code [13] INTEGER (0 .. 65535), ---        код       зоны
обслуживания (SAC) GPRS/EDGE
     location-start [14] Location,         --- базовая станция, посредством
которой   установлено   соединение   (передача   данных  в  сети  подвижной
радиотелефонной связи)
     location-end [15]  Location,          --- базовая станция, посредством
которой   завершено   соединение   (передача   данных   в   сети  подвижной
радиотелефонной связи)
     phone-card-number  [16] NumericString (SIZE (20)),       ---     номер
телефонной карты
     imsi [17] NumericString (SIZE (2 .. 18)),    ---    IMSI    мобильного
абонента
     imei  [18]  NumericString (SIZE (2 .. 18)),  ---         идентификатор
мобильной станции абонента
     esn  [19]  NumericString  (SIZE (2 .. 18)),  ---         идентификатор
мобильной станции абонента
     pool-number [20] UTF8String(SIZE (1 .. 64)), ---  номер модемного пула
     mcc [21] UTF8 String,
     mnc [22] UTF8String
      }
     }

     requestedResource TAGGED ::= {
      OID { sorm-request-connection-resource }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),                 ---    идентификатор
точки подключения к сети передачи данных, с которой получены записи
     client-info [1] NetworkPeerInfo,                  ---    идентификатор
абонента сети передачи данных
     server-info [2] NetworkPeerInfo,                  ---    идентификатор
сервера сети передачи данных
     url [3] UTF8String (SIZE (1 .. 8192)),                --- наименование
информационного ресурса
     term-cause [4] INTEGER (0 .. 16384),              ---          причина
завершения соединения
     http-method [5] HttpMethod,
     abonent-id [6] UTF8String (SIZE (0 .. 64)),
     nat-info [10] NetworkPeerInfo,                    ---  транслированные
NAT IP/порт
     location [11] Location                            ---   местоположение
абонента
      }
     }

     requestedEmail TAGGED ::= {
      OID { sorm-request-connection-email }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),            ---   идентификатор точки
подключения к сети передачи данных, с которой получены записи
     client-info   [1]  NetworkPeerInfo,          ---         идентификатор
абонента сети передачи данных
     server-info   [2]   NetworkPeerInfo,         --- идентификатор сервера
сети передачи данных
     sender [3] UTF8String  (SIZE  (1 .. 512)),   --- отправитель почтового
сообщения
     receiver [4]  UTF8String (SIZE  (1 .. 512)), ---  получатель почтового
сообщения
     cc  [5]  UTF8String  (SIZE  (1 .. 512)),     ---      получатель-копия
почтового сообщения
     subject [6] UTF8String (SIZE (1 .. 2048)),   ---     тема    почтового
сообщения
     attachements  [7]  BOOLEAN,                  --- наличие прикрепленных
файлов в письме (да/нет)
     mail-server [8] UTF8String (SIZE (1 .. 512)), ---         наименование
сервера,  посредством  которого  отправлено  письмо  (в  том  числе  сервер
веб-почты)
     term-cause [9] INTEGER (0 .. 16384),         ---   причина  завершения
соединения
     abonent-id [10] UTF8String (SIZE (0 .. 64)),
     message [20] UTF8String,                     ---  текстовое содержание
сообщения абонента
     nat-info [21] NetworkPeerInfo,               ---   транслированные NAT
IP/порт
     location [22] Location                       ---        местоположение
абонента
      }
     }

     requestedIm TAGGED ::= {
      OID { sorm-request-connection-im }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),                 ---    идентификатор
точки подключения к сети передачи данных, с которой получены записи
     client-info   [1]  NetworkPeerInfo,               ---    идентификатор
абонента сети передачи данных
     server-info   [2]   NetworkPeerInfo,              ---    идентификатор
сервера сети передачи данных
     user-login [3] UTF8String  (SIZE  (1  ..  128)),  ---   учетная запись
пользователя при подключении
     user-password [4] UTF8String  (SIZE (1 .. 128)),  --- пользовательский
пароль при подключении
     sender-screen-name [5] UTF8String (SIZE (1 .. 256)), --- общедоступное
имя отправителя
     sender-uin [6] UTF8String (SIZE (1 .. 256)),      --- пользовательский
идентификатор  отправителя  (в  том числе для сервера, предназначенного для
отправки мгновенных сообщений)
     receiver-screen-name [7] UTF8String (SIZE (1 .. 256)), ---
общедоступное имя получателя
    receiver-uin  [8]  UTF8String  (SIZE  (1 .. 256)), --- пользовательский
идентификатор  получателя  (в  том  числе для сервера, предназначенного для
отправки мгновенных сообщений)
     protocol [9] IMProtocol,
     term-cause [10] INTEGER (0 .. 16384),             ---          причина
завершения соединения
     abonent-id [11] UTF8String (SIZE (0 .. 64)),
     message [20] UTF8String,                          ---        текстовое
содержание сообщения абонента
     nat-info [21] NetworkPeerInfo,                    ---  транслированные
NATIP/порт
     location [22] Location                            ---   местоположение
абонента
      }
     }

     requestedVoip TAGGED ::= {
      OID { sorm-request-connection-voip }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),                 ---    идентификатор
точки подключения к сети передачи данных, с которой получены записи
     client-info  [1]  NetworkPeerInfo,                ---    идентификатор
абонента сети передачи данных
     server-info  [2]   NetworkPeerInfo,               ---    идентификатор
сервера сети передачи данных
     duration [3] INTEGER (0 .. 864000),         --- длительность разговора
(секунд)
     originator-name [4] UTF8String (SIZE (1 .. 512)), ---    общедоступное
имя инициатора связи
     call-type-id [5]    INTEGER (0 .. 4294967295),    ---           способ
подключения
     voip-calling-number [6] DataVoipNumber,           ---            номер
вызывающего абонента
     voip-called-number [7] DataVoipNumber,            ---            номер
вызываемого абонента
     inbound-bunch [8]      Bunch,                     --- входящий пучок
     outbound-bunch [9]     Bunch,                     --- исходящий пучок
     conference-id [10] UTF8String (SIZE (1..64)),  ---       идентификатор
конференции
     protocol [11]          VoipProtocol,
     term-cause [12]        INTEGER (0 .. 16384),      ---          причина
завершения соединения
     abonent-id [13]        UTF8String (SIZE (0 .. 64)),
     nat-info [20]          NetworkPeerInfo,           ---  транслированные
NAT IP/порт
     location [21]           Location                  ---   местоположение
абонента
      }
     }

     requestedFileTransfer TAGGED ::= {
      OID { sorm-request-connection-file-transfer }
      DATA CHOICE  {
     point-id [0] INTEGER (0 .. 1000),                 ---
идентификатор точки подключения к сети передачи данных, с которой  получены
записи
     client-info [1]       NetworkPeerInfo,            ---    идентификатор
абонента сети передачи данных
     server-info [2]       NetworkPeerInfo,            ---    идентификатор
сервера сети передачи данных
     server-name [3]       F8String (SIZE (1 .. 256)), --- название сервера
     user-name [4]         UTF8String (SIZE (1 .. 128)), ---           имя
пользователя, наименование учетной записи
     user-password [5] UTF8String (SIZE (1 .. 256)), ---   пользовательский
пароль
     term-cause [6]         INTEGER (1 .. 16384),      ---          причина
завершения соединения
     abonent-id [7]         UTF8String (SIZE (0 .. 64)),
     nat-info [20]          NetworkPeerInfo,           ---  транслированные
NAT IP/порт
     location [21]          Location                   ---   местоположение
абонента
      }
     }

     requestedTerm Access TAGGED ::= {
      OID { sorm-request-connection-term-access }
      DATA CHOICE {
     point-id [0] INTEGER (0 .. 1000),                 ---    идентификатор
точки подключения к сети передачи данных, с которой получены записи
     client-info [1]   NetworkPeerInfo,                ---    идентификатор
абонента сети передачи данных
     server-info [2]   NetworkPeerInfo,                ---    идентификатор
сервера сети передачи данных
     abonent-id [3]    UTF8String (SIZE (0 .. 64)),
     nat-info [10]     NetworkPeerInfo,                ---  транслированные
NAT IP/порт
     location [11]     Location,                       ---   местоположение
абонента
     sni [13]          UTF8String (SIZE (1 .. 128))    --- поле Server Name
Indication/Common Name
     }
     }

     --- идентификаторы для соединений передачи данных (закрытые  протоколы
обмена)
     requestedRawFlows TAGGED::= {
      OID { sorm-request-connection-raw-flows }
      DATA CHOICE {
     point-id [0]      INTEGER (0.. 1000),             ---    идентификатор
точки подключения к сети передачи данных, с которой получены записи
     protocol-code [1] INTEGER (0 .. 65535),           ---    код протокола
в соответствии с RFC1700
     client-info [2]       NetworkPeerInfo,            ---    идентификатор
абонента сети передачи данных
     server-info [3]       NetworkPeerInfo,            ---    идентификатор
сервера сети передачи данных
     abonent-id [4]        UTF8String (SIZE (0 .. 64)),
     nat-info [10]         NetworkPeerInfo,            ---  транслированные
NAT IP/порт
     location [11]         Location,                   ---   местоположение
абонента
     sni [13] UTF8String (SIZE (1 .. 128))             --- SNI/CN
     }
     }

     --- идентификаторы для соединений передачи данных (закрытые  протоколы
обмена)
     requestedAddressTranslations TAGGED::= {
      OID { sorm-request-connection-address-translations }
      DATA CHOICE  {
     point-id [0]       INTEGER (0 .. 1000),  ---   идентификатор     точки
подключения к сети передачи данных, с которой получена запись о  соединении
     record-type [2]         ENUMERATED       {--- тип записи о  трансляции
сетевого адреса
     session-start (0),                       --- начало  сессии трансляции
     session-end (1)                          --- окончание          сессии
трансляции
      },
     private-ip [3]          NetworkPeerInfo, --- внутренний адрес
     public-ip [4]      NetworkPeerInfo,      --- внешний адрес
     destination-ip [5] NetworkPeerInfo,      --- адрес назначения
     translation-type [6]    ENUMERATED       {--- тип  трансляции  сетевых
адресов
          static-nat (0),                     --- статическая
          dynamic-nat (1),                    --- динамическая
          source-nat (2),                     --- источника
          destination-nat (3),                --- получателя
          pat (4)                             --- адрес-порт
       }
      }
     }

     END

     18. RequestedIdentifiers.asn
     RequestedIdentifiers DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS
      RequestedIdentifier,
      requestedPagerIdentifier,
      requestedPstnIdentifier,
      requestedGsmIdentifier,
      requestedCdmaIdentifier,
      requestedDataNetworkIdentifier
      ;

     IMPORTS TAGGED,
        sorm-request-identifier-pager,
        sorm-request-identifier-pstn,
        sorm-request-identifier-gsm,
        sorm-request-identifier-cdma,
        sorm-request-identifier-data-network,
        sorm-request-identifier-voip
       FROM Classification
         DataNetworkEquipment,
         IPAddress
       FROM NetworkIdentifiers
       ;

     RequestedIdentifier ::= SEQUENCE {
      id TAGGED.&id ({RequestedIdentifierVariants}),
      data TAGGED.&Data({RequestedIdentifierVariants}{@id})
     }

     --- варианты запрашиваемых идентификаторов
     RequestedIdentifierVariants TAGGED ::= {
      requestedPagerIdentifier |               --- идентификатор       сети
персонального радиовызова
      requestedPstnIdentifier |                --- идентификатор телефонной
сети связи
      requestedGsmIdentifier |                 --- идентификатор GSM
      requestedCdmaIdentifier |                --- идентификатор CDMA
      requestedDataNetworkIdentifier |         --- идентификатор       сети
передачи данных
      requestedVoipIdentifier                  --- идентификатор voip
     }

     --- идентификатор сети персонального радиовызова
     requestedPagerIdentifier TAGGED ::= {
      OID { sorm-request-identifier-pager }
      DATA RequestedPagerIdentifier
     }

     RequestedPagerIdentifier ::= NumericString (SIZE (2 .. 18))

     --- идентификатор телефонной сети общего пользования
     requestedPstnIdentifierTAGGED ::= {
      OID { sorm-request-identifier-pstn }
      DATA RequestedPstnIdentifier
     }

     RequestedPstnIdentifier ::= SEQUENCE {
      directory-numberUTF8String (SIZE (1 .. 32)),           --- телефонный
номер в международном формате
     internal-number NumericString (SIZE (1 .. 32)) OPTIONAL ---
дополнительный внутренний номер (при наличии)
     }

     -- идентификатор абонента GSM
     requestedGsmIdentifier TAGGED ::= {
      OID { sorm-request-identifier-gsm }
      DATA RequestedGsmIdentifier
     }

     RequestedGsmIdentifier ::= CHOICE {
      directory-number [0] UTF8String (SIZE (1 .. 32)), ---      телефонный
номер в международном формате
     imsi [1] NumericString (SIZE (2 .. 18)),           ---   идентификатор
мобильного абонента
     imei [2] NumericString (SIZE (2 .. 18)),           ---   идентификатор
мобильной станции
     icc [3] NumericString (SIZE (10 .. 20))            ---   идентификатор
SIM-карты абонента
     }

     -- идентификатор абонента CDMA
     requestedCdmaIdentifier TAGGED ::= {
      OID { sorm-request-identifier-cdma }
      DATA RequestedCdmaIdentifier
     }

     RequestedCdmaIdentifier ::= CHOICE {
      directory-number [0] UTF8String (SIZE (1 .. 32)), ---      телефонный
номер в международном формате
     imsi [1] NumericString (SIZE (2 .. 18)),           ---   идентификатор
мобильного абонента
     esn [2] NumericString (SIZE (2 .. 18)),            ---   идентификатор
мобильной станции
     min [3] NumericString (SIZE (2 .. 18)),            ---   идентификатор
мобильного абонента (CDMA)
     icc [4] NumericString (SIZE (10 .. 20))            ---   идентификатор
SIM-карты абонента
     }

     -- Идентификатор сети передачи данных
     requestedDataNetworkIdentifier TAGGED ::= {
      OID { sorm-request-identifier-data-network }
      DATA RequestedDataN etworkIdentifier
     }

     RequestedDataNetworkIdentifier CHOICE ::= {
      user-equipment [0] DataNetworkEquipment,         ---    идентификатор
пользовательского оборудования
      login [1] UTF8String (SIZE (1 .. 128)),          --- имя пользователя
- login
      ip-address [2] IPAddress,                        --- IP-адрес
      e-mail [3] UTF8String (SIZE (1 .. 128)),         ---            адрес
электронной почты
      phone-number [5] UTF8String (SIZE (2 .. 32)),    --- номер телефона
      user-domain [6] UTF8String (SIZE (2 .. 256))     --- пользовательский
домен
     }

     -- Идентификатор voip
     requestedVoipIdentifier TAGGED ::= {
      OID { sorm-request-identifier-voip }
      DATA RequestedVoipIdentifier
     }

     RequestedVoipIdentifier ::= CHOICE {
      ip-address [0] IP Address,                        ---        IP-адрес
абонента
      originator-name [1] UTF8String (SIZE (1 .. 512)), ---   общедоступное
имя инициатора связи
      calling-number [2]  UTF8String (SIZE (1 .. 32))   ---           номер
вызывающего абонента
     }

     END

     19. Sessions.asn
     Sessions DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS sessionMessage;

     IMPORTS TAGGED
        ,sorm-message-session
        FROM Classification;

     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
     supportsSEQUENCEOFObjectDescriptor --- весь список поддерживаемых COPM
типов запросов, типов отчетов
     }

     --- согласование поддерживаемых типов со стороны ПУ
     AdjustmentRequest ::= SEQUENCE {
     Supports SEQUENCE OF ObjectDescriptor --- список поддерживаемых ПУ
типов запросов, типов отчетов. Данный список должен быть меньшим или равным
списку в сообщении ConnectRequest
     }

     -- ответ на согласование списка поддерживаемых типов
     AdjustmentResponse ::= NULL --- ответ на   запрос  согласования данных

     --- запрос завершения сессии
     DisconnectRequest ::= NULL

     --- ответ на запрос завершения сессии
     DisconnectResponse ::= NULL

     END

     20. Sorm.asn
     Sorm DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS DateAndTime,
        FindRange,
        MessageID,
        Message;

     IMPORTS TAGGED FROM Classification
        sessionMessage FROM Sessions
        trapMessage FROM Traps
        taskMessage FROM Tasks
        reportMessage FROM Reports
        managementMessage FROM Management
        unformattedMessage FROM Unformatted
        filterMessage FROM Filters;

     Version ::= PrintableString
     vers Version ::= "3.3.0" --- текущая версия протокола

     --- Оболочка сообщения COPM
     Message ::= SEQUENCE {
     version Version OPTIONAL,                    --- версия протокола
       message-id MessageID,                      --- номер запроса
       message-time DateAndTime,                  --- время и дата запроса
       operator-name PrintableString (SIZE (1 .. 128)) OPTIONAL, ---
наименование оператора связи
     id TAGGED.&id ({SormPDUs}), --- идентификатор блока данных
     data TAGGED.&Data({SormPDUs}{@id})           --- данные  блока  данных
     }

     -- Блок данных сообщения
     SormPDUsTAGGED ::= {
     sessionMessage                         --- сообщения организации
сессии
        | trapMessage                       --- сообщения сигналов
        | taskMessage                       --- сообщения работы с задачами
        | reportMessage                     --- сообщения работы с отчетами
        | managementMessage                 --- сообщения  канала  передачи
мониторинга (КПМ)
        | unformattedMessage                --- сообщения  канала  передачи
неформатированных данных (КПНФ)
        | filterMessage                     --- сообщения  установки/снятия
фильтров записываемого содержимого соединений сети передачи данных
     }

     --- Общие данные

     -- Номер сообщения
     MessageID INTEGER (0 .. 4294967295)

     -- Дата и время
     DateAndTime ::= UTCTime

     -- Диапазон поиска
     FindRange SEQUENCE {
       begin-find [0] DateAndTime OPTIONAL,            ---  время   и  дата
начала поиска информации
       end-find [1] DateAndTimeOPTIONAL                ---  время   и  дата
окончания поиска информации
     }

     END

     21. TasksAbonents.asn
     TasksAbonents DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS AbonentsTask;

     IMPORTS

      LogicalOperation FROM Tasks
      RequestedIdentifier FROM RequestedIdentifiers
      RequestedAbonent FROM RequestedAbonents;

     AbonentsTask ::= CHOICE {
      validate-abonents-task   [0]   ValidateAbonentsTask,   ---  задача на
поиск  информации о принадлежности идентификаторов абонентов сети оператора
связи

     validate-identifiers [1] ValidateIdentifiersTask, --- задача  на поиск
информации    об    идентификаторах   абонентов   сети   оператора   связи,
зарегистрированных на физическое или юридическое лицо

     validate-services [2] ValidateServicesTask        --- задача на  поиск
информации о доступных абоненту видам услуг связи
     }

     --- задача  на   поиск  информации  о  принадлежности  идентификаторов
абонентов сети оператора связи
     ValidateAbonentsTask ::= RequestedIdentifiers       ---  запрашиваемые
идентификаторы

     RequestedIdentifiers ::= SEQUENCEOFRequestedIdentifierParameters    --
последовательность из идентификаторов и логических операций

     RequestedIdentifierParameters ::= CHOICE {
      separator [0] LogicalOperation,   --- логическая  операция или скобка
      find-mask [1] RequestedIdentifier --- параметр - идентификатор
     }

     --- задача на поиск  информации  об   идентификаторах  абонентов  сети
оператора связи зарегистрированных на физическое или юридическое лицо
     ValidateIdentifiersTask ::= RequestedAbonents     ---    запрашиваемые
абоненты

     RequestedAbonents ::= SEQUENCEOFRequestedAbonentsParameters
     --- последовательность логических операций и параметров

     RequestedAbonentsParameters ::= CHOICE {
      separator [0] LogicalOperation,    --- логический   оператор   связки
      find-mask [1] RequestedAbonent     --- информация запроса об абоненте
     }

     --- задача на поиск истории услуг связи, оказанных абоненту
     --- запрос по маске запрещен, идентификатор указывается полностью
     ValidateServicesTask ::= SEQUENCE OF ValidateServicesParameters
     ValidateServicesParameters ::= CHOICE {
      separator [0] LogicalOperation,                  ---       логическая
операция или скобка
      find-mask [1] ValidateServicesParameter          ---    параметр    -
идентификатор
     }

     ValidateServicesParameter ::= CHOICE {
      contract [0] UTF8String (SIZE (1 .. 64)),        ---  номер  договора
      identifier [1] RequestedIdentifier
     }

     END

     22. Tasks.asn
     Tasks DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS taskMessage,
        TaskID,
        LogicalOperation,
        CreateTaskResponse,
        DataContentID;

     IMPORTS TAGGED,
        sorm-message-task
       FROM Classification

        FindRange,
        MessageID
       FROM Sorm

        TelcoList,
        DictionaryTask
       FROM Dictionaries

        AbonentsTask
       FROM TasksAbonents

        ConnectionsTask
       FROM TasksConnections

        LocationTask
       FROM TasksLocation

        PaymentsTask
       FROM TasksPayments

        PresenseTask
       FROM TasksPresense

        DataContentTask
       FROM TasksContentTask

        NonFormalizedTaskRequest,
        NonFormalizedTaskResponse
       FROM
        TasksNonFormalized;

     taskMessage TAGGED ::= {
      OID {sorm-message-task}
      DATA CHOICE {
       data-ready-request [0]      DataReadyRequest,      ---        запрос
готовности данных
       data-ready-response [1]     DataReady Response,    --- ответ      на
запрос готовности данных
       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,    --- ответ      на
запрос создания задачи
       non-formalized-task-request  [10] NonFormalizedTaskRequest,      ---
запрос на создание задачи по обработке неформализованных данных
       non-formalized-task-response [11] NonFormalizedTaskResponse      ---
ответ на запрос создания задачи по обработке неформализованных данных
      }
     }

     --- в этом запросе не параметров
     DataReadyRequest ::= NULL

     --- запрос загрузки данных конкретной задачи
     DataLoadRequest ::= TaskID

     --- запрос удаления данных конкретной задачи
     DataDropRequest ::= TaskID

     --- запрос прерывания загрузки данных
     DataInterruptRequest TaskID

     --- запрос на создание задачи поиска
     CreateTaskRequest SEQUENCE {
     telcos [0] TelcoList OPTIONAL,           --- список  операторов  связи
     range [1] FindRange OPTIONAL,            --- временной диапазон поиска
     report-limit  [2]  INTEGER  (1 .. 10000000) OPTIONAL,        ---
ограничение на максимальное количество возвращаемых записей
     task [3] CHOICE {
           dictionary [0] DictionaryTask,     --- задачи        пополнения
справочников (нормативно-справочная информация)
           abonents   [1]   AbonentsTask,     ---  задачи   поисков      по
принадлежности абонентов
           connections  [2]  ConnectionsTask, ---   задачи   поисков     по
соединениям абонентов
           location [3] LocationTask, ---  задача     получения      данных
местоположения абонентов
           payments [4] PaymentsTask, --- задачи  поисков   по  совершенным
платежам
           presense [6] PresenseTask, --- задачи  предоставления сведений о
наличии данных
           data-content   [9]  DataContentTask  ---  задачи       получения
содержимого потоков
      }
     }

     ------------------------------------------------------------------

     --- последовательность записей о готовности данных задач
     DataReadyResponse ::= SEQUENCE OF DataReadyTaskRecord

     DataReadyTaskRecord ::= SEQUENCE {
     task-id TaskID,                --- идентификатор задачи
     result TaskResult              --- результат выполнения задачи
     }

     TaskResult ::= SEQUENCE {
     result ENUMERATED {
          data-not-ready (0),       --- данные  не  обработаны,  задача   в
процессе выполнения
          data-ready (1),           --- данные в наличии, задача  выполнена
          data-not-found (2),       --- данных     отсутствуют,      задача
выполнена
          error (3)                 --- в    процессе   выполнения   задачи
произошла ошибка
       },
     report-records-number [0] INTEGER (0 .. 999999999999) OPTIONAL,
   --- для выполненной задачи - количество записей в отчете
     report-limit-exeeded   [1]  BOOLEANOPTIONAL, ---   количество  записей
превысило лимит, заданный при создании задачи
     error-description [2] UTF8String (SIZE (1 .. 256)) OPTIONAL ---
описание произошедшей ошибки (в случае выявления ошибки)
     }

     DataLoadResponse ::= SEQUENCE {
       task-id TaskID,                            --- идентификатор задачи,
сгенерировавшей данный отчет
       data-exists BOOLEAN,                       --- признак существования
результатов исполнения задачи (имеются данные или отсутствуют)
     data-blocks-number  INTEGER  (0  .. 999999999999) OPTIONAL, ---
количество блоков в отчете
     error-description  UTF8String  (SIZE  (1  .. 256)) OPTIONAL ---
описание ошибки (в случае выявления ошибки)
     }

     DataDropResponse ::= SEQUENCE {
     task-id TaskID,             --- идентификатор задачи,  данные  которой
будут удалены
     successful BOOLEAN,         --- признак корректного выполнения запроса
     error-description  UTF8String  (SIZE  (1  .. 256)) OPTIONAL ---
описание ошибки (в случае выявления ошибки)
     }

     DataInterruptResponse ::= SEQUENCE {
     request-id  MessageID,  ---  идентификатор      прерванного    запроса
загрузки данных
     successful  BOOLEAN, --- признак   корректного    выполнения   запроса
     data-blocks-available INTEGER (0 .. 999999999999) OPTIONAL,        ---
количество оставшихся непереданными блоков
     error-description  UTF8String  (SIZE  (1  .. 256)) OPTIONAL ---
описание ошибки (в случае выявления ошибки)
     }

     CreateTaskResponse ::= SEQUENCE {
     task-id TaskID OPTIONAL, --- идентификатор задачи
     successful BOOLEAN,      --- признак  корректного   выполнения запроса
     error-description  UTF8String  (SIZE  (1  .. 256)) OPTIONAL ---
описание ошибки (в случае выявления ошибки)
     }

     ------------------------------------------------------------------

     --- идентификатор задачи
     TaskID ::= INTEGER (0 .. 4294967295)

     --- идентификатор потока
     DataContentID ::= UTF8String (SIZE (1 .. 512))

     LogicalOperation ::= ENUMERATED {
      operation-open-bracket (0),  -- открывающая скобка - "("
      operation-close-bracket (1), -- закрывающая скобка -")"
      operation-or (2),            -- логическое "или"
      operation-and (3),           -- логическое "и"
      operation-not (4)            -- логическое "не"
     }

     END

     23. TasksConnections.asn
     TasksConnections DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS ConnectionsTask;

     IMPORTS
       LogicalOperation FROM Tasks
       RequestedConnection FROM RequestedConnections
     ;

     ConnectionsTask ::= CHOICE {
      validate-connections  [0]  ValidateConnectionsTask,  --- задача    на
поиск соединений между абонентами в сети телефонной связи
      validate-data [1] ValidateDataTask, --- задача  на поиск   соединений
между абонентами сети передачи данных
      validate-entrance [2] ValidateEntranceTask --- задача    на     поиск
информации о действиях абонента в личном кабинете
     }

     --- задача на поиск по соединениям абонентов
     ValidateConnectionsTask ::= RequestedConnectionIdentifiers ---
запрашиваемые       идентификаторы       указываются       все,       кроме
RequestedDataNetworkIdentifier
     ValidateDataTask ::= RequestedConnectionIdentifiers        ---
запрашиваемые идентификаторы указываются RequestedDataNetworkIdentifier
     ValidateEntranceTask ::= RequestedConnectionIdentifiers    ---  задача
на поиск информации о действиях абонента в личном кабинете

     RequestedConnectionIdentifiers         ::=         SEQUENCE         OF
RequestedConnectionParameter
     RequestedConnectionParameter ::= CHOICE {
      separator [0] LogicalOperation,                     ---    логический
оператор связки
      find-mask [1] RequestedConnection                   ---      параметр
запроса
     }
     END

     24. TasksLocation.asn
     TasksLocation DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS LocationTask;

     IMPORTS
        IPAddress
        FROM NetworkIdentifiers;

     --- задача получения данных местоположения абонентов
     LocationTask ::= RequestedLocationIdentifier ---         запрашиваемые
идентификаторы для определения местоположения

     RequestedLocationIdentifier ::=
        CHOICE {
         directory-number  [0] UTF8String (SIZE (1 .. 32)), --- телефонный
номер в международном формате
         imsi [1] NumericString (SIZE (2 .. 18)), ---         идентификатор
мобильного абонента
         ip-address [2] IPAddress,                --- IP-адрес     абонента
         imei [3] NumericString (SIZE (2 .. 18))  ---         идентификатор
мобильной станции
     }

     END

     25. TasksNonFormalized.asn
     TasksNonFormalized DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS
        EntityId,
        NonFormalizedTaskRequest,
        NonFormalizedTaskResponse,
        NonFormalizedEntityAttributeData;

     IMPORTS TelcoList
        FROM Dictionaries

        FindRange,
        MessageID,
        DateAndTime
        FROM Sorm

        Location
        FROM Locations

        LogicalOperation,
        CreateTaskResponse
        FROM Tasks
     ;

     --- TaskID,
           -- LogicalOperation;

     NonFormalizedTaskRequest ::= CHOICE {
     get-entities [0] GetEntities,                     ---  тип   сообщения
"запрос получения списка типов сущностей"
     get-attributes [1] GetEntityAtttibutes,           ---  тип   сообщения
"запрос получения списка атрибутов сущности"
     validate-task [2] ValidateNonFormalizedTask,      ---  тип   сообщения
"задача поиска неформализованных данных"
     validate-presense [3] NonFormalizedPresenseTask   ---  тип   сообщения
"задача предоставления сведений о наличии неформализованных данных"
     NonFormalizedTaskResponse ::= CHOICE {
     entities [0] GetEntitiesResponse,                 --- ответ  на запрос
получения списка типов сущностей
     entity-attributes [1] GetEntityAtttibutesResponse, --- ответ на запрос
получения списка атрибутов сущности
     validate-task [2] ValidateNonFormalizedTaskResponse, --- ответ      на
запрос задачи поиска неформализованных данных
     validate-presense [3] NonFormalizedPresenseTaskResponse  ---  ответ на
запрос задачи предоставления сведений о наличии неформализованных данных
     }

     --- тип сообщения "запрос получения списка типов сущностей"
     GetEntities ::= NULL

     --- тип сообщения "запрос получения списка атрибутов сущности"
     GetEntityAtttibutes ::= EntityId

     --- тип сообщения "задача поиск неформализованных данных"
     ValidateNonFormalizedTask ::= SEQUENCE {
     entity-id EntityId,                 --- сущность   для    поиска    по
неформализованным данным
     parameters NonFormalizedParameters, --- критерии       поиска       по
неформализованным данным
     range FindRangeOPTIONAL,            --- временной    диапазон   поиска
     report-limit  INTEGER  (1 .. 10000000)  OPTIONAL  ---  ограничение  на
максимальное количество возвращаемых записей
     }

     ---   тип   сообщения   "задача     предоставления     сведений      о
наличии неформализованных данных"
     NonFormalizedPresenseTask ::= EntityId

     NonFormalizedParameters ::= SEQUENCE OF NonFormalizedParameter

     NonFormalizedParameter CHOICE {
      separator [0] LogicalOperation,                   ---      логическая
операция
     find-mask [1] NonFormalizedEntityCondition         --- условие
     }

     NonFormalizedEntityCondition ::= SEQUENCE {
      attribute NonFormalizedEntity Attribute,          --- атрибут
сущности
      operation MathOperation, --- операция
      attribute-value NonFormalizedEntity AttributeData --- значение
атрибута
     }

     NonFormalizedEntity Attribute ::= SEQUENCE {
      attribute-name UTF8String (SIZE (1 .. 256)),      ---       текстовое
наименование атрибута сущности
      attribute-type AttributeType                      ---    тип   данных
атрибута
     }

     NonFormalizedEntityAttributeData ::= CHOICE {
     datetime [0] DateAndTime,                    --- дата и время (час,
минута, секунда) с погрешностью +/- 1 секунда
     integer [1] INTEGER,                         --- целочисленный
     string [2] UTF8String,                       --- строковый
     boolean [3] BOOLEAN,                         --- булевый
     float [4] REAL,                              --- с плавающей запятой
     location [5] Location,                       --- местоположение
     empty [6] NULL                               --- не заполняется (null)
     }

     --- математические операции сравнения
     MathOperation ::= ENUMERATED {
     equal (0),           --- равно
     less(1),             --- меньше
     greater (2),         --- больше
     not-equal (3),       --- не равно
     less-or-equal (4),   --- меньше или равно
     greater-or-equal (5) --- больше или равно
     }

     ------------------------------------------------------------------
     GetEntitiesResponse ::= SEQUENCE OF NonFormalizedEntity

     NonFormalizedEntity ::= SEQUENCE {
     entity-id EntityId,                      ---                уникальный
идентификатор сущности
     entity-name UTF8String (SIZE (1 .. 256)) --- текстовое    наименование
сущности
     }

     GetEntityAtttibutesResponse ::= SEQUENCE {
     entity-id EntityId, --- уникальный идентификатор сущности
     entity-attributes SEQUENCE OF NonFormalizedEntityAttribute ---
атрибуты сущности
     }

     ValidateNonFormalizedTaskResponse ::= CreateTaskResponse

     NonFormalizedPresenseTaskResponse ::= CreateTaskResponse

     ------------------------------------------------------------------

     --- типы данных атрибутов
     AttributeType ::= ENUMERATED {
      date-time (0),           --- дата и время (час, минута,  секунда)   с
погрешностью +/- 1 секунда
      integer (1),             --- целочисленный
      string (2),              --- строковый
     boolean (3),              --- булевый
     float (4),                --- с плавающей запятой
     location (5),             --- местоположение
     empty (6)                 --- пустое значение
     }

     --- Идентификатор сущности
     EntityId INTEGER (0 .. 4294967296)

     END

     26. TasksPayments.asn
     TasksPayments DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS PaymentsTask;

     IMPORTS LogicalOperation
       FROM Tasks

         RequestedConnection
       FROM RequestedConnections

         RequestedIdentifier
       FROM RequestedIdentifiers

         RequestedAddress
       FROM Addresses

         TAGGED,
         sorm-request-payment-bank-transaction,
         sorm-request-payment-express-pays,
         sorm-request-payment-terminal-pays,
         sorm-request-payment-service-center,
         sorm-request-payment-cross-account,
         sorm-request-payment-telephone-card,
         sorm-request-payment-balance-fillups,
         sorm-request-payment-bank-division-transfer,
         sorm-request-payment-bank-card-transfer,
         sorm-request-payment-bank-account-transfer
       FROM Classification;

     PaymentsTask ::= SEQUENCE {
      id TAGGED.&id ({RequestedPayments Variants}),
      data TAGGED.&Data ({RequestedPayments Variants} {@id})
     }

     --- варианты запрашиваемых параметров связей
     RequestedPaymentsVariantsTAGGED ::= {
     bankTransactionTask
      | expressCardTask
      | publicTerminalTask
      | serviceCenterTask
      | crossAccountTask
      | telephoneCardTask
      | balanceFillupTask
      | bankDivisionTransferTask
      | bankCardTransferTask
      | bankAccountTransferTask
     }

     --- задача на поиск пополнения   баланса    посредством    банковского
перевода
     bankTransactionTask TAGGED ::= {
      OID { sorm-request-payment-bank-transaction }
      DATA RequestedBankTransactionPays
     }

     RequestedBankTransactionPays ::=              SEQUENCE              OF
RequestedBankTransactionPaysParameters
     ---    последовательность    логических    операций    и    параметров
     RequestedBankTransactionPaysParameters ::= CHOICE {
     separator [0] LogicalOperation,                --- логический оператор
связки
     bank-account [1] UTF8String (SIZE (1 .. 64)),  --- номер   банковского
счета, с которого совершен платеж
     bank-name [2]    UTF8String (SIZE (1 .. 512)), --- наименование банка,
со счета которого совершен перевод
     identifier [3]   RequestedIdentifier           ---       идентификатор
абонента
     }

     --- задача  на  поиск   пополнения  баланса  с   использованием  карты
экспресс-оплаты
     expressCardTask TAGGED ::= {
       OID { sorm-request-payment-express-pays }
       DATA RequestedExpressPays
     }

     RequestedExpressPays ::= SEQUENCE  OF   RequestedExpressPaysParameters
     --- последовательность логических операций и параметров
     RequestedExpressPaysParameters ::= CHOICE {
      separator [0] LogicalOperation,                   ---      логический
оператор связки
      express-card [1] NumericString (SIZE  (2 .. 20)), ---    номер  карты
экспресс-оплаты
      identifier [2] RequestedIdentifier                ---   идентификатор
абонента
     }

     ---  задача  на поиск  пополнения баланса  с использованием терминалов
моментальных платежей
     publicTerminalTask TAGGED ::= {
       OID { sorm-request-payment-terminal-pays }
       DATA RequestedTerminalPays
     }

     RequestedTerminalPays ::=              SEQUENCE                     OF
RequestedTerminalPaysParameters    ---    последовательность     логических
операций и параметров
     RequestedTerminalPaysParameters ::= CHOICE {
      separator [0] LogicalOperation,                     ---    логический
оператор связки
      terminal-id [1] UTF8String (SIZE (1 .. 64)),        --- идентификатор
терминала
      terminal-number [2] NumericString (SIZE (2 .. 20)), ---         номер
терминала
      terminal-address [3] RequestedAddress,          --- адрес терминала
      identifier [4] RequestedIdentifier              ---     идентификатор
абонента
     }

     --- задача   на   поиск   пополнения   баланса   посредством   центров
обслуживания клиентов (ЦОК)
     serviceCenterTask TAGGED ::= {
       OID { sorm-request-payment-service-center }
       DATA RequestedServiceCenterPays
     }

     RequestedServiceCenterPays ::=             SEQUENCE                 OF
RequestedServiceCenterPaysParameters --- последовательность      логических
операций и параметров
     RequestedServiceCenterPaysParameters ::= CHOICE {
     separator [0] LogicalOperation,         --- логический оператор связки
     center-id [1]UTF8String (SIZE (1 .. 64)), ---  идентификатор    центра
обслуживания клиентов
     center-address  [2]  RequestedAddress,    ---    адрес          центра
обслуживания клиентов
     identifier [3] RequestedIdentifier        --- идентификатор   абонента
     }

     --- задача на поиск пополнения баланса  посредством  снятия  денег  со
счета другого абонента
     crossAccountTask TAGGED ::= {
       OID { sorm-request-payment-cross-account }
       DATA RequestedCrossAccountPays
     }

     RequestedCrossAccountPays ::=               SEQUENCE                OF
RequestedCross AccountPaysParameters --- последовательность
логических операций и параметров
     RequestedCrossAccountPaysParameters ::= CHOICE {
     separator [0]         LogicalOperation,    --- логический     оператор
связки
     source-identifier [1] RequestedIdentifier, ---           идентификатор
абонента, со счета которого переводятся средства
     dest-identifier [2]   RequestedIdentifier  --- идентификатор
абонента, на счет которого переводятся средства
     }

     ---  задача  на  поиск  пополнения баланса с использованием телефонных
карт
     telephoneCardTask TAGGED ::= {
       OID { sorm-request-payment-telephone-card }
       DATA RequestedTelephoneCardPays
     }

     RequestedTelephoneCardPays ::=              SEQUENCE                OF
RequestedTelephoneCardPaysParameters ---  последовательность     логических
операций и параметров
     RequestedTelephoneCardPaysParameters ::= CHOICE {
     separator [0] LogicalOperation,                   ---       логический
оператор связки
     card-number [1] NumericString (SIZE (2 .. 20)),   --- номер телефонной
карты
     identifier [2] RequestedIdentifier                ---    идентификатор
абонента
     }

     --- общая задача на поиск пополнения баланса личного счета абонента
     balanceFillupTask TAGGED ::= {
       OID { sorm-request-payment-balance-fillups }
       DATA RequestedBalanceFillups         --- параметры запроса
     }

     RequestedBalanceFillups            ::=            SEQUENCE          OF
RequestedBalanceFillupsParameters  ---  последовательность       логических
операций и параметров
     RequestedBalanceFillupsParameters ::= CHOICE {
      separator [0] LogicalOperation,       --- логический оператор связки
      identifier [1] RequestedIdentifier    --- идентификатор абонента
     }

     --- задача на поиск перевода средств со счета абонента для их снятия в
отделении банка
     bankDivisionTransferTask TAGGED ::= {
     OID { sorm-request-payment-bank-division-transfer }
     DATA RequestedBankDivisionTranferPays --- параметры запроса
     }

     RequestedBankDivisionTranferPays      ::=        SEQUENCE           OF
RequestedTranferParameters --- последовательность логических  операций
и параметров

     ---  задача на  поиск перевода средств со счета абонента на банковскую
карту
     bankCardTransferTask TAGGED ::= {
       OID { sorm-request-payment-bank-card-transfer }
       DATA RequestedBankCardTranferPays    --- параметры запроса
     }

     RequestedBankCardTranferPays          ::=         SEQUENCE          OF
RequestedTranferParameters --- последовательность логических  операций
и параметров

     --- задача на поиск перевода средств со счета абонента на счет в банке
     bankAccountTransferTask TAGGED ::= {
       OID { sorm-request-payment-bank-account-transfer }
       DATA RequestedBankAccountTranferPays --- параметры запроса
     }

     RequestedBankAccountTranferPays         ::=         SEQUENCE        OF
RequestedTranferParameters   ---  последовательность логических операций  и
параметров
     RequestedTranferParameters ::= CHOICE {
      separator [0] LogicalOperation,           ---              логический
оператор связки
      source-identifier [1] RequestedIdentifier --- идентификатор  абонента
инициатора перевода средств
     }

     END

     27. 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 ENUMERATED {
     subscribers (0),  --- запрос наличия информации  об   абонентах  и  их
идентификаторах
     connections (1),  --- запрос наличия информации о соединениях
     payments (2),     --- запрос наличия имеющейся информации   о платежах
     dictionaries (3), --- запрос наличия справочников
     locations (4)     --- запрос  наличия   информации  о   местоположении
абонентов
     }
     }

     END

     28. 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] Trap Ack        --- тип сообщения "подтверждение сигнала"
       }
     }

     -- Блок данных сообщения типа "сигнал"
     Trap ::= SEQUENCE {
      trap-type TrapType, -- тип сообщения
      trap-message UTF8String (SIZE (1 .. 256)) OPTIONAL, --       описание
сообщения
      reference-message  MessageIDOPTIONAL  --  номер сообщения, к которому
относится данный сигнал

     }

     TrapType ::= ENUMERATED {
     heartbeat (0),            -- тестовый пакет
     restart-software (1),     -- перезагрузка программного     обеспечения
(далее - ПО)
     unauthorized-access (2),  -- попытка несанкционированного      доступа
     critical-error (3),       -- ошибка ПО,  данные   утеряны,  дальнейшая
работа невозможна
     major-error (4),          -- ошибка ПО,  данные  утеряны,   дальнейшая
работа возможна
     minor-error (5)           -- ошибка ПО,  данные не утеряны, дальнейшая
работа возможна
     }

     -- Блок данных сообщения типа "подтверждение сигнала"
     -- Номер  сообщения  TrapAck должен соответствовать  номеру  сообщения
Trap
     TrapAck ::= NULL

     END

     29. Unformatted.asn
     Unformatted DEFINITIONS IMPLICIT TAGS ::=

     BEGIN

     EXPORTS unformattedMessage;

     IMPORTS TAGGED,
        sorm-message-unformatted
      FROM Classification

        TelcoList
      FROM Dictionaries

        Acknowledgement
      FROM Reports

        CallsRecords
      FROM ReportsConnections

        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

     --- типы данных, передаваемых ИС ОРМ
     RawDataType ::= ENUMERATED {
     raw-cdr (1),  --- "сырые" (неформатированные) CDR-файлы,  полученные с
коммутационного оборудования
     raw-ipdr (2), --- "сырые" (неформатированные) IPDR-файлы
     raw-location (10), ---  файлы  с  указанием   местоположения  в  сетях
подвижной радиотелефонной связи
     raw-passive (11) --- файлы  со статистической информацией,  полученной
от TC OPM 86
     }

     DataTypesRequest ::= RawDataType

     --- Команда  на начало передачи данных  любого  типа  передается от ПУ
независимо от процесса передачи данных других типов, полученных от ИСБД
     DataStartRequest ::= SEQUENCE {
     time-from DateAndTime,  --- начало  временного  периода   в буфере, от
которого необходимо получить данные
     time-to  DateAndTime,   ---  окончание временного периода в буфере, от
которого необходимо получить данные
     raw-type RawDataType    --- тип неформатированных данных передачи
     }

     DataStopRequest ::= NULL

     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 --- признак корректного выполнения
команды

     DataTypesResponse ::= SEQUENCE {
     successful  BOOLEAN, --- признак наличия в  ИС  ОРМ  запрошенного вида
неформатированных данных
     selected-type RawDataType,    --- выбранный  вид  данных  для передачи
     time-from DateAndTime,        --- начало    временного    периода    в
буфере, начиная с которого накоплены данные
     time-to DateAndTime           --- завершение   временного  периода   в
буфере, по которому накоплены данные
     }

     DataStartResponse ::= BOOLEAN --- признак  положительного   результата
выполнения команды
     DataStopResponse ::= BOOLEAN  --- признак   положительного  результата
выполнения команды

     --- в поле stream-id передается имя файла
     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 {
     raw-cdr [1]  RawBytesBlock,      ---  файлы   с   биллингом   в   сети
телефонной связи, полученным от коммутационного оборудования
     raw-ipdr [2] RawBytesBlock,      --- файлы с биллингом в сети передачи
данных
     raw-location [10] RawBytesBlock, --- файлы     с     информацией     о
местоположении абонентов в сети подвижной радиотелефонной связи
     raw-passive  [11]  RawBytesBlock --- файл с информацией, полученной от
ТС ОРМ 86
     }

     RawBytesBlock ::= SEQUENCE OF RawBytes
     RawBytes ::= OCTET STRING (SIZE (1 .. 4096))

     Raw Acknowledgement ::= Acknowledgement

     END

     30. ReportsDataContent.asn
     ReportsDataContent DEFINITIONS IMPLICIT TAGS ::=
     BEGIN

     EXPORTS DataContentReport;

     IMPORTS TAGGED,
        sorm-report-data-content-raw
        FROM Classification;

     DataContentReport ::= SEQUENCE {
      id TAGGED.&id ({ReportedDataContentVariants}),
      data TAGGED.&Data ({ReportedDataContentVariants} {@id})
     }

     ReportedDataContentVariants TAGGED ::= {
      reportDataContentRaw
     }

     reportDataContentRaw TAGGED ::= {
      OID { sorm-report-data-content-raw }
      DATA SEQUENCE OF RawRecordContent
     }

     RawRecordContent ::= SEQUENCE {
     successful BOOLEAN,                                  ---       признак
корректного формирования блока данных
     data [0] OCTETSTRING (SIZE (1 .. 1048576)) OPTIONAL, ---    содержимое
блока (в случае, если блок успешно сформирован)
     error [1] UTF8String (SIZE (1 .. 4096)) OPTIONAL,   ---       описание
ошибки (в случае, если не удалось сформировать блок)
     codec-info [2] UTF8String (SIZE (1 .. 4096)) OPTIONAL, ---    описание
типа содержимого в поле data
     direction [3] DataContentRawDirection OPTIONAL,        --- направление
передачи
     channel [4] INTEGER OPTIONAL                           --- канал
     }

     DataContentRawDirection ::= ENUMERATED {
      client-server (0),
      server-client (1)
     }

     END

     31. TasksContentTask.asn
     TasksContentTask DEFINITIONS IMPLICIT TAGS ::=
     BEGIN
     EXPORTS
      DataContentTask
      ;

     IMPORTS
      DataContentID
      FROM Tasks;

     DataContentTask ::= DataContentID

     END".

22. <a id="p100178"></a>В [приложении N 13](https://bukva.ai/docs/prikaz-573-2018#p101244) к Требованиям:
<a id="p100179"></a>а) [пункт 2](https://bukva.ai/docs/prikaz-573-2018#p101246) дополнить абзацем следующего содержания:
<a id="p100180"></a>"Голосовая информация, получаемая ИС ОРМ от ТС ОРМ 86 в соответствии с протоколом взаимодействия с ТС ОРМ 86, передается на ПУ в виде и последовательности, в которых голосовая информация была получена от ТС ОРМ 86 без переупаковки и/или перекодирования ИС ОРМ.
<a id="p100181"></a>ИС ОРМ при подключении к ТС ОРМ 86 в качестве дополнительного ПУ выставляет биты поля Transcode в команде получения результатов запроса статистических данных, равными "0".
<a id="p100182"></a>В поле data структуры "RawRecordContent" пункта 30 приложения N 9 к Требованиям байты звуковой информации укладываются в формате "a-law" или в формате ИКМ (РСМ) в режиме стерео с частотой дискретизации 16 кГц для видео в соответствии с протоколом 3G-324M с использованием кодеков:
<a id="p100183"></a>H.223 - для мультиплексирования;
<a id="p100184"></a>H.245 - для управления;
<a id="p100185"></a>G.723.1 (AMR) - для голоса;
<a id="p100186"></a>H.264 (AVC) - для видеоконтента.";
<a id="p100187"></a>б) [пункт 3](https://bukva.ai/docs/prikaz-573-2018#p101252) изложить в следующей редакции:
<a id="p100188"></a>"3. Для изображений, звуков и иных сообщений пользователей услугами связи, передаваемых в сетях передачи данных, информация должна содержать последовательность кадров канального уровня или датаграмм сетевого уровня в последовательности, в которой они прошли точку съема и записываться в формате "pcap".";
<a id="p100189"></a>в) [дополнить](https://bukva.ai/docs/prikaz-573-2018#p101244) пунктом 4 следующего содержания:
<a id="p100190"></a>"4. При передаче содержимого соединений по кпд5 соблюдаются следующие правила:
1) <a id="p100191"></a>поле "channel" структуры "RawRecordContent" пункта 30 приложения N 9 к Требованиям используется в следующих случаях:
<a id="p100192"></a>для передачи содержимого соединений из сети передачи данных, которые имеют несколько логических каналов (например - FTP, VoIP). Каждый логический канал разделяется по номеру и содержит данные в формате "pcap". В случае если размер Рсар-файла больше одного блока данных, то Pcap-файл разбивается на несколько блоков. Заголовок Рсар-файла является частью данных и приходит только в первом блоке для определенного канала данных;
<a id="p100193"></a>для передачи содержимого соединений, полученных от ТС ОРМ 86, в случаях, когда ТС ОРМ 86 по одному идентификатору соединения возвращает несколько файлов, в том числе полученных по одному вызову из различных точек съема;
2) <a id="p100194"></a>поле "codec-info" структуры "RawRecordContent" пункта 30 приложения N 9 к Требованиям используется для передачи типа данных. Описание значений поля "codec-info" приведено в таблице.

<a id="p100195"></a>Таблица. Описание значений поля "codec-info"


| <a id="p100196"></a>NN пп | <a id="p100197"></a>Значение | <a id="p100198"></a>Описание |
| --- | --- | --- |
| <a id="p100199"></a>1 | <a id="p100200"></a>application/vnd.tcpdump.pcap | <a id="p100201"></a>Данные в формате "pcap" для передачи содержимого интернет-соединений абонентов |
| <a id="p100202"></a>2 | <a id="p100203"></a>application/vnd.tsngi.data | <a id="p100204"></a>Формат передачи данных в соответствии с [Приказом-86](https://bukva.ai/docs/prikaz-86-2018-minkomsvyaz-rossii). |
| <a id="p100205"></a>3 | <a id="p100206"></a>image/tiff | <a id="p100207"></a>Данные в формате многостраничного TIFF документа. Используются для передачи факсов. |
| <a id="p100208"></a>4 | <a id="p100209"></a>image/t38 | <a id="p100210"></a>Передача данных в формате факс. |


<a id="p100211"></a>Значения "tcpdump.pcap" и "tsngi.data" являются основными типами для передачи содержимого соединений. Иные типы значений применяются для расширения возможности передачи содержимого соединений. Отсутствие поля "codec-info" эквивалентно заполнению поля "codec-info" значением "application/vnd.tcpdump.pcap".".



<a id="p100009"></a>

---
