6 September, 2018

Migration between GPS tracking systems with zero data loss

Fork raw telematics data from trackers to up to three platforms, store messages, and easily debug connection issues.

Have you ever found yourself in at least one of these situations?

  • You found a platform that better fits your business needs and want to gradually migrate from an old one.

  • You want to evaluate several platforms on the same GPS hardware or you want to use several fleet management platforms at a time (this is not forbidden:))

  • You need to see detailed connectivity information and unparsed device messages to debug a problematic connection.

With the new proxy protocol, you can direct the raw data from the GPS trackers to up to three targets over the TCP connection and store unparsed device messages and connection status updates in a convenient form for analysis.

flespi proxy protocol scheme

How to set up a proxy channel? 

  • Click on the “+” button in the Channels section of Telematics hub.

  • Pick the “proxy” type, give a descriptive name, check “enabled”.

  • Check the “configuration” option. Next steps will slightly depend on your goal ↓

create flespi proxy channel

Platforms migration and testing

If you are going to send the raw data from trackers to multiple destinations, click the “Add target” button. Enter the target ip:port or host:port in the target URI field below. This is enough to create a channel, but here are some additional options you may turn on:

configure flespi proxy channel

Mandatory target

You can mark the target as mandatory to ensure that if a given connection is lost, no data gets lost. If the connection fails with the mandatory option on, the channel throws an error and drops an input connection (and consequently all output connections). If the target is not marked as mandatory and the connection fails, the channel continues sending data to other available targets.

Proxy replies back

Switching this option on will make flespi transmit replies from the corresponding target to the channel's input connection (flespi is sending the responses as is, so please ensure proper response handling and processing on your side).

Note: flespi can do proxying regardless of the protocols used by the tracking devices (since no data parsing happens).

Device diagnostics

The proxy channel can be successfully used for debugging purposes — checking the messages coming from the device and analyzing service messages informing about connect/disconnect events. Handy HEX traffic viewer in Toolbox available for proxy channels is covered by dedicated article.

To enable saving messages from GPS trackers in the flespi channel, turn on the Store TCP traffic switch in the proxy channel configuration. Raw data packets will be saved in channel messages as the 'proxy.payload.hex' parameter. If the payload exceeds 2MB, the message is registered but the 'proxy.payload.hex' parameter is not saved (however, the high value of 'proxy.payload.size' will hint at exceeding the limit). If proxying replies back is enabled, then targets’ response packets are also saved in channel messages.

Since the channel can store messages from multiple connections, an additional 'proxy.source' parameter is used to distinguish which connection the event belongs to: 0 indicates the channel's incoming connection, 1 — target 1, 2 — target 2, etc.

Note: the channel will always save service messages about each connection opened/closed event (regardless of the state of Store TCP traffic switch).

***

Very few trackers these days can send data to several destinations simultaneously. With flespi proxy protocol, this limitation is no longer valid. Stream the raw data from your GPS tracking devices to up to three platforms whether for migration, testing or other needs, store messages if necessary, and debug connectivity issues easier with rich connection status information.