Actions

Difference between revisions of "MPC Data Protocol"

From Zenitel Wiki

(TouchLine Input Messages)
 
(30 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= MPC (TouchLine) Data Protocol =
+
The AlphaCom supports a subset of the MPC data protocol used with the classic Stentofon [[TouchLine]] exchanges. As it allows control of the AlphaCom exchange by mapping MPC commands to AlphaCom commands one-to-one it can be thought of as a variant of the [[Data link layer#Stentofon Simple Link Layer|simple link layer]], but only for single-exchange (not AlphaNet) applications.
The AlphaCom supports a subset of the MPC data protocol used with the classic Stentofon [[TouchLine]] exchanges. As it allows control of the AlphaCom exchange by mapping MPC commands to AlphaCom commands one-to-one it can be thought of as a variant of the simple link layer, but only for single-exchange (not AlphaNet) applications.
 
  
The output is broadcast of exchange events like dialled digits, station busy/free, connection and transfers. Note that it’s possible to send additional data strings from the AlphaCom’s Event Handler on this port also.
+
The output is broadcast of exchange events like dialled digits, station busy/free, connection and transfers. Note that it’s possible to send additional data strings from the AlphaCom’s [[Event Handler]] on this port also.
  
The AlphaCom supports a subset of the MPC Data Protocol for backward compatibility. This allowed some TouchLine generation equipment like [[PNCI]], [[MLH]] and [[CRM]] to be used with the AlphaCom.
+
The AlphaCom supports a subset of the MPC Data Protocol for backward compatibility. This allowed some TouchLine generation equipment like PNCI, MLH and CRMIII/IV to be used with the AlphaCom.
  
== Availability ==
+
As from software 11.2.3.5 the MPC input commands also support global numbers, i.e. the command will be routed to the correct node.
  
AlphaCom has supported a serial data port which outputs TouchLine formatted output messages since AMC 03.00.
+
'''See also:''' [[MPC data trace]]
From software AMC 07.60, a limited subset of TouchLine input commands are supported also. 
 
  
== Disclaimer ==
 
The TouchLine input commands have been implemented by translating them to existing AlphaCom data protocol commands.  This means that the commands may not behave 100% identical compared to a TouchLine exchange in all possible situations.  You should think of it as a simple ASCII link layer protocol to AlphaCom functionality.
 
  
== Tips for use ==
+
[[Category:Protocols]]
Many AlphaCom features require additional parameters, which can not be supplied when using TouchLine message format.  A possible workaround is to use the Event Handling, where you can set up action commands with many parameters.
 
* Create a directory number bbbb with feature 85, "Event trigger"
 
* In the Event Handler, add an "Event Trigger Feature" event on station aaaa. 
 
This occurs when bbbb is dialed on station aaaa.
 
* Configure the desired action commands for the event.  The action can be as complex as you like.
 
Now you can use the “H aaaa bbbb” TouchLine command to execute the configured action.
 
 
 
== Data Port ==
 
The physical data port where the TouchLine compatible data appears is programmable using AlphaPro. 
 
(The default port is Port 1).
 
The data port is an EISA RS232C compatible interface.
 
The format for data transmission is programmable. The default format is:
 
­
 
* 9600 baud
 
* 7 bits ASCII characters
 
* even parity
 
* 1 stop bit
 
 
 
== Protocol Output Format ==
 
The protocol format is equal to the format used by the TouchLine Exchange, each data message consists of a variable number of data records consisting of 4 hexadecimal digits (ASCII) each. In addition there are control characters in between:
 
 
 
<NUL> <head> <SP> <data record> <SP>  (<data record> <SP> .....)  <CR  LF>
 
<NUL> ASCII NUL character
 
<head> number of records - head inclusive (2 hex digits), message code (2 hex digits)
 
<SP> ASCII space
 
<data record> Four hexadecimal digits
 
<CR  LF> ASCII Carriage Return, Line Feed.
 
 
 
== Message filtering ==
 
There is a data filtering system in AlphaCom to prevent that all reportable events in a high traffic situation are reported when it is not necessary.  As default all stations in the system belongs to the report group called "[[MONITOR_ST_GROUP]]".
 
 
 
Not all the supported events are among the subset of events comprising the "MONITOR_ST_GROUP". Through special programming of the AlphaCom, events may be added or taken out of the reporting group (not supported by [[AlphaPro]], use [[TST]]).
 
 
 
== Additional output messages==
 
From AMC 07.60 it’s possible to generate messages on the MPC output port from the Event Handler.
 
Use the action $MPC 2 “xxxx xxxx xxxx ”  Observe the extra SPACE at the end which is required by some subsystems.  The format’s leading NUL and trailing CR/LF are added automatically by the exchange.
 
This functionality can be used for several purposes:
 
* Generate additional (missing standard)  messages
 
* Send MPC data to another exchange in AlphaNet
 
 
 
= TouchLine Output Messages =
 
 
 
{| border="1"
 
! style="background:#ffdead;" width="170" |Message format
 
! style="background:#ffdead;" width="650" |Description
 
|-
 
| H aaaa bbbb || '''Station aaaa dials digits bbbb''' in sequence.
 
Handled as ''$[[DIAL_DIGITS]] L101 L123'' in AlphaCom.<br>
 
Notes:
 
*The aaaa station is NOT forced idle before dialing takes place.
 
*The H command is NOT able to connect to directory numbers which are hidden by shorter numbers (e.g. it can not reach 4011 hidden by 401).
 
*If you send 4 digits to a 3-digit exchange, i.e. dial a station number followed by a digit during connection, we do NOT guarantee that the last digit is handled correctly as it’s received during conversation setup, not conversation itself.
 
 
 
|-
 
| I aaaa bbbb  || Sets up a coversation between two users
 
|-
 
| J aaaa bbbb  || Positive response from the exchange to CONN_REQUEST
 
|-
 
| Q aaaa  || The external application acknowledges the CONN_REFERENCE
 
|-
 
| > aaaa || Negative response to CONN_REQUEST
 
|-
 
| < aaaa || Negative response to CONN_REQUEST
 
|-
 
| - aaaa || Negative response to CONN_REQUEST
 
|-
 
| _ aaaa || Negative response to CONN_REQUEST
 
|-
 
| X xxxx xxxx … || Disconnect station from ongoing feature
 
|-
 
| ?  || Conversation established with CONN_REQUEST:  The external application disconnects a conversation.
 
|-
 
| [[DISC_REQ_ACK]] || Conversation established with CONN_REQUEST:  The AlphaCom acknowledges the DISC_REQ message
 
|-
 
| [[DISCONNECTED]] || Conversation established with CONN_REQUEST:  Conversation was disconnected, e.g. the user pressed C-key
 
|-
 
| [[DISCONNECTED_ACK]] || Conversation established with CONN_REQUEST:  Acknowledge of the DISCONNECTED message
 
|-
 
| [[CALL_STATUS_BC]] || Broadcast message telling the status of a call
 
|-
 
| [[CONN_STATUS_BC]] || Broadcast message telling that a connection is established
 
|-
 
| [[DISCON_STATUS_BC]] || Broadcast message telling that a connection is disconnected
 
|-
 
| [[PARK_INQ_BROKER]] || Park station from conversation, enter Inquiry call state
 
|-
 
| [[UNPARK]] || Unpark station from Inquiry call state station, return to conversation
 
|-
 
| [[REQ_TRANSF_CALL]] || Transfer call in an Inquiry Call situation. 
 
|-
 
|}
 
 
 
<br>
 
<br>
 
 
 
= TouchLine Input Messages =
 
The protocol input format is equal to the format used by the TouchLine Exchange.
 
*All characters used in the messages are ASCII characters.
 
*The input messages consist of a command character followed by one or more parameters. The termination of the message is a <carriage return> character.
 
*The parameters are 4 digits consisting of hexadecimal characters in ASCII representation.
 
*Input messages may or may not include spaces between the different records of the protocol.
 
Spaces are shown below for clarity only.
 
 
 
{| border="1"
 
! style="background:#ffdead;" width="170" |Message format
 
! style="background:#ffdead;" width="650" |Description
 
|-
 
| H aaaa bbbb || '''Station aaaa dials digits bbbb''' in sequence.
 
Handled as '''$[[DIAL_DIGITS]] L101 L123''' in AlphaCom.<br>
 
Notes:
 
*The aaaa station is NOT forced idle before dialing takes place.
 
*The H command is NOT able to connect to directory numbers which are hidden by shorter numbers (e.g. it can not reach 4011 hidden by 401).
 
*If you send 4 digits to a 3-digit exchange, i.e. dial a station number followed by a digit during connection, we do NOT guarantee that the last digit is handled correctly as it’s received during conversation setup, not conversation itself.
 
 
 
|-
 
| I aaaa bbbb  || Sets up a conversation between aaaa and bbbb with low priority
 
Handled as $CONN L101 L102 in AlphaCom
 
|-
 
| J aaaa bbbb  || Sets up a conversation between aaaa and bbbb with high priority
 
Handled as $CONN L101 L102 2 2 2 in AlphaCom
 
|-
 
| Q aaaa  || aaaa presses C­key.
 
Cancels the call where aaaa is involved.
 
This means that Q-commands in idle will cancel audio program
 
 
 
|-
 
| > aaaa || Negative response to CONN_REQUEST
 
|-
 
| < aaaa || Negative response to CONN_REQUEST
 
|-
 
| - aaaa || Negative response to CONN_REQUEST
 
|-
 
| _ aaaa || Negative response to CONN_REQUEST
 
|-
 
| X xxxx xxxx … || Disconnect station from ongoing feature
 
|-
 
| ?  || Conversation established with CONN_REQUEST:  The external application disconnects a conversation.
 
|-
 
|}
 
 
 
*Illegal commands or commands not supported are discarded without notice or error messages.
 
*Parameters that are interpreted as subscriber numbers are tested for validity. Messages with invalid subscriber numbers are discarded without notice. In AlphaCom only digits 0-9 are used in subscriber and feature numbers. Hexadecimal digits A-F are not handled.
 
*Leading F`s are legal (and necessary when numbers are less than 4 digits), but discarded.
 
*Example:  '''H F101 FF84<CR>''' will start a group call.
 
 
 
 
 
 
 
 
 
 
 
[[Category:AlphaCom E Software]]
 

Latest revision as of 14:24, 7 September 2017

The AlphaCom supports a subset of the MPC data protocol used with the classic Stentofon TouchLine exchanges. As it allows control of the AlphaCom exchange by mapping MPC commands to AlphaCom commands one-to-one it can be thought of as a variant of the simple link layer, but only for single-exchange (not AlphaNet) applications.

The output is broadcast of exchange events like dialled digits, station busy/free, connection and transfers. Note that it’s possible to send additional data strings from the AlphaCom’s Event Handler on this port also.

The AlphaCom supports a subset of the MPC Data Protocol for backward compatibility. This allowed some TouchLine generation equipment like PNCI, MLH and CRMIII/IV to be used with the AlphaCom.

As from software 11.2.3.5 the MPC input commands also support global numbers, i.e. the command will be routed to the correct node.

See also: MPC data trace