24U Phone Companion 3.0 Server

Specification revision: 10, 2018-07-23.

Created by: Lukáš Liebzeit, Martin Vraný, Zdenek Hejl, ©2018 24U Software.

1. Basic technical parameters

File names:24uPhoneCompanionServer
Windows version:Only 64bit architecture. Windows 7 - 10.
MacOS version:OS X 10.10 - macOS 10.13.
SN product code and versions:Not protected
Supported phones: SNOM 300 and higher with firmware at least supported
SNOM 300 and SNOM 715 tested
(If you have changed HTTP User, HTTP Password and the Administrator Password from the default value, hidden tags have to be disabled).

2. Limitations

2. 24U Phone Companion Server Installation

It is not recommended to update the configuration and use the server through Phone Companion functions at the same time.

3. 24U Phone Companion Server Specification


Command: Success message: Possible error messages: Examples:
MakeCall error_ind SUCCESS MakeCall error_ind ERROR MakeCall MakeCall 101 102
AnswerCall error_ind SUCCESS AnswerCall error_ind ERROR AnswerCall AnswerCall 102
ClearConnection error_ind SUCCESS ClearConnection error_ind ERROR ClearConnection ClearConnection 102
MonitorStart error_ind SUCCESS MonitorStart error_ind ERROR MonitorStart MonitorStart 102
MonitorStop error_ind SUCCESS MonitorStop error_ind ERROR MonitorStop MonitorStop 102
TransferCall error_ind SUCCESS TransferCall error_ind ERROR TransferCall TransferCall 102
HoldCall error_ind SUCCESS HoldCall error_ind ERROR HoldCall HoldCall 102
RetrieveCall error_ind SUCCESS RetrieveCall error_ind ERROR RetrieveCall RetrieveCall 102
JSON string error_ind SUCCESS RawCommand error_ind ERROR RawCommand {"method" : "GET", "resource" : "/restapi"}

To successfully provide the transfer for SNOM phones it is necessary to use TransferCall followed by MakeCall. Note: The phone must be monitored.
To retrieve a call from hold the RetrieveCall Raw Command should be called.

Note: The server is controlling the phones directly. Therefore it doesn't matter which provider You use as long as You are able to set up the phone through its web interface. To use Phone_RawCommand the provider must be one of the supported providers.


Channel is a permanent network connection between Phone Companion Server and 24U PhoneCompanion Plug-In.

Hidden tags:

If you have changed HTTP User, HTTP Password or the Administrator Password from the default value, don't enable hidden tags.

Configuration file 24uPhoneCompanionServer.txt:

Restart the server in case You have changed the configuration file.

Server will read the configuration file every 5 seconds.
In case the configuration has changed the server will update the information.

# Server uses this port to listen to connections. Default number is 26535
serverPort = 26535

# Change the log file path including the name to create logs at desired place. Default path including the name is "24uPhoneCompanionServer.log"
serverLogFilePath = 24uPhoneCompanionServer.log

# Id of your provider. Possible values are: "ringcentral", "alliancephones" and "custom"
providerId = ringcentral

# Host name of the provider
providerHostname = pbx.yourhostname.com

# Port of the provider. Default is 443
providerPort = 443

# Client id of the provider
providerClientId = dAvO1HZAXXXXXXXaTvx

# Client secret of the provider
providerClientSecret = ubJtxGDeS9a7OXXXXXXXXXXXcGWrRMSrXRc0hkb_M

# Username of the provider
providerUsername = 19XXXXXXX27

# Password of the provider
providerPassword = yourpassword

# The security switch for the HTTP protocol. Possible values are: "HTTP" and "HTTPS"
providerProtocol = HTTPS

# SSL verification file name. Server will first search the certificates in the file, then those in the path
providerSslVerificationFilename = /etc/ssl/cert.pem

# SSL verification path
providerSslVerificationPath = /etc/ssl

# Minimum protocol version. Currently supported versions are SSL3_VERSION, TLS1_VERSION, TLS1_1_VERSION and TLS1_2_VERSION
providerMinProtocolVersion = TLS1_VERSION

# Increase this number if you have troubles connecting to the provider
providerVerifyDepth = 4

# Please list all phones that should be controlled/monitored by Phone Companion Server, one per line. For each phone you need to define: its extension, its IP address (with username and password if required) and path (relative or absolute) to file containing phone configuration. Different phone types or even individual phones of the same type can have different settings by specifying different phone configuration files. Please use "snom.cfg" supplied in plugin's distribution archive for SNOM 715 phones or create a new phone configuration file. More information about phone configuration file can be found in PhoneCompanionServer.html file.
phone=101@X.X.X.X snom.cfg
phone=102@X.X.X.X snom.cfg username password

Phone configuration file description:

In phone configuration file you can customise behaviour of phones or you can create configuration for new unsupported phones. 24U company can provide support only for supported phones. Please see "snom.cfg" supplied in distribution archive as an example for SNOM 715 phones.

Option: Description:
"protocol" the secure or not version of the HTTP protocol. Use HTTP or HTTPS
"port" the port number of the phone
"method" should be GET or POST
"resource" is typically the file name [and set of key-values (usually GET request)]
"content_type" the outgoing format of Your message, it can be left blank
"accept" the receiving parser format, it can be left blank
"body" the body can be a string or can have multiple set of key-values that will be necessary to set up the monitoring device
"onIncomingCall" an example of "monitorAutoConfiguration" which can have four or more notifications set up