Changes

1,391 bytes removed ,  18:17, 30 October 2019
no edit summary
Line 1: Line 1: −
= '''<big>Introduction</big>''' =
+
='''<big>Introduction</big>'''=
 
A codec is a device or computer program for encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder – decoder. A codec encodes a data stream or a signal for transmission and storage, possibly in encrypted form, and the decoder function reverses the encoding for playback or editing. <br> <br>
 
A codec is a device or computer program for encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder – decoder. A codec encodes a data stream or a signal for transmission and storage, possibly in encrypted form, and the decoder function reverses the encoding for playback or editing. <br> <br>
 
Below you will see a table of all Codec types with ID’s: <br>
 
Below you will see a table of all Codec types with ID’s: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 8
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 8
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 8 Extended
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 8 Extended
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 16
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 12
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 12
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 13
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 13
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec 14
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec 14
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 0x08
+
| style="vertical-align: middle; text-align: center;" |0x08
| style="vertical-align: middle; text-align: center;" | 0x8E
+
| style="vertical-align: middle; text-align: center;" |0x8E
| style="vertical-align: middle; text-align: center;" | 0x10
+
| style="vertical-align: middle; text-align: center;" |0x10
| style="vertical-align: middle; text-align: center;" | 0x0C
+
| style="vertical-align: middle; text-align: center;" |0x0C
| style="vertical-align: middle; text-align: center;" | 0x0D
+
| style="vertical-align: middle; text-align: center;" |0x0D
| style="vertical-align: middle; text-align: center;" | 0x0E
+
| style="vertical-align: middle; text-align: center;" |0x0E
 
|-
 
|-
 
|}
 
|}
 
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be use in Codec. <br>
 
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be use in Codec. <br>
   −
= '''<big>Codec for device data sending</big>''' =
+
='''<big>Codec for device data sending</big>'''=
 
In this chapter you will find information about every Codec protocol which are using for device data sending and differences between them. <br> <br>
 
In this chapter you will find information about every Codec protocol which are using for device data sending and differences between them. <br> <br>
   −
== '''<big>Codec 8</big>''' ==
+
=='''<big>Codec 8</big>'''==
    
*'''<big>Protocol Overview</big>'''
 
*'''<big>Protocol Overview</big>'''
 +
 
Codec8 – a main FM device protocol that is used for sending data to server. <br> <br>
 
Codec8 – a main FM device protocol that is used for sending data to server. <br> <br>
    
*'''<big>Codec8 protocol sending over TCP</big>'''
 
*'''<big>Codec8 protocol sending over TCP</big>'''
 +
 
TCP is a connection-oriented protocol that is using for communication between devices. How this type protocol works you will read later. <br> <br>
 
TCP is a connection-oriented protocol that is using for communication between devices. How this type protocol works you will read later. <br> <br>
    
*'''AVL Data Packet'''
 
*'''AVL Data Packet'''
Below table represents AVL Data Packet structure: <br>
+
 
{| class="nd-othertables_2" style="width:100%;
+
Below table represents AVL Data Packet structure:  
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Field Length
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Field Length
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 2
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 2
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
 +
 +
 
'''Preamble''' – the packet starts with four zero bytes. <br>
 
'''Preamble''' – the packet starts with four zero bytes. <br>
 
'''Data Field Length''' – size is calculated starting from Codec ID to Number of Data 2. <br>
 
'''Data Field Length''' – size is calculated starting from Codec ID to Number of Data 2. <br>
Line 60: Line 65:  
'''Number of Data 2''' – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. <br>
 
'''Number of Data 2''' – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. <br>
 
'''CRC-16''' – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using CRC-16/IBM. More information about it you can found [[Codec#CRC-16|here]]. <br> <br>
 
'''CRC-16''' – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using CRC-16/IBM. More information about it you can found [[Codec#CRC-16|here]]. <br> <br>
'''Note:''' for FMB6XY and FM63XY, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. For other devices, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. <br> <br>
+
'''Note:''' for FMB6XY and FM63XY, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. For other devices, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. <br>  
 +
 
 +
<br />
    
*AVL Data
 
*AVL Data
Below table represents AVL Data structure. <br>
+
 
{| class="nd-othertables_2" style="width:100%;
+
Below table represents AVL Data structure.  
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Timestamp
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Timestamp
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | GPS Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |GPS Element
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | IO Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |IO Element
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 15 bytes
+
| style="vertical-align: middle; text-align: center;" |15 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
 
|-
 
|-
 
|}
 
|}
Line 83: Line 91:     
*Priority
 
*Priority
Below table represents Priority values. Packet priority depends on device configuration and records sent. <br>
+
 
{| class="nd-othertables_2" style="width:25%;
+
Below table represents Priority values. Packet priority depends on device configuration and records sent.  
 +
{| class="nd-othertables_2" style="width:25%;"
 
|+
 
|+
! colspan="2" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! colspan="2" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 0
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |0
| style="vertical-align: middle; text-align: center;" | Low
+
| style="vertical-align: middle; text-align: center;" |Low
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 1
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | High
+
| style="vertical-align: middle; text-align: center;" |High
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 2
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |2
| style="vertical-align: middle; text-align: center;" | Panic
+
| style="vertical-align: middle; text-align: center;" |Panic
 
|}<br>
 
|}<br>
    
*GPS element
 
*GPS element
Below table represents GPS Element structure: <br>
+
 
{| class="nd-othertables_2" style="width:100%;
+
Below table represents GPS Element structure:  
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Longitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Longitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Latitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Latitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Altitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Altitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Angle
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Angle
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Satellites
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Satellites
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Speed
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Speed
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
 
|}
 
|}
Line 136: Line 146:     
*IO Element
 
*IO Element
{| class="nd-othertables_2" style="width:100%;
+
 
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | Event IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
| rowspan="26" style=" width:5%; vertical-align: middle; text-align: left;" |
 
| rowspan="26" style=" width:5%; vertical-align: middle; text-align: left;" |
| rowspan="26" style=" width:65%; vertical-align: middle; text-align: left;" | '''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
+
| rowspan="26" style=" width:65%; vertical-align: middle; text-align: left;" |'''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
Line 150: Line 161:  
'''N’th IO Value''' - AVL ID value. <br>
 
'''N’th IO Value''' - AVL ID value. <br>
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N of Total IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N of Total IO
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2 of Two Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2 of Two Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4 of Four Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4 of Four Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO Value
| style="vertical-align: middle; text-align: center;" | 4 byte
+
| style="vertical-align: middle; text-align: center;" |4 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8 of Eight Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8 of Eight Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 8 byte
+
| style="vertical-align: middle; text-align: center;" |8 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO ID
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO Value
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes). <br>
 
First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes). <br>
 
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. <br>
 
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. <br>
Line 230: Line 242:  
Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). <br>
 
Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). <br>
 
If sent data number and reported by server doesn’t match module resends sent data. <br> <br>
 
If sent data number and reported by server doesn’t match module resends sent data. <br> <br>
 +
 
*Example:  <br>
 
*Example:  <br>
 +
 
Module connects to server and sends IMEI: <br>
 
Module connects to server and sends IMEI: <br>
 
000F333536333037303432343431303133 <br>
 
000F333536333037303432343431303133 <br>
Line 236: Line 250:  
01 <br>
 
01 <br>
 
Module sends data packet: <br>
 
Module sends data packet: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Four Zero Bytes – 0x00000000,
+
| style="vertical-align: middle; text-align: center;" |Four Zero Bytes – 0x00000000,
 
“AVL Data Array” length – 0x000000FE
 
“AVL Data Array” length – 0x000000FE
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x08,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x08,
 
Number of Data – '''0x02''' <br>
 
Number of Data – '''0x02''' <br>
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | CRC of “AVL Data Array”
+
| style="vertical-align: middle; text-align: center;" |CRC of “AVL Data Array”
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00000000000000FE
+
| style="vertical-align: middle; text-align: center;" |00000000000000FE
| style="vertical-align: middle; text-align: center;" | 08'''02'''...(data elements)...'''02'''
+
| style="vertical-align: middle; text-align: center;" |08'''02'''...(data elements)...'''02'''
| style="vertical-align: middle; text-align: center;" | 00008612
+
| style="vertical-align: middle; text-align: center;" |00008612
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 257: Line 271:     
*'''Examples'''
 
