Actions

MPC Data Protocol

From Zenitel Wiki

Revision as of 21:32, 19 June 2007 by Asle (talk) (TouchLine Input Messages)

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 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 CRM to be used with the AlphaCom.

Availability

AlphaCom has supported a serial data port which outputs TouchLine formatted output messages since AMC 03.00. 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

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>  <SP>  ( <SP> .....)  <CR  LF> 
<NUL> 	ASCII NUL character 
<head>	number of records - head inclusive (2 hex digits), message code (2 hex digits)
<SP>	ASCII space 
	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

Message format Description
H aaaa bbbb Station aaaa dials digits bbbb in sequence.

Handled as $DIAL_DIGITS L101 L123 in AlphaCom.
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.



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.

Message format Description
H aaaa bbbb Station aaaa dials digits bbbb in sequence.

Handled as $DIAL_DIGITS L101 L123 in AlphaCom.
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 aaaa presses M-key
< aaaa aaaa releases M-key
- aaaa aaaa goes Off-hook (handset off)
_ aaaa aaaa goes On-hook (replaces handset)
X xxxx xxxx … Retransmit data.

Sends out anything between X and <CR> up to a certain limit included spaces. Each 4th character are followed by a space character.
Character limit for AMC 07.10 is 61 characters.

? AMC software version is sent out.

(often used as data line check)

  • 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.