|
|
(31 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 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.
| |
− | |-
| |
− | |}
| |
− | | |
− | *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]] | |