*'''Examples'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in these examples are given in hexadecimal form. The different fields of packets are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in these examples are given in hexadecimal form. The different fields of packets are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
   Line 264: Line 279:  
000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF <br> <br>
 
000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Field Length
+
| style="vertical-align: middle; text-align: center;" |Data Field Length
| style="vertical-align: middle; text-align: center;" | 00 00 00 36
+
| style="vertical-align: middle; text-align: center;" |00 00 00 36
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 08
+
| style="vertical-align: middle; text-align: center;" |08
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="24" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="24" style="vertical-align: middle; text-align: center;" |AVL Data
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 00 01 6B 40 D8 EA 30 (GMT: Monday, June 10, 2019 10:04:46 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 00 01 6B 40 D8 EA 30 (GMT: Monday, June 10, 2019 10:04:46 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 15 (AVL ID: 21, Name: GSM Signal)
+
| style="vertical-align: middle; text-align: center;" |15 (AVL ID: 21, Name: GSM Signal)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 03
+
| style="vertical-align: middle; text-align: center;" |03
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 5E 0F
+
| style="vertical-align: middle; text-align: center;" |5E 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Four Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | F1 (AVL ID: 241, Name: Active GSM Operator)
+
| style="vertical-align: middle; text-align: center;" |F1 (AVL ID: 241, Name: Active GSM Operator)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 60 1A
+
| style="vertical-align: middle; text-align: center;" |00 00 60 1A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Eight Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 4E (AVL ID: 78, Name: iButton)
+
| style="vertical-align: middle; text-align: center;" |4E (AVL ID: 78, Name: iButton)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 00 00 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00 00 00 00 00
 
|-
 
|-
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 C7 CF
+
| style="vertical-align: middle; text-align: center;" |00 00 C7 CF
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 372: Line 387:  
000000000000002808010000016B40D9AD80010000000000000000000000000000000103021503010101425E100000010000F22A <br> <br>
 
000000000000002808010000016B40D9AD80010000000000000000000000000000000103021503010101425E100000010000F22A <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Field Length
+
| style="vertical-align: middle; text-align: center;" |Data Field Length
| style="vertical-align: middle; text-align: center;" | 00 00 00 28
+
| style="vertical-align: middle; text-align: center;" |00 00 00 28
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 08
+
| style="vertical-align: middle; text-align: center;" |08
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="20" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="20" style="vertical-align: middle; text-align: center;" |AVL Data
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 40 D9 AD 80 (GMT: Monday, June 10, 2019 10:05:36 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 40 D9 AD 80 (GMT: Monday, June 10, 2019 10:05:36 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 03
+
| style="vertical-align: middle; text-align: center;" |03
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 15 (AVL ID: 21, Name: GSM Signal)
+
| style="vertical-align: middle; text-align: center;" |15 (AVL ID: 21, Name: GSM Signal)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 03
+
| style="vertical-align: middle; text-align: center;" |03
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 5E 0F
+
| style="vertical-align: middle; text-align: center;" |5E 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 F2 2A
+
| style="vertical-align: middle; text-align: center;" |00 00 F2 2A
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 469: Line 484:  
101010101000000020000252C <br> <br>
 
101010101000000020000252C <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Field Length
+
| style="vertical-align: middle; text-align: center;" |Data Field Length
| style="vertical-align: middle; text-align: center;" | 00 00 00 43
+
| style="vertical-align: middle; text-align: center;" |00 00 00 43
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 08
+
| style="vertical-align: middle; text-align: center;" |08
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| rowspan="16" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="16" style="vertical-align: middle; text-align: center;" |AVL Data
 
(1'st record)
 
(1'st record)
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 40 D5 7B 48 (GMT: Monday, June 10, 2019 10:01:01 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 40 D5 7B 48 (GMT: Monday, June 10, 2019 10:01:01 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| rowspan="16" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="16" style="vertical-align: middle; text-align: center;" |AVL Data
 
(2'nd record)
 
(2'nd record)
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 40 D5 C1 98 (GMT: Monday, June 10, 2019 10:01:19 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 40 D5 C1 98 (GMT: Monday, June 10, 2019 10:01:19 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 25 2C
+
| style="vertical-align: middle; text-align: center;" |00 00 25 2C
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 600: Line 615:     
*'''<big>Codec8 protocol sending over UDP</big>'''
 
*'''<big>Codec8 protocol sending over UDP</big>'''
 +
 
UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. <br>
 
UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. <br>
    
*'''AVL Data Packet'''
 
*'''AVL Data Packet'''
 +
 
The packet structure is as follows: <br>
 
The packet structure is as follows: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Datagram
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Datagram
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Example
+
| style="vertical-align: middle; text-align: center;" |Example
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not Usable Byte
+
| style="vertical-align: middle; text-align: center;" |Not Usable Byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet Payload
+
| style="vertical-align: middle; text-align: center;" |Packet Payload
| style="vertical-align: middle; text-align: center;" | Variable
+
| style="vertical-align: middle; text-align: center;" |Variable
 
|-
 
|-
 
|}
 
|}
Line 627: Line 644:     
*Acknowledgment packet
 
*Acknowledgment packet
 +
 
Acknowledgment packet should have the same Packet ID as acknowledged data packet and empty Data Payload. Acknowledgement should be sent in binary format. <br>
 
Acknowledgment packet should have the same Packet ID as acknowledged data packet and empty Data Payload. Acknowledgement should be sent in binary format. <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Acknowledgment Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Acknowledgment Packet
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Packet Length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Packet Length
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Packet ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Packet ID
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Not Usable Byte
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Not Usable Byte
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
 
|}
 
|}
Line 646: Line 664:     
*Sending AVL Packet Payload using UDP channel
 
*Sending AVL Packet Payload using UDP channel
 +
 
Below table represents Sending Packet Payload structure. <br>
 
Below table represents Sending Packet Payload structure. <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="4" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL data encapsulated in UDP channel packet
+
! colspan="4" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL data encapsulated in UDP channel packet
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Packet ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Packet ID
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | IMEI Length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |IMEI Length
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Module IMEI
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Module IMEI
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data Array
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 15 bytes
+
| style="vertical-align: middle; text-align: center;" |15 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
 
|-
 
|-
 
|}
 
|}
Line 667: Line 686:  
'''AVL Data Array''' – array of encoded AVL data (same as TCP AVL Data Array). <br> <br>
 
'''AVL Data Array''' – array of encoded AVL data (same as TCP AVL Data Array). <br> <br>
   −
* Server response Packet Payload using UDP channel
+
*Server response Packet Payload using UDP channel
 +
 
 
Below table represents Server Response Packet Payload structure. <br>
 
Below table represents Server Response Packet Payload structure. <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Response to AVL Data Packet
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Response to AVL Data Packet
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Packet ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Packet ID
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Number of Accepted AVL Elements
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Number of Accepted AVL Elements
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
 
|} <br>
 
|} <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
* Example:  
+
 
 +
*Example:
 +
 
 
Module sends the data: <br>
 
Module sends the data: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x00FE,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x00FE,
 
Packet ID – 0xCAFE <br>
 
Packet ID – 0xCAFE <br>
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
IMEI Length – 0x000F <br>
 
IMEI Length – 0x000F <br>
 
IMEI – 0x313233343536373839303132333435
 
IMEI – 0x313233343536373839303132333435
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x08,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x08,
 
Number of Data – 0x02 <br>
 
Number of Data – 0x02 <br>
 
(Encoded using continuous bit stream)
 
(Encoded using continuous bit stream)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00FECAFE01
+
| style="vertical-align: middle; text-align: center;" |00FECAFE01
| style="vertical-align: middle; text-align: center;" | DD000F3133343536373839303132333435
+
| style="vertical-align: middle; text-align: center;" |DD000F3133343536373839303132333435
| style="vertical-align: middle; text-align: center;" | 0802…(data elements)…02
+
| style="vertical-align: middle; text-align: center;" |0802…(data elements)…02
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
 
Server must respond with acknowledgment: <br>
 
Server must respond with acknowledgment: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x0005,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x0005,
 
Packet ID – 0xCAFE,
 
Packet ID – 0xCAFE,
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
Number of Accepted Data – 0x02
 
Number of Accepted Data – 0x02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 0005CAFE01
+
| style="vertical-align: middle; text-align: center;" |0005CAFE01
| style="vertical-align: middle; text-align: center;" | DD02
+
| style="vertical-align: middle; text-align: center;" |DD02
 
|-
 
|-
 
|}<br> <br>
 
|}<br> <br>
    
*'''Example'''
 
*'''Example'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Received data in hexadecimal stream: <br>
 
Received data in hexadecimal stream: <br>
 
003DCAFE0105000F33353230393330383634303336353508010000016B4F815B30010000000000000000000000000000000103021503010101425DBC000001 <br> <br>
 
003DCAFE0105000F33353230393330383634303336353508010000016B4F815B30010000000000000000000000000000000103021503010101425DBC000001 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 00 3D
+
| style="vertical-align: middle; text-align: center;" |00 3D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | AVL Packet Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |AVL Packet Header
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI Length
+
| style="vertical-align: middle; text-align: center;" |IMEI Length
| style="vertical-align: middle; text-align: center;" | 00 0F
+
| style="vertical-align: middle; text-align: center;" |00 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 33 35 32 30 39 33 30 38 36 34 30 33 36 35 35
+
| style="vertical-align: middle; text-align: center;" |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35
 
|-
 
|-
| rowspan="23" style="vertical-align: middle; text-align: center;" | AVL Data Array
+
| rowspan="23" style="vertical-align: middle; text-align: center;" |AVL Data Array
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 08
+
| style="vertical-align: middle; text-align: center;" |08
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 4F 81 5B 30 (GMT: Thursday, June 13, 2019 6:23:26 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 4F 81 5B 30 (GMT: Thursday, June 13, 2019 6:23:26 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 03
+
| style="vertical-align: middle; text-align: center;" |03
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 15 (AVL ID: 21, Name: GSM Signal)
+
| style="vertical-align: middle; text-align: center;" |15 (AVL ID: 21, Name: GSM Signal)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 03
+
| style="vertical-align: middle; text-align: center;" |03
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 5D BC
+
| style="vertical-align: middle; text-align: center;" |5D BC
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 830: Line 854:  
0005CAFE010501 <br> <br>
 
0005CAFE010501 <br> <br>
 
Parsed:
 
Parsed:
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Response to AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Response to AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | Server Response Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |Server Response Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 00 05
+
| style="vertical-align: middle; text-align: center;" |00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="2" style="vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
| rowspan="2" style="vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Accepted Data
+
| style="vertical-align: middle; text-align: center;" |Number of Accepted Data
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
   −
== '''<big>Codec 8 Extended</big>''' ==
+
=='''<big>Codec 8 Extended</big>'''==
    
*'''<big>Protocols overview</big>'''
 
*'''<big>Protocols overview</big>'''
 +
 
Codec8 Extended is using for FMBXXX family devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in below table: <br>
 
Codec8 Extended is using for FMBXXX family devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in below table: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec8
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec8
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec8 Extended
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec8 Extended
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0x08
+
| style="vertical-align: middle; text-align: center;" |0x08
| style="vertical-align: middle; text-align: center;" | 0x8E
+
| style="vertical-align: middle; text-align: center;" |0x8E
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element total IO count length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element total IO count length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element IO count length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element IO count length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element AVL ID length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element AVL ID length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Variable size IO elements
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Variable size IO elements
| style="vertical-align: middle; text-align: center;" | Does not include
+
| style="vertical-align: middle; text-align: center;" |Does not include
| style="vertical-align: middle; text-align: center;" | Includes variable size elements
+
| style="vertical-align: middle; text-align: center;" |Includes variable size elements
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 895: Line 920:  
   
 
   
 
*'''AVL data packet'''
 
*'''AVL data packet'''
 +
 
Below table represents AVL data packet structure: <br>
 
Below table represents AVL data packet structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Field Length
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Field Length
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 2
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 2
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
Line 925: Line 951:     
*AVL Data
 
*AVL Data
 +
 
Below table represents AVL Data structure: <br>
 
Below table represents AVL Data structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Timestamp
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Timestamp
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | GPS Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |GPS Element
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | IO Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |IO Element
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 15 bytes
+
| style="vertical-align: middle; text-align: center;" |15 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
 
|-
 
|-
 
|}
 
|}
Line 945: Line 972:     
*Priority
 
*Priority
 +
 
Below table represents Priority values. Packet priority depends on device configuration and records sent. <br>
 
Below table represents Priority values. Packet priority depends on device configuration and records sent. <br>
{| class="nd-othertables_2" style="width:25%;
+
{| class="nd-othertables_2" style="width:25%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 0
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |0
| style="vertical-align: middle; text-align: center;" | Low
+
| style="vertical-align: middle; text-align: center;" |Low
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 1
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | High
+
| style="vertical-align: middle; text-align: center;" |High
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 2
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |2
| style="vertical-align: middle; text-align: center;" | Panic
+
| style="vertical-align: middle; text-align: center;" |Panic
 
|} <br> <br>
 
|} <br> <br>
    
*GPS element
 
*GPS element
 +
 
Below table represents GPS Element structure: <br>
 
Below table represents GPS Element structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Longitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Longitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Latitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Latitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Altitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Altitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Angle
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Angle
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Satellites
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Satellites
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Speed
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Speed
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
 
|}
 
|}
Line 998: Line 1,027:     
*IO Element
 
*IO Element
{| class="nd-othertables_2" style="width:100%;
+
 
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | Event IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
| rowspan="33" style=" width:5%; vertical-align: middle; text-align: left;" |
 
| rowspan="33" style=" width:5%; vertical-align: middle; text-align: left;" |
| rowspan="33" style=" width:65%; vertical-align: middle; text-align: left;" | '''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
+
| rowspan="33" style=" width:65%; vertical-align: middle; text-align: left;" |'''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
Line 1,014: Line 1,044:  
'''N’th IO Value''' - AVL ID value. <br> <br>
 
'''N’th IO Value''' - AVL ID value. <br> <br>
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N of Total IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N of Total IO
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2 of Two Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2 of Two Bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4 of Four Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4 of Four Bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO Value
| style="vertical-align: middle; text-align: center;" | 4 byte
+
| style="vertical-align: middle; text-align: center;" |4 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8 of Eight Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8 of Eight Bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 8 byte
+
| style="vertical-align: middle; text-align: center;" |8 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO Value
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | NX of X Byte IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |NX of X Byte IO
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Length
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Length
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | Defined by lenght
+
| style="vertical-align: middle; text-align: center;" |Defined by lenght
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | NX’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |NX’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | NX’th Length
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |NX’th Length
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | NX’th Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |NX’th Value
| style="vertical-align: middle; text-align: center;" | Defined by lenght
+
| style="vertical-align: middle; text-align: center;" |Defined by lenght
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
Communication with server is the same as with Codec8 protocol, except in Codec8 Extended protocol Codec ID is 0x8E. <br> <br>
 
Communication with server is the same as with Codec8 protocol, except in Codec8 Extended protocol Codec ID is 0x8E. <br> <br>
 +
 
*Example: <br>
 
*Example: <br>
 +
 
Module connects to server and sends IMEI: <br>
 
Module connects to server and sends IMEI: <br>
 
000F333536333037303432343431303133 <br>
 
000F333536333037303432343431303133 <br>
Line 1,118: Line 1,151:  
01 <br>
 
01 <br>
 
Module sends data packet: <br>
 
Module sends data packet: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Four Zero Bytes – 0x00000000,
+
| style="vertical-align: middle; text-align: center;" |Four Zero Bytes – 0x00000000,
 
“AVL Data Array” length – 0x000000FE
 
“AVL Data Array” length – 0x000000FE
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x8E,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x8E,
 
Number of Data – '''0x02''' <br>
 
Number of Data – '''0x02''' <br>
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | CRC of “AVL Data Array”
+
| style="vertical-align: middle; text-align: center;" |CRC of “AVL Data Array”
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00000000000000FE
+
| style="vertical-align: middle; text-align: center;" |00000000000000FE
| style="vertical-align: middle; text-align: center;" | 8E'''02'''...(data elements)...'''02'''
+
| style="vertical-align: middle; text-align: center;" |8E'''02'''...(data elements)...'''02'''
| style="vertical-align: middle; text-align: center;" | 00008612
+
| style="vertical-align: middle; text-align: center;" |00008612
 
|-
 
|-
 
|}<br>
 
|}<br>
 
Server acknowledges data reception (2 data elements): '''00000002''' <br> <br>
 
Server acknowledges data reception (2 data elements): '''00000002''' <br> <br>
 +
 
*'''Example'''
 
*'''Example'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Received data in hexadecimal stream: <br>
 
Received data in hexadecimal stream: <br>
Line 1,143: Line 1,178:  
A000E000000001DD7E06A00000100002994 <br> <br>
 
A000E000000001DD7E06A00000100002994 <br> <br>
 
Parsed data:
 
Parsed data:
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Field Length
+
| style="vertical-align: middle; text-align: center;" |Data Field Length
| style="vertical-align: middle; text-align: center;" | 00 00 00 4A
+
| style="vertical-align: middle; text-align: center;" |00 00 00 4A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 8E
+
| style="vertical-align: middle; text-align: center;" |8E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="25" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="25" style="vertical-align: middle; text-align: center;" |AVL Data
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 41 2C EE 00 (GMT: Monday, June 10, 2019 11:36:32 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 41 2C EE 00 (GMT: Monday, June 10, 2019 11:36:32 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 00 05
+
| style="vertical-align: middle; text-align: center;" |00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |00 01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 11 (AVL ID: 17, Name: Axis X)
+
| style="vertical-align: middle; text-align: center;" |00 11 (AVL ID: 17, Name: Axis X)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 1D
+
| style="vertical-align: middle; text-align: center;" |00 1D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 10 (AVL ID: 16, Name: Total Odometer)
+
| style="vertical-align: middle; text-align: center;" |00 10 (AVL ID: 16, Name: Total Odometer)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 01 5E 2C 88
+
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 02
+
| style="vertical-align: middle; text-align: center;" |00 02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B (AVL ID: 11, Name: ICCID1)
+
| style="vertical-align: middle; text-align: center;" |00 0B (AVL ID: 11, Name: ICCID1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 00 00 35 44 C8 7A
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00 35 44 C8 7A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 0E (AVL ID: 14, Name: ICCID2)
+
| style="vertical-align: middle; text-align: center;" |00 0E (AVL ID: 14, Name: ICCID2)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 00 00 1D D7 E0 6A
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00 1D D7 E0 6A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | NX of X Byte IO
+
| style="vertical-align: middle; text-align: center;" |NX of X Byte IO
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 29 94
+
| style="vertical-align: middle; text-align: center;" |00 00 29 94
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 1,252: Line 1,287:     
*'''UDP channel protocol'''
 
*'''UDP channel protocol'''
 +
 
AVL data packet is the same as with Codec8, except Codec ID is changed to 0x8E. <br> <br>
 
AVL data packet is the same as with Codec8, except Codec ID is changed to 0x8E. <br> <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
* Example:  
+
 
 +
*Example:
 +
 
 
Module sends the data: <br>
 
Module sends the data: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x00FE,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x00FE,
 
Packet ID – 0xCAFE <br>
 
Packet ID – 0xCAFE <br>
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
IMEI Length – 0x000F <br>
 
IMEI Length – 0x000F <br>
 
IMEI – 0x313233343536373839303132333435
 
IMEI – 0x313233343536373839303132333435
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x8E,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x8E,
 
Number of Data – 0x02 <br>
 
Number of Data – 0x02 <br>
 
(Encoded using continuous bit stream)
 
(Encoded using continuous bit stream)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00FECAFE01
+
| style="vertical-align: middle; text-align: center;" |00FECAFE01
| style="vertical-align: middle; text-align: center;" | DD000F3133343536373839303132333435
+
| style="vertical-align: middle; text-align: center;" |DD000F3133343536373839303132333435
| style="vertical-align: middle; text-align: center;" | 8E02…(data elements)…02
+
| style="vertical-align: middle; text-align: center;" |8E02…(data elements)…02
 
|-
 
|-
 
|} <br>
 
|} <br>
 
Server must respond with acknowledgment: <br>
 
Server must respond with acknowledgment: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x0005,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x0005,
 
Packet ID – 0xCAFE,
 
Packet ID – 0xCAFE,
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
Number of Accepted Data – 0x02
 
Number of Accepted Data – 0x02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 0005CAFE01
+
| style="vertical-align: middle; text-align: center;" |0005CAFE01
| style="vertical-align: middle; text-align: center;" | DD02
+
| style="vertical-align: middle; text-align: center;" |DD02
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
 +
 
*'''Example'''
 
*'''Example'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Received data in hexadecimal stream: <br>
 
Received data in hexadecimal stream: <br>
Line 1,302: Line 1,343:  
10015E2C880002000B000000003544C87A000E000000001DD7E06A000001 <br> <br>
 
10015E2C880002000B000000003544C87A000E000000001DD7E06A000001 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 00 5F
+
| style="vertical-align: middle; text-align: center;" |00 5F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | AVL Packet Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |AVL Packet Header
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI Length
+
| style="vertical-align: middle; text-align: center;" |IMEI Length
| style="vertical-align: middle; text-align: center;" | 00 0F
+
| style="vertical-align: middle; text-align: center;" |00 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 33 35 32 30 39 33 30 38 36 34 30 33 36 35 35
+
| style="vertical-align: middle; text-align: center;" |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35
 
|-
 
|-
| rowspan="27" style="vertical-align: middle; text-align: center;" | AVL Data Array
+
| rowspan="27" style="vertical-align: middle; text-align: center;" |AVL Data Array
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 8E
+
| style="vertical-align: middle; text-align: center;" |8E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B 4F 83 1C 68 (GMT: Thursday, June 13, 2019 6:25:21 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B 4F 83 1C 68 (GMT: Thursday, June 13, 2019 6:25:21 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 00 05
+
| style="vertical-align: middle; text-align: center;" |00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |00 01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 11 (AVL ID: 17, Name: Axis X)
+
| style="vertical-align: middle; text-align: center;" |00 11 (AVL ID: 17, Name: Axis X)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 1D
+
| style="vertical-align: middle; text-align: center;" |00 1D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 01
+
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 10 (AVL ID: 16, Name: Total Odometer)
+
| style="vertical-align: middle; text-align: center;" |00 10 (AVL ID: 16, Name: Total Odometer)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 01 5E 2C 88
+
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00 02
+
| style="vertical-align: middle; text-align: center;" |00 02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B (AVL ID: 11, Name: ICCID1)
+
| style="vertical-align: middle; text-align: center;" |00 0B (AVL ID: 11, Name: ICCID1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 00 00 35 44 C8 7A
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00 35 44 C8 7A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 0E (AVL ID: 14, Name: ICCID2)
+
| style="vertical-align: middle; text-align: center;" |00 0E (AVL ID: 14, Name: ICCID2)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 00 00 00 00 1D D7 E0 6A
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00 1D D7 E0 6A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | NX of X Byte IO
+
| style="vertical-align: middle; text-align: center;" |NX of X Byte IO
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 1,415: Line 1,456:  
0005CAFE010700 <br> <br>
 
0005CAFE010700 <br> <br>
 
Parsed:
 
Parsed:
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Response to AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Response to AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | Server Response Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |Server Response Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 00 05
+
| style="vertical-align: middle; text-align: center;" |00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="2" style="vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
| rowspan="2" style="vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 07
+
| style="vertical-align: middle; text-align: center;" |07
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Accepted Data
+
| style="vertical-align: middle; text-align: center;" |Number of Accepted Data
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
   −
== '''<big>Codec 16</big>''' ==
+
=='''<big>Codec 16</big>'''==
    
*'''<big>Protocol overview</big>'''
 
*'''<big>Protocol overview</big>'''
 +
 
Codec16 is using for FMB630/FM63XY devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in table below: <br>
 
Codec16 is using for FMB630/FM63XY devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in table below: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec8
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec8
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec16
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0x08
+
| style="vertical-align: middle; text-align: center;" |0x08
| style="vertical-align: middle; text-align: center;" | 0x10
+
| style="vertical-align: middle; text-align: center;" |0x10
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element ID event length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element ID event length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element AVL ID length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element AVL ID length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Generation Type
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
| style="vertical-align: middle; text-align: center;" | Is Using
+
| style="vertical-align: middle; text-align: center;" |Is Using
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 1,475: Line 1,517:     
Below table represents AVL data packet structure: <br>
 
Below table represents AVL data packet structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Field Length
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Field Length
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Number of Data 2
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Number of Data 2
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
Line 1,504: Line 1,546:     
*AVL Data
 
*AVL Data
 +
 
Below table represents AVL Data structure: <br>
 
Below table represents AVL Data structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Timestamp
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Timestamp
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | GPS Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |GPS Element
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | IO Element
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |IO Element
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 15 bytes
+
| style="vertical-align: middle; text-align: center;" |15 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
 
|-
 
|-
 
|}
 
|}
Line 1,524: Line 1,567:     
*Priority
 
*Priority
 +
 
Below table represents Priority values. Packet priority depends on device configuration and records sent. <br>
 
Below table represents Priority values. Packet priority depends on device configuration and records sent. <br>
{| class="nd-othertables_2" style="width:25%;
+
{| class="nd-othertables_2" style="width:25%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Priority
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Priority
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 0
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |0
| style="vertical-align: middle; text-align: center;" | Low
+
| style="vertical-align: middle; text-align: center;" |Low
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 1
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | High
+
| style="vertical-align: middle; text-align: center;" |High
 
|-
 
|-
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | 2
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |2
| style="vertical-align: middle; text-align: center;" | Panic
+
| style="vertical-align: middle; text-align: center;" |Panic
 
|} <br> <br>
 
|} <br> <br>
    
*GPS element
 
*GPS element
 +
 
Below table represents GPS Element structure: <br>
 
Below table represents GPS Element structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Longitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Longitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Latitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Latitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Altitude
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Altitude
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Angle
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Angle
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Satellites
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Satellites
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Speed
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Speed
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
 
|}
 
|}
Line 1,577: Line 1,622:     
*IO Element
 
*IO Element
{| class="nd-othertables_2" style="width:100%;
+
 
 +
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | Event IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
| rowspan="27" style=" width:5%; vertical-align: middle; text-align: left;" |
 
| rowspan="27" style=" width:5%; vertical-align: middle; text-align: left;" |
| rowspan="27" style=" width:65%; vertical-align: middle; text-align: left;" | '''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
+
| rowspan="27" style=" width:65%; vertical-align: middle; text-align: left;" |'''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
 
'''Generation type''' - data event generation type. More information about it you can find here. <br>
 
'''Generation type''' - data event generation type. More information about it you can find here. <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
Line 1,592: Line 1,638:  
'''N’th IO Value''' - AVL ID value. <br> <br>
 
'''N’th IO Value''' - AVL ID value. <br> <br>
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | Generation Type
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N of Total IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N of Total IO
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N1’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N1’th IO Value
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2 of Two Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2 of Two Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N2’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N2’th IO Value
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4 of Four Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4 of Four Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N4’th IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N4’th IO Value
| style="vertical-align: middle; text-align: center;" | 4 byte
+
| style="vertical-align: middle; text-align: center;" |4 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8 of Eight Bytes
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8 of Eight Bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | 1’st IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 8 byte
+
| style="vertical-align: middle; text-align: center;" |8 byte
 
|-
 
|-
| colspan="2" style="vertical-align: middle; text-align: center;" | ...
+
| colspan="2" style="vertical-align: middle; text-align: center;" |...
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO ID
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO ID
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" | N8’IO Value
+
! rowspan="1" style="width:15%; vertical-align: middle; text-align: center;" |N8’IO Value
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
 +
 
*Generation type
 
*Generation type
{| class="nd-othertables_2" style="width:30%;
+
 
 +
{| class="nd-othertables_2" style="width:30%;"
 
|+
 
|+
! rowspan="1" style="width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Value
+
! rowspan="1" style="width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Value
! rowspan="1" style="width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Record Created
+
! rowspan="1" style="width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Record Created
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 0
+
| style="vertical-align: middle; text-align: center;" |0
| style="vertical-align: middle; text-align: center;" | On Exit
+
| style="vertical-align: middle; text-align: center;" |On Exit
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1
+
| style="vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | On Entrance
+
| style="vertical-align: middle; text-align: center;" |On Entrance
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2
+
| style="vertical-align: middle; text-align: center;" |2
| style="vertical-align: middle; text-align: center;" | On Both
+
| style="vertical-align: middle; text-align: center;" |On Both
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 3
+
| style="vertical-align: middle; text-align: center;" |3
| style="vertical-align: middle; text-align: center;" | Reserved
+
| style="vertical-align: middle; text-align: center;" |Reserved
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4
+
| style="vertical-align: middle; text-align: center;" |4
| style="vertical-align: middle; text-align: center;" | Hysteresis
+
| style="vertical-align: middle; text-align: center;" |Hysteresis
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 5
+
| style="vertical-align: middle; text-align: center;" |5
| style="vertical-align: middle; text-align: center;" | On Change
+
| style="vertical-align: middle; text-align: center;" |On Change
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 6
+
| style="vertical-align: middle; text-align: center;" |6
| style="vertical-align: middle; text-align: center;" | Eventual
+
| style="vertical-align: middle; text-align: center;" |Eventual
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 7
+
| style="vertical-align: middle; text-align: center;" |7
| style="vertical-align: middle; text-align: center;" | Periodical
+
| style="vertical-align: middle; text-align: center;" |Periodical
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
Communication with server is the same as with Codec8 protocol, except in Codec16 protocol Codec ID is 0x10 and has generation type. <br> <br>
 
Communication with server is the same as with Codec8 protocol, except in Codec16 protocol Codec ID is 0x10 and has generation type. <br> <br>
 +
 
*Example:
 
*Example:
 +
 
Module connects to server and sends IMEI: <br>
 
Module connects to server and sends IMEI: <br>
 
000F333536333037303432343431303133 <br>
 
000F333536333037303432343431303133 <br>
Line 1,707: Line 1,758:  
01 <br>
 
01 <br>
 
Module sends data packet: <br>
 
Module sends data packet: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Four Zero Bytes – 0x00000000,
+
| style="vertical-align: middle; text-align: center;" |Four Zero Bytes – 0x00000000,
 
“AVL Data Array” length – 0x000000FE
 
“AVL Data Array” length – 0x000000FE
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x10,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x10,
 
Number of Data – '''0x02''' <br>
 
Number of Data – '''0x02''' <br>
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | CRC of “AVL Data Array”
+
| style="vertical-align: middle; text-align: center;" |CRC of “AVL Data Array”
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00000000000000FE
+
| style="vertical-align: middle; text-align: center;" |00000000000000FE
| style="vertical-align: middle; text-align: center;" | 10'''02'''...(data elements)...'''02'''
+
| style="vertical-align: middle; text-align: center;" |10'''02'''...(data elements)...'''02'''
| style="vertical-align: middle; text-align: center;" | 00008612
+
| style="vertical-align: middle; text-align: center;" |00008612
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 1,728: Line 1,779:     
*'''Example'''
 
*'''Example'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Received data in hexadecimal stream: <br>
 
Received data in hexadecimal stream: <br>
Line 1,733: Line 1,785:  
00000000000000000000000000000000000B05040200010000030002000B00260042563A00000200005FB3 <br> <br>
 
00000000000000000000000000000000000B05040200010000030002000B00260042563A00000200005FB3 <br> <br>
 
Parsed data: <br>
 
Parsed data: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
 
| rowspan="4" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Field Length
+
| style="vertical-align: middle; text-align: center;" |Data Field Length
| style="vertical-align: middle; text-align: center;" | 00 00 00 5F
+
| style="vertical-align: middle; text-align: center;" |00 00 00 5F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 10
+
| style="vertical-align: middle; text-align: center;" |10
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| rowspan="23" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="23" style="vertical-align: middle; text-align: center;" |AVL Data
 
(1'st record)
 
(1'st record)
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B DB C7 83 30 (GMT: Wednesday, July 10, 2019 12:06:54 PM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B DB C7 83 30 (GMT: Wednesday, July 10, 2019 12:06:54 PM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B
+
| style="vertical-align: middle; text-align: center;" |00 0B
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Generation Type
+
| style="vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 04
+
| style="vertical-align: middle; text-align: center;" |04
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |00 01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 03 (AVL ID: 3, Name: DIN3)
+
| style="vertical-align: middle; text-align: center;" |00 03 (AVL ID: 3, Name: DIN3)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B (AVL ID: 11, Name: ICCID1)
+
| style="vertical-align: middle; text-align: center;" |00 0B (AVL ID: 11, Name: ICCID1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 27
+
| style="vertical-align: middle; text-align: center;" |00 27
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |00 42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 56 3A
+
| style="vertical-align: middle; text-align: center;" |56 3A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| rowspan="23" style="vertical-align: middle; text-align: center;" | AVL Data
+
| rowspan="23" style="vertical-align: middle; text-align: center;" |AVL Data
 
(2'nd record)
 
(2'nd record)
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6B DB C7 87 18 (GMT: Wednesday, July 10, 2019 12:06:55 PM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6B DB C7 87 18 (GMT: Wednesday, July 10, 2019 12:06:55 PM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B
+
| style="vertical-align: middle; text-align: center;" |00 0B
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Generation Type
+
| style="vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 04
+
| style="vertical-align: middle; text-align: center;" |04
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |00 01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 03 (AVL ID: 3, Name: DIN3)
+
| style="vertical-align: middle; text-align: center;" |00 03 (AVL ID: 3, Name: DIN3)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 0B (AVL ID: 11, Name: ICCID1)
+
| style="vertical-align: middle; text-align: center;" |00 0B (AVL ID: 11, Name: ICCID1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00 26
+
| style="vertical-align: middle; text-align: center;" |00 26
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |00 42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 56 3A
+
| style="vertical-align: middle; text-align: center;" |56 3A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
 
| rowspan="2" style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 02
+
| style="vertical-align: middle; text-align: center;" |02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 5F B3
+
| style="vertical-align: middle; text-align: center;" |00 00 5F B3
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 1,907: Line 1,959:  
*'''<big>Codec16 Extended protocol sending over UDP</big>'''
 
*'''<big>Codec16 Extended protocol sending over UDP</big>'''
 
*'''UDP channel protocol'''
 
*'''UDP channel protocol'''
 +
 
AVL data packet is the same as with Codec8, except Codec ID is changed to 0x10. <br> <br>
 
AVL data packet is the same as with Codec8, except Codec ID is changed to 0x10. <br> <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
 +
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
 
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. <br>
   −
* Example:  
+
*Example:
 +
 
 
Module sends the data: <br>
 
Module sends the data: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Array
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Array
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x00FE,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x00FE,
 
Packet ID – 0xCAFE <br>
 
Packet ID – 0xCAFE <br>
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
IMEI Length – 0x000F <br>
 
IMEI Length – 0x000F <br>
 
IMEI – 0x313233343536373839303132333435
 
IMEI – 0x313233343536373839303132333435
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
 
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)
| style="vertical-align: middle; text-align: center;" | Codec ID – 0x10,
+
| style="vertical-align: middle; text-align: center;" |Codec ID – 0x10,
 
Number of Data – 0x02 <br>
 
Number of Data – 0x02 <br>
 
(Encoded using continuous bit stream)
 
(Encoded using continuous bit stream)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 00FECAFE01
+
| style="vertical-align: middle; text-align: center;" |00FECAFE01
| style="vertical-align: middle; text-align: center;" | DD000F3133343536373839303132333435
+
| style="vertical-align: middle; text-align: center;" |DD000F3133343536373839303132333435
| style="vertical-align: middle; text-align: center;" | 1002…(data elements)…02
+
| style="vertical-align: middle; text-align: center;" |1002…(data elements)…02
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
 
Server must respond with acknowledgment:<br>
 
Server must respond with acknowledgment:<br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | UDP Channel Header
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |UDP Channel Header
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Length – 0x0005,
+
| style="vertical-align: middle; text-align: center;" |Length – 0x0005,
 
Packet ID – 0xCAFE,
 
Packet ID – 0xCAFE,
 
Not Usable Byte – 0x01
 
Not Usable Byte – 0x01
| style="vertical-align: middle; text-align: center;" | AVL Packet ID – 0xDD,
+
| style="vertical-align: middle; text-align: center;" |AVL Packet ID – 0xDD,
 
Number of Accepted Data – 0x02
 
Number of Accepted Data – 0x02
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 0005CAFE01
+
| style="vertical-align: middle; text-align: center;" |0005CAFE01
| style="vertical-align: middle; text-align: center;" | DD02
+
| style="vertical-align: middle; text-align: center;" |DD02
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
    
*'''Example'''
 
*'''Example'''
 +
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Received data in hexadecimal stream: <br>
 
Received data in hexadecimal stream: <br>
Line 1,959: Line 2,015:  
0EF01010042111A000001 <br> <br>
 
0EF01010042111A000001 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 01 5B
+
| style="vertical-align: middle; text-align: center;" |01 5B
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | AVL Packet Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |AVL Packet Header
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 07
+
| style="vertical-align: middle; text-align: center;" |07
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI Length
+
| style="vertical-align: middle; text-align: center;" |IMEI Length
| style="vertical-align: middle; text-align: center;" | 00 0F
+
| style="vertical-align: middle; text-align: center;" |00 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 33 35 32 30 39 34 30 38 35 32 33 31 35 39 32
+
| style="vertical-align: middle; text-align: center;" |33 35 32 30 39 34 30 38 35 32 33 31 35 39 32
 
|-
 
|-
| rowspan="28" style="vertical-align: middle; text-align: center;" | AVL Data Array
+
| rowspan="28" style="vertical-align: middle; text-align: center;" |AVL Data Array
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 10
+
| style="vertical-align: middle; text-align: center;" |10
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 1 (Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 1 (Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 51 17 E4 0F E8 (GMT: Wednesday, November 18, 2015 12:00:01 AM)
+
| style="vertical-align: middle; text-align: center;" |00 00 01 51 17 E4 0F E8 (GMT: Wednesday, November 18, 2015 12:00:01 AM)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Priority
+
| style="vertical-align: middle; text-align: center;" |Priority
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Altitude
+
| style="vertical-align: middle; text-align: center;" |Altitude
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Angle
+
| style="vertical-align: middle; text-align: center;" |Angle
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Satellites
+
| style="vertical-align: middle; text-align: center;" |Satellites
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Event IO ID
+
| style="vertical-align: middle; text-align: center;" |Event IO ID
| style="vertical-align: middle; text-align: center;" | 00 EF
+
| style="vertical-align: middle; text-align: center;" |00 EF
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Generation type
+
| style="vertical-align: middle; text-align: center;" |Generation type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N of Total ID
+
| style="vertical-align: middle; text-align: center;" |N of Total ID
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N1 of One Byte IO
+
| style="vertical-align: middle; text-align: center;" |N1 of One Byte IO
| style="vertical-align: middle; text-align: center;" | 04
+
| style="vertical-align: middle; text-align: center;" |04
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 00 01 (AVL ID: 1, Name: DIN1)
+
| style="vertical-align: middle; text-align: center;" |00 01 (AVL ID: 1, Name: DIN1)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO ID
+
| style="vertical-align: middle; text-align: center;" |2’nd IO ID
| style="vertical-align: middle; text-align: center;" | 00 03 (AVL ID: 3, Name: DIN3)
+
| style="vertical-align: middle; text-align: center;" |00 03 (AVL ID: 3, Name: DIN3)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 2’nd IO Value
+
| style="vertical-align: middle; text-align: center;" |2’nd IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 3’rd IO ID
+
| style="vertical-align: middle; text-align: center;" |3’rd IO ID
| style="vertical-align: middle; text-align: center;" | 00 B4 (AVL ID: 180, Name: DOUT2)
+
| style="vertical-align: middle; text-align: center;" |00 B4 (AVL ID: 180, Name: DOUT2)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 3’rd IO Value
+
| style="vertical-align: middle; text-align: center;" |3’rd IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4’th IO ID
+
| style="vertical-align: middle; text-align: center;" |4’th IO ID
| style="vertical-align: middle; text-align: center;" | 00 EF (AVL ID: 239, Name: Ignition)
+
| style="vertical-align: middle; text-align: center;" |00 EF (AVL ID: 239, Name: Ignition)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4’th IO Value
+
| style="vertical-align: middle; text-align: center;" |4’th IO Value
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO ID
+
| style="vertical-align: middle; text-align: center;" |1’st IO ID
| style="vertical-align: middle; text-align: center;" | 42 (AVL ID: 66, Name: External Voltage)
+
| style="vertical-align: middle; text-align: center;" |42 (AVL ID: 66, Name: External Voltage)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 1’st IO Value
+
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" | 11 1A
+
| style="vertical-align: middle; text-align: center;" |11 1A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Data 2 (Number of Total Records)
+
| style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records)
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 2,075: Line 2,131:  
0005CAFE010700 <br> <br>
 
0005CAFE010700 <br> <br>
 
Parsed:
 
Parsed:
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Response to AVL Data Packet
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Response to AVL Data Packet
 
|-
 
|-
! rowspan="1" colspan="2" style="width:60%; vertical-align: middle; text-align: center;" | Server Response Part
+
! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |Server Response Part
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| rowspan="3" style="vertical-align: middle; text-align: center;" | UDP Channel Header
+
| rowspan="3" style="vertical-align: middle; text-align: center;" |UDP Channel Header
| style="vertical-align: middle; text-align: center;" | Length
+
| style="vertical-align: middle; text-align: center;" |Length
| style="vertical-align: middle; text-align: center;" | 00 05
+
| style="vertical-align: middle; text-align: center;" |00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Packet ID
+
| style="vertical-align: middle; text-align: center;" |Packet ID
| style="vertical-align: middle; text-align: center;" | CA FE
+
| style="vertical-align: middle; text-align: center;" |CA FE
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Not usable byte
+
| style="vertical-align: middle; text-align: center;" |Not usable byte
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| rowspan="2" style="vertical-align: middle; text-align: center;" | AVL Packet Acknowledgment
+
| rowspan="2" style="vertical-align: middle; text-align: center;" |AVL Packet Acknowledgment
| style="vertical-align: middle; text-align: center;" | AVL packet ID
+
| style="vertical-align: middle; text-align: center;" |AVL packet ID
| style="vertical-align: middle; text-align: center;" | 07
+
| style="vertical-align: middle; text-align: center;" |07
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Number of Accepted Data
+
| style="vertical-align: middle; text-align: center;" |Number of Accepted Data
| style="vertical-align: middle; text-align: center;" | 00
+
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
   −
== '''<big>Differences between Codec 8, Codec 8 Extended and Codec 16</big>''' ==
+
=='''<big>Differences between Codec 8, Codec 8 Extended and Codec 16</big>'''==
 
In the table below you will see differences between Codec8, Codec8 Extended and Codec16. <br>
 
In the table below you will see differences between Codec8, Codec8 Extended and Codec16. <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec8
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec8
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec8 Extended
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec8 Extended
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec16
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0x08
+
| style="vertical-align: middle; text-align: center;" |0x08
| style="vertical-align: middle; text-align: center;" | 0x8E
+
| style="vertical-align: middle; text-align: center;" |0x8E
| style="vertical-align: middle; text-align: center;" | 0x10
+
| style="vertical-align: middle; text-align: center;" |0x10
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element total IO count length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element total IO count length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Generation Type
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" | Is Using
+
| style="vertical-align: middle; text-align: center;" |Is Using
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
| style="vertical-align: middle; text-align: center;" | Is Using
+
| style="vertical-align: middle; text-align: center;" |Is Using
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element IO count length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element IO count length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL Data IO element AVL ID length
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL Data IO element AVL ID length
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
| style="vertical-align: middle; text-align: center;" | 2 bytes
+
| style="vertical-align: middle; text-align: center;" |2 bytes
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Variable size IO elements
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Variable size IO elements
| style="vertical-align: middle; text-align: center;" | Does not include
+
| style="vertical-align: middle; text-align: center;" |Does not include
| style="vertical-align: middle; text-align: center;" | Includes variable size elements
+
| style="vertical-align: middle; text-align: center;" |Includes variable size elements
| style="vertical-align: middle; text-align: center;" | Does not include
+
| style="vertical-align: middle; text-align: center;" |Does not include
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
   −
= '''<big>Codec for communication over GPRS messages</big>''' =
+
='''<big>Codec for communication over GPRS messages</big>'''=
 
In this chapter you will find information about every Codec protocol which are using for communication over GPRS messages and differences between them. <br> <br>
 
In this chapter you will find information about every Codec protocol which are using for communication over GPRS messages and differences between them. <br> <br>
   −
== '''<big>Codec 12</big>''' ==
+
=='''<big>Codec 12</big>'''==
    
*'''<big>About Codec12</big>'''
 
*'''<big>About Codec12</big>'''
 +
 
Codec12 is original and main Teltonika protocol for device-server communication over GPRS messages. Codec12 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). This protocol is also necessary for using FMB630/FM6300/FM5300/FM5500/FM4200 features like: Garmin, LCD communication, COM TCP Link Mode. <br> <br>
 
Codec12 is original and main Teltonika protocol for device-server communication over GPRS messages. Codec12 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). This protocol is also necessary for using FMB630/FM6300/FM5300/FM5500/FM4200 features like: Garmin, LCD communication, COM TCP Link Mode. <br> <br>
    
*'''<big>GPRS command session</big>'''
 
*'''<big>GPRS command session</big>'''
 +
 
Following figure shows how GRPS command session is started over TCP. <br>
 
Following figure shows how GRPS command session is started over TCP. <br>
 
[[File:Codec12.png|1150px]]
 
[[File:Codec12.png|1150px]]
Line 2,163: Line 2,221:     
*'''<big>General Codec12 message structure</big>'''
 
*'''<big>General Codec12 message structure</big>'''
 +
 
The following diagram shows basic structure of Codec 12 messages. <br> <br>
 
The following diagram shows basic structure of Codec 12 messages. <br> <br>
 
'''Command message structure:''' <br>
 
'''Command message structure:''' <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Quantity 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Quantity 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Type (0x05)
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Type (0x05)
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Size
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Size
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Quantity 2
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Quantity 2
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
 
'''Response message structure:''' <br>
 
'''Response message structure:''' <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response Quantity 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response Quantity 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Type (0x06)
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Type (0x06)
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response Size
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response Size
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response Quantity 2
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response Quantity 2
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
Line 2,224: Line 2,283:     
*'''<big>Command coding table</big>'''
 
*'''<big>Command coding table</big>'''
 +
 
Command has to be converted from ASCII characters (char) to hexadecimal (HEX): <br>
 
Command has to be converted from ASCII characters (char) to hexadecimal (HEX): <br>
 
[[File:ASCII.png]] <br> <br>
 
[[File:ASCII.png]] <br> <br>
    
*'''<big>Command parsing example</big>'''
 
*'''<big>Command parsing example</big>'''
 +
 
Hexadecimal stream of command and answer in this example are given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and understanding. <br> <br>
 
Hexadecimal stream of command and answer in this example are given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and understanding. <br> <br>
    
*'''<big>GPRS commands examples</big>'''
 
*'''<big>GPRS commands examples</big>'''
 +
 
Hexadecimal stream of GPRS command and answer in these examples are given in hexadecimal form. The different fields of messages are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of GPRS command and answer in these examples are given in hexadecimal form. The different fields of messages are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
'''1'st example:''' Sending ''getinfo'' SMS command via GPRS Codec12 <br> <br>
 
'''1'st example:''' Sending ''getinfo'' SMS command via GPRS Codec12 <br> <br>
Line 2,236: Line 2,298:  
000000000000000F0C010500000007676574696E666F0100004312 <br> <br>
 
000000000000000F0C010500000007676574696E666F0100004312 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Command
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Command
 
|-
 
|-
! rowspan="1" style="width:14%; vertical-align: middle; text-align: center;" | Server Command Part
+
! rowspan="1" style="width:14%; vertical-align: middle; text-align: center;" |Server Command Part
! rowspan="1" style="width:14%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:14%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 0F
+
| style="vertical-align: middle; text-align: center;" |00 00 00 0F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0C
+
| style="vertical-align: middle; text-align: center;" |0C
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Type
+
| style="vertical-align: middle; text-align: center;" |Command Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Size
+
| style="vertical-align: middle; text-align: center;" |Command Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 07
+
| style="vertical-align: middle; text-align: center;" |00 00 00 07
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command
+
| style="vertical-align: middle; text-align: center;" |Command
| style="vertical-align: middle; text-align: center;" | 67 65 74 69 6E 66 6F
+
| style="vertical-align: middle; text-align: center;" |67 65 74 69 6E 66 6F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 43 12
+
| style="vertical-align: middle; text-align: center;" |00 00 43 12
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,277: Line 2,339:  
41543A302052533A332052463A36352053463A31204D443A30010000C78F <br> <br>
 
41543A302052533A332052463A36352053463A31204D443A30010000C78F <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Device Answer
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Device Answer
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Device Answer Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Device Answer Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 90
+
| style="vertical-align: middle; text-align: center;" |00 00 00 90
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0C
+
| style="vertical-align: middle; text-align: center;" |0C
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Type
+
| style="vertical-align: middle; text-align: center;" |Response Type
| style="vertical-align: middle; text-align: center;" | 06
+
| style="vertical-align: middle; text-align: center;" |06
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Size
+
| style="vertical-align: middle; text-align: center;" |Response Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 88
+
| style="vertical-align: middle; text-align: center;" |00 00 00 88
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response
+
| style="vertical-align: middle; text-align: center;" |Response
| style="vertical-align: middle; text-align: center;" | 49 4E 49 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 32 32 20 52 54 43 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 35 33 20 52 53 54 3A 32 20 45 52 52 3A 31 20 53 52 3A 30 20 42 52 3A 30 20 43 46 3A 30 20 46 47 3A 30 20 46 4C 3A 30 20 54 55 3A 30 2F 30 20 55 54 3A 30 20 53 4D 53 3A 30 20 4E 4F 47 50 53 3A 30 3A 33 30 20 47 50 53 3A 31 20 53 41 54 3A 30 20 52 53 3A 33 20 52 46 3A 36 35 20 53 46 3A 31 20 4D 44 3A 30
+
| style="vertical-align: middle; text-align: center;" |49 4E 49 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 32 32 20 52 54 43 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 35 33 20 52 53 54 3A 32 20 45 52 52 3A 31 20 53 52 3A 30 20 42 52 3A 30 20 43 46 3A 30 20 46 47 3A 30 20 46 4C 3A 30 20 54 55 3A 30 2F 30 20 55 54 3A 30 20 53 4D 53 3A 30 20 4E 4F 47 50 53 3A 30 3A 33 30 20 47 50 53 3A 31 20 53 41 54 3A 30 20 52 53 3A 33 20 52 46 3A 36 35 20 53 46 3A 31 20 4D 44 3A 30
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 C7 8F
+
| style="vertical-align: middle; text-align: center;" |00 00 C7 8F
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,319: Line 2,381:  
000000000000000D0C010500000005676574696F01000000CB <br> <br>
 
000000000000000D0C010500000005676574696F01000000CB <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Command
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Command
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Server Command Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Server Command Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 0D
+
| style="vertical-align: middle; text-align: center;" |00 00 00 0D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0C
+
| style="vertical-align: middle; text-align: center;" |0C
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Type
+
| style="vertical-align: middle; text-align: center;" |Command Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Size
+
| style="vertical-align: middle; text-align: center;" |Command Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 05
+
| style="vertical-align: middle; text-align: center;" |00 00 00 05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command
+
| style="vertical-align: middle; text-align: center;" |Command
| style="vertical-align: middle; text-align: center;" | 67 65 74 69 6F
+
| style="vertical-align: middle; text-align: center;" |67 65 74 69 6F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 00 CB
+
| style="vertical-align: middle; text-align: center;" |00 00 00 CB
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,359: Line 2,421:  
00000000000000370C01060000002F4449313A31204449323A30204449333A302041494E313A302041494E323A313639323420444F313A3020444F323A3101000066E3 <br> <br>
 
00000000000000370C01060000002F4449313A31204449323A30204449333A302041494E313A302041494E323A313639323420444F313A3020444F323A3101000066E3 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Device Answer
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Device Answer
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Device Answer Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Device Answer Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 37
+
| style="vertical-align: middle; text-align: center;" |00 00 00 37
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0C
+
| style="vertical-align: middle; text-align: center;" |0C
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Type
+
| style="vertical-align: middle; text-align: center;" |Response Type
| style="vertical-align: middle; text-align: center;" | 06
+
| style="vertical-align: middle; text-align: center;" |06
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Size
+
| style="vertical-align: middle; text-align: center;" |Response Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 2F
+
| style="vertical-align: middle; text-align: center;" |00 00 00 2F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response
+
| style="vertical-align: middle; text-align: center;" |Response
| style="vertical-align: middle; text-align: center;" | 44 49 31 3A 31 20 44 49 32 3A 30 20 44 49 33 3A 30 20 41 49 4E 31 3A 30 20 41 49 4E 32 3A 31 36 39 32 34 20 44 4F 31 3A 30 20 44 4F 32 3A 31
+
| style="vertical-align: middle; text-align: center;" |44 49 31 3A 31 20 44 49 32 3A 30 20 44 49 33 3A 30 20 41 49 4E 31 3A 30 20 41 49 4E 32 3A 31 36 39 32 34 20 44 4F 31 3A 30 20 44 4F 32 3A 31
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 66 E3
+
| style="vertical-align: middle; text-align: center;" |00 00 66 E3
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,398: Line 2,460:     
*'''<big>Communication with server</big>'''
 
*'''<big>Communication with server</big>'''
 +
 
The GSM/GPRS commands can be sent from a terminal program. We recommend to use Hercules (in TCP server mode). Simply write command as explained below into Hercules Send field, check HEX box and click Send button. Note that the TCP server must be listening on specified port (see Port field and Listen button below). <br>
 
The GSM/GPRS commands can be sent from a terminal program. We recommend to use Hercules (in TCP server mode). Simply write command as explained below into Hercules Send field, check HEX box and click Send button. Note that the TCP server must be listening on specified port (see Port field and Listen button below). <br>
   Line 2,405: Line 2,468:  
*'''<big>FMXX and Codec12 functionality</big>'''
 
*'''<big>FMXX and Codec12 functionality</big>'''
 
*'''Garmin'''
 
*'''Garmin'''
 +
 
All information is provided in “FMXX and Garmin development.pdf” document. <br> <br>
 
All information is provided in “FMXX and Garmin development.pdf” document. <br> <br>
 +
 
*'''COM TCP Link Mode'''
 
*'''COM TCP Link Mode'''
 +
 
All information is provided in “FMxx TCP Link mode test instructions.pdf” document. <br> <br>
 
All information is provided in “FMxx TCP Link mode test instructions.pdf” document. <br> <br>
   −
== '''<big>Codec 13</big>''' ==
+
=='''<big>Codec 13</big>'''==
    
*'''<big>About Codec13</big>'''
 
*'''<big>About Codec13</big>'''
 +
 
Codec13 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. Main differences of Codec13 are that timestamp is using in messages and communication is one way only (Codec13 is used for Device -> Server sending). <br> <br>
 
Codec13 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. Main differences of Codec13 are that timestamp is using in messages and communication is one way only (Codec13 is used for Device -> Server sending). <br> <br>
   Line 2,417: Line 2,484:     
The following diagram shows basic structure of Codec 13 messages: <br>
 
The following diagram shows basic structure of Codec 13 messages: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (Preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (Preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data Size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data Size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec ID
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Quantity 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Quantity 1
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Type
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Type
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Timestamp
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Timestamp
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command Quantity 2
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command Quantity 2
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 byte
+
| style="vertical-align: middle; text-align: center;" |1 byte
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
Line 2,455: Line 2,522:     
*'''<big>Command parsing example</big>'''
 
*'''<big>Command parsing example</big>'''
 +
 
Hexadecimal stream of GPRS command in this example is given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of GPRS command in this example is given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Sending ''getinfo'' SMS command via GPRS Codec13. <br> <br>
 
Sending ''getinfo'' SMS command via GPRS Codec13. <br> <br>
Line 2,460: Line 2,528:  
00000000000000170D01050000000F0000016C0A81C320676574696E666F010000AAD2 <br> <br>
 
00000000000000170D01050000000F0000016C0A81C320676574696E666F010000AAD2 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Command
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Command
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Server Command Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Server Command Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 17
+
| style="vertical-align: middle; text-align: center;" |00 00 00 17
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0D
+
| style="vertical-align: middle; text-align: center;" |0D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Type
+
| style="vertical-align: middle; text-align: center;" |Command Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Size
+
| style="vertical-align: middle; text-align: center;" |Command Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 07
+
| style="vertical-align: middle; text-align: center;" |00 00 00 07
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | 00 00 01 6C 0A 81 C3 20
+
| style="vertical-align: middle; text-align: center;" |00 00 01 6C 0A 81 C3 20
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command
+
| style="vertical-align: middle; text-align: center;" |Command
| style="vertical-align: middle; text-align: center;" | 67 65 74 69 6E 66 6F
+
| style="vertical-align: middle; text-align: center;" |67 65 74 69 6E 66 6F
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 AA D2
+
| style="vertical-align: middle; text-align: center;" |00 00 AA D2
 
|-
 
|-
 
|} <br>
 
|} <br>
 
Note that Server Command converted from HEX to ASCII means ''getinfo'' <br> <br>
 
Note that Server Command converted from HEX to ASCII means ''getinfo'' <br> <br>
   −
== '''<big>Codec 14</big>''' ==
+
=='''<big>Codec 14</big>'''==
    
*'''<big>About Codec14</big>'''
 
*'''<big>About Codec14</big>'''
 +
 
Codec14 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. <br>
 
Codec14 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. <br>
 
Main difference of Codec14 is that, device will answer to GPRS command if device physical IMEI number matches specified IMEI number in GPRS command. <br>
 
Main difference of Codec14 is that, device will answer to GPRS command if device physical IMEI number matches specified IMEI number in GPRS command. <br>
Line 2,509: Line 2,578:     
*'''<big>FMB firmware requirements</big>'''
 
*'''<big>FMB firmware requirements</big>'''
 +
 
Implemented in base firmware from FMB.Ver.03.25.04.Rev.00 and newer. <br> <br>
 
Implemented in base firmware from FMB.Ver.03.25.04.Rev.00 and newer. <br> <br>
    
*'''<big>General Codec14 message structure</big>'''
 
*'''<big>General Codec14 message structure</big>'''
 +
 
The following diagram shows basic structure of Codec14 messages. <br> <br>
 
The following diagram shows basic structure of Codec14 messages. <br> <br>
    
'''Command message structure'''
 
'''Command message structure'''
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x0E (Codec ID)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x0E (Codec ID)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command quantity
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command quantity
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x05<br>(Message type)
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x05<br>(Message type)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command size + IMEI size (8 bytes)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command size + IMEI size (8 bytes)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | IMEI (HEX)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |IMEI (HEX)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Command quantity
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Command quantity
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|} <br>
 
|} <br>
    
'''Response message structure'''
 
'''Response message structure'''
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x00000000 (preamble)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x00000000 (preamble)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Data size
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Data size
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x0E (Codec ID)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x0E (Codec ID)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response quantity
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response quantity
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | 0x06 / 0x11 (Message type)
+
! colspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |0x06 / 0x11 (Message type)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response size + IMEI size (8 bytes)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response size + IMEI size (8 bytes)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | IMEI (HEX)
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |IMEI (HEX)
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Response quantity
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Response quantity
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | CRC-16
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |CRC-16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 1 bytes
+
| style="vertical-align: middle; text-align: center;" |1 bytes
| style="vertical-align: middle; text-align: center;" | 4 bytes
+
| style="vertical-align: middle; text-align: center;" |4 bytes
 
|-
 
|-
 
|}
 
|}
Line 2,581: Line 2,652:     
*'''<big>GPRS in Codec14 examples</big>'''
 
*'''<big>GPRS in Codec14 examples</big>'''
 +
 
Hexadecimal stream of GPRS command and answer in this example are given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Hexadecimal stream of GPRS command and answer in this example are given in hexadecimal form. The different fields of message are seperate into different table columns for better readability and some of them are coverted to ASCII values for better understanding. <br> <br>
 
Sending ''getver'' SMS command via GPRS Codec14: <br> <br>
 
Sending ''getver'' SMS command via GPRS Codec14: <br> <br>
Line 2,586: Line 2,658:  
00000000000000160E01050000000E0352093081452251676574766572010000D2C1 <br> <br>
 
00000000000000160E01050000000E0352093081452251676574766572010000D2C1 <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Server Command
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Server Command
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Server Command Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Server Command Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 16
+
| style="vertical-align: middle; text-align: center;" |00 00 00 16
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0E
+
| style="vertical-align: middle; text-align: center;" |0E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Type
+
| style="vertical-align: middle; text-align: center;" |Command Type
| style="vertical-align: middle; text-align: center;" | 05
+
| style="vertical-align: middle; text-align: center;" |05
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Size
+
| style="vertical-align: middle; text-align: center;" |Command Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 0E
+
| style="vertical-align: middle; text-align: center;" |00 00 00 0E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 00 00 00 0E
+
| style="vertical-align: middle; text-align: center;" |00 00 00 0E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command
+
| style="vertical-align: middle; text-align: center;" |Command
| style="vertical-align: middle; text-align: center;" | 03 52 09 30 81 45 22 51
+
| style="vertical-align: middle; text-align: center;" |03 52 09 30 81 45 22 51
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Command Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Command Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 D2 C1
+
| style="vertical-align: middle; text-align: center;" |00 00 D2 C1
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,630: Line 2,702:  
3A363042444430303136323631205350433A312830292041584C3A30204F42443A3020424C3A312E362042543A340100007AAE <br> <br>
 
3A363042444430303136323631205350433A312830292041584C3A30204F42443A3020424C3A312E362042543A340100007AAE <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Device Answer
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Device Answer
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Device Answer Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Device Answer Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 37
+
| style="vertical-align: middle; text-align: center;" |00 00 00 37
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0E
+
| style="vertical-align: middle; text-align: center;" |0E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Type
+
| style="vertical-align: middle; text-align: center;" |Response Type
| style="vertical-align: middle; text-align: center;" | 06
+
| style="vertical-align: middle; text-align: center;" |06
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Size
+
| style="vertical-align: middle; text-align: center;" |Response Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 A3
+
| style="vertical-align: middle; text-align: center;" |00 00 00 A3
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 03 52 09 30 81 45 22 51
+
| style="vertical-align: middle; text-align: center;" |03 52 09 30 81 45 22 51
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response
+
| style="vertical-align: middle; text-align: center;" |Response
| style="vertical-align: middle; text-align: center;" | 56 65 72 3A 30 33 2E 31 38 2E 31 34 5F 30 34 20 47 50 53 3A 41 58 4E 5F 35 2E 31 30 5F 33 33 33 33 20 48 77 3A 46 4D 42 31 32 30 20 4D 6F 64 3A 31 35 20 49 4D 45 49 3A 33 35 32 30 39 33 30 38 31 34 35 32 32 35 31 20 49 6E 69 74 3A 32 30 31 38 2D 31 31 2D 32 32 20 37 3A 31 33 20 55 70 74 69 6D 65 3A 31 37 32 33 34 20 4D 41 43 3A 36 30 42 44 44 30 30 31 36 32 36 31 20 53 50 43 3A 31 28 30 29 20 41 58 4C 3A 30 20 4F 42 44 3A 30 20 42 4C 3A 31 2E 36 20 42 54 3A 34
+
| style="vertical-align: middle; text-align: center;" |56 65 72 3A 30 33 2E 31 38 2E 31 34 5F 30 34 20 47 50 53 3A 41 58 4E 5F 35 2E 31 30 5F 33 33 33 33 20 48 77 3A 46 4D 42 31 32 30 20 4D 6F 64 3A 31 35 20 49 4D 45 49 3A 33 35 32 30 39 33 30 38 31 34 35 32 32 35 31 20 49 6E 69 74 3A 32 30 31 38 2D 31 31 2D 32 32 20 37 3A 31 33 20 55 70 74 69 6D 65 3A 31 37 32 33 34 20 4D 41 43 3A 36 30 42 44 44 30 30 31 36 32 36 31 20 53 50 43 3A 31 28 30 29 20 41 58 4C 3A 30 20 4F 42 44 3A 30 20 42 4C 3A 31 2E 36 20 42 54 3A 34
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 7A AE
+
| style="vertical-align: middle; text-align: center;" |00 00 7A AE
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,673: Line 2,745:  
00000000000000100E011100000008035209308145246801000032AC <br> <br>
 
00000000000000100E011100000008035209308145246801000032AC <br> <br>
 
Parsed: <br>
 
Parsed: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Device Answer
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Device Answer
 
|-
 
|-
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | Device Answer Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |Device Answer Part
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" | HEX Code Part
+
! rowspan="1" style="width:50%; vertical-align: middle; text-align: center;" |HEX Code Part
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Zero Bytes
+
| style="vertical-align: middle; text-align: center;" |Zero Bytes
| style="vertical-align: middle; text-align: center;" | 00 00 00 00
+
| style="vertical-align: middle; text-align: center;" |00 00 00 00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Data Size
+
| style="vertical-align: middle; text-align: center;" |Data Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 10
+
| style="vertical-align: middle; text-align: center;" |00 00 00 10
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Codec ID
+
| style="vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0E
+
| style="vertical-align: middle; text-align: center;" |0E
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 1
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 1
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Type
+
| style="vertical-align: middle; text-align: center;" |Response Type
| style="vertical-align: middle; text-align: center;" | 11
+
| style="vertical-align: middle; text-align: center;" |11
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Size
+
| style="vertical-align: middle; text-align: center;" |Response Size
| style="vertical-align: middle; text-align: center;" | 00 00 00 08
+
| style="vertical-align: middle; text-align: center;" |00 00 00 08
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | 03 52 09 30 81 45 24 68
+
| style="vertical-align: middle; text-align: center;" |03 52 09 30 81 45 24 68
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Response Quantity 2
+
| style="vertical-align: middle; text-align: center;" |Response Quantity 2
| style="vertical-align: middle; text-align: center;" | 01
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | CRC-16
+
| style="vertical-align: middle; text-align: center;" |CRC-16
| style="vertical-align: middle; text-align: center;" | 00 00 32 AC
+
| style="vertical-align: middle; text-align: center;" |00 00 32 AC
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
   −
== '''<big>Differences between Codec 12, Codec 13 and Codec 14</big>''' ==
+
=='''<big>Differences between Codec 12, Codec 13 and Codec 14</big>'''==
 
In the table below you will see differences between Codec12, Codec13 and Codec14. <br>
 
In the table below you will see differences between Codec12, Codec13 and Codec14. <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec12
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec12
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec13
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec13
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Codec14
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Codec14
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Communication
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Communication
| style="vertical-align: middle; text-align: center;" | Server - Device Communication
+
| style="vertical-align: middle; text-align: center;" |Server - Device Communication
| style="vertical-align: middle; text-align: center;" | One-way (Device -> Server communication)
+
| style="vertical-align: middle; text-align: center;" |One-way (Device -> Server communication)
| style="vertical-align: middle; text-align: center;" | Server - Device Communication
+
| style="vertical-align: middle; text-align: center;" |Server - Device Communication
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Codec ID
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Codec ID
| style="vertical-align: middle; text-align: center;" | 0x0C
+
| style="vertical-align: middle; text-align: center;" |0x0C
| style="vertical-align: middle; text-align: center;" | 0x0D
+
| style="vertical-align: middle; text-align: center;" |0x0D
| style="vertical-align: middle; text-align: center;" | 0x0E
+
| style="vertical-align: middle; text-align: center;" |0x0E
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Response Message Type
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Response Message Type
| style="vertical-align: middle; text-align: center;" | 0x06
+
| style="vertical-align: middle; text-align: center;" |0x06
 
| style="vertical-align: middle; text-align: center;" | -
 
| style="vertical-align: middle; text-align: center;" | -
| style="vertical-align: middle; text-align: center;" | 0x06 (if it is ACK) or 0x11 (if it is nACK)
+
| style="vertical-align: middle; text-align: center;" |0x06 (if it is ACK) or 0x11 (if it is nACK)
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Command / Response size
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Command / Response size
| style="vertical-align: middle; text-align: center;" | Only Command/Response
+
| style="vertical-align: middle; text-align: center;" |Only Command/Response
| style="vertical-align: middle; text-align: center;" | Only Command
+
| style="vertical-align: middle; text-align: center;" |Only Command
| style="vertical-align: middle; text-align: center;" | Command/Response + IMEI
+
| style="vertical-align: middle; text-align: center;" |Command/Response + IMEI
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | Timestamp
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
| style="vertical-align: middle; text-align: center;" | Is Using
+
| style="vertical-align: middle; text-align: center;" |Is Using
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | IMEI
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
| style="vertical-align: middle; text-align: center;" | Not Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
| style="vertical-align: middle; text-align: center;" | Is Using
+
| style="vertical-align: middle; text-align: center;" |Is Using
 
|-
 
|-
 
|} <br> <br>
 
|} <br> <br>
Line 2,756: Line 2,828:     
*'''<big>Encoding</big>'''
 
*'''<big>Encoding</big>'''
 +
 
To be able to compress 24 GPS data entries into one SMS (140 octets), the data is encoded extensively using bit fields. Data packet can be interpreted as a bit stream, where all bits are numbered as follows: <br>
 
To be able to compress 24 GPS data entries into one SMS (140 octets), the data is encoded extensively using bit fields. Data packet can be interpreted as a bit stream, where all bits are numbered as follows: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Byte 1
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Byte 1
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Byte 2
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Byte 2
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Byte 3
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Byte 3
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Byte 4 ...
+
! rowspan="1" style="width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Byte 4 ...
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | Bits 0 - 7
+
| style="vertical-align: middle; text-align: center;" |Bits 0 - 7
| style="vertical-align: middle; text-align: center;" | Bits 8 - 15
+
| style="vertical-align: middle; text-align: center;" |Bits 8 - 15
| style="vertical-align: middle; text-align: center;" | Bits 16 - 24
+
| style="vertical-align: middle; text-align: center;" |Bits 16 - 24
| style="vertical-align: middle; text-align: center;" | Bits 25 - ...
+
| style="vertical-align: middle; text-align: center;" |Bits 25 - ...
 
|-
 
|-
 
|} <br>
 
|} <br>
Line 2,773: Line 2,846:     
*'''<big>Structure</big>'''
 
*'''<big>Structure</big>'''
 +
 
Below in the tables you will see SMS Data Structure: <br>
 
Below in the tables you will see SMS Data Structure: <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | SMS Data Structure
+
! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |SMS Data Structure
 
|-
 
|-
| style="width:10%; vertical-align: middle; text-align: center;" | 8
+
| style="width:10%; vertical-align: middle; text-align: center;" |8
| style="width:10%; vertical-align: middle; text-align: center;" | Codec ID
+
| style="width:10%; vertical-align: middle; text-align: center;" |Codec ID
| style="width:10%; vertical-align: middle; text-align: center;" | Codec ID = 4 (0x04)
+
| style="width:10%; vertical-align: middle; text-align: center;" |Codec ID = 4 (0x04)
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 35
+
| style="vertical-align: middle; text-align: center;" |35
| style="vertical-align: middle; text-align: center;" | Timestamp
+
| style="vertical-align: middle; text-align: center;" |Timestamp
| style="vertical-align: middle; text-align: center;" | Time corresponding to the first (oldest) GPS data element, represented in seconds elapsed from 2000.01.01 00:00 EET.
+
| style="vertical-align: middle; text-align: center;" |Time corresponding to the first (oldest) GPS data element, represented in seconds elapsed from 2000.01.01 00:00 EET.
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 5
+
| style="vertical-align: middle; text-align: center;" |5
| style="vertical-align: middle; text-align: center;" | ElementCount  
+
| style="vertical-align: middle; text-align: center;" |ElementCount
| style="vertical-align: middle; text-align: center;" | Number of GPS data elements
+
| style="vertical-align: middle; text-align: center;" |Number of GPS data elements
 
|-
 
|-
 
|} <br>
 
|} <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="4" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | SMS Data Structure
+
! colspan="4" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |SMS Data Structure
 
|-
 
|-
| rowspan="3" style="width:10%; vertical-align: middle; text-align: center;" | ElementCount *
+
| rowspan="3" style="width:10%; vertical-align: middle; text-align: center;" |ElementCount *
| style="width:10%; vertical-align: middle; text-align: center;" |  
+
| style="width:10%; vertical-align: middle; text-align: center;" |
| style="width:10%; vertical-align: middle; text-align: center;" | GPSDataElement
+
| style="width:10%; vertical-align: middle; text-align: center;" |GPSDataElement
| style="width:10%; vertical-align: middle; text-align: center;" | GPS data elements
+
| style="width:10%; vertical-align: middle; text-align: center;" |GPS data elements
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | Byte - align padding
+
| style="vertical-align: middle; text-align: center;" |Byte - align padding
| style="vertical-align: middle; text-align: center;" | Padding bits to align to 8 - bits boundary represented in seconds elapsed from 2000.01.01 00:00 EET.
+
| style="vertical-align: middle; text-align: center;" |Padding bits to align to 8 - bits boundary represented in seconds elapsed from 2000.01.01 00:00 EET.
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 64
+
| style="vertical-align: middle; text-align: center;" |64
| style="vertical-align: middle; text-align: center;" | IMEI
+
| style="vertical-align: middle; text-align: center;" |IMEI
| style="vertical-align: middle; text-align: center;" | IMEI of sending device as 8 byte long integer
+
| style="vertical-align: middle; text-align: center;" |IMEI of sending device as 8 byte long integer
 
|-
 
|-
 
|} <br>
 
|} <br>
 
The time of only the first GPS data element is specified in Timestamp field. Time corresponding to each further element can be computed as elementTime = Timestamp + (1 hour * elementNumber). <br> <br>
 
The time of only the first GPS data element is specified in Timestamp field. Time corresponding to each further element can be computed as elementTime = Timestamp + (1 hour * elementNumber). <br> <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! rowspan="1" colspan="5" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | GPS Data Element
+
! colspan="5" rowspan="1" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |GPS Data Element
 
|-
 
|-
! rowspan="1" style="width:20%; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:20%; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:20%; vertical-align: middle; text-align: center;" |  
+
! rowspan="1" style="width:20%; vertical-align: middle; text-align: center;" |
! rowspan="1" style="width:12%; vertical-align: middle; text-align: center;" | Size (bits)
+
! rowspan="1" style="width:12%; vertical-align: middle; text-align: center;" |Size (bits)
! colspan="1" style="width:20%; vertical-align: middle; text-align: center;" | Field
+
! colspan="1" style="width:20%; vertical-align: middle; text-align: center;" |Field
! rowspan="1" style="width:28%; vertical-align: middle; text-align: center;" | Description
+
! rowspan="1" style="width:28%; vertical-align: middle; text-align: center;" |Description
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | 1
+
| style="vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | ValidElement  
+
| style="vertical-align: middle; text-align: center;" |ValidElement
| style="vertical-align: middle; text-align: center;" | ValidElement = 1 – there is a valid Gps Data Element following,  
+
| style="vertical-align: middle; text-align: center;" |ValidElement = 1 – there is a valid Gps Data Element following,  
 
ValidElement = 0 – no element at this position  
 
ValidElement = 0 – no element at this position  
 
|-
 
|-
| rowspan="5" style="vertical-align: middle; text-align: center;" | ValidElement == 1
+
| rowspan="5" style="vertical-align: middle; text-align: center;" |ValidElement == 1
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | 1
+
| style="vertical-align: middle; text-align: center;" |1
| style="vertical-align: middle; text-align: center;" | DifferentialCoords
+
| style="vertical-align: middle; text-align: center;" |DifferentialCoords
| style="vertical-align: middle; text-align: center;" | Format of following data
+
| style="vertical-align: middle; text-align: center;" |Format of following data
 
|-
 
|-
| rowspan="2" style="vertical-align: middle; text-align: center;" | DifferentialCoords == 1
+
| rowspan="2" style="vertical-align: middle; text-align: center;" |DifferentialCoords == 1
| style="vertical-align: middle; text-align: center;" | 14
+
| style="vertical-align: middle; text-align: center;" |14
| style="vertical-align: middle; text-align: center;" | LongitudeDiff
+
| style="vertical-align: middle; text-align: center;" |LongitudeDiff
| style="vertical-align: middle; text-align: center;" | Difference from previous element‘s longitude.
+
| style="vertical-align: middle; text-align: center;" |Difference from previous element‘s longitude.
 
LongitudeDiff = prevLongitude – Longitude + 213 – 1  
 
LongitudeDiff = prevLongitude – Longitude + 213 – 1  
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 14
+
| style="vertical-align: middle; text-align: center;" |14
| style="vertical-align: middle; text-align: center;" | LatitudeDiff
+
| style="vertical-align: middle; text-align: center;" |LatitudeDiff
| style="vertical-align: middle; text-align: center;" | Difference from previous element‘s latitude
+
| style="vertical-align: middle; text-align: center;" |Difference from previous element‘s latitude
 
LatitudeDiff = prevLatitude – Latitude + 213 – 1
 
LatitudeDiff = prevLatitude – Latitude + 213 – 1
 
|-
 
|-
| rowspan="2" style="vertical-align: middle; text-align: center;" | DifferentialCoords == 0
+
| rowspan="2" style="vertical-align: middle; text-align: center;" |DifferentialCoords == 0
| style="vertical-align: middle; text-align: center;" | 21
+
| style="vertical-align: middle; text-align: center;" |21
| style="vertical-align: middle; text-align: center;" | Longitude
+
| style="vertical-align: middle; text-align: center;" |Longitude
| style="vertical-align: middle; text-align: center;" | Longitude = {(LongDegMult + 18 * 108) * (221 – 1)} over {36*108}  
+
| style="vertical-align: middle; text-align: center;" |Longitude = {(LongDegMult + 18 * 108) * (221 – 1)} over {36*108}
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | 20
+
| style="vertical-align: middle; text-align: center;" |20
| style="vertical-align: middle; text-align: center;" | Latitude
+
| style="vertical-align: middle; text-align: center;" |Latitude
| style="vertical-align: middle; text-align: center;" | Latitude = (LatDegMult + 9*108) * (220 – 1) over {18*108}
+
| style="vertical-align: middle; text-align: center;" |Latitude = (LatDegMult + 9*108) * (220 – 1) over {18*108}
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" |  
+
| style="vertical-align: middle; text-align: center;" |
| style="vertical-align: middle; text-align: center;" | 8
+
| style="vertical-align: middle; text-align: center;" |8
| style="vertical-align: middle; text-align: center;" | Speed
+
| style="vertical-align: middle; text-align: center;" |Speed
| style="vertical-align: middle; text-align: center;" | Speed in km/h
+
| style="vertical-align: middle; text-align: center;" |Speed in km/h
 
|-
 
|-
 
|}
 
|}
Line 2,868: Line 2,942:     
*'''<big>Decoding GPS position</big>'''
 
*'''<big>Decoding GPS position</big>'''
 +
 
When decoding GPS data with DifferentialCoords = 1, Latitude and Longitude values can be computed as follows: Longitude = prevLongitude – LongitudeDiff + 213 – 1, Latitude = prevLatitude – LatitudeDiff + 213 – 1. <br>
 
When decoding GPS data with DifferentialCoords = 1, Latitude and Longitude values can be computed as follows: Longitude = prevLongitude – LongitudeDiff + 213 – 1, Latitude = prevLatitude – LatitudeDiff + 213 – 1. <br>
 
If there were no previous non-differential positions, differential coordinates should be computed assuming prevLongitude = prevLatitude = 0. <br>
 
If there were no previous non-differential positions, differential coordinates should be computed assuming prevLongitude = prevLatitude = 0. <br>
Line 2,875: Line 2,950:     
*'''<big>SMS Events</big>'''
 
*'''<big>SMS Events</big>'''
 +
 
When Configured to generate SMS event user will get this SMS upon event: <br>
 
When Configured to generate SMS event user will get this SMS upon event: <br>
 
<Year/Month/Day> <Hour:Minute:Second> P:<profile_nr> <SMS Text> Val:<Event Value> Lon:<longitude> Lat:<latitude> Q:<HDOP> <br> <br>
 
<Year/Month/Day> <Hour:Minute:Second> P:<profile_nr> <SMS Text> Val:<Event Value> Lon:<longitude> Lat:<latitude> Q:<HDOP> <br> <br>
Line 2,884: Line 2,960:     
*'''<big>Data sending via SMS</big>'''
 
*'''<big>Data sending via SMS</big>'''
 +
 
AVL data or events can be sent encapsulated in binary SMS. TP-DCS field of these SMS should indicate that message contains 8-bit data (for example: TP-DCS can be 0x04). <br>
 
AVL data or events can be sent encapsulated in binary SMS. TP-DCS field of these SMS should indicate that message contains 8-bit data (for example: TP-DCS can be 0x04). <br>
{| class="nd-othertables_2" style="width:100%;
+
{| class="nd-othertables_2" style="width:100%;"
 
|+
 
|+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | SMS data (TP-UD)
+
! colspan="2" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |SMS data (TP-UD)
 
|-
 
|-
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | AVL data array
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |AVL data array
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" | IMEI
+
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |IMEI
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" | X bytes
+
| style="vertical-align: middle; text-align: center;" |X bytes
| style="vertical-align: middle; text-align: center;" | 8 bytes
+
| style="vertical-align: middle; text-align: center;" |8 bytes
 
|-
 
|-
 
|}
 
|}

Navigation menu