Integration using the ISO 24730 Service

The ISO 24730 service is an ISO 24730 API server, serving real-time Ubisense platform locations to external clients via TCP/IP connections. The service supports connections from multiple clients simultaneously. When used with a DIMENSION4 system running the location sink registration service, the service can be configured to override the V2 sink address and receive locations from the sensors directly.


The ISO 24730 service is configured using the ubisense_iso24730_configuration_admin.exe tool, installed as part of the ISO24730Server package. Download the tool with Ubisense Application Manager (see the installation instructions for further information).

Protocol Summary

The communication protocol outlined in the ISO 24730 standard is a ‘Text over Socket’ protocol, where data is sent to the clients as human readable messages over a TCP/IP connection. Protocol messages are comma-separated fields of human readable data ending in <CR><LF>.

When a client connects to the service, it receives a stream of protocol messages including keep-alive messages during periods of inactivity on the line. Messages sent from the client to the server will be ignored. The client is responsible for maintaining the connection and reconnecting if the connection is lost.

Locate Message Formats

The service uses several formats of locate message:

  • Locate messages with only the mandatory fields.
  • Locate message with the classification field in addition to the mandatory fields. The classification field’s value represents the type of object the location is for, when the object is not a tag.

Only fields defined in the standard are used in the locate messages: there are no custom Ubisense extension fields.


You define which cells/controllers to run the API service on and which TCP socket address each instance of the service will listen for clients on. Definitions are created using a mapping file that is imported to your system using the ubisense_iso24730_configuration_admin.exe tool. You can also use the tool to download the current configuration from your DIMENSION4 system.

  1. Create a mapping file to define your configuration.

    The mapping file is a human readable text file consisting of lines of comma-separated cell name, controller name, listening address tuples. For example:

    Location Cell 00001, Controller1,
    Geometry Cell 00002, Controller1,

    The service will be deployed for each cell/controller in your mapping file, registering a sink address for each location cell which is a child of this cell. Each listening address must be unique for that controller.

    Using the IP address will make the server listen for clients on all available network interfaces. Unless you have multiple network interfaces and want to restrict the service to listen only on a specific interface, you can safely use the IP address in your mapping file. Otherwise use the IP address of the desired network interface.

  2. Import the mapping file using the ubisense_iso24730_configuration_admin.exe tool.

    The tool has an advertise_location_sink option that can be used when importing a mapping. When this option is used, the service will advertise its sink address as a location sink for the location cell(s). If your dataset is running the location sink registration service that is part of the DIMENSION4 package, the service’s sink address will be registered as the V2 sink address, causing the service to receive locations directly from the sensors instead of these locations being sent to the location cells. When this option is not set, the service will not receive Ubisense tag locations without another program forwarding locations to its sink; see ISO24730Server/include/send_location.h for methods to assist with this.

Advanced Configuration

The service has the following advanced parameters that are configured via the Registry or platform.conf file. In most cases, you should not need to set these parameters.




The period of keep-alive messages as defined by the standard, in seconds. Default value of 10. Valid values are integers in the range 1 to 3600


Comma-separated list of location cell names. When set, the service will only serve location from within the cells listed


Maximum size, in MB, of the send queue for a client before it is disconnected. Used to disconnect slow clients when the service is under heavy load. Default value of 1.