3. Использование EGTS_ECALL_SERVICE

3. Использование EGTS_ECALL_SERVICE

3.1. В рамках сервиса EGTS_COMMAND_SERVICE используется подзапись EGTS_SR_COMMAND_DATA, описание которой представлено в Таблице N 9.

Таблица N 9. Список подзаписей сервиса EGTS_COMMAND_SERVICE

┌──────┬─────────────────────────┬────────────────────────────────────────┐
│ Код  │      Наименование       │                Описание                │
├──────┼─────────────────────────┼────────────────────────────────────────┤
│  0   │EGTS_SR_RECORD_RESPONSE  │Применяется для  подтверждения  процесса│
│      │                         │обработки   записи   протокола    уровня│
│      │                         │поддержки услуг.  Данный  тип  подзаписи│
│      │                         │поддерживается всеми сервисами.         │
├──────┼─────────────────────────┼────────────────────────────────────────┤
│  51  │EGTS_SR_COMMAND_DATA     │Подзапись    используется    абонентским│
│      │                         │терминалом    и    аппаратно-программным│
│      │                         │комплексом    для    передачи    команд,│
│      │                         │информационных сообщений,  подтверждений│
│      │                         │доставки,    подтверждений    выполнения│
│      │                         │команд,     подтверждения      прочтения│
│      │                         │сообщений.                              │
└──────┴─────────────────────────┴────────────────────────────────────────┘

3.2. Подзапись EGTS_SR_COMMAND_DATA

Структура подзаписи представлена в Таблице N 10.

Таблица N 10. Формат подзаписи EGTS_SR_COMMAND_DATA
сервиса EGTS_COMMANDS_SERVICE

┌────┬────┬────┬─────┬─────┬──────┬──────┬──────┬───┬───────┬─────────────┐
│Бит │Бит │Бит │ Бит │Бит 3│Бит 2 │Бит 1 │Бит 0 │Тип│  Тип  │Размер, байт │
│  7 │ 6  │ 5  │  4  │     │      │      │      │   │данных │             │
│    │    │    │     │     │      │      │      │   │       │             │
├────┴────┴────┴─────┼─────┴──────┴──────┴──────┼───┼───────┼─────────────┤
│ CT (Command Type)  │CCT (Command Confirmation │ M │ BYTE  │      1      │
│                    │          Type)           │   │       │             │
├────────────────────┴──────────────────────────┼───┼───────┼─────────────┤
│            CID (Command Identifier)           │ M │ UINT  │      4      │
├───────────────────────────────────────────────┼───┼───────┼─────────────┤
│            SID (Source Identifier)            │ M │ UINT  │      4      │
├─────────────────────────────────┬──────┬──────┼───┼───────┼─────────────┤
│                -                │ ACFE │CHSFE │ M │ BYTE  │      1      │
├─────────────────────────────────┴──────┴──────┼───┼───────┼─────────────┤
│                 CHS (Charset)                 │ O │ BYTE  │      1      │
├───────────────────────────────────────────────┼───┼───────┼─────────────┤
│        ACL (Authorization Code Length)        │ O │ BYTE  │      1      │
├───────────────────────────────────────────────┼───┼───────┼─────────────┤
│            AC (Authorization Code)            │ O │BINARY │  0 ... 255  │
├───────────────────────────────────────────────┼───┼───────┼─────────────┤
│               CD (Command Data)               │ O │BINARY │ 0 ... 65205 │
└───────────────────────────────────────────────┴───┴───────┴─────────────┘

где:

CT - тип команды:

0001 - CT_COMCONF - подтверждение о приеме, обработке или результат выполнения команды;

0010 - CT_MSGCONF - подтверждение о приеме, отображении и/или обработке информационного сообщения;

0011 - CT_MSGFROM - информационное сообщение от абонентского терминала;

0100 - CT_MSGTO - информационное сообщение для вывода на устройство отображения;

0101 - CT_COM - команда для выполнения на абонентском терминале;

0110 - CT_DELCOM - удаление из очереди на выполнение переданной ранее команды;

0111 - CT_SUBREQ - дополнительный подзапрос для выполнения (к переданной ранее команде);

1000 - CT_DELIV - подтверждение о доставке команды или информационного сообщения;

CCT - тип подтверждения (имеет смысл для типов команд CT_COMCONF, CT_MSGCONF, CT_DELIV):

0000 - CC_OK - успешное выполнение, положительный ответ;

0001 - CC_ERROR - обработка завершилась ошибкой;

0010 - CC_ILL - команда не может быть выполнена по причине отсутствия в списке разрешенных (определенных протоколом) команд или отсутствия разрешения на выполнение данной команды;

0011 - CC_DEL - команда успешно удалена;

0100 - CC_NFOUND - команда для удаления не найдена;

0101 - CC_NCONF - успешное выполнение, отрицательный ответ;

0110 - CC_INPROG - команда передана на обработку, но для ее выполнения требуется длительное время (результат выполнения еще не известен);

CID - идентификатор команды, сообщения. Значение из данного поля используется стороной, обрабатывающей/выполняющей команду или сообщение, для создания подтверждения. Подтверждение содержит в поле CID то же значение, что содержалось в самой команде или сообщении при отправке;

SID - идентификатор отправителя (уровня прикладного ПО) данной команды или подтверждения;

