UC Hospitality - Serial Box
Table of Contents
General Concepts and Terms System Access General Terms Networking Requirements Toubleshooting Using TCP/IP with the Serial Box Upgrading Psip UC Hospitality Setup and Installation Settings Serial Box Settings Testing XMLRPC PMS Interface Call Accounting HOBIS MICROS PBX Interface Check In/Out Credit Limit Do Not Disturb On/Off Group Code Language Message Waiting Lamp On/Off Move Room Command Phone Restrict On/Off PMS Database Dump Request PMS Database Room Status Send Drop-In Voicemail Message Set Room Name(s) Set/Clear DID Number VIP Status Voicemail Status Voicemail Message Count Special Flags Legacy Setup UC Hospitality Setup and Installation Installation and Setup Testing GUI Layout & Information PBX / CA Configuration Additional Settings Interface Files Monitor / Debug Debug & Test Commands Administration VPN Settings System Control User Settings Serial Box Configuration SerialBox login:The Serial Box facilitates communication between an on-site Serial PMS interface and a hosted voice system. It contains Psip PMS and a simple web-based GUI for easy setup and maintenance.
The Serial Box is not a simple Serial-to-TCP/IP converter. At this time, it can not be used with other PBX solutions. It is designed to work only with UC-Hospitality.
![]()
|
![]()
|
The string needed to connect is (set MAC as your serial box's MAC address): https://phonesuite.connectware.cloud/api/serial/xml?mac=e45f01aaaaa
- If using a Serial Box connected via the old interface, it will not appear as connected in UC Hospitality; however, it should continue to work.
- For Hilton PEP or Hilton FIAS, you MUST upgrade the serial box to Psip version 3 and update the protocol files. See below for instructions on upgrading Psip.
General Concepts and Terms
System Access
The Serial Box can be accessed via:
Web GUI: The web-based GUI is where all setup and configuration of the Serial box takes place.
SSH: This is the command-line interface to the Linux operating system. It's rarely used.
General Terms
Serial Box: A device that allows communication between an on-premise serial-based PMS system and a Hosted Voice system
UC Hospitality: A hospitality-specific IP-based phone system. UC Hospitality is a Linux-based application that manages all hotel phone calls.
PBX: Private Branch Exchange, a general term for a system that allows calling without interfacing with the local telephone company. UC Hospitality is a hospitality-specific PBX.
PMS: Property Management System. This is the main core computer system in a hotel. It manages all guest information and interfaces with other systems to send and receive guest-related data. UC Hospitality often interfaces with a PMS to receive check-in/out data and guest names; we also send the PMS information about billable calls a guest makes.
Networking Requirements
The Serial Box communicates with the UC Hospitality system on port 8080. Both firewalls (on-prem and hosted) must have port 8080 open and ACLs configured to allow only communication from trusted IPs.

Important: Opening port 22 is not normally needed and is a frequent point of attack. Never open port 22 without a strong Access Control List (ACL) in place.
Toubleshooting
Q: Checking in a guest does not display any data in the Serial Box debug screen
A: Ensure the serial cables are connected, and the baud rate and related settings are set correctly.
Q: Checking in a guest displays in the Serial Box debug window, but does not appear on the hosted UC Hospitality system.
A: Ensure that the settings.ini file has been set with the public IP of the Serial Box network. Also, ensure that the Additional Settings are set to the correct IP address for the UC Hospitality system. Lastly, port 8080 must be open on both firewalls (hosted and on-prem), and the port-forwarding lists the correct local IP addresses.
To test that everything has been set up correctly, run the SSH command "telnet <Proxy IP> 8080" on the hosted system using the Serial Box's IP address. If everything has been set correctly, you should see:
root@ip-10-169-89-240:~# telnet 12.34.56.78 8080
Trying 12.34.56.78...
Connected to 12.34.56.78.
If it does not work, you should see:
root@ip-10-169-89-240:~# telnet 12.34.56.78 8085
Trying 12.34.56.78...
Using TCP/IP with the Serial Box
TCP/IP can be used with the serial box; however, it's a bit out of scope. If you have a TCP/IP interface, you can typically connect it directly to the PBX, and there is no need for a Serial Box. However, if you need, below is how to set it up.
- Set up the interface as Serial and select the correct protocols
- Copy the lines of code listed below into the Additional Perpetrators box
- Click save, restart, and then test as usual.
[pbx-method]interface=clientserver=1.3.5.7port=5566idlemax=300
[ca-method]interface=serverport=5558idlemax=300
The above IPs and ports can be changed as needed. Also both interfaces can be Client or Server as required by the PMS.
Upgrading Psip
Log in to the system via SSH and run the commands below.
sudo -i
wget https://psip-pms.s3.amazonaws.com/update-psip-pms-serial-box.sh
chmod +x update-psip-pms-serial-box.sh
./update-psip-pms-serial-box.sh
Once finished, restart Psip from the GUI and ensure that it shows version 3.00. If there are any errors or issues with the script, make sure to copy all the script's output and send that info to support.
UC Hospitality Setup and Installation
Settings
Log in to UC Hospitality and go to the domain.
Navigate to Hotel → Serial Devices.
Add a new device with the device's local IP address as the name and its MAC address.

Serial Box Settings
Log in to the Serial Box at unconfigured-pmsi. local (must be on the same network) and set the UC Hospitality Server URL to
https://phonesuite.connectware.cloud/api/serial/xml?mac=e45f01aaaaaa
Note that after configuration, the access URL will change from "unconfigured-pmsi.local" to "<sitecode>-pmsi.local" (i.e. blfce.pmsi.local).
Set the serial settings for the PBX and/or Call Accounting interface as defined by the PMS vendor.
Click Save & Restart to apply the changes.
Testing
Look in UC Hospitality. The Serial Box's status should be set to Online. Use the Test XMLRPC commands, listed below, to ensure check-in messages are sent to UC Hospitality.
XMLRPC
Psip communicates with UC Hospitality via the XML-RPC protocol. More about this interface can be found at the URL below on any UC Hospitality system, substituting <ip> with the system's IP address. All XMLRPC interfaces for all versions of UC Hospitality are the same.
http://<ip>/phonesuite/xml-rpc.php?action=PMS
Live logs of all XMLRPC calls can also be viewed from the command line interface with the following command.
ngrep -q -d any -W byline '' tcp port 8080
PMS Interface
Call Accounting
UC Hospitality can connect to many different call accounting (CA) systems. Below is a description of the default HOBIS format. Some PMS vendors use the HOBIS method, while others have their own format. Use whatever protocol file best matches the PMS that is being interfaced with or HOBIS if there is no match found.
Following that, there is a listing of all additional parameters that can be added to the CA interface to alter how data is sent to the PMS system.
HOBIS
This Interface Protocol is based on the original AT&T* HOBIS-to-PMS Interface and is employed by more than 90% of Property Management Systems.
With this protocol, records are sent in a typical Enquire-Acknowledge format (sometimes called ACK-NAK), with XOR checksum, as follows:
UC Hospitality sends: <ENQ> <STX><record><ETX><BLKCHK>
PMS responds: <ACK> <ACK
Where:
<ENQ> is the enquire character (05 hex, 5 decimal)
<ACK> is the acknowledge character (06 hex, 6 decimal)
<STX> is the start-of-text character (02 hex, 2 decimal)
<record> is an ASCII text string with data about a single call
<ETX> is the end-of-text character (03 hex, 3 decimal)
<BLKCHK> is the XOR checksum of all characters in <record> plus <ETX> (but not <STX>).
If the PMS does not reply with the <ACK> character when expected or replies with some other character (such as <NAK>, 15 hex, 21 decimal), the send will be re-attempted after a short 1-3 second delay; the total number of attempts is normally three but can be changed using the additional parameters box.
If the PMS does not reply to all attempts, an event message ("NO RESPONSE FROM PMS") will be sent to the email address listed in the Settings page item 27.
In the HOBIS Interface Protocol, the ASCII text string (<record>) is sent in the following format:
- The Default Position shows the location of the first character in the field (the left edge of the field).
- The counter field, CCCC, is a numeric counter in the first 3 positions, followed immediately (no space) by the letter A. When the counter “rolls over” to 000, the letter is incremented to B, and so on.
- The Duration field is minutes only, padded with 0 on the left and rounded up to the nearest whole minute.
- The Cost field includes the dollar sign.
- The Description field is limited to 1 character and is taken from the “PMS Interface” field in the Rate Line (call accounting option 21).

Note: The column number ruler shown above the sample data does not print; it is included as an aid in determining where each field starts and ends.
Where the fields are:
Field |
Field Name |
Width |
Default Position |
Empty Spaces Filled With |
CCCC |
Counter |
04 |
01 |
0 (in front of the digits) |
PPP |
Property Code |
03 |
06 |
As in call accounting option 41 |
MM/DD |
Date |
05 |
10 |
0 (in front of any single digit) |
EEEE |
Extension |
04 |
17 |
Space (in front of the digits) |
HH:MM |
Time |
05 |
22 |
0 (in front of any single digit) |
MMMM |
Duration |
04 |
28 |
0 (in front of the digits) |
$DDD.CC |
Cost |
07 |
33 |
0 (in any empty space after $) |
NNNNNNNNNNNN |
Number Dialed |
12 |
41 |
Space (after the digits) |
D |
Description |
1 |
54 |
Space (if no description) |
MICROS
This Interface Protocol is based on the specification for input to a MICROS cash register/POS system, circa 1980s.
With this protocol, records are sent as follows:
UC Hospitality sends: <ENQ> <record><CR>
PMS responds: <ACK> <ACK>
Where:
- <CR> is the carriage return character (0D hex, 13 decimal)
- <record> is an ASCII text string with data about a single call
If the PMS does not reply with “ACK” when expected, the send will be re-attempted after a short 1-3 second delay; the total number of attempts is set within the protocol file and can be changed using the additional parameters box.
If the PMS does not reply to all attempts, an event message ("NO RESPONSE FROM PMS") will be sent to the email address listed in the Settings page item 27.
In the Micros Interface Protocol, the ASCII text string (<record>) is sent in the following format:
ac01 EEEE DDDDCC NNNNNNNNNN
Where the fields are:
Field |
Field Name |
Width |
Default Position |
Empty Spaces Filled With |
ac01 |
Start |
04 |
01 |
N/A |
EEEE |
Extension |
04 |
06 |
0 (in front of the digits) |
DDDDCC |
Cost |
06 |
11 |
0 (in front of the digits) |
NNNNNNNNNN |
Number Dialed |
12 |
18 |
0 (in front of the digits) |
The Default Position shows the location of the first character in the field (the left edge of the field).
The Start field is a fixed field that always contains "ac01". This was defined and set by Micros in the design of their interface.
All fields are padded with "0" on the left side, including the Number Dialled field. The Number Dialled field is cut off at 10 characters, so only the first 10 digits dialled will be included for each call (including the initial "1" or "011" dialled); this means that longer phone numbers will lose the last digits dialled, while shorter phone numbers will have extra 0’s in front of the dialled digits.
The cost field is in dollars and cents and does not include a dollar sign.
Sample Data using the Micros Interface Protocol:

The column number ruler shown above the sample data does not print; it is included as an aid in determining where each field starts and ends.
PBX Interface
UC Hospitality can both accept command functions such as check-in, check-out, message waiting lamp control, and others from a Property Management System (PMS) and send status messages back.
The PBX Interface includes a voicemail interface. Some vendors have a separate voicemail interface; in UC Hospitality, they are combined.
Basic Message Format
UC Hospitality will interface with the PMS using the following Enguire-Acknowledge (ACK-NAK) protocol:
Sender: <ENQ> <STX><Message Text><ETX>
Receiver: <ACK> <ACK>
Where:
- The Sender can be either UC Hospitality or the PMS, and the Receiver is the other party.
- <ENQ> is the enquire character (005 ASCII)
- <ACK> is the acknowledge character (006 ASCII)
- <STX> is the start-of-text character (002 ASCII)
- <Message Text> is the ASCII text string that contains the command, room status code, or other information as described below, with an optional Checksum
- <ETX> is the end-of-text character (003 ASCII).
- If the PMS sends an initial <ENQ> and UC Hospitality responds with <ACK> but receives no additional information within 1/10 second, UC Hospitality times out this transaction without sending any further response. If additional data follows after this time-out (other than another <ENQ>), UC Hospitality will send a <NAK> in response.
- UC Hospitality will send a <NAK> character (021 ASCII) in any of the following cases:
- There is no <ETX> at the end of the message, within 1/10 second of the last character received.
- UC Hospitality will only send an <ACK> in response to a <Message Text> from the PMS if
- UC Hospitality receives the <STX> within 1/10 second of sending its <ACK> in response to the PMS’s <ENQ>
- and the <Message Text> is followed by <ETX> within 1/10 second
- Any between-character delay of more than 1/10 second will cause the transaction to time out, and UC Hospitality will send a <NAK> (unless nothing follows the original <ENQ><ACK>).
Extension number padding
By default, UC Hospitality will support a one-space padding between the end of the message field and the extension number, as well as a trailing space for both 3- and 4-digit extensions.
Check In/Out Commands are sent from the PMS to UC Hospitality and cause UC Hospitality to check a room in or out, the same as it does when the command is run from the Browser Console. For the PMS Check In/Out commands, UC Hospitality will accept any of the following formats.
Check In/Out
Message Text |
Action UC Hospitality takes in response |
1234567890123456 |
|
CHK1 EEEE |
Check in extension EEEE; see note #1 |
CHK1 EEEE Name |
Check in extension EEEE with name; see note #2 |
- For 3-digit extensions, the PMS-sent extension number can be right- or left-justified within the 4-character EEEE space. UC Hospitality will send a <NAK> in response to a Check-In or Check-Out Command that does not contain a valid extension number.
- If the PMS includes a name after the command, the name can be up to 20 characters in length, in upper, lower, or mixed case. It can be in the form LAST, FIRST (comma delimiter only), or LAST, FIRST (both comma and space delimiter), or FIRST LAST (space only delimiter signifies first name, then last name), or LAST/FIRST (slash delimiter). Names can also be sent FIRST LAST using all delimiter types.
- Note that a space is necessary between the CHK1 or CHK0 command and the extension number.
Credit Limit
A credit limit can be set by the PMS system for guests. For these messages, UC Hospitality will format the message text as follows:
Message Text |
Meaning |
1234567890123456 |
|
LMT EEE dd.cc |
Set a credit limit of for dd.cc room EEE |
LMT EEEE $dd.cc |
Set a credit limit of dd.cc for room EEEE |
Do Not Disturb On/Off
Do Not Disturb On and Off commands are sent from the PMS to UC Hospitality and cause UC Hospitality to turn an extension's Do Not Disturb status on or off, as if the command were issued from the Browser Console. For these commands, UC Hospitality will accept the following formats:
Message Text |
Action UC Hospitality takes in response |
12345678901 |
|
DND1 EEEE |
Turn on Do-Not-Disturb for extension EEEE |
DND0 EEEE |
Turn off Do-Not-Disturb for extension EEEE |
Group Code
The PMS can send UC Hospitality a group code of human-readable letters and/or numbers. For these messages, UC Hospitality will format the message text as follows:
Message Text |
Meaning |
1234567890123456789 |
|
GRP EEE AAAAAAAAAA |
Set group code AAAAAAAAAA for room EEE |
GRP EEEE AAAAAAAAAA |
Set group code AAAAAAAAAA for room EEEE |
Language
A language message can be sent using the ISO 639-1 language codes. For these messages, UC Hospitality will accept the message format as follows:
Message Text |
Meaning |
12345678901 |
|
LNGxxEEE |
Set the language for a three-digit guest room. XX is the language code. |
LNGxxEEEE |
Set the language for a four-digit guest room. XX is the language code. |
Message Waiting Lamp On/Off
Message Text |
Action UC Hospitality takes in response |
12345678901 |
|
MW 1 EEEE |
Turn on Message-Waiting lamp for extension EEEE |
MW 0 EEEE |
Turn off Message-Waiting lamp for extension EEEE |
- For 3-digit extensions, the PMS-sent extension number can be right- or left-justified within the 4-character EEEE space. UC Hospitality will send a <NAK> in response to a command that lacks a valid extension number.
- A single space (not more or less) is required between the MW and the 0 or 1.
- Changing the Message-Waiting status of an extension does not affect messages in UC Hospitality's voicemail box; it neither adds nor deletes messages for the extension.
- MW 0 (message-waiting off) will clear the MWI lamp if there are no other unheard messages.
Move Room Command
At times, the hotel might want to move a guest from one room to another. It is highly preferred to use the move command rather than a check-out and check-in. With the move command, the guests' voicemails and wakeup calls are moved with the guest, whereas with a check-out and back-in, that data is lost. The move command messages are received by the PMS in the following format:
Message Text |
Meaning |
1234567890123456 |
|
MOV EEE FFF |
Move a guest from room EEE to room FFF. |
MOV EEEE FFFF |
Move a guest from room EEEE to room FFFF. |
Phone Restrict On/Off
The PMS can send UC Hospitality a command to restrict or allow dialling from an extension. This command has the same effect as changing an extension's dialling permissions from the browser console. When a room status code is received, UC Hospitality will match it to a table of restriction levels. This allows complete customization of the permission levels without changing the code that a PMS sends. UC Hospitality accepts messages in the following format:
Message Text |
Action UC Hospitality takes in response |
12345678901 |
|
RSTn EEEE |
Where n is the restriction code passed |
PMS Database Dump
Database Dump messages are used by the PMS to verify that UC Hospitality is active and ready to receive messages, as well as to synchronize the lists of checked-in and checked-out settings and names. For these commands, UC Hospitality will accept any of the following formats:
Message Text |
Meaning |
123456789012 |
|
AREYUTHERE |
PMS Connection Check |
GRS |
Indication that the PMS is going to send a full database dump |
END |
Indication that the PMS’ database dump is complete |
Immediately after the GRS message is sent and acknowledged by UC Hospitality, the PMS will send a check-in or check-out message for each room; name messages and restriction codes may also be sent. UC Hospitality will check its settings to ensure they match what the PMS sends, and it will perform any commands that do not match. That is, if UC Hospitality shows extension 132 as checked in, but the PMS database dump shows it as checked out, UC Hospitality will perform the Check-Out command for this extension. When the PMS completes the database dump, it will mark the completion by sending the END message, which UC Hospitality will acknowledge.
Request PMS Database
When booting, UC Hospitality will send a sync request to the PMS. This will cause UC Hospitality to send the PMS a request in the following format:
Message Text |
Meaning |
123456 |
|
RQINZ |
Request PMS Database Dump |
Room Status
Room status messages are sent from UC Hospitality to the PMS whenever a maid in a room or from the console sets or changes the room status code. For these messages, UC Hospitality will format the message text as follows:
Message Text |
Meaning |
12345678901 |
|
STSn EEE |
Indication that the Room Status for extension EEE was set to n (default format) |
STSn EEEE |
Indication that the Room Status for extension EEEE was set to n (default format) |
Send Drop-In Voicemail Message
UC Hospitality can have up to 10 prerecorded messages available to drop into a guest's voicemail box. These messages can be dropped in via a user with the Browser Console or via a PMS message. The drop in message commands are received by the PMS using the following format:
Message Text |
Meaning |
12345678901 |
|
MSGn EEE |
Drop message n (where n is a number between 0 and 9) for room EEE. |
MSGn EEEE |
Drop message n (where n is a number between 0 and 9) for room EEEE. |
Set Room Name(s)
A single guest name can be assigned to each guest room. For this command, UC Hospitality will accept the following format:
Message Text |
Action UC Hospitality takes in response |
123456789012345678901234567890 |
|
NAMn Name EEEE |
Sets the primary name |
- For 3-digit extensions, the PMS-sent extension number can be right- or left-justified within the 4-character EEEE space. UC Hospitality will send a <NAK> in response to a command that lacks a valid extension number.
- The name can be any length up to a maximum of 20 characters, in upper, lower, or mixed case; this name can be in the format LAST, FIRST (comma delimiter only), or LAST, FIRST (both comma and space delimiter), or FIRST LAST (space only delimiter signifies first name, then last name).
- A space is necessary between the NAMn command and the name, and at least one space must be included between the name and the extension number.
- UC Hospitality will display the stored name on the Browser Console and on SIP phones when a call from the extension is answered.
- The number after NAM can be between 1 and 4, but it will always update the primary guest's name.
Set/Clear DID Number
The PMS can send UC Hospitality a command to set or clear a DID assignment for any room. For these commands, UC Hospitality will accept the following formats:
Message Text |
Action UC Hospitality takes in response |
123456789012345 |
|
DID1 EEEE DDDD |
Assign extension EEEE the DID number DDDD |
DID0 EEEE |
Clear DID assignment for extension EEEE |
VIP Status
UC Hospitality can mark a guest as VIP. This flag is only set via a PMS message. This message uses the following format:
Message Text |
Meaning |
12345678901 |
|
VIPn EEE |
Sets or clears a VIP flag using n=1 to set and n=0 to clear for room EEE. |
VIPn EEEE |
Sets or clears a VIP flag using n=1 to set and n=0 to clea |
Voicemail Status
A voice mail status message is sent from UC Hospitality to the PMS. UC Hospitality will send MSG2 with a flag of 1 on the first occurrence of a voice mail being left for an extension and MSG2 with a flag of 0 when all voice mail messages have been listened to or deleted. For these messages, UC Hospitality will format the message text as follows:
Message Text |
Meaning |
1234567890123 |
|
MSG2 EEE 0 |
All voice mails for extension EEE were listened to or deleted |
MSG2 EEEE 0 |
All voice mails for extension EEEE were listened to or deleted |
MSG2 EEE 1 |
A voice mail message was recorded for extension EEE and there was no previous message that had not been listened to |
MSG2 EEEE 1 |
A voice mail message was recorded for extension EEE and there was no previous message that had not been listened to |
Voicemail Message Count
UC Hospitality can send a voicemail message count to the PMS for a guest room. This message uses the following format:
Message Text |
Meaning |
12345678901 |
|
MCTn EEE |
Number of messages n for guest room EEE. |
MCTn EEEE |
Number of messages n for guest room EEEE |
Wake-up Call Set/Change/Clear
The PMS can send UC Hospitality a command to set, change, or clear a wakeup call for a given extension. This command has the same effect as setting, changing, or clearing a wakeup call from the UC Hospitality Browser Console, with only the time (no date) specified. The result is that the wakeup call will ring the extension whenever the specified time is next reached by UC Hospitality's system clock. For these commands, UC Hospitality will accept any of the following formats:
Message Text |
Action UC Hospitality takes in response |
1234567890123 |
|
WKPhhmm EEEE |
Set a Wakeup call for extension EEEE at hhmm (24-hour time format) |
WKP9999 EEEE |
Clear any Wakeup call for extension EEEE |
WKP EEEE |
Clear any Wakeup call for extension EEEE |
WKP EEEE |
Clear any Wakeup call for extension EEEE |
Where hhmm is the wakeup time, in 24-hour format (hh = hours and mm = minutes) with no spaces or additional characters and must immediately follow the WKP command (no spaces allowed). The HH or MM must be left-padded with a 0 if the value is less than 10 (e.g., 5 minutes past 7:00 would be specified as 0705, and 2:30 p.m. would be specified as 1430). If the wakeup time is 9999, all spaces, or is blank (with at least one space between the WKP command and the extension number), any wakeup call for that extension will be cleared. A space is necessary between the time and the extension number.
Special Flags
Each installation and each PMS interface can set a series of flags that alter how that interface works. These flags are set in the Additional Parameters box in UC Hospitality. These flags are as outlined below.
[pbx-protocol]
- checkinmessage=n (i.e. checkinmessage=2). Automatically places drop-in message 2 into a guest's mailbox upon check-in. This is a PBX mask.
- ignore_FIAS_GF=true/false Disables the GF (Guest First Name) field for the FIAS interface. This corrects an issue where the full first and last name is sent in the GN (Guest Name) field, and we don’t need the guest's first name again in a separate field.
[pbx-masks]
- swapnames=true/false. Default is true. Set to false if the PMS is sending Firstname, Lastname in check-in or name-change messages.
- nameindex0=0/1/2/3 Most PMS systems send 0 on any name commands (i.e. NAM0) to change the first guest in the room. However, some PMS systems will send NAM2 when they want to change the first guest's name. In this case, set the index to 2, and Psip will change the 2 to a 0.
[ca-method]
- email=[address] (i.e. email=Admin@HolidayInnBlackCannyon.com). This email address is used to send billable calls; should the call accounting interface become unavailable, the call can be posted to the guest record manually.
[ca-protocol]
- strip=1/0 [True/False] (i.e. strip=1, default is 0). This will strip all leading 0 and 1 off the beginning of the number dialed.
- format=1/0 [True/False] (i.e. format=1, default is 0). This formats the dialled number to NPA-NXX-XXXX, which works best with strip=True (above).
- incoming=1/0 [True/False] (i.e. incoming=1, default 0). If set to true, UC Hospitality will pass incoming calls to the PMS.
- admin=1/0 [True/False] (i.e. admin=1, default 0). If set to true, then Psip-PMS will send admin calls to the PMS. Default is false.
- zero=1/0 [True/False] (i.e. zero=1, default is 0). Setting this to true will send all zero-cost guest calls to the PMS. For admin calls, see admin= above.
To use, enter the message flag along with the section header in brackets. A completed entry might look like:

Legacy Setup
This section describes the legacy method of connecting the Serial Box to UC Hospitality. For the updated method, see the UC Hospitality Setup and Installation section.
A serial box can be used on UC Hospitality with a straightforward setup.
UC Hospitality Setup
Go to the domain, then open the hotel tab for that domain.

Next, go to the Serial Devices tab.
![]()
Click Add Serial Device.
![]()
Set the name to "Serial Box," enter the device's MAC address (no colons), and click save.

Once added, it should look like this:

Serial Box
Log in to the Serial Box and visit the PBX/CA Configuration page.
Under the Additional Settings box, enter the URL below, replacing the MAC address at the end with the correct MAC address.
https://phonesuite.nlvlabs.com/api/serial/xml?mac=112233445566
Click Save ALL.

If the Serial Box connects correctly, the Monitoring/Debug page should display the following lines when the service restarts.
08:56:05 0 GENRL 01 XMLRPC clients use: https://phonesuite.nlvlabs.com/api/serial/xml?mac=11223344556608:56:05 0 RPCCL 01 Checking for PSip XMLRPC Server...08:56:05 0 RPSVC 03 Calling PSip with XMLRPC are_you_there(10001)08:56:05 0 RPRSP 03 Result of XMLRPC call is 0
Next, check in UC Hospitality, and it should display as Connected.

Test a check-in message and ensure that the correct name displays in the rooms page.
UC Hospitality Setup and Installation
Before you begin
- Connect the Serial Box to the local network
- Connect the Serial Box to power
- Connect the Serial Box to at least one serial interface from the PMS
- Enter "unconfigured-pmsi.local" into a browser (note, you must be connected to the same network the Serial Box is connected to)
- Note that after configuration, the access URL will change from “unconfigured-pmsi.local" to "<sitecode>-pmsi.local" (i.e. blfce.pmsi.local).
Installation and Setup
Serial Box Setup
- Log in to the Serial Box using "admin" and "password" as the login
- Navigate to Administration and set the units' Site Code and Static IP address settings
- Once set, log back into the Serial Box using "<sitecode>-pmsi.local”
- Change the default password.
- Navigate to PBX / CA Configuration and set the PBX and/or CA ports with the correct serial and protocol settings.
- Note that these settings vary depending on how the PMS is configured. UC Hospitality cannot determine what these should be set to; contact the PMS vendor.
- Click Save ALL
- Under additional settings, enter http://<ip>/phonesuite/xml-rpc.php?action=PMS, where <ip> is the IP address of the HOSTED UC Hospitality system (i.e. http://1.2.3.4/phonesuite/xml-rpc.php?action=PMS)
- Click Save ALL
Local Firewall Setup
Add a rule to accept traffic from port 8080 and direct it to the Proxy UC Hospitality system.
Hosted UC Hospitality Setup
Edit the file /data/asgi/settings.ini - Under the section "[PMS]", change the IP address from 127.0.0.1 to the public IP address of the Serial Box - Disable both PBX and CA interfaces - Ensure the PMS interface is enabled on the settings page - Click Save/Restart for the PMS interface.
Testing
To test that everything has been set up correctly, issue the SSH command "telnet <Proxy IP> 8080" from the hosted system using the IP of the proxy system. If everything has been set up correctly, you should see:
telnet 12.34.56.78 8080
Trying 12.34.56.78...
Connected to 12.34.56.78.
If it does not work, you should see:
telnet 12.34.56.78 8085
Trying 12.34.56.78...
To test, simply check in a fake guest at the property, verify that the message is received by the Serial Box, and ensure that the guest is visible on the hosted system.
GUI Layout & Information
Login
The Serial Box ships set to DHCP, and it's recommended that the address be set to Static.
To log in:
- Connect the Serial Box to a network using the 19.168.1.0/24 subnet.
- If a network setup with this subnet is unavailable, set a laptop or desktop with a static IP address of 192.168.1.50. Then, directly connect the computer to the serial box and navigate to https://192.168.1.223 or unconfigured-pmsi.local
- Upon reaching the login screen, enter the username "admin" and the Password "password".
Important! After logging in, you must change the device's default password. See the Administration section for instructions on how to do this.

PBX / CA Configuration
This page handles the setup of the serial PBX and CA (call accounting) interfaces.

Disabled / Enabled
These buttons set the interface to active or inactive. Sometimes, a hotel might have a PBX interface but not a CA interface. In that case, the CA interface should be set to disabled.
Protocol
It allows selection of the available protocols. Usually, there will be a protocol for the type of PMS being interfaced with (Opera, FOSSE, OnQ, etc.). Appendix A provides a complete description of the interfaces, along with a brief description of each.
Port Selection
The serial box has two ports, 1 and 2. Usually, the PBX interface is plugged into port 1, and the CA into port 2. However, this can be changed here if needed.
Baud Rate
This is the connection speed. The speed must match what the PMS vendor has configured on their end for the interface. Normally, this is set for 1200 or 9600. Consult the PMS vendor to determine which baud rate should be selected.
Data Bits
This setting must match what the PMS vendor has set on their end. It refers to the number of data bits per character. 8 is the most common default; 7 is used only for ancient equipment or unusual setups. It's usually okay to assume this is set to 8.
Parity
Usually set to "None", sometimes referred to as "N". Parity is a way to check for errors in data transmission. If set to Odd, an extra data bit is sent with each character so the number is always odd. Thus, if the data is received with the wrong number of 1s, it is known to be corrupted. However, an even number of errors using this method is undetectable. The same is true for setting this to Even (along with an odd number of undetectable errors).
Stop Bits
Usually set to 1. The stop bit is sent at the end of every character so that both sides remain in sync and can pass data. It's usually okay to assume this is set to 1.
Reset
This button resets the values to default.
Save PBX/CA Only
This button saves only the PBX settings and resets the interface to apply the changes.
Save ALL
This button saves all changes on the screen and resets the interface to apply the changes.
More information about Serial Ports can be found here: Serial port.
Additional Settings

UC Hospitality Server URL
Here, the IP address of the hosted UC Hospitality system is set. The IP address (1.2.3.4 in this example) is the only thing to change, leaving the rest of the string intact.
http://1.2.3.4/phonesuite/xml-rpc.php?action=PMS
Extra Parameters to be added at the end of the configuration file
Sometimes, additional settings or changes to defaults in the selected template file must be made. Examples include padding a leading 7 on otherwise three-digit room numbers for the call accounting interface or using a slash (/) character as the delimitator in guest names.
Additional parameters can be overridden for any PBX or CA interface section. This is very powerful; only a few examples of how those functions work are provided below. Note that you must enter "[ca-masks]" or "[pbx-masks]" on a separate line before the special parameters you wish to use.
Sometimes, PMS vendors use a comma, a slash, or a space to separate guest names. By default, most PBX interface protocols use a comma. Add the following to the additional parameters field and click Save ALL to change this.
[pbx-masks]
chkdelim=11 20 MASK_LITERAL /
namdelim=6 20 MASK_LITERAL /
If a space is being used, add the following.
[pbx-masks]
chkdelim=11 20 MASK_LITERAL SPACE
namdelim=6 20 MASK_LITERAL SPACE
Common entries include:
- email=[address] (i.e. email=Admin@HolidayInnBlackCannyon.com). This email address is used to send billable calls if the call accounting interface becomes unavailable, so the call can be posted to the guest record manually.
- strip=1/0 [True/False] (i.e. strip=1, default is 0). This will strip all leading 0 and 1 off the beginning of the number dialed.
- format=1/0 [True/False] (i.e. format=1, default is 0). This will format the dialled number into NPA-NXX-XXXX, which works best with strip=True (above).
- incoming=1/0 [True/False] (i.e. incoming=1, default 0). If set to true, UC Hospitality will pass incoming calls to the PMS.
- admin=1/0 [True/False] (i.e. admin=1, default 0). If set to true, then Psip-PMS will send admin calls to the PMS. The default is false.
- zero=1/0 [True/False] (i.e. zero=1, default is 0). Setting this to true will send all zero-cost guest calls to the PMS. For admin calls, see admin= above.
- checkinmessage=n (i.e. checkinmessage=2). Automatically places a drop-in message into a guest's mailbox upon check-in. This is a PBX mask.
Once finished, a set of parameters might look like this:
[pbx-protocol]
checkinmessage=1
[ca-protocol]
admin=1
incoming=1
Interface Files

Each item in the Protocol list is a separate file describing the interface between Psip-PMS and the PMS system. These files can be updated by clicking on the Update Interface Files button. This update should take only 1 minute and should generally be done only upon UC Hospitalities' instruction. If the button is clicked and no updates are available, all existing interface files will be preserved without changes.
Monitor / Debug

This screen allows monitoring of the PMS interface or the commands being sent.
Pictured above is a recent PMS interface reset. Each color of text represents a different functionality or information; they include:
- Green: System reset/log file read in.
- Yellow: System process
- Blue: communication between the Serial box and the outside world or setup of the interfaces.
- Pink: TCP/IP messages (port open, unable to connect, etc)
There are also numbers associated with each line item; they are:
- 0 – Main Process
- 1 – PBX-PMS process (listen for message from PMS)
- 3 – XMLRPC Server (listen for messages from UC Hospitality)
The second number (01 and 03 in the above screenshot) will display 201 if an additional parameter is not understood. Look for this when adding parameters to ensure Psip understands and uses the added information.
Debug & Test Commands
Many commands can be issued, along with an example of each:
- Test Serial Areyouthere
Test Serial Areyouthere
- Test Serial Dosynch
Test Serial Dosynch
- Test Serial Status <room> 0|1|2|…|9
Test Serial Status 101 1
- Test Serial Message <room> 0|1
Test Serial Message 101 0
- Test Call
Test Call
- TRACE (issue command again to turn off)
TRACE
- Test XMLRPC Areyouthere
Test XMLRPC Areyouthere
- Test XMLRPC Sync [0|1]
Test XMLRPC Sync 1
- Test XMLRPC Checkin <room> <[name]>
Test XMLRPC checkin 101 Frost, Emma
- Test XMLRPC Checkout <room>
Test XMLRPC Checkout 101
- Test XMLRPC Name <room> NAM0|NAM1|NAM2|NAM3 <name>
Test XMLRPC Name 101 NAM2 Frost, Emma
- Test XMLRPC Move <room> <newroom>
Test XMLRPC Move 101 205
- Test XMLRPC MWI <room> [0|1]
Test XMLRPC MWI 101 1
- Test XMLRPC Dnd <room> 0|1
Test XMLRPC Dnd 101 0
- Test XMLRPC Restrict <room> 0|1|2|...|9
Test XMLRPC Restrict 101 2
- Test XMLRPC Wakeup <room> <time>|9999
Test XMLRPC Wakeup 101 0830
Note that for standard commands, just the first letter of each command needs to be entered. For example, a test call can be created by typing "t c", and "Are you there?" can be typed by typing "t s a". It's recommended that the more complex commands be fully spelled out.
Administration
This section is where network and password settings are changed.

Site Code
Enter the site's code (sometimes called a property code) here. If no code exists, make up a code for the hotel. Once set, access to the system will be at <sitecode>-pmsi.local
Method
Select Static (recommended) or DHCP.
IP Address/Subnet (CIDR Format)
Enter the device's IP address here using CIDR notation. For most networks, this is a /24 or /16. For more information about CIDR formatting, including calculators that will calculate a CDR notation for a given network, see IP Subnet Calculator or Subnet Calculator—TunnelsUP.
Gateway
Enter the address of the gateway here.
DNS Server
Enter the DNS server or servers here. If entering more than one, separate the individual IP addresses with a space as seen in the screenshot above.
Save
When finished, click the save button. A pop-up will appear saying that any network changes require a system reboot. Click OK and wait for the system to return online (a process that takes 1-2 minutes).
VPN Settings

This section is not currently in use. Do not configure.
System Control

Restart
Click this button to restart (reboot) the Serial Box. This process takes 1-2 minutes.
Factory Reset
Click this button to reset the system to factory defaults. This will require a system reboot.
When the system is restored to factory defaults, the network settings are lost, and the system reverts to DHCP. Access to the box reverts to unconfigured-pmsi.local.
User Settings

This section is used to change the system password.
Current Password
Enter the current password here.
New Password
Set the new system password here.
Confirm New Password
Confirm the new password here. The new password and confirm password must match before the Save button will become active.
Save
Click here to apply the new password settings. After this operation, you will need to log back into the system.
Serial Box Configuration
SerialBox login:

SerialBox PBX/CA Configuration:
Enable the interfaces you will use. From the drop-down menu, select the protocol (PMS) you are connected to.
The next step is to select the serial port settings. The PMS company must provide these settings. Two standard defaults are 9600 bps Baud Rate, 8 Data Bits, None for Parity, and 1 for Stop Bits, which are already set. The second most common is 1200 bps Baud Rate, 8 Data Bits, None for Parity, and 1 Stop Bit. Ideally, you would get these settings from the PMS Company.
![]()
|
![]()
|
If you are using Call Accounting, you will also set the CA Interface by selecting "Enabled" and the Protocol from the drop-down options. The other CA settings are generally not changed.
![]()
|




