3CX PMS Protocol Specification
pixel500w-500x1
Zero Admin
With the new Dashboard
pixel500w-500x1
Bulletproof Security
With SSL certs and NGINX
pixel500w-500x1
Install on $100 Appliance
Intel MiniPC architecture
pixel500w-500x1
New, Intuitive Windows Client
More themes, more UC
pixel500w-500x1
More CRM Integrations
Scripting Interface to add your own
pixel500w-500x1
Improved Integrated Web Conferencing
iOS and Android apps included
pixel500w-500x1
Personal Click2Meet URLs

3CX PMS Protocol Specification

3CX PMS Protocol Specification

Introduction

This chapter details the 3CX PMS protocol, which integrates with PMS hotel software. The 3CX PMS protocol closely resembles the Mitel PMS protocol, and therefore it’s possible to specify the Mitel PMS protocol in the PMS system. The protocol is further detailed in this chapter.

General Protocol Information

The PMS/System bi-directional (through half-duplex) link uses the ENQ/ACK/STX-text-ETX/ACK protocol. The PMS to system transmission sequence is:

The transmission of the message is complete.

There are timing restrictions imposed on the transmission sequences:

 

The maximum time to wait for the ACK after a STX + msg + ETX transmission is 3 seconds.

PMS to System Transmission

After receiving an ENQ character from the PMS, the system responds within three seconds with either an ACK or an NAK. The ACK indicates the transmission was successful. The NAK indicates there was a transmission error, or that the system is busy. The system generates a hotel log indicating such an error occurred. After sending the ACK, the system is immediately ready to receive the STX, message text, and ETX. Within three seconds of receiving the ETX, it responds with either:

  • ACK indicating the transmission was successful, and all of the message fields are valid.
  • NAK indicating there was an error in either the transmission itself, in one of the message fields, or in the syntax of the message (specifically STX, ETX, function code and status code. For example, CHK3 is sent instead of CHK1). The system generates a hotel log indicating this error occurred. The PMS is able to retry sending only the message txn (STX, message text and ETX) three more times without prefacing it with an ENQ message first.

The following example illustrates a PMS transaction retry:

 

The PMS then discards the transaction.

PMS Format Specification

The messages have the following general format:

Check In/Out Messages

The message has the following format:

X: Is the Check In/Out status code

  • ASCII character 1 for Check In
  • ASCII character 0 for Check Out

SP: Is the ASCII blank character. n is an extension number digit.

Note: Extension numbers less than five digits long are filled with space characters (ASCII 32, HEX 20), not zeros (ASCII 48, HEX 30).

If the message received from the PMS is invalid, the system returns an NAK (an ASCII character for Negative Acknowledge).

Example:

Check In: (check in for extension 100)

STXCHK1   100ETX (where STX = 2, ETX = 3) resulting the following message 2CHK1   1003

Name Message

This message is sent from the PMS and is used to display the Guest name on the phone. The Name message has the following input format:

NAM: Is the name function code.

NAME: Is a character of the name (maximum 21 characters).

n: Is an extension number digit.

The length of the name (up to 21 characters) is left-justified, with blanks used for padding. The characters can be upper or lower case, and may also include numeric characters. First and last names may be given (separated by a comma placed anywhere but the 1st and 21st location), but if only one name appears it is recorded as the surname by default. The first name in the string must be the last name or surname, followed by the first name. If only one name is given, the 21st character is a blank (the maximum size of a name is 20).

Use of the string operation code allows for addition and deletion of a specific name against an extension.

The system allows more than one name to be added against a station. Most situations usually have just one name associated with a station number.

The String Operation code is the first byte of the status code, and may be one of these options:

  1. (addition) - The name is ADDED to the current list of names against this station. If there is no name against this number, a new telephone directory entry is created.
  2. (replacement) - The name is used to REPLACE the first alphabetical name against this number. All other names against this number are not altered

If an invalid message is received from the PMS, the system returns an NAK.

Wake Up Messages

The PMS system can inform the system when to set a wake up call for a particular guest station. The wake up message has the following output format:

t: Is the wake-up time.

