How GPS tracker protocols work.

A protocol is the format a tracker uses to send its positions and receive commands. The tracker and the server have to use the same one, or the data can't be decoded. Here's how the most common formats work, and what that means when you choose hardware.
Decoded position reports drawn as one vehicle's trips, with its stops marked and a speed chart below

What a protocol covers.

Formats differ in the details, but nearly all of them handle the same six jobs.

Identification

The first message carries the unit's IMEI or ID, so the server can match it to a device in the portal.

Position reports

Time, latitude, longitude, speed, heading and satellite count, usually with extras such as ignition, battery voltage and odometer.

Acknowledgements

The server confirms each report once it's saved. Until then, the tracker keeps the record in memory and sends it again.

Heartbeats

Small messages that keep the connection open while a vehicle is parked, so commands can still reach it.

Alarms

SOS, power cuts, harsh braking and similar events, sent straight away instead of waiting for the next report.

Commands

Messages going the other way, from the server to the tracker, such as an engine cut or a new reporting interval.

Text and binary protocols.

Some trackers send plain text that you can read in a log. Others send binary packets, which are smaller and use less data but need a decoder.

Common GPS tracker protocols and how their reports start
ProtocolFormatReports start withCommon on
GT06Binary78 78Concox and many other makers
Teltonika Codec 8Binary00 00 00 00Teltonika FMB, FMC and FMM trackers
JT/T 808Binary7ETrackers and video recorders built to the Chinese standard
H02Text*HQ,SinoTrack and TKSTAR trackers
GPS103Textimei:Coban TK103 and similar units
MeitrackText$Meitrack trackers
Queclink @TrackText+RESP:Queclink GV and GL trackers

How a GT06 login works.

Each GT06 packet starts with 78 78 and ends with 0D 0A. In between come a length byte, a protocol number, the content, a serial number and a CRC check.

A tracker logs in with protocol number 01, which carries its IMEI. The server has to answer, or the unit drops the connection and tries again. After that, positions arrive as 12 or 22, heartbeats as 13 and alarms as 16 or 26.

A login from IMEI 123456789012345

78 78  0D  01  01 23 45 67 89 01 23 45  00 01  8C DD  0D 0A
The parts of a GT06 login packet
BytesMeaning
78 78Start of the packet
0DLength, counted from the protocol number to the CRC
01Protocol number 01, a login
01 23 45 … 45The IMEI, two digits to a byte
00 01Serial number, which the reply repeats
8C DDCRC-ITU check over the length, protocol, content and serial
0D 0AEnd of the packet

The server's reply

78 78  05  01  00 01  D9 DC  0D 0A

How Teltonika Codec 8 works.

A Teltonika unit opens the connection by sending its IMEI. After that, data arrives in packets that hold one or more records.

  1. Step 1

    IMEI

    Two bytes give the length, then the IMEI follows as text. The server answers 01 to accept the unit, or 00 to refuse it.

  2. Step 2

    Packet header

    Four zero bytes, the data length and a codec ID. That's 08 for Codec 8, or 8E for Codec 8 Extended.

  3. Step 3

    Records

    Each record holds a timestamp, a priority, the GPS fix and IO values such as ignition, voltage and odometer.

  4. Step 4

    Reply

    The server answers with the number of records it saved. If that doesn't match what the unit sent, the unit sends the data again.

Codec 8 Extended uses two-byte IO IDs, which leaves room for CAN and Bluetooth data. Commands to the unit, such as a new setting, travel in a separate format called Codec 12.

How JT/T 808 works.

JT/T 808 is a Chinese national standard for vehicle terminals. Many trackers and mobile video recorders follow it, including models sold well outside China.

Framing

Each message starts and ends with 7E. Inside, any 7E or 7D byte is escaped, so the markers stay unique. The header carries a message ID, the terminal's phone number and a serial number, and an XOR checksum closes the message.

Conversation

A new unit registers with message 0100 and gets an authentication code back. Each time it connects, it sends that code with 0102. Positions arrive as 0200, and the server confirms most messages with a general response, 8001.

Video recorders add JT/T 1078 for live and recorded video. It runs alongside 808, and your server has native listeners for both.

One port per protocol

Your server runs a listener for each protocol, each on its own port. A GT06 unit sent to the Teltonika port gets no answer and keeps retrying. Your portal documentation has a Tracker ports page with the port for each brand.

Which protocols are native

Teltonika, GT06, H02 and JT/T 808 are among the 11 protocols with native listeners. A protocol bridge handles 258 more, from Queclink and Meitrack to Ruptela and Suntech. Both end up as the same positions, reports and alerts.

Choosing hardware with protocols in mind.

A few checks before you buy save a lot of trouble once the units are fitted.

  • Check the protocol as well as the brand, because copies of a popular model don't always send the same packets
  • For dashcam video, choose units that use JT/T 1078 or Teltonika DualCam, which have native listeners
  • Test one unit from each new batch in the connection log before you fit the rest
  • Note the firmware version, since an update can change what a unit sends
  • Ask us about any model you can't find in the device list

Questions about protocols

Do I need to understand protocols to use a tracker?

No. You set the host and port on the unit and add its IMEI in the portal. Protocols matter when you choose hardware, or when a unit connects but its data looks wrong.

Why do so many brands use the GT06 protocol?

It began with Concox's GT06 tracker, and many smaller makers built units that send the same packets. One listener can then handle all of them. Some add packet types of their own, so test one unit before you buy a batch.

What's the difference between Codec 8 and Codec 8 Extended?

Codec 8 Extended uses two-byte IO IDs, so a unit can send far more kinds of IO data. Teltonika trackers need it for much of their CAN and Bluetooth data. Your server accepts both.

Try it on a server of your own.

Order online and we'll usually have your server live within a day, with your domain, your logo and the tracker ports all set up.

Talk to us