На главную

Протокол сеанса связи с PC

аппаратов Аркадия v7.21, Матрикс v8 и Коммуникатор v9

Начало сеанса: для начала сеанса PC должен непрерывно посылать байт 00d со скоростью:

- 2400 или 9600 для связи через линейное гнездо;

- 9600 или 19200 для связи через опторазвязанный адаптер,

и прекратить эту последовательность в момент получения ответа от аппарата - байта 123d.

Поддержание сеанса связи (иначе при отсутствии обмена аппарат через 30 секунд выйдет из сеанса):

периодически посылать команду - один байт 00d и получать ответ - байт 123d. В процессе передачи и исполнения команд дополнительных действий для поддержания сеанса не требуется.

Посылка команд: перед командой должно быть минимум 300 мс неактивности порта на прием или передачу.  Окончание приема чего-либо от аппарата - по приходу требуемого количества байт или по таймауту 100мс. Каждая команда состоит из префикса - трех символов "Ar:" и байта - кода команды. Команды всегда посылаются компьютером аппарату. Некоторые команды - двухбайтовые, второй байт конкретизирует объект приложения команды (номер списка, мелодии...). 

 

десятич-ный код команды

лин. гне-здо опто адап тер Арк адия Матрикс Комму-никатор направ- ление данных что передается кодировка
00 + + + + нет пустая команда для поддержания сеанса. Должна передаваться в отсутствии других операций не реже 30 сек.  
01 + + + + из А в PC 512 строк Архива звонков. Формат подробно описан на этой странице Апп, ниббл.
02 + + + + из А в PC все непустые строки Исходящих. Формат подробно описан на этой странице Апп, ниббл
03 + + - + из А в PC полученная от АТС фамилия звонящего или переадресующий номер - для последних 64 строк архива звонков, по 16 символов в строке. Итого  64*16 = 1024 байт ASCII
04 + + + + из А в PC номера записной книжки. 96 (Арк) или 100(Мтр) строк по 8 байт на строку Апп, ниббл
05 + + + + из PC в А
06 + + - + из А в PC имена записной книжки. 64 строки по 16 байт на строку CP866+Апп
07 + + - + из PC в А
08 + + + + из А в PC блок описателей для обработки кода области(города). Апп
09 + + + + из PC в А
10 + + - + из А в PC строка приветствия.  13 символов CP866
11 + + - + из PC в А
12 + + + + из А в PC стек срабатываний датчиков охраны. 4 байта на запись: (датчик, час, мин, дата). Кол-во записей - по таймауту  
13 + + + + нет очистить стек срабатываний датчиков охраны  
14 + + + + из А в PC полный слепок ОЗУ аппарата - 32768 байт. После загрузки в аппарат автоматически обновится ОЗУ процессора из копии, лежавшей в ОЗУ аппарата на момент сохранения.  
15 + + + + из PC в А
16 + + + + из А в PC функции аппарата. 8 функций в одном байте. количество байт определяется по таймауту приема. байт=0...255
18 + + + + из PC в А аппарат проигнорирует байты после требуемых
17 + + + + из А в PC параметры аппарата. Один байт на параметр. количество байт определяется по таймауту приема. байт=0...99
19 + + + + из PC в А аппарат проигнорирует байты после требуемых
20 + + + + из А в PC настройки тарификатора - 2 байта: цена минуты и кол-во бесплатных минут  
22 + + + + из PC в А
21 + + + + из А в PC продолжительности разговоров - 4 байта: мл.байт,ст.байт прошлого месяца, мл.байт,ст.байт текущего месяца  
23 + + + + из А в PC параметры времени - 5 байт: долясек,мин,час,дата,месяц+деньнедели. Долясек - Арк: 0...119, Мтр: 0...239. Месяц - мл. 5 бит (1...12) , день недели - ст. 3 бита (1...7). Мин (0...59). Час (0...23). Дата (1...31).    
24 + + + + из PC в А
25 + + + + из А в PC буфер номера. 1 байт - одна цифра (или пусто,*,#,P,-) количество байт определяется по таймауту приема. Апп
26 + + + + из PC в А аппарат проигнорирует байты после требуемых
27 + + - + из А в PC буфер фамилии, 16 байт CP866+Апп
28 - + + + из А в PC состояние аппарата - один символ:  T - поднята трубка/вкл.спикерфон; F - линия свободна; D - линия занята ASCII
29 + + + - из PC в А  таблица клавиатуры (только для общедоступной Аркадии). 7*8 байт - кодов клавиш.  
30 + + + + нет смена скорости во время сеанса - на 2400 (лин.гнездо), или на 19200 (адаптер)  
31 + + + + нет смена скорости во время сеанса - на 9600 бод  
32 + + - + из А в PC слепок нижних 4096 байт ОЗУ аппарата.  После загрузки в аппарат автоматически обновится ОЗУ процессора из копии, лежавшей в ОЗУ аппарата на момент сохранения.  
33 + + - + из PC в А
34 + + + + из А в PC область ОЗУ для голосового сообщения/загружаемой полифонии (полифония - Матрикс, Коммуникатор).  См.команду 53 количество байт определяется по таймауту приема.  
35 + + + + из PC в А аппарат проигнорирует байты после требуемых
36 + + + + из А в PC один (или первый) байт - назначение голосового сообщения (для Матр/Ком - еще и признак его использ. для полифонии). Второй байт - счетчик звонков без ответа, ст.бит (два ст.бита) - язык меню и голоса первый байт=0...7
37 + + + + из PC в А
38  нм + + + + из PC в А монофоническая мелодия. нм - номер мелодии: Арк - 91...98, Мтр - 91...95. Кол-во байт: Арк- 48, Мтр - 64.  
39  нм + + + + нет воспроизвести мелодию номер нм. В процессе воспроизведения аппарат не реагирует на команды.  
40 + + + + нет очистка архива звонков и фамилий к архиву звонков  
41 + + + + нет очистка исходящих  
42 + + + + нет очистка записной книги и фамилий к записной книге  
43  нс + + + + из А в PC список. нс - номер списка. Аркадия - 64 строки по 4 байта. Матрикс/Коммуникатор - 32 строки по 4 байта. Апп, ниббл.
44  нс + + + + из PC в А
45  нс + + + + нет стереть список и его дополнительные атрибуты. нс - номер списка.  
46 + + + + из А в PC сырой код АОН. Кол-во байт определяется по таймауту приема. Мл.ниббл - цифра, ст.ниббл - ее достоверность Апп, ниббл.
47 + + + + из А в PC Тональности звонка к тональному списку. 1 байт на строку списка: Арк - 64 байта, Матр/Ком - 32 байта байт=0...99
48 + + + + из PC в А
49 + + + + из А в PC Номера мелодий к музыкальному списку. 1 байт на строку списка: Арк - 64 байта, Матр/Ком - 32 байта байт=0...99
50 + + + + из PC в А
51 + + + + из А в PC будильники и таймера. 10 полей по 5 байт. 1й байт: минута(0...59), 2й байт: час (0...23), 3й байт: дни+режим будильника или дата таймера, 4й байт: мелодия 5й байт: переключатель функций  
52 + + + + из PC в А
53 + + + + из А в PC ст. байт текущего размера  области ОЗУ для голосового сообщения/загружаемой полифонии (умножить на 256)  
54  нп + + - + из PC в А дополнительная страница ОЗУ. 32256 байт. нп - номер дополнительной страницы - байт = (01...03)  
55  нп + + - + из PC в А описание дополнительной страницы ОЗУ. 8 байт (номера мелодий). нп - номер доп.страницы - байт = (01...03) байт=0...90
56 + + + + нет завершение сеанса связи с PC (возврат аппарата в часы или учет разговора)  
57 - + + + нет начало автодозвона по номеру из буфера номера. Сеанс связи будет прекращен.  
58 - + + + нет начало группового дозвона из соотв.области записной книги. Сеанс связи будет прекращен.  
59 - + + + нет начало обзвона с оповещением из соотв.области записной книги. Сеанс связи будет прекращен.  
60 + + + + нет включить голосовой доклад о поступивших звонках. Сеанс связи будет прекращен.  
61 + + + + нет включить голосовой доклад исходящих звонков. Сеанс связи будет прекращен.  
62  нs + + - + из А в PC SMS-сообщение. нs - номер сообщения: 0 - текущее (буфер), 1...6 - принятые,  7 - отправленное, 8 - написанное. Длина сообщения = 1байт тип + 160байт текст + 9байт номер и время CP866+Апп
63  нs + + - + из PC в А
64 + + + + из А в PC версия прошивки.Количество байт определяется по таймауту приема (Аркадия ~4 симв, Матрикс ~7 симв). CP866+Апп
65 + + + + из А в PC дата компиляции прошивки. 3 байта - дата (01...31)  месяц (01...12)  год (05...)
66 + + + + из А в PC Телефон/наименование производителя аппарата. Количество байт определяется по таймауту приема. CP866+Апп
67 + + + + из А в PC модель аппарата.Количество байт определяется по таймауту приема (до восьми символов). CP866+Апп
68 + + + + из А в PC

конфигурация аппарата: 1й символ:  "A" - Аркадия, "M" - Матрикс/Коммуникатор. 2й символ: "O" -автоответчик. 3й символ: "P" -синтезатор. 4й байт: 01...04 - количество страниц ОЗУ. 5й символ - тип связи: "A"-адаптер, "L"-лин.гнездо. 6й символ - раскладка ПЗУ (только Коммуникатор): S-128кБ, L-+укр., P-полиф.

ASCII
69 + + + + из А в PC функции аппарата по умолчанию. 8 функций в одном байте. Кол-во байт определяется по таймауту приема. байт=0...255
70 + + + + из А в PC параметры аппарата по умолчанию. Каждый параметр в одном байте. Кол-во байт - по таймауту приема. байт=0...99
71 + + + + из А в PC блок описателей для обработки кода области(города) по умолчанию Апп
72 + + - + из А в PC номер для перехода на Сов.АОН по умолчанию. До восьми цифр в 4х байтах Апп, ниббл.
73 + + + + из А в PC минимальные значения параметров. Каждый параметр в одном байте. Кол-во байт - по таймауту приема. байт=0...99
74 + + + + из А в PC максимальные значения параметров. Каждый параметр в одном байте. Кол-во байт - по таймауту приема. байт=0...99
75 + + - + из А в PC названия функций. Длина - по таймауту. Разделитель названий - байт 00. CP866
76 + + - + из А в PC названия параметров. Длина - по таймауту. Разделитель названий - байт 00. CP866
77  нг - + + + нет воспроизвести голосовое сообщение номер нг из чипкордера в линию  
78  нг + + + + нет воспроизвести голосовое сообщение номер нг из чипкордера в динамик  
79 - + + + нет воспроизвести основное голосовое сообщение в линию  
80 + + + + нет воспроизвести основное голосовое сообщение в динамик  
81 - + - + нет отправить SMS собеседнику (при поднятой трубке) или на номер из буфера номера. Сеанс окончен.  
82 - + - + нет отправить SMS на номер из буфера номера через SMS-центр. Сеанс окончен.  
83 - + - + нет Начать DTMF - диалог. В диалоге: из А в PC - коды принятых символов, из PC в А - байты:  мл.ниббл - DTMF-цифра (01...10) или DTMF * (13) или DTMF # (12), ст.ниббл - кол-во повторов этой DTMF-цифры. Окончание диалога (возврат в основной сеанс связи - посылкой байта 00 из PC в А   CP866+Апп
84 + + - + из А в PC Номера мелодий к белому списку. 1 байт на строку списка: Арк - 64 байта, Матр/Ком - 32 байта  
85 + + - + из PC в А  
86 + + - + из А в PC коды страны к последним 256 строкам Архива звонков. 1 байт на строку, в байте две цифры кода.  
87 - + - + нет отправить SMS (на номер из буфера номера) имитируя SMS-центр. Сеанс окончен.  
88 + + - + из А в PC получить из аппарата статус последнего отправленного SMS (один байт).  
89 - + - + нет перейти в режим полудуплексной трансляции (модем) - для доступа к дальнему аппарату  
90 уд.упрвл - + из А в PC в режиме управляемого аппарата - принимаемые данные транслировать в COM-порт  
91 уд.упрвл - + из А в PC в режиме управляемого аппарата - принимаемый текст показывать на табло и транслировать в COM-порт  
92 - + - + нет сделать звонок (по номеру из буфера номера) для того, чтобы тот аппарат перезвонил и забрал свой SMS  
93 - + - + нет после приема SMS в качестве SMS-центра: послать  ACK/NACK и вернуться в командный режим  
94 - + - + нет отдать SMS (уже в буфере) позвонившему SMS-телефону, который был оповещен командой 92 о наличии SMS  
95 нl + + - + нет записать буфер номера в строку нl записной книги  
96 + + - + из А в PC 50 последних строк Архива звонков. Формат подробно описан на этой странице  
97 - + - + нет в режиме SMS-центра: доставить SMS (номер адресата уже загружен командой 26, SMS - командой 63 0)  
98 + + - + из А в PC таблица сообщ.чипкордера: 240 байт=240 секторов. 00...93h - сообщение к соотв.строке АЗ. 94...97 - сообщения таймеров. 98...9F - оповещение. A0...BF - к 4му списку. C0..EF - к 7му списку. F0...FE - разговоры. FF - свободен.  
99 + + - + из PC в А  
100 + + - комму-никатор из PC в А загрузить в аппарат блок из 4х монохромных картинок формата 32x32. Каждая картинка: 128 байт, по 8 пикселей в байте (расположены вертикально, мл.бит сверху), слева направо и сверху вниз. Блок - 512 байт.  

Расшифровка кодировок:

Апп - внутренняя кодировка аппарата. 16 символов имеют коды 00h...0Fh. Вот эти символы: (пробел, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F, #, *, P, -).

ниббл - символы в кодировке Апп упаковываются по 2шт в байт. Описано еще тут

ASCII - то, что пришло от АТС безо всяких коррекций

CP866 - кодировка, принятая в MS DOS для русского языка

CP866+Апп - перед передачей нужно сделать замену кодов CP866 для символов Апп на коды кодировки Апп. Если передаваемый объект используется только для вывода на табло - это делать не обязательно, однако если передаваемый объект может быть использован в качестве набираемого номера - необходимо. Обратную процедуру (то есть интерпретацию кодов 00h...0Fh в символы  (пробел, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, F, #, *, P, -) ) нужно делать всегда при приеме объектов из аппарата.


обновлено: 30.11.2006 © ОКБ РОСА