n: Is an extension number digit.

The wake up time is specified in 24 hour time. All four characters, filled with ASCII blanks, represent a deletion of the wake up time (time format: HHmm).

Example of wake up call at 23 and 30 minutes to extension 100:

2MW 2330 1003

DND Message

The PMS system can inform the PBX when to set the DND status for a particular guest station by sending the following message.

The DND message has the following format:

STATUS CODE:

  • 1 – DND ON
  • 0 – DND OFF
  • SP is the ASCII blank character.
  • Example: set DND ON for extension 302
  • 2DND1   3023  STXDND1SPSPSP302ETX
  • StxValue = 2
  • EtxValue = 3
  • ENQ = 5;
  • ACK = 6;
  • NACK = 21

Message Registration Message

Each time a hotel extension makes a trunk call, the system sends a message to the PMS to update the total count of outside calls made against the guest room. No distinction is made between local and long-distance calls. Message Registration works by counting the number of meter pulses made over the duration of the call.

The Message Registration message has the following output format:

SP: Is the ASCII blank character.

n: is an extension number digit.

The status code in this case is a fee or peg count. This is the one exception to the length of the status code, being 4 bytes instead of 2.

Message Waiting Message

The format of this message is the same for both directions. The format of the message is similar to the check in/out message where the use of binary status code provides the new state of the message waiting lamp.

The Message Waiting message has the following format:

SP: Is the ASCII blank character.

X: Is the Message Waiting Lamp status code.

• ASCII character 1 for Lamp On

• ASCII character 0 for Lamp Off n is an extension number digit.

Station Restriction Message

A Station Restriction message can be used to establish call restrictions. When this message is sent from the PMS to the system, it brings previously programmed Call Restrictions into effect.

Note: Emergency Services (911/999) and internal calls are never restricted.

The Station Restriction message has the following format:

RST: Is the Station Restriction function code.

X: Is an extension or suite number digit.

S: Is one of the following status codes:

  • 0 - Internal
  • 1 - Local
  • 2 - Long Distance

StxValue = 2

EtxValue = 3

ENQ = 5;

ACK = 6;

NACK = 21

Maid Status Message

The maid status message is used to allow cleaners to set the status of the room via the phone. The maid status message is triggered by a call from the room in question and by entering the special feature code, followed by the appropriate code to specify the status of the room.

For example, dialing “*682” from the room will trigger a maid status message to the PMS that will set the status of the room to clean.

The Maid Status Message has the following format:

STX

S

T

S

X

SP

n

N

n

n

n

ETX

X: Is the maid status code.

SP: Is the ASCII blank character.

n: Is the station number digit (up to 5 digits).

When a Feature code is dialled, the system sends both a Function and Status code to the PMS, and the PMS interprets the codes in the following way:

Message Occupancy Condition

  • STS1 - Maid Present
  • STS2 - Clean
  • STS3 - Not Clean
  • STS4 - Out of Service
  • STS5 - To be Inspected
  • STS6 - Occupied/Clean
  • STS7 - Occupied/Not Clean
  • STS8 - Vacant/Clean
  • STS9 - Vacant/Not Clean

Mini Bar Message

The mini bar message allows mini bar personnel to forward mini bar usage to the PMS system via the phone. The mini bar message is triggered by a call from the room in question and by entering the special feature code, followed by the appropriate item code and the amount. For example *68*10*2, will send to the PMS that the room had 2 units of item code 10.

If the code is correct, a success message will be played. If it’s incorrect, an error message will be played. These messages can be configured from the interface. The correct minibar item codes can be configured from the 3CX Hotel Management Console.

The minibar message has the following format:

STX

M

N

B

SP

c c c c c(30)

n n n n n

ETX

 

nnnnn: The extension number

cccccc: Data length 30 digit, can be filled with 0-9,*

*: Character has two roles: delimiter and multiplication

Example: A minibar request from extension 100:

[STX]MNB[SP]1*20*3*50[SP..SP][SPSP100][ETX]

This means posting code item 20 (Coke) with a total of 1 pcs and item code 50 (Chocolate) with a total of 3 pieces.

<