Sputnik

Sputnik Project Overview
The Sputnik project is a system for real time in-building location tracking using the OpenBeacon Tag. It was first implemented at the 23rd Chaos Communication Congress in December 2006.

There's some high-level information on The official 23C3 Sputnik page

The OpenBeacon Tag is used in combination with 25 base stations to facilitate in-building location tracking. The tags periodically transmit frames at different power levels. If the packet is received by one or more base stations, we can deduct some idea about its locality.

The base stations don't exploit timing differences or triangulation but rather only use the signal strength for positioning.

The output of the base stations is fed into the Chaos Positioning System (CPS), which provides some more high-level and abstract way of maintaining and distributing positioning information.

Sputnik Tag
The Sputnik Tag is a standard OpenBeacon Tag with Sputnik firmware.

The tag periodically (randomized to reduce on-air collisions) transmits frames.

The frames are called SOAP-enc (Sputnik On-Air Protocol - encrypted) frames. Those frames are encrypted before transmission and feature a sequence number to protect against replay attacks.

Credits
The Sputnik base station hardware and software has been designed and developed by Brita Meriac and Milosch Meriac, with minor contributions by Harald Welte.

Sputnik Base Station
The Sputnik Base Stations are OpenBeacon Base Station 1.

The base stations receive packets from the tag and forward the raw, still encrypted packets via UDP over Ethernet. The UDP packet format is called SOEP-enc (Sputnik On-Ethernet Protocol - encrypted).

Credits
The Sputnik base station hardware and software has been designed and developed by Milosch Meriac.

Sputnik Aggregator
The aggregator receives the encrypted SOEP packets from all base stations. Furthermore, it decrypts those packets and re-transmits them to one or more destination IPs/Ports. The decrypted UDP frames are called SOEP-dec (SOEP - decrypted).

Credits
The Sputnik Aggregator has been developed by Andy Green.

Sputnik CPS Location Source
The Sputnik CPS Location Source receives SOEP-dec frames and converts them into CPS (Chaos Positioning System) XML Stanzas. Those stanzas are then streamed into the CPS Location Event Reflector (LER)

Credits
The Sputnik CPS Location Source has been developed by Hannes Mehnert and is written in the Dylan programming language.

CPS: Location Event Reflector
The location event reflector (LER) is a daemon receiving location data from Location Sources such as the Sputnik-LS.

It relays this information in XML format to clients who connect to its built-in http server (xml streaming over http).

Visualization systems and a web frontend can then access the location information.

Credits
The CPS LER has been developed by Hannes Mehnert and is written in the Dylan programming language.