ACFE - (Authorization Code Field Exists) битовый флаг, определяющий наличие полей ACL и AC в подзаписи:

1 - поля ACL и AC присутствуют в подзаписи;

0 - поля ACL и AC отсутствуют в подзаписи;

CHSFE - (Charset Field Exists) битовый флаг, определяющий наличие поля CHS в подзаписи:

1 - поле CHS присутствует в подзаписи;

0 - поле CHS отсутствует в подзаписи;

CHS - кодировка символов, используемая в поле CD, содержащем тело команды. При отсутствии данного поля по умолчанию используется кодировка CP-1251. Определены следующие значения поля CHS (десятичный вид):

0 - CP-1251;

1 - IA5;

2 - бинарные данные;

3 - Latin 1;

4 - бинарные данные;

5 - JIS;

6 - Cyrillic;

7 - Latin/Hebrew;

8 - UCS2;

ACL - длина в байтах поля AC, содержащего код авторизации на стороне получателя;

AC - код авторизации, использующийся на принимающей стороне (абонентский терминал), который обеспечивает ограничение доступа на выполнение отдельных команд. Если указанный в данном поле код не совпадает с ожидаемым значением, то в ответ на такую команду или сообщение абонентский терминал отправляет подтверждение с типом CC_ILL;

CD - тело команды, параметры, данные возвращаемые на команду-запрос, использующие кодировку из поля CHS, или значение по умолчанию. Формат команды описан в Таблице N 11. Данное поле имеет нулевую длину (отсутствует) в тех случаях, когда в ответ на команду или сообщение для абонентского терминала не передаются никакие данные.

Таблица N 11. Формат команд терминала

┌─────┬─────┬────┬─────┬─────┬─────┬─────┬────┬───┬─────────┬─────────────┐
│ Бит │ Бит │Бит │ Бит │ Бит │ Бит │ Бит │Бит │Тип│   Тип   │Размер, байт │
│  7  │  6  │ 5  │  4  │  3  │  2  │  1  │ 0  │   │ данных  │             │
├─────┴─────┴────┴─────┴─────┴─────┴─────┴────┼───┼─────────┼─────────────┤
│                ADR (Address)                │ M │ USHORT  │      2      │
├──────────────────────┬──────────────────────┼───┼─────────┼─────────────┤
│      SZ (Size)       │     ACT (Action)     │ M │  BYTE   │      1      │
├──────────────────────┴──────────────────────┼───┼─────────┼─────────────┤
│             CCD (Command Code)              │ M │ USHORT  │      2      │
├─────────────────────────────────────────────┼───┼─────────┼─────────────┤
│                  DT (Data)                  │ O │ BINARY  │ 0 ... 65200 │
└─────────────────────────────────────────────┴───┴─────────┴─────────────┘

где:

ADR - адрес модуля, для которого данная команда предназначена;

SZ - объем памяти для параметра (используется совместно с действием ACT = 3. При добавлении нового параметра в абонентский терминал данное поле определяет, что для нового параметра требуется 2SZ байт памяти в абонентском терминале;

ACT - описание действия, используется в случае типа команды (поле CT = CT_COM подзаписи EGTS_SR_COMMAND_DATA). Поле принимает значение, выбранное из следующих вариантов:

0 - параметры команды. Используется для передачи параметров для команды, определяемой кодом из поля CCD;

1 - запрос значения. Используется для запроса информации, хранящейся в абонентском терминале. Запрашиваемый параметр определяется кодом из поля CCD;

2 - установка значения. Используется для установки нового значения определенному параметру в абонентском терминале. Устанавливаемый параметр определяется кодом из поля CCD, а его значение полем DT;

3 - добавление нового параметра в абонентский терминал. Код нового параметра указывается в поле CCD, его тип в поле SZ, а значение в поле DT;

4 - удаление имеющегося параметра из абонентского терминала. Код удаляемого параметра указывается в поле CCD;

CCD - код команды при ACT = 0 или параметра при ACT = 1 ... 4;

DT - запрашиваемые данные или параметры, необходимые для выполнения команды.

Подтверждение на ранее переданную команду при CT = CT_COMCONF, если с абонентского терминала передается сопутствующая информация, имеет формат, описанный в Таблице N 12. Описанная структура содержится в поле CD (Таблица N 10).

Таблица N 12. Формат подтверждения на команду
абонентского терминала

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬───┬──────┬──────────────┐
│ Бит │ Бит │ Бит │ Бит │ Бит │ Бит │ Бит │ Бит │Тип│ Тип  │   Размер,    │
│  7  │  6  │  5  │  4  │  3  │  2  │  1  │  0  │   │данных│    байт      │
├─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┼───┼──────┼──────────────┤
│                 ADR (Address)                 │ M │USHORT│      2       │
├───────────────────────────────────────────────┼───┼──────┼──────────────┤
│              CCD (Command Code)               │ M │USHORT│      2       │
├───────────────────────────────────────────────┼───┼──────┼──────────────┤
│                   DT (Data)                   │ O │BINARY│ 0 ... 65200  │
└───────────────────────────────────────────────┴───┴──────┴──────────────┘

где:

ADR - адрес модуля, от которого передается подтверждение;

CCD - код команды или параметра, в соответствии с которым передается сопутствующая информация в поле DT;

DT - сопутствующие данные, тип и состав которых определяется значением поля CCD.