How GPS tracker protocols work.

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.
| Protocol | Format | Reports start with | Common on |
|---|---|---|---|
| GT06 | Binary | 78 78 | Concox and many other makers |
| Teltonika Codec 8 | Binary | 00 00 00 00 | Teltonika FMB, FMC and FMM trackers |
| JT/T 808 | Binary | 7E | Trackers and video recorders built to the Chinese standard |
| H02 | Text | *HQ, | SinoTrack and TKSTAR trackers |
| GPS103 | Text | imei: | Coban TK103 and similar units |
| Meitrack | Text | $ | Meitrack trackers |
| Queclink @Track | Text | +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| Bytes | Meaning |
|---|---|
78 78 | Start of the packet |
0D | Length, counted from the protocol number to the CRC |
01 | Protocol number 01, a login |
01 23 45 … 45 | The IMEI, two digits to a byte |
00 01 | Serial number, which the reply repeats |
8C DD | CRC-ITU check over the length, protocol, content and serial |
0D 0A | End of the packet |
The server's reply
78 78 05 01 00 01 D9 DC 0D 0AHow 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.
- 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.
- 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.
- Step 3
Records
Each record holds a timestamp, a priority, the GPS fix and IO values such as ignition, voltage and odometer.
- 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.
Related pages
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.