On this page

SUPL-Server

Server implementation for the SUPL protocol.

Purpose

Mobile systems rely on GPS to get their position, but satellites position data varies. This causes an increasing delay (depending on how outdated the data is) from enabling a device until it actually get's its location. To counter this the AGPS standard was established by the OMA and for a performant communication the SUPL standard.

This server provides the data it has to devices which request it.

Disclaimer: As this is currently still in development, the implementation lacks a proper data source for the provided data

Scope

The following processes of the SUPL protocol have been implemented:

  • SET Initiated flows – Non-Proxy Mode – Immediate Service

Additionally this implementation (yet) only covers the lpp

Usage

The server can be started just by calling it

supl-server

If the server should provide it's data with encryption, you need to specify the tls port, certificate file and private key

Development

This project is written in rust and currently relies on a mariadb or mysql datasource, although the database abstraction does allow a different usage like postgres or sqlite. For further development you might need to look up rasn, it's compiler and sea-orm

License

This project is licensed under the EUPL-1.2