|
|
| Line 5: |
Line 5: |
|
| |
|
| 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 [[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> <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 [[PUT_STRING|$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
| |
|
| |
| == MPC data in AlphaNet ==
| |
| If using MPC in a multi node system with single point connection of MPC connection, other nodes must forward needed MPC data from the event handler. <br\>
| |
| '''Example of generating MPC busy/free messages from node 2 to node 1:'''
| |
| Event in node 2
| |
| Owner: UPD 8
| |
| Event: 4 Station in use
| |
| When Change To: ON/OFF
| |
| String:
| |
| IF %op(%1.phy,<,605)
| |
| @1 $MPC 2 "%chg(0200,0201) %1.dir(4,F)"
| |
| ENDIF
| |
|
| |
| '''Example of generating MPC connect message from node 2 to node 1:'''
| |
| Event in node 2
| |
| Owner: UPD 8
| |
| Event: 7 Conversation Incoming
| |
| When Change To: ON
| |
| String:
| |
| @1 $MPC 2 "0504 %2.dir(4,F) %1.dir(4,F) 0000 0000"
| |
|
| |
| = TouchLine Output Messages =
| |
|
| |
| {| border="1"
| |
| ! style="background:#ffdead;" width="150" |Message format
| |
| ! style="background:#ffdead;" width="400" |Description
| |
| |-
| |
| | 0200 aaaa || '''Station becomes Busy'''
| |
| aaaa = Directory number for busy station.
| |
| |-
| |
| | 0201 aaaa || '''Station becomes Free'''
| |
| aaaa = Directory number for free station.
| |
| |-
| |
| | 0502 aaaa bbbb cccc dddd || '''Call to a busy subscriber'''
| |
| aaaa = Directory number for a-station <br\>
| |
| bbbb = Directory number for b-station <br\>
| |
| cccc = dddd = 0000
| |
| |-
| |
| | 0503 aaaa bbbb cccc dddd || '''Call to a Private subscriber'''
| |
| aaaa = Directory number for a-station <br\>
| |
| bbbb = Directory number for private bstation <br\>
| |
| cccc = dddd = 0000
| |
| |-
| |
| | 0504 aaaa bbbb cccc dddd || '''Call to an Open subscriber'''
| |
| aaaa = Directory number for a-station <br\>
| |
| bbbb = Directory number for open bstation <br\>
| |
| cccc = dddd = 0000
| |
| |-
| |
| | 0206 aaaa || '''Subscriber disconnected'''
| |
| aaaa = Directory number for disconnecting station
| |
| |-
| |
| | 0507 aaaa bbbb 0000 000 || '''Function dialled outside connection.'''
| |
| aaaa = Directory number for a-station<br\>
| |
| bbbb = Directory number for feature
| |
| |-
| |
| | 0210 aaaa || '''Identification message to intelligent station.'''
| |
| aaaa = Directory number of identified intelligent station.
| |
| |-
| |
| | 0213 aaaa || '''Reset message'''
| |
| aaaa = Directory number of station to reset. <br\>
| |
| aaaa = FFFF: reset message to all stations.
| |
| |-
| |
| | 0214 aaaa hhmm ddmm yyyy || '''Set time and date'''
| |
| hhmm ddmm yyyy = Hour, minute day, month year
| |
| |-
| |
| | 021B aaaa || '''Lamp test'''
| |
| aaaa = Directory number of station asked to test lamps. <br\>
| |
| aaaa = FFFF: Lamp test on all stations.
| |
| |-
| |
| | 0226 vvvv || '''AlphaCom software version number'''
| |
| vvvv = version number like 0710
| |
| |-
| |
| | 0427 aaaa bbcc 0000 || '''Audio Program changed'''
| |
| aaaa = Directory number of station where program is changed.<br\>
| |
| bb = Previous prog_no. (00=off) <br\>
| |
| cc= New prog_no. (00=off)
| |
| |-
| |
| | 0435 aaaa bbbb cccc || '''Group Hunt'''
| |
| aaaa = Directory number of a-station. <br\>
| |
| bbbb = Directory number of the huntgroup. <br\>
| |
| cccc = Directory number of the allocated station.
| |
| |-
| |
| | 053F aaaa bbbb cccc ddef || '''Mail to PNCI'''
| |
| aaaa = dirno for station with mail. <br\>
| |
| bbbb = dirno for PNCI <br\>
| |
| cccc = station reset number <br\>
| |
| dd = number of mail (hardcoded in AlphaCom/7) <br\>
| |
| e = priority (hardcoded in AlphaCom/3) <br\>
| |
| f = first telephone number (hardcoded in AlphaCom/7)
| |
| |-
| |
| | 02An aaaa || '''Digit <n> pressed during connection'''
| |
| aaaa = Directory number of the astation.
| |
| |-
| |
| | 02Cn aaaa || '''Direct Access Key pressed (Handsetoff + Digit, D20)'''
| |
| aaaa = Directory number of the station. <br\>
| |
| n = n= dak_key 64
| |
| |-
| |
| | 02Dn aaaa || '''Digit <n> pressed (handset is on)'''
| |
| aaaa = Directory number of the station.
| |
| |-
| |
| | 02En aaaa || '''Direct Access Key pressed (M + Digit, D10)'''
| |
| aaaa = Directory number of the station. <br\>
| |
| n = n= dak_key 32
| |
| |-
| |
| | 020C aaaa || '''Handset off'''
| |
| aaaa = Directory number of the station.
| |
| |-
| |
| | 020D aaaa || '''M-key released when handset is on (and handset on when off)'''
| |
| aaaa = Directory number of the station.
| |
| |-
| |
| | 020E aaaa || '''M-key pressed'''
| |
| aaaa = Directory number of the station.
| |
| |-
| |
| | 020F aaaa || '''C-key pressed'''
| |
| aaaa = Directory number of the station.
| |
| |-
| |
| |}
| |
|
| |
| <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_REQUEST|CONN]] L101 L102 in AlphaCom
| |
| |-
| |
| | J aaaa bbbb || '''Sets up a conversation''' between aaaa and bbbb with '''high priority'''
| |
| Handled as $[[CONN_REQUEST|CONN]] L101 L102 2 2 2 in AlphaCom
| |
| |-
| |
| | Q aaaa || '''aaaa presses C-key'''
| |
| Cancels the call where aaaa is involved.<br> 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. <br>
| |
| 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.
| |
|
| |
|
| |
|
| |
|
|
| |
|
| [[Category:AlphaCom E Software]] | | [[Category:AlphaCom E Software]] |