Application Layer (AlphaCom Data Protocol)
From Zenitel Wiki
Contents
Application Data
The application part of the information message has the general format:
- <message class> <message data…….>
where:
- <message class> UINT1
- identifying class of message:
- 65 (0x41) ‘A’ = AlphaCom
- 66 (0x42) ‘B’ = unused (intended for SNMPLike)
- 67 (0x43) ‘C’ = TouchLine
- 68 (0x44) ‘D’ = Site specific (engineering use)
- identifying class of message:
- <message data> is a application level data in a format depending on <message class>.
The use of message class means that the AlphaNet protocol is prepared to transport and/or use messages with very different structure than the AlphaCom / Intercom related message formats used today.
AlphaCom class messages
For AlphaCom class messages, the message has the format:
- <message class> <reference> <message id> <parameters>
where:
- <reference> UINT2
- Value identifying receivers’ reference. The purpose of this field is that an external system shall be able to recognise responses to data commands. The external system can select any suitable reference code, and all messages returned from the exchange will contain this reference.
We often use the notation aabb for the reference field, where aa may be used for subrouting (software process) and bb as sequential numbering. - Broadcast messages are numbered sequentially by the exchange (pr. device).
- <message id> UINT2
- Value identifying the message, i.e. the message number. See Message Formats (Sortable).
- Range 0x0000-0x6FFF: Standard application messages
- Range 0x7000-0x7BFF: Site specific (engineering use) values
- Range 0x7C00-0x7FFF: Reserved
- Range 0x8000-0x8FFF: AlphaNet audio control messages
- <parameters> is a variable length string
- Parameters for the message.
- The messages parameters always are bytealigned, and fill a whole number of bytes.
All the following descriptions apply to the AlphaCom class message format.
See also: AlphaNet Data Protocol.
TouchLine class messages
For TouchLine class messages, the <message data> part of the message is the text part of a TouchLine Data Protocol Input Message in ASCII format. The messages must be addressed to the TouchLine Data Gateway Device Number (206). This Gateway process the enclosed messages as if they had come from a TouchLine Data Serial Port Input. The gateway is present in the TouchLine AlphaNet Software (from version TAC.01.40).
Site specific (engineering use) class messages
For “site specific” class messages, the format of the <message data> part of the message is up to the system integrator to define. The idea here is that an external computer can receive messages in a suitable, private, format sent either from an AlphaCom’s Event Handler, or another external computer connected to same AlphaCom/AlphaNet. As the network layer must be according to the AlphaNet protocol, it’s possible to forward these messages through AlphaNet. But it’s up to the receiving computer to interpret the rest of the message.
(An alternative to use a completely private format is to use the AlphaNet protocol, but using private message numbers in the 0x7000 area for special purpose messages.)
Data Types
See also: Data type encoding in Simple Link Layer
The following table identifies the data types used in the application data of the AlphaNet Data Protocol:
Data Type | Definition |
---|---|
UINT1 | 8 bits (one byte) |
SINT1 | 1-byte signed integer |
UINT2 | 2byte unsigned integer. MSB first |
UINT4 | 4byte unsigned integer. MSB first |
BITMAP[1..n] | nbits bitmap (multiple of 8). Always fills whole bytes. - Unused bits in last byte is set to 0. - First bit is the most significant (leftmost) bit in first byte. - Bits are numbered from 1, a byte contains bits 1..8. |
VBITMAP[1..n] | Variable length bitmap with n bits. (n is a multiple of 8.)
Structure: |
TEXT16 | 16 characters (bytes) of text. Padded with spaces. ASCII values >= 32 (0x20) only. |
CLOCK | Date & time structure: UINT2 Year (yyyy) UINT1 Month (mm) UINT1 Day (dd) UINT1 Hour (hh) UINT1 Minutes (mm) UINT1 Seconds (ss) |
NET_OBJ_REF | AlphaCom Intercom Object Reference. Can both encode directory numbers and physical numbers |