SIPIS HTTP Interface

SIPIS provides a HTTP interface through which it can be queried and partially controlled. Default Settings.xml file sets it to listen on port 5000 on all interfaces. In the following text we assume you have a SIPIS HTTP interface running on http://sipis.example.com:5000

Certain pages and actions require username and password. The username and password is also set in Settings.xml file.

About Page

Location: http://sipis.example.com:5000/about

This page shows basic information about your server: its name, its version, uptime and number of messages in the message loop. It also shows SIPIS Changelog.

This page was added in version 3.0 of the SIPIS.

Stats Page

Location: http://sipis.example.com:5000/stats

This page shows SIPIS statistics. It has four sections

Server

This section shows same basic information as About page.

Incoming Call Outcomes

This section shows statistics about incoming calls handled by your SIPIS server since the last restart.

Total number is split between accepted, missed and rejected with rejected calls separated to additional categories.

Push Test Outcomes

The table in this sections shows statistics about Push Test notifications. It is separated by the platform.

Instances

This section shows a table of all instances that are registered on SIPIS. The first column is selector which is an unique identifier of an account. Four columns that follow show User Name, Domain, Proxy and Port of the instance. Port 0 means that port was either found in DNS SRV records or that default port for a given service is used.

The next column shows State. The most important states are:

Idle / NotRegistered:
 The application is in the foreground on the mobile device
Register Loop / Registered:
 The application on the device is not in the foreground and therefore SIPIS is registered instead.
Registering / Registering:
 Transition between previous two states.
Register Loop / Error:
 SIPIS could not register

Column Age shows how long the instance is present on SIPIS. The time is measured by five second intervals.

Column Notes shows current number of devices, calls and waiting messages for given instance.

SIP Traffic shows SIP traffic for the given instance. It shows total traffic in both directions and average bits per seconds. In the header it also shows median and median absolute deviation (MAD) of SIP traffic of instances. Instances that have traffic smaller than 1.5 MAD from median are colored blue. Those that have traffic higher than 1.5 MAD above median are colored red.

The last column allows you to send a test push notification to a given instance and turn the instance off. You need to provide an administrator user name and password to use this action. The username and password are set in the Settings.xml file.

Above the table you have a button that turns off all the instances on your server. To prevent you from doing that accidentally the button is greyed out and you need to uncheck Lock checkbox to make the button active. This action requires username and password.

If you provide a selector as HTTP GET parameter s to stats page (so that the URL is http://sipis.example.com:5000/stats?s=SELECTOR) then you will get the table containing only that one instance.

Machine-Readable Instance Information

The information about the instances displayed in the last table can be retrieved in two machine readable formats. In JSON at the URL http://sipis.example.com:5000/stats/instances/json and in XML at http://sipis.example.com:5000/stats/instances/xml

Debug Page

The URL http://sipis.example.com:5000/debug?s=SELECTOR provides detailed information about the given instance. Access to this page requires administrator username and password. The proxy password connected with the instance is not displayed. String "Not Empty" is shown instead.

Log Page

Accessing the URL http://sipis.example.com:5000/log?s=SELECTOR turns on logging for the given selector (into file configured as InstanceFileName in Settings.xml) and displays content of instance log file.

Registration URL

The URL http://sipis.example.com:5000/sipis/register accepts POST requests and can be used for placing data from users into SIPIS database. The application uses HTTPS to post this data so it is necessary to place TLS proxy in front of SIPIS.

If you have an older version of SIPIS this task of placing data into database was performed by a PHP script and a binary passenc.