Actions

Difference between revisions of "AlphaNet Data Protocol"

From Zenitel Wiki

(Message example)
 
(330 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= Introduction =
+
{{AI}}
 +
{| align="right"
 +
| __TOC__
 +
|}
 +
The '''AlphaNet Data Protocol''' (ACDP protocol) is used for:
 +
* Data communication between ICX-AlphaCom servers in AlphaNet
 +
* Data communication between ICX-AlphaCom and External Devices such as [[RIO]]s and PC based Control Handlers
 +
* Advanced internal control of the ICX-AlphaCom. [[Event Handler]] can use DP messages as general [[Event Handler#Action Commands|Action Commands]].
  
== To the reader ==
+
 
The purpose of this document is to specify the Data link, Network and Application layer of the AlphaCom Data Protocol.
+
=== Protocol properties ===
* The protocol is used for communication in an AlphaCom Network that may comprise several AlphaCom and TouchLine exchanges.
+
* '''Binary format''' for speed. Readable ASCII hex format can be used as an alternative for easier debugging
* The protocol is also used between the AlphaCom exchange and external devices, such as Remote I/O boxes, PC based Control Handler systems etc.
+
* The '''[[physical layer]]''' of the protocol is RS485, RS422 or RS232. In AlphaCom E the protocol can also be encapsulated in TCP/IP.  
The Data Protocol is made generally available from software version AMC 06.00. Previous AMC softwares are NOT compatible with this protocol document.
+
* '''[[Data link layer]]s''' with message checksum for reliability, and with acknowledgment and re-transmission of erroneous messages
=== Word list ===
+
* '''[[Network layer]]''' for routability when several exchanges are connected
The following concepts are commonly used in the document:
+
* '''Variable length fields''' and optional fields so that the protocol can be used also in future systems with different requirements regarding number of digits in addresses, station numbers etc.
Module: One AlphaCom “card cage”, contains up to 26 circuit boards (such as ASLT, AMC, APC, AGA).
+
* A systematic way of '''addressing exchange resources''' both as directory numbers and physical addresses
Exchange: Up to 4 AlphaCom modules interconnected in a master/slave configuration. One of the modules plays the role as a master, while the other modules are slaves. Communication with the world outside (if other devices are connected) is via the master.
+
* '''Addressed messages'''. Commands are addressed to a specific [[device]], and response is returned to the device issuing the command only. In addition, there is a few status [[Broadcast messages (ACDP) |broadcast messages]]
Node: The address of an Exchange. If several exchanges are interconnected (via the AlphaCom Data Protocol), then each exchange will have a unique node number.
+
* Addressed messages can be '''routed in a network'''. The input and output messages have identical frame format, and thus can be sent via transit exchanges. The same protocol is used both to control a single exchange, and as the AlphaNet protocol<br>
Device: Examples of device types are AlphaCom module, RIO, AlphaPro, Control Handler. All such devices have a unique device address when interconnected. The AlphaCom and AlphaPro have fixed device address, while the device address of e.g. a RIO is configured (inside the RIO) for the particular application.
 
== History - the MPC protocol ==
 
The TouchLine exchanges had a simple data protocol, initially output_only to send information to Intelligent Stations (LWT). The protocol was readable ASCII, in a broadcast mode, and no checksum. It was debugged by hooking up a VT100 terminal. Later on a data command input was added (which had a different format from the output messages).
 
The protocol was used for several purposes:
 
• Station emulation, i.e. digit dialing, M-key, handset, C-key (LWT, ITS, CRM, MLH) Monitoring of events related to this station (dialing to display, conversation partner, transfer destination, call request etc.)
 
• Monitoring of events related to many stations in the exchange (busy, program, line errors) Presented on DAKs (ITS) or screen (CHS)
 
• Additional functionality for the exchange, where an external computer would look for certain station actions, and take control from there (SVM)
 
The exchange has some functions purely for data communication, e.g. directory numbers with DigitDataTransmission ref-info which did nothing except sending out station keypresses.
 
Also, the data command X re-transmitted the incoming data on the broadcast output, thus allowing different data devices to communicate via the exchange (SVM updated DCB absence info).
 
The AlphaCom supports a subset of the MPC protocol for backward compatibility. This allowed some TouchLine generation equipment like PNCI, MLH and CRM to be used with the AlphaCom.
 
== The present and future - the AlphaCom / AlphaNet protocol ==
 
When the AlphaCom was designed, a decade had passed since the MPC protocol was designed, and it was decided to make a new protocol with modern properties:
 
• Binary format for speed. Readable ASCII hex format can be used as an alternative for easier debugging.
 
Data link layer with message checksum for reliability, and with acknowledgment and re-transmission of erroneous messages.
 
Network layer for routability when several exchanges are connected.
 
Variable length fields and optional fields so that the protocol can be used also in future systems with different requirements regarding number of digits in addresses, station numbers etc.
 
A systematic way of addressing exchange resources both as directory numbers and physical addresses.
 
Addressed messages. Commands are addressed to a specific device, and response is returned to the device issuing the command only. In addition, there is a few status broadcast messages.
 
Addressed messages can be routed in a network. The input and output messages have identical frame format, and thus can be sent via transit exchanges. The same protocol is used both to control a single exchange, and as the AlphaNet protocol.
 
  
 
=== Message example ===
 
=== Message example ===
 
Here is a HEX coded example of a message with network layer header and application data. This is basically what you send to the exchange in the “simple link layer” format.
 
Here is a HEX coded example of a message with network layer header and application data. This is basically what you send to the exchange in the “simple link layer” format.
We assume that you use exchange node 01, the PC is device 01, and that there is a station 101 and 102.
+
We assume that you use exchange node 01, the PC is device 01, and that there is a station 107 and 102.
The message DIAL_DIGITS looks like this, with spaces between fields for clarity only:
+
The message [[DIAL_DIGITS]] looks like this, with spaces between fields for clarity only:
[[Image:Example.jpg]]
+
 
 +
Network        Application  Application Message
 +
<u>layer header</u>  <u>header      </u>  <u>parameters&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</u>       
 +
<u>0101</u> <u>0141</u> <u>01</u>  <u>41</u> <u>1234</u> <u>0050</u>  <u>3201107F</u> <u>20102F</u>
 +
Src  Dest Hop  Cl Ref  Msg  P1      P2
 +
<u>dev </u> <u>dev </u> <u>cn</u>t  <u>ss</u> <u>    </u> <u>id  </u>  <u>Station </u> <u>Digits</u> to dial
  
= Important terms of the data protocol =
+
=== Message Formats ===
 +
* [[Message Formats - Grouped by Function]]
 +
* [[Message Formats (Sortable)]]
 +
* [[Explanation of message format]]
  
= Protocol Layers 1 to 3 =
 
  
= Application Layer =
+
[[Category:Protocols]]
 +
[[Category:ACDP messages]]

Latest revision as of 14:10, 18 October 2023

AI.png

The AlphaNet Data Protocol (ACDP protocol) is used for:

  • Data communication between ICX-AlphaCom servers in AlphaNet
  • Data communication between ICX-AlphaCom and External Devices such as RIOs and PC based Control Handlers
  • Advanced internal control of the ICX-AlphaCom. Event Handler can use DP messages as general Action Commands.


Protocol properties

  • Binary format for speed. Readable ASCII hex format can be used as an alternative for easier debugging
  • The physical layer of the protocol is RS485, RS422 or RS232. In AlphaCom E the protocol can also be encapsulated in TCP/IP.
  • Data link layers with message checksum for reliability, and with acknowledgment and re-transmission of erroneous messages
  • Network layer for routability when several exchanges are connected
  • Variable length fields and optional fields so that the protocol can be used also in future systems with different requirements regarding number of digits in addresses, station numbers etc.
  • A systematic way of addressing exchange resources both as directory numbers and physical addresses
  • Addressed messages. Commands are addressed to a specific device, and response is returned to the device issuing the command only. In addition, there is a few status broadcast messages
  • Addressed messages can be routed in a network. The input and output messages have identical frame format, and thus can be sent via transit exchanges. The same protocol is used both to control a single exchange, and as the AlphaNet protocol

Message example

Here is a HEX coded example of a message with network layer header and application data. This is basically what you send to the exchange in the “simple link layer” format. We assume that you use exchange node 01, the PC is device 01, and that there is a station 107 and 102. The message DIAL_DIGITS looks like this, with spaces between fields for clarity only:

Network        Application   Application Message 
layer header   header        parameters              
0101 0141 01   41 1234 0050  3201107F 20102F
Src  Dest Hop  Cl Ref  Msg   P1       P2
dev  dev  cnt  ss      id    Station  Digits to dial

Message Formats