Actions

MPC Converter (Node-RED)

From Zenitel Wiki

Introduction

The MPC (MPC Data Protocol) is a proprietary, ASCII‑based control and event protocol. It is used to monitor system events - such as calls, dialing activity, and station status - and to send control commands to the intercom server. MPC does not carry any audio or voice traffic. The protocol was native to the TouchLine intercom generation and was implemented in the AlphaCom generation solely to maintain backward compatibility.

This article describes how Node-RED is used to convert data from Zenitel Connect Pro into MPC Data Protocol format.

Please note that this converter does not provide full MPC protocol compatibility. It supports only the specific commands and messages described in this article.

Note icon The MPC Data Protocol is intended exclusively for legacy compatibility and should not be used for new integrations.


Configuration

This application is based on a premade Node-RED flow.

Preparations

Node configuration

Establish communication between Node-RED and Zenitel Connect Pro by double-clicking one of the Zenitel nodes (a node with a Zenitel logo ), and modify the wamp-client with the correct IP Address, Zenitel Link username and password.

The status "connected" should now show below all the Zenitel nodes.

MPC Converter flow

The MPC Converter is configured to use TCP port 3001. The port number can be changed in the "TCP Listen 3001" node.

Messages

Output messages

  • A data message starts with an ASCII NUL character
  • A data message is terminated with <CR LF> (ASCII Carriage Return, Line Feed).
  • The MPC protocol supports maximum 4 digit in the directory number. Leading F's are used as filler on shorter numbers.
Message format Description
0200 aaaa Station becomes Busy
aaaa = Directory number of the busy station.
0201 aaaa Station becomes Free
aaaa = Directory number of the free station.
0502 aaaa bbbb cccc dddd Call to a station in Busy state
aaaa = Directory number of the calling ­station
bbbb = Directory number of the called, busy station
cccc = dddd = 0000
0503 aaaa bbbb cccc dddd Call to a station in Private (Auto-answer disabled) state
aaaa = Directory number of the calling ­station
bbbb = Directory number of the called, private station
cccc = dddd = 0000
0504 aaaa bbbb cccc dddd Call to a station in Open (Auto-answer) state
aaaa = Directory number of the calling ­station
bbbb = Directory number of the called, open station
cccc = dddd = 0000
0206 aaaa Station disconnected
aaaa = Directory number of the disconnecting station
0507 aaaa bbbb cccc dddd Call to a feature
aaaa = Directory number of the calling ­station
bbbb = Directory number of the feature
cccc = dddd = 0000
0226 vvvv Zenitel Connect Pro software version number
Response to the data command "?"
vvvv = version number, e.g. 0109


Input messages

  • The input messages consist of a command character followed by one or more parameters. The termination of the message is a <carriage return> character.
  • Maximum 4 digit numbers are supported. Leading F's must be used as filler on shorter numbers. The protocol is case-sensitive.
  • Input messages may or may not include spaces between the different records of the protocol. Spaces are shown below for clarity only.
  • Illegal commands or commands not supported are discarded without notice or error messages.
Message format Description
H aaaa bbbb Station aaaa dials the digits bbbb in sequence.
The aaaa station is NOT forced to idle before dialing takes place.
Example: H F124 F247 - Station 124 dials digits 2, 4 and 7 in sequence.
I aaaa bbbb Sets up a call between aaaa and bbbb with low priority (70)
Example: I F124 4234 - Station 124 calls station or feature 4234
J aaaa bbbb Sets up a call between aaaa and bbbb with high priority (40)
Example: I F124 F840 - Station 124 calls broadcast feature 840
Q aaaa Cancels the call where station aaaa is involved
> aaaa Station aaaa presses M-key
< aaaa Station aaaa releases M-key
? ZCP returns the software version (0226 response).
Often used as data line check.
  • The H, > and < commands only work for native Zenitel devices. They do not work for ITSV-x, ITS-1 or for 3rd party SIP devices.

Test and confirm operation

The TCP Port 3001 must be added in the Firewall of the ZCP, and enabled on the Eth interface used for the communication.

The operation can be verified by using the software PuTTY.

Start PuTTY, and enter the IP Address of the ZCP, port number 3001, and Connection Type = Raw.

PuTTY configuration

In the terminal window type ? <enter>. The ZCP should respond with 0226 vvvv, where vvvv is the software version of the ZCP.

Verifying the communication