Sie sind auf Seite 1von 62

OpenDMTP Protocol Definition

Reference Manual
Copyright 2006-2008 GEOTelematic Solutions, Inc
!ll rights reser"e#
OpenDMTP Protocol Reference Manual $age % o& 62
Manual Revision HIstory
Rev Date Changed Author
0.0.1 2006/01/22 Initial Release MDF
0.0.2 2006/05/07 Update new property types MDF
0.1.0 2006/05/31 Increased UniqeIDs !0"#011$ payload to 20 %ytes.
&dded de'inition 'or (er)er File Upload pac*et.
&dded +eo'ence ad,in co,,and property !0"F5-2$.
Relocated &lar,ed +eo'ence properties.
&dded +.( latitde/lon/itde encodin/ al/orit0,s
MDF
0.1.1 2006/07/10 1orrection in &ppendi" 12 3(tandard +.( pac*et !0i/0 resoltion$3 pac*et type incorrectly stated as
#030. 40e pac*et type s0old %e #031.
MDF
0.2.0 2007/01/25 &dded se)eral new stats codes.
&dded se)eral new properties.
&dded an optional 3,a"i,, n,%er o' e)ents3 'ield to t0e ser)er pac*ets 5#000 and 5#001..
Mo)ed property .R6.71F+7+.(7M6D#8 'ro, 0"#F22 to 0"#F2&.
Mo)ed property .R6.716MM7&.97(#44I9+( 'ro, 0"F3&& to 0"F3&1.
Mo)ed property .R6.7+#617&14I:#7ID 'ro, 0"F571 to 0"F567.
In order to acco,odate a 0i/0er top;end li,it o' -.2<M *,= !t0e pre)ios li,it was -2<> *,$= t0e
nit o' ,easre,ent sed to acc,late internal odo,eter )ales 0as c0an/ed 'ro, 0.1 ,eter to 1
,eter nits. 40e 'ollowin/ properties 0a)e %een c0an/ed accordin/ly2 .R6.7+.(7&11UR&1?=
.R6.7+.(7DI(4&91#7D#84&= .R6.76D6M#4#R7@7:&8U#= .R6.76D6M#4#R7@78IMI4.
In order to pro)ide easier portin/ to ot0er plat'or,s= t0e nit o' ,easre,ent 'or elapsed ti,er
li,its and )ales 0as %een c0an/ed 'ro, ,illiseconds to seconds. 40e 'ollowin/ properties 0a)e
%een c0an/ed accordin/ly2 .R6.7#8&.(#D7@78IMI4= .R6.7#8&.(#D7@7:&8U#..
&dded a para/rap0 a%ot data types t0at can %e placed in csto, e)ent pac*ets.
MDF
0.2.1 2007/03/1A (peci'ied ,ini,, and ,a"i,, s//ested siBe 'or t0e .R6.7(4&4#7U9ICU#7ID property.
&dded property .R6.7(4&4#7D#:I1#7D4.
MDF
0.2.2 2007/0-/15 &dded stats code (4&4U(7.6E#R7F&I8UR#= (4&4U(7(4&4#7#94#R=
(4&4U(7(4&4#7#FI4.
MDF
0.2.3 200A/01/10 &dded stats codes (4&4U(7E&?M&R>70/1/2 !was (4&4U(7E&?M&R>$.
&dded stats code (4&4U(7#F1#((7DR&>I9+ and .R6.7M&F7DR&>#7+7F6R1# property.
&dded property spport 'or serial port @-.
&dded properties .R6.7D#:7&U467R#(#4= .R6.7(4&4#76(:#R(I69=
.R6.7(4&4#7I(7I97M64I69= .R6.716MM7U.86&D7.6R4=.
&dded ot;o';%and G+etG/G.tG reqest pac*et types to ser)er/client 'ile trans'er pac*et.
MDF
0.2.- 200A/0-/0- &dded property .R6.716MM7F&I8UR#7D#8&?. MDF
OpenDMTP Protocol Reference Manual $age 2 o& 62
OpenDMTP
Contents:
1 Introduction
2 Packets/Encoding
21 !inar" encoded packets
22 A#CII encoded packets
2$ #erver packet encoding
$ Transport Media
$1 #i%p&e'/Dup&e' co%%unication
$2 Dup&e' conversation initiator
( C&ient Properties
) C&ient *enerated Events
+ Custo% Event Packet ,egotiation
- C&ient Connection Con.iguration
/ C&ient to #erver Packets
0 #erver to C&ient Packets
Appendices:
A #tandard C&ient Properties
! #tandard #tatus Codes
C #tandard C&ient to #erver Packet T"pes
D #tandard #erver to C&ient Packet T"pes
E *P# 1atitude/1ongitude Encoding
OpenDMTP Protocol Reference Manual $age ' o& 62
12 Introduction
40is ,anal otlines t0e pac*ets= stats codes= and de'ined properties= needed to i,ple,ent t0e 6penDM4.
protocol. 40is ,anal crrently does not contain t0e de'initions 'or t0e reser)ed ser)er error codes= client error
codes= or csto, e)ent 'ield types !needed 'or csto, e)ent pac*et ne/otiation$. For details concernin/ t0ese
areas= t0e re'erence i,ple,entation 0eader 'iles ,st %e e"a,ined and can %e 'ond in t0e 6penDM4. 1 1lient
pac*a/e.
40e 'ollowin/ 0eader 'iles s0old %e considered part o' t0is doc,ent2
%ase/e)ents.0 ; 1sto, e)ent pac*et 'ield types
%ase/serrors.0 ; Reser)ed ser)er error codes
%ase/cerrors.0 ; Reser)ed client error codes
%ase/cdia/s.0 ; Reser)ed client dia/nostic codes
%ase/statcode.0 ; Reser)ed stats codes
%ase/pac*et.0 ; 1lient/(er)er pac*et de'initions
%ase/c,derrs.0 ; Reser)ed client co,,and errors
%ase/props.0 ; Reser)ed client property dei'nitions.
40ese 0eader 'iles are a)aila%le in t0e 6penDM4. G1G re'erence i,ple,entation pac*a/e.
OpenDMTP Protocol Reference Manual $age ( o& 62
22 Packets/Encoding
DM4. spports %ot0 %inary and &(1II encoded pac*ets. Dependin/ on t0e transport ,edia type in se= one 'or,
o' encodin/ ,ay %e ,ore pre'era%le t0an anot0er. For instance= %inary encoded pac*ets ,ay %e %est 'or a
strai/0t soc*et %ased connection= w0ile &(1II encoded pac*ets ,ay %e %etter 'or co,,nication o)er a serial
port= Dletoot0= or wireless ,ode,.
212 !inar" encoded packets
Dinary encoded pac*ets will 0a)e t0e 'ollowin/ /eneral 'or,at2
Byte:Length Description
021 .ac*et 0eader !0"#0 'or standard %inary encoded DM4. pac*ets$
121 .ac*et type
221 .ayload len/t0 !0 to 255 %ytes$
32F F %ytes o' payload
For e"a,ple= a 0e" representation o' an &ccont;ID pac*et wold loo* li*e t0is2
0xE012084F70656E444D5450
E0ere2
GE0G is t0e pac*et 0eader
G12G is t0e pac*et type !&ccont ID$
G08G is t0e payload len/t0 !A %ytes$
G4F70656E444D5450G is t0e payload itsel' !36penDM4.3$
222 A#CII encoded packets
&(1II encoded pac*ets can %e encoded in 2 'or,s= He" or Dase6-. E0ile %ot0 encodin/s
will wor* 'ine w0en trans,ittin/ o)er an &(1II ,edia t0e increased siBe o' t0e pac*et ,st %e considered. Usin/
a Dase6- encoded payload will add a%ot 33I to its siBe= w0ile encodin/ in He" will do%le t0e siBe o' t0e
payload !100I increase in siBe$.
&(1II encoded pac*ets will 0a)e t0e 'ollowin/ /eneral 'or,at2
Characters Description
J$K (tart o' &(1II encoded pac*et LHe" 0"2-M
JE0K .ac*et 0eader !0e" 3#03 'or standard DM4.$
JXXK .ac*et type speci'ied in &(1II 0e" c0aracters
3:3 or 3=3 .ayload encodin/ type !323 'or He"= 3N3 'or Dase6-$
JXX..XXK Followed %y t0e He" or Dase6- encoded payload
J\rK 4er,inated wit0 a sin/le carria/e retrn c0aracter.

For e"a,ple= a Dase6- encoded &ccont;ID pac*et wold loo* li*e t0is2
3$E012=T3BlbkRNVFAA\r3
E0ere2
3$3 is t0e start o' &(1II pac*et
3E03 is t0e pac*et 0eader
3123 is t0e pac*et type !&ccont ID$
3=3 is t0e Dase6- encodin/ indicator
3T3BlbkRNVFAA3 is t0e Dase6- encoded payload !36penDM4.3$
3\r3 is t0e ter,inatin/ carria/e;retrn.
OpenDMTP Protocol Reference Manual $age ) o& 62

&(1II encoded pac*ets can optionally inclde a trailin/ c0ec*s, t0at will %e )alidated %y t0e ser)er. 40e trailin/
c0ec*s, can %e inclded %e'ore t0e ter,inatin/ carria/e retrn and 0as t0e 'ollowin/ 'or,2
3OXX3
E0ere2
3*3 is an indication o' t0e %e/innin/ o' t0e c0ec*s,
3XX3 is t0e 0e" representation o' t0e c0ec*s,.
For e"a,ple= t0e a%o)e &ccont;ID pac*et= wit0 t0e inclded c0ec*s,= wold loo* li*e t0is2
3$E012=T3BlbkRNVFAA*073
E0ere2
3$E012=T3BlbkRNVFAA3 is t0e Dase6- encoded pac*et
3*3 is t0e indication o' t0e %e/innin/ o' t0e c0ec*s,
3073 is t0e c0ec*s,

40e c0ec*s, is calclated as t0e F6R s, o' all %ytes in t0e strin/ 'ollowin/ t0e pre'i"in/ c0aracter G5G
!e"clsi)e$= and p;to %t not incldin/ t0e GOG c0aracter. Here is an e"a,ple G1G 'nction t0at will retrn t0e
c0ec*s, )ale. 40is 'nction can %e sed 'or creatin/ or testin/ a c0ec*s, )ale.

!"#$%" &'E&()*+,)E-ARAT.R /*/
0%1$2%"! 345r 35l3&4"3k106738%19 0%1$2%"! 345r *!: ;
<< /!/ =8$%91 98 94" #$r19 345r539"r 5#9"r 94" =r"#$x$%2 /$/ 345r539"r
0%1$2%"! 345r 3k106 = *!>>?
#8r 7? *! @@ 7*! A= &'E&()*+,)E-ARAT.R:? !>>: ;
3k106 B= *!?
C
r"90r% 3k106?
C

I' a c0ec*s, is speci'ied and is 'ond to %e in)alid= t0e ser)er will retrn an error.
2$2 #erver packet encoding
E0en possi%le= t0e pac*et encodin/ sed %y t0e ser)er s0old ,irror t0at o' t0e client drin/ a co,,nication
session. 40at is= i' t0e 'irst pac*et t0at t0e client sends to t0e ser)er is %inary encoded= t0en t0e ser)er s0old
respond wit0 all %inary encoded pac*ets. 6r= i' t0e 'irst pac*et sent %y t0e client is &(1II encoded= t0en t0e
ser)er s0old send all &(1II encoded pac*ets.
OpenDMTP Protocol Reference Manual $age 6 o& 62
$2 Transport Media
40e 34ransport Media3 type is t0e ,et0od sed 'or trans,ittin/ data 'ro, t0e client to a re,ote ser)er= or so,e
'or, o' a"illary stora/e. 40e re'erence i,ple,entation incldes transport ,edia spport 'or connections o)er
soc*ets= connections o)er a +.R( ,ode,= and si,ple stora/e o' e)ents in a local 'ile 'or later retrie)al.
Howe)er= ,any ot0er types o' transport ,edia are also possi%le= sc0 as co,,nication o)er a standard serial
port= Dle4oot0= or ot0er wireless ,edia.
$12#i%p&e'/Dup&e' co%%unication
Dependin/ on t0e reqire,ents o' t0e transport ,edia= 6penDM4. spports %ot0 %idirectional !dple"$ and one;
way !si,ple"$ co,,nication. Dple" connections allow t0e client to co,,nicate directly wit0 t0e ser)er and
recei)e co,,ands and recon'i/ration para,eters 'ro, t0e ser)er w0en necessary. E0en sendin/ data )ia a
si,ple" co,,nication= t0e client is na%le to recei)e co,,ands or recon'i/ration para,eters 'ro, t0e ser)er=
or e)en an ac*nowled/,ent t0at t0e trans,ission was recei)ed. (oc*et co,,nications is an e"a,ple t0at can
spport %ot0 dple" !41.$ and si,ple" !UD.$ co,,nication types= and t0e client is 'ree to c0oose w0ic0
,et0od to se w0en sendin/ di''erent *inds o' ,essa/es. (o,e data transports in)ol)in/ satellite
co,,nications ,i/0t %e one e"a,ple o' a client w0ic0 can only spport si,ple" co,,nications= and in t0is
case can ne)er recei)e co,,ands or recon'i/ration para,eters 'ro, t0e ser)er.
I' a client spports %ot0 Dple" and (i,ple" type co,,nication= it ,st %e aware o' t0e ad)anta/es and
disad)anta/es o' %ot0 'or,s o' co,,nication. E0en sendin/ e)ents )ia Dple" co,,nication= t0e client
recei)es an ac*nowled/,ent 'ro, t0e ser)er t0at t0e data was actally recei)ed= 0owe)er t0ere is ,ore o)er0ead
in a dple" type connection w0ic0 ,ay end p costin/ ,ore in a wireless en)iron,ent !e./. +.R($. E0en
sendin/ e)ents )ia (i,ple" co,,nication= t0e o)er0ead is ,c0 less= t0s t0e cost will %e ,c0 less= 0owe)er
t0e deli)ery o' t0e ,essa/e is not /aranteed and t0e client does not recei)e any 'or, o' ac*nowled/,ent 'ro,
t0e ser)er t0at t0e e)ents were actally deli)ered !note2 opennin/ an in;%ond UD./si,ple" ser)ice is typically
way too ,c0 o)er0ead 'or a ,o%ile client to 0andle= 0owe)er= t0is wold %e a li,itation o' t0e speci'ic plat'or,
and en)iron,ent= and not a restriction in t0e protocol$.
$22 Dup&e' conversation initiator
1o,,nication is sally initiated %y t0e client= 0owe)er= t0e transport ,edia type sally deter,ines w0o starts
t0e con)ersation !ie. sends t0e 'irst pac*et$. For instance= in a periodically connected transport ,edia= sc0 as
soc*et %ased co,,nication= t0e client s0old 'irst identi'y itsel' to t0e ser)er and trans,it w0ate)er in'or,ation
!e)ents= etc$ t0at it 0as ready to send. In a sporadically connected transport ,edia !w0ere a connection is
typically ,aintained ntil p0ysically %ro*en$= sc0 as a serial port or wireless Dle4oot0 co,,nication= it ,ay %e
t0e ser)er w0ic0 is e"pected to initiate t0e con)ersation.
OpenDMTP Protocol Reference Manual $age * o& 62
(2 C&ient Properties
40e client GpropertiesG pro)ides a ,eans 'or con'i/rin/ nearly all aspects o' t0e clients %e0a)ior. 40is incldes
0ow it is to connect to t0e ser)er= and 0ow it is to analyBe its )arios +.( rles !,otion= distance= etc$.
40e client ,ay speci'y t0at /i)en property is read;only or write;only. 40is ,eans t0at t0e re,ote ser)er ,ay only
read 'ro, a speci'ic property= or write to a speci'ic property.&n e"a,ple o' a read;only property ,i/0t %e t0e
de)ice serial n,%er. 40e client ,ay not want t0e ser)er to %e a%le to c0an/e t0is )ale !it ,ay %e %ased on
client 0ardware re/ister$. &n e"a,ple o' a write;only property wold %e so,et0in/ li*e a client %ased co,,and=
sc0 as casin/ t0e client to nloc* a car door !i' t0e client is so eqiped$. 6t0er properties ,ay %e %ot0 reada%le
and writa%le= sc0 as a property speci'yin/ t0e n,%er o' second %etween periodic in;,otion ,essa/es= etc.
40e DM4. protocol reser)es t0e property id 0"0000 and all property ids in t0e ran/e 0"D000 to 0"FFFF. 1sto,
i,ple,entations o' t0e protocol are 'ree to se any ot0er a)aila%le property id.
(ee &ppendi" G&G %elow 'or a co,plete list o' standard client properties.
OpenDMTP Protocol Reference Manual $age 8 o& 62
)2 C&ient *enerated Events
#)ents will %e /enerated in t0e client %ased on so,e set o' rles= t0en qeed 'or trans,ission to t0e ser)er.
DM4. pro)ides 'or a wide ran/e o' Gstats;codesG t0at can ,ar* an e)ent wit0 a reason w0y t0at e)ent was
/enerated. For instance= a ,otion rle w0ic0 is tri//ered w0en t0e speed o' t0e )e0icle e"ceeds so,e set li,it
cold case an G#"cess (peedG e)ent to %e /enerated.
(ee &ppendi" GDG %elow 'or a co,plete list o' t0e standard stats codes.
OpenDMTP Protocol Reference Manual $age + o& 62
+2 Custo% Event Packet ,egotiation
#)ents are /enerated on t0e client and are qeed 'or trans,ission to t0e ser)er. 40e types o' data t0at t0e client
dee,s pertinent and wis0es to inclde in an e)ent can %e qite )aried. 40ese inclde data types sc0 as ti,e=
latitde/lon/itde= speed= 0eadin/= distance tra)elled= etc. In a low;%andwidt0 en)iron,ent it is i,perati)e t0at t0e
client trans,it only t0at data w0ic0 is dee,ed i,portant. 4o a)oid 0a)in/ to create ,ltiple pac*et types t0at
inclde indi)idal data types= or inclde e)ery possi%le co,%inations o' data types t0at ,i/0t %e needed= DM4.
spports a 'eatre called 3csto, e)ent pac*et ne/otiation3. 40is ,eans t0at a client can constrct a sin/le
pac*et wit0 only t0at i,'or,ation i' 'eels is necessary= and send it to t0e ser)er. I' t0e ser)er does not nderstand
t0e pac*et 'or,at= it can as* t0e client 'or a 3csto, e)ent te,plate3. &'ter recei)in/ t0is Gte,plateG 'ro, t0e
client= t0e ser)er *nows t0e 'or,at o' t0e csto, pac*et and can contine parsin/ t0e client data.
40e a)aila%le csto, e)ent 'ields spport n,eric !inte/ers$= &(1II strin/= and %inary types. &ll n,eric inte/er
data ,st %e presented in networ*;%yte;order= or %i/;endian= 'or,at and ,ay %e 1 to - %ytes in len/t0. (trin/
'ields ,ay contain &(1II data t0at is less t0an= or eqal to t0e ,a"i,, len/t0 o' t0e 'ield. I' t0e &(1II data is
less t0an t0e len/t0 o' t0e 'ield= t0en it ,st %e ter,inated wit0 a sin/le nll %yte !ie. 0e" 0"00$. 40e re,ainin/
pac*et 'ields wold t0en contine i,,ediately 'ollowin/ t0is nll %yte. Dinary data ,st 'ill t0e entire 'i"ed len/t0
o' t0e 'ield= and ,ay %e %etween 1 and 255 %ytes in len/0. 40e co,%ined len/t0 o' all de'ined data 'ields ,st
not e"ceed 255 %ytes.
It it possi%le t0at a ser)er ,ay not 0a)e i,ple,ented t0e csto, e)ent pac*et ne/otiation 'eatre and t0s is
na%le to solicit t0e appropriate Gte,plateG 'ro, t0e client. In t0is case t0e ser)er will retrn an error to t0e client
indicatin/ t0at it does not spport t0is 'eatre and t0e client will 0a)e to act accordin/ly !eit0er 'all %ac* to a
standard *nown pac*et 'or,at= or si,ply ter,inate t0e connection$.
(ee 0eader 'ile J%ase/e)ents.0K 'or a detailed list o' possi%le csto, e)ent 'ield types.
OpenDMTP Protocol Reference Manual $age %0 o& 62
-2 C&ient Connection Con.iguration
(o,e Internet %ased DM4. ser)ice pro)iders ,ay i,pose so,e connection and co,,nication li,its on t0e
client= %ased on t0e pro)ided le)el o' ser)ice. 40ese li,its ,ay inclde 0ow ,any dple" or si,ple" connections
are allowed per 0or= or 0ow ,any e)ents ,ay %e sent per 0or.
40e DM4. protocol pro)ides 'or con'i/ra%le properties t0at can assist t0e client in ad0erin/ to t0ese restrictions.
(ee t0e 31o,,nication .roperties3 section in &ppendi" G&G %elow 'or a list o' con'i/ra%le connection properties.
OpenDMTP Protocol Reference Manual $age %% o& 62
/2 C&ient to #erver Packets
Here is a s,,ary o' t0e standard client to ser)er pac*et types !t0e pre'i"in/ 0e" G#0G represents t0e client pac*et
0eader and is standard on all DM4. client to ser)er pac*ets$2
#000 ; #nd o' %loc*/trans,ission= 3no ,ore to say3
#001 ; #nd o' %loc*/trans,ission= 3I 0a)e ,ore to say3
#011 ; Uniqe identi'ier
#012 ; &ccont identi'ier
#013 ; De)ice identi'ier
#030 ; (tandard;resoltion +.( pac*et de'inition
#031 ; Hi/0;resoltion +.( pac*et de'inition
#05F ; .re;de'ined DM4 ser)ice pro)ider pac*et de'initions L50;5FM
#07F ; 1lient de'ined csto, data pac*et de'initions L70..7FM
#0D0 ; Retrn property )ale
#01F ; 1sto, pac*et de'inition Gte,plateG
#0D0 ; Dia/nostic codes
#0#0 ; #rror codes !see 0eader 'ile J%ase/cerrors.0K 'or a list o' possi%le client error codes$

(ee &ppendi" G1G %elow 'or a co,plete description and de'inition o' t0e indi)idal client pac*et types.
OpenDMTP Protocol Reference Manual $age %2 o& 62
02 #erver to C&ient Packets
Here is a s,,ary o' t0e standard ser)er to client pac*et types !t0e pre'i"in/ 0e" G#0G represents t0e ser)er
pac*et 0eader and is standard on all DM4. ser)er to client pac*ets$2
#000 ; #nd o' %loc*= 36nly spea* w0en spo*en to. (pea* now3
#001 ; #nd o' %loc*= 3?o ,ay spea* 'reely3
#0&0 ; &c*nowled/e recei)ed e)ents
#0D0 ; +et property )ale
#0D1 ; (et property )ale
#010 ; (er)er 'ile pload
#0#0 ; #rror codes !see 0eader 'ile J%ase/serrors.0K 'or a list o' possi%le ser)er error codes$
#0FF ; #nd trans,ission !connection will %e closed$

(ee &ppendi" GDG %elow 'or a co,plete description and de'inition o' t0e indi)idal ser)er pac*et types.
OpenDMTP Protocol Reference Manual $age %' o& 62
Appendi' 3A3 4 #tandard C&ient Properties
1lient property de'initions can also %e 'ond in t0e 0eader 'ile J%ase/props.0K.
A.1) Device configuration properties
Device AutoReset Interval:
!roperty "ey 5'EE51 .R6.7D#:7&U467R#(#4 !3de).atoreset3$
Description .re'erred de)ice ato,atic 3reset3 inter)al !in seconds$
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 32 %it )ale representin/ t0e pre'erred reset inter)al in seconds
9otes2
40is )ale can %e considered a G0intG to t0e de)ice re/ardin/ t0e pre'erred reset inter)al. 40e de)ice ,ay
c0oose to delay a reset i' a critical tas* is crrently %ein/ per'or,ed.
OpenDMTP Protocol Reference Manual $age %( o& 62
A.') (ransport )e&ia port configuration properties
(ransport )e&ia serial port na)e:
!roperty "ey 5'E611 .R6.71F+7F.6R47.6R4 !3c'/."po.port3$
Description (erial port na,e to w0ic0 t0e transport ,edia de)ice is attac0ed
Attri#utes &(1IIP= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e serial port na,e
9otes2
I' sed= t0is )ale represents t0e serial port to w0ic0 t0e transport ,edia de)ice is attac0ed. For instance= i'
t0e syste, is con'i/red 'or +.R( data transport= t0en t0is )ale ,ay represent t0e serial port to w0ic0 t0e
+.R( ,ode, is attac0ed.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
(ransport )e&ia serial port spee& *B!+):
!roperty "ey 5'E612 .R6.71F+7F.6R47D.( !3c'/."po.%ps3$
Description 4ransport ,edia de)ice serial port speed= in %its;per;second.
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 32 %it )ale representin/ t0e serial port speed= in D.(
9otes2
I' sed= t0is )ale represents t0e speed o' t0e serial port to w0ic0 t0e transport ,edia de)ice is attac0ed.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
(ransport )e&ia port &e#ug
!roperty "ey 5'E61D .R6.71F+7F.6R47D#DU+ !3c'/."po.de%/3$
Description For se w0en de%//in/ t0e transport ,edia de)ice
Attri#utes Doolean= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' de%//in/ t0is transport ,edia de)ice
9otes2
Used only w0en de%//in/ t0is transport ,edia de)ice.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
OpenDMTP Protocol Reference Manual $age %) o& 62
A.,) -!+ port configuration
-!+ serial port na)e:
!roperty "ey 5'E621 .R6.71F+7+.(7.6R4 !3c'/./ps.port3$
Description (erial port na,e to w0ic0 t0e +.( de)ice is attac0ed
Attri#utes &(1IIP= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e serial port na,e
9otes2
I' sed= t0is )ale represents t0e serial port to w0ic0 t0e +.( de)ice is attac0ed.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
-!+ serial port spee& *B!+):
!roperty "ey 5'E622 .R6.71F+7+.(7D.( !3c'/./ps.%ps3$
Description +.( de)ice serial port speed= in %its;per;second.
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 32 %it )ale representin/ t0e serial port speed= in D.(
9otes2
I' sed= t0is )ale represents t0e speed o' t0e serial port to w0ic0 t0e +.( de)ice is attac0ed.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
-!+ )o&el na)e.type:
!roperty "ey 5'E62A .R6.71F+7+.(7M6D#8 !3c'/./ps.,odel3$
Description 40e ,odel na,e/type o' t0e attac0ed +.( de)ice
Attri#utes &(1IIP= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e na,e/type o' t0e attac0ed +.( de)ice.
9otes2
40is )ale ,ay %e sed 'or csto, +.( de)ice initialiBation.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
-!+ port &e#ug
!roperty "ey 5'E62D .R6.71F+7+.(7D#DU+ !3c'/./ps.de%/3$
Description For se w0en de%//in/ t0e +.( de)ice
Attri#utes Doolean= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' de%//in/ t0is +.( de)ice
9otes2
Used only w0en de%//in/ t0is +.( de)ice.
OpenDMTP Protocol Reference Manual $age %6 o& 62
A./) -eneral +erial port configuration
+erial port 0 na)e
!roperty "ey 5'E6$1 .R6.71F+7(#RI&807.6R4 !3c'/.sp0.port3$
5'E6(1 .R6.71F+7(#RI&817.6R4 !3c'/.sp1.port3$
5'E6)1 .R6.71F+7(#RI&827.6R4 !3c'/.sp2.port3$
5'E6+1 .R6.71F+7(#RI&837.6R4 !3c'/.sp3.port3$
5'E6-1 .R6.71F+7(#RI&8-7.6R4 !3c'/.sp-.port3$
Description +eneral port na,e 'or serial ports @0=1=2=3=-
Attri#utes &(1IIP= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0is serial port na,e
9otes2
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
+erial port 0 spee& *B!+):
!roperty "ey 5'E6$2 .R6.71F+7(#RI&807D.( !3c'/.sp0.%ps3$
5'E6(2 .R6.71F+7(#RI&817D.( !3c'/.sp1.%ps3$
5'E6)2 .R6.71F+7(#RI&827D.( !3c'/.sp2.%ps3$
5'E6+2 .R6.71F+7(#RI&837D.( !3c'/.sp3.%ps3$
5'E6-2 .R6.71F+7(#RI&8-7D.( !3c'/.sp-.%ps3$
Description +eneral serial de)ice port speed= in %its;per;second.
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 32 %it )ale representin/ t0e serial port speed= in D.(
9otes2
I' sed= t0is )ale represents t0e speed o' /eneral serial ports @0/1/2/3/- respecti)ely.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client. to pre)ent t0e ser)er 'ro,
accidentally c0an/in/ t0is )ale.
+erial port 0 &e#ug
!roperty "ey 5'E6$D .R6.71F+7(#RI&807D#DU+ !3c'/.sp0.de%/3$
5'E6(D .R6.71F+7(#RI&817D#DU+ !3c'/.sp1.de%/3$
5'E6)D .R6.71F+7(#RI&827D#DU+ !3c'/.sp2.de%/3$
5'E6+D .R6.71F+7(#RI&837D#DU+ !3c'/.sp3.de%/3$
5'E6-D .R6.71F+7(#RI&8-7D#DU+ !3c'/.sp-.de%/3$
Description For se w0en de%//in/ serial ports @0/1/2/3/-
Attri#utes Doolean= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' de%//in/ t0is serial port
9otes2
Used only w0en de%//in/ t0is serial port
OpenDMTP Protocol Reference Manual $age %* o& 62
A.1) Co))an& properties
+ave properties to au2illary storage
!roperty "ey 5'6555 .R6.71MD7(&:#7.R6.( !3c,d.sa)eprops3$
Description Force property Gsa)eG
Attri#utes Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
n/a 9o ar/,ents
9otes2
40is indicates to t0e client t0at any c0an/ed properties s0old %e sa)ed to a"illary stora/e.
Authori3e user.&river
!roperty "ey 5'6552 .R6.71MD7&U4H6RIP# !3c,d.at03$
Description (et de)ice at0oriBation
Attri#utes Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F User na,e
F2F .assword !optional$
9otes2
.er client reqire,ents= t0is co,,and at0enticates t0e speci'ied ser and t0en sets t0e
.R6.7(4&4#7U(#R7ID property to t0e na,e o' t0e ser.
-enerate status event
!roperty "ey 5'6511 .R6.71MD7(4&4U(7#:#94 !3c,d.stats3$
Description +enerate/(end stats e)ent
Attri#utes Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
022 (tats code o' e)ent to /enerate
221 Inde"= as needed %y client LoptionalM
9otes2
40e client ,ay decide w0ic0 stats codes are spported in t0is co,,and. Howe)er= at least
(4&4U(7861&4I69 s0old %e spported to allow qeryin/ t0e de)ice a%ot itGs crrent location.
OpenDMTP Protocol Reference Manual $age %8 o& 62
+et output
!roperty "ey 5'65$1 .R6.71MD7(#476U4.U4 !3c,d.otpt3$
Description (et di/ital otpt
Attri#utes Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 Inde" o' di/ital otpt
121 6tpt state !0"00 N o''= 0"01 N on$
22- Dration in ,illiseconds to re,ain in speci'ied state LoptionalM
9otes2
(pport 'or t0is co,,and on t0e client is optional !as in t0e case w0ere t0e client does not spport di/ital
otpts$. I' not spported %y t0e client it s0old retrn an error indicatin/ t0at t0is co,,and is not spported.
+et output
!roperty "ey 5'6566 .R6.71MD7R#(#4 !3c,d.reset3$
Description Reset/Re%oot client
Attri#utes Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 Reset type !0Ncold reset= 1Nwar, reset= ot0er )ales de'ined %y client$
12F 1lient de'ined reset at0oriBation LoptionalM
9otes2
(pport 'or t0is co,,and on t0e client is optional.
OpenDMTP Protocol Reference Manual $age %+ o& 62
A.4) +tate.$ersion properties
!rotocol version
!roperty "ey 5'6155 .R6.7(4&4#7.R646168 !3sta.proto3$
Description .rotocol )ersion
Attri#utes UIntA= &rray= Read;6nly
$alue Byte:Len $alue %iel& Description
021 MaQor )ersion ID
121 Minor )ersion ID
221 Minor re)ision ID LoptionalM
9otes2
40is )ale represents t0e )ersion o' t0e DM4. protocol t0at t0is client 0as i,ple,ented.
40is )ale s0old c0an/e only as core 'eatres o' t0e protocol itsel' c0an/es.
40e read;only attri%te o' t0is property s0old %e en'orced %y t0e client..
%ir)5are version
!roperty "ey 5'6151 .R6.7(4&4#7FIRME&R# !3sta.'ir,3$
Description Fir,ware )ersion
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e 'ir,ware )ersion id
9otes2
40is )ale is de'ined %y t0e client and represents t0e )ersion o' t0e 'ir,ware.
6+ version
!roperty "ey 5'615( .R6.7(4&4#76(:#R(I69 !3sta.os)ers3$
Description 6( )ersion
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e 6( )ersion id
9otes2
40is )ale is de'ined %y t0e client and represents t0e )ersion o' t0e 6(.
Copyright notice
!roperty "ey 5'615- .R6.7(4&4#716.?RI+H4 !3sta.copyri/0t3$
Description 1opyri/0t notice
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F &(1IIP 1opyri/0t notice
9ote2
40is )ale is de'ined %y t0e client.
OpenDMTP Protocol Reference Manual $age 20 o& 62
Device serial nu)#er
!roperty "ey 5'6115 .R6.7(4&4#7(#RI&8 !3sta.serial3$
Description 1lient de)ice serial n,%er
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ representin/ t0e de)ice serial n,%er
9otes2
40is )ale is de'ined %y t0e client and ,ay %e t0e sa,e as t0e De)ice;ID.
Device 7ni8ue ID
!roperty "ey 5'6112 .R6.7(4&4#7U9ICU#7ID !3sta.niq3$
Description Uniqe ID
Attri#utes Dinary= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F Uniqe code pro)ided %y t0e DM4 ser)ice pro)ider
9otes2
40is niqe id is pro)ided %y t0e DM4 ser)ice pro)ider and niqely identi'ies t0e de)ice. 40is )ale s0old
%e at least - %ytes= %t not ,ore t0an 20 %ytes.
Account ID
!roperty "ey 5'611( .R6.7(4&4#7&116U947ID !3sta.accont3$
Description &ccont ID
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F De)ice &ccont ID
9otes2
40is accont id is pro)ided %y t0e DM4 ser)ice pro)ider and niqely identi'ies t0e owner o' t0e accont.
40e &ccont ID ,st inclde only t0e c0aracters 'ro, t0e set & to P= 0 to <= nderscore= and 0yp0en.
40e ,a"i,, len/t0 o' an &ccont ID is 20 c0aracters.
Device ID
!roperty "ey 5'611) .R6.7(4&4#7D#:I1#7ID !3sta.de)ice3$
Description De)ice ID
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F De)ice ID
9otes2
40is de)ice id is pro)ided %y accont owner and is re/istered to t0e DM4 ser)ice pro)ider. 40is de)ice id
niqely identi'ies t0e de)ice wit0in t0e accont id.
40e De)ice ID ,st inclde only t0e c0aracters 'ro, t0e set & to P= 0 to <= nderscore= and 0yp0en.
40e ,a"i,, len/t0 o' an De)ice ID is 20 c0aracters.
OpenDMTP Protocol Reference Manual $age 2% o& 62
Device ID
!roperty "ey 5'611+ .R6.7(4&4#7D#:I1#7D4 !3sta.de)ice.%t3$
Description De)ice ID sed 'or secondary transport ,edia na,e !ie. (erial/Dletoot0$
Attri#utes &(1IIP= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02F De)ice ID
9otes2
40is de)ice id is sed w0en t0ere is ,ore t0an one transport ,edia !sc0 as +.R( and Dletoot0$ and t0e
de)ice needs to identi'y itsel' wit0 a separate ID o)er eac0 transport..
40e De)ice ID ,st inclde only t0e c0aracters 'ro, t0e set & to P= 0 to <= nderscore= and 0yp0en.
40e ,a"i,, len/t0 o' an De)ice ID is 20 c0aracters.
7ser ID
!roperty "ey 5'611- .R6.7(4&4#7U(#R7ID !3sta.ser3$
Description User ID
Attri#utes &(1IIP= Read;6nly
$alue Byte:Len $alue %iel& Description
02F User ID
9otes2
40is ser id is pro)ided %y accont owner and is re/istered to t0e DM4 ser)ice pro)ider. 40is ser id ,ay %e
sed as;needed %y t0e de)ice to send as 'ield in'or,ation in an e)ent.
40e User ID ,st inclde only t0e c0aracters 'ro, t0e set & to P= 0 to <= nderscore= and 0yp0en.
40e ,a"i,, len/t0 o' an User ID is 20 c0aracters.
7ser ID ti)e
!roperty "ey 5'611/ .R6.7(4&4#7U(#R74IM# !3sta.ser.ti,e3$
Description 4i,e User ID was speci'ied
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 9,%er o' seconds since ,idni/0t Ran 1= 1<70 +M4
9otes2
40is ti,esta,p s0old %e initialiBed ato,atically at t0e ti,e t0e .R6.7(4&4#7U(#R7ID )ale was set.
40is )ale is typically sed to pro)ide t0e len/t0 o' ti,e t0at a /i)en ser 0as %een attac0ed to t0is de)ice.
Current &evice ti)e
!roperty "ey 5'6121 .R6.7(4&4#74IM# !3sta.ti,e3$
Description 1rrent ti,e o' de)ice
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 9,%er o' seconds since ,idni/0t Ran 1= 1<70 +M4
9otes2
I,ple,entation o' t0is property is optional. Howe)er= i' t0e client cannot= or does not wis0 to spport t0is
'eatre= it s0old at least retrn a 0;len/t0 )ale.
OpenDMTP Protocol Reference Manual $age 22 o& 62
Current.Latest &evice -!+ fi2
!roperty "ey 5'612$ .R6.7(4&4#7+.( !3sta./psloc3$
Description 8atest !crrent$ +.( 'i"
Attri#utes +.(= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- +.( 'i" ti,e
-23
-2-
(tandard;resoltion encoded latitde= or
Hi/0;resoltion encoded latitde
723
A2-
(tandard;resoltion encoded lon/itde= or
Hi/0;resoltion encoded lon/itde
102-
122-
LoptionalM !(tandard;resoltion$ odo,eter ,eters= or
LoptionalM !Hi/0;resoltion$ odo,eter ,eters
9otes2
Dependin/ on t0e de/ree o' accracy t0at t0e client wis0es to pro)ide= t0e client ,ay retrn eit0er a 6;%yte
!standard resoltion$= or A;%yte !0i/0 resoltion$= encoded 8at/8on. 40e ser)er will in'er 'ro, t0e len/t0 o' t0e
payload 0ow t0e 8at/8on was encoded. !(ee &ppendi" # 'or latitde/lon/itde encodin/ details$.
I' t0e client cannot= or does not wis0 to spport t0is 'eatre= it ,st at least retrn a 0;len/t0 )ale.
-!+ &evice &iagnostics
!roperty "ey 5'612( .R6.7(4&4#7+.(7DI&+96(4I1 !3sta./psdia/3$
Description 8atest !crrent$ +.( dia/nostic in'or,ation
Attri#utes Uint32= &rray= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 8ast +.( sa,ple ti,e !ti,e o' last sa,ple atte,pt$
-2- 8ast +.( )alid 'i" ti,e !ti,e o' last )alid 'i"$
A2- 9,%er o' )alid +.( 'i"es since re%oot
122- 9,%er o' in)alid +.( 'i"es since re%oot
162- 9,%er o' 'orced +.( restarts
9otes2
40is property is sed %y t0e client to pro)ide dia/nostic in'or,ation re/ardin/ t0e crrent 0ealt0 o' t0e +.(
,odle.
Is $ehicle in Motion
!roperty "ey 5'612- .R6.7(4&4#7I(7I97M64I69 !3sta.in,otion3$
Description 9on;Bero i' )e0icle is crrently in ,otion.
Attri#utes Doolean
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' client is crrently in ,otion.
OpenDMTP Protocol Reference Manual $age 2' o& 62
9ueue& events
!roperty "ey 5'61$1 .R6.7(4&4#7CU#U#D7#:#94( !3sta.e)tqee3$
Description #)ent conts !n,%er o' qeed/nac*nowled/ed e)ents= and total e)ents /enerated$
Attri#utes UInt32= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 9,%er o' qeed= nac*nowled/ed= e)ents
-2- 4otal n,%er o' e)ents /enerated !eit0er since last re%oot= or since installed$
Client &evice &iagnostics
!roperty "ey 5'61(1 .R6.7(4&4#7D#:7DI&+96(4I1 !3sta.de)dia/3$
Description 8atest !crrent$ 1lient de)ice dia/nostic in'or,ation
Attri#utes Uint32= &rray= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
02- 1rrent de)ice reset cont !n,%er o' ti,es t0e de)ice 0as %een reset$
-2- 1rrent spply )olta/e !in ,illi)olts$
A2- reser)ed
122- reser)ed
162- reser)ed
9otes2
40is property is sed %y t0e client to pro)ide dia/nostic in'or,ation re/ardin/ t0e crrent 0ealt0 o' t0e de)ice.
OpenDMTP Protocol Reference Manual $age 2( o& 62
A.:) Data trans)ission.co))unication properties
Client spea;s first
!roperty "ey 5'6$5$ .R6.716MM7(.#&>7FIR(4 !3co,.'irst3$
Description Indicates w0et0er= or not= t0e client is to initiate con)ersation on connect.
Attri#utes Doolean
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' client is e"pected to initiate con)ersation
9otes2
40is )ale ,ay %e read;only on t0e client.
40is )ale s0old %e set to tre i' wit0in t0e transport ,edia and en)iron,ent t0e client is e"pected to initiate
t0e con)ersation pon initial connection to t0e ser)er.
40is )ale is typically tre 'or all periodic soc*et connections= and ,ay %e 'alse 'or occasional !sporadic$
connections.
Client initial #rief )essage
!roperty "ey 5'6$5) .R6.716MM7FIR(47DRI#F !3co,.%rie'3$
Description 1lient is to send ID only on 'irst pac*et %loc* sent to ser)er.
Attri#utes Doolean
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' client is to send only a %rie' ,essa/e on initial connection.
9otes2
I' GtreG= client ,st send only ID and #6D pac*ets on .irst pac*et %loc*. It ,st not send any ot0er pac*ets.
(%seqent %loc*s ,ay inclde ot0er pac*ets sc0 as e)ent= dia/nostics= and errors.
40e prpose o' t0is property is to allow t0e ser)er to recon'i/re t0e client prior to t0e client sendin/ its
nac*nowled/ed e)ents.
(i)e to 5ait #et5een connection failures
!roperty "ey 5'6$50 .R6.716MM7F&I8UR#7D#8&? !3co,.'aildelay3$
Description 40e a,ont o' ti,e to wait %etween connection 'ailres.
Attri#utes Uint32= &rray
$alue Byte:Len $alue %iel& Description
02- Mini,, delay !in seconds$ %etween 'ailed connections
-2- Ma"i,, delay !in seconds$ %etween 'ailed connections
9otes2
Eit0 so,e wireless ser)ice pro)iders= t0e process o' esta%lis0in/ a connection to t0e networ* !ie. .D.
conte"t$ cons,es %ytes allocated to t0e prc0ased data plan. 40is occrs %e'ore t0e client de)ice 0as
atte,pted to connect to t0e ser)er= and %e'ore any data 0as %een trans,itted. &s a reslt= connection and
data trans,ission 'ailres ,st also %e ,ana/ed= ot0erwise t0e process connectin/ and re;connectin/ can
cons,e all allotted %ytes in t0e data plan.
6n t0e 'irst connection 'ailre !a'ter a sccess'l connection$= t0e client ,st wait at least t0e ,ini,, delay
seconds %e'ore atte,ptin/ anot0er connection= %t not ,ore t0an t0e ,a"i,, delay seconds. 4ypically=
t0e client ,ay i,ple,ent a 3%ac*o''3 strate/y w0ere t0e a,ont o' delay 'or s%seqent 'ailre delays is
do%led ntil t0e ,a"i,, delay ti,e is reac0ed.
40is property ,ay %e i/nored 'or networ*s t0at do not i,pose a data penalty 'or connection atte,pts !ie.
Dletoot0= etc$.
OpenDMTP Protocol Reference Manual $age 2) o& 62
Ma2i)u) connections
!roperty "ey 5'6$11 .R6.716MM7M&F71699#14I69( !3co,.,a"conn3$
Description Ma"i,, n,%er o' allowed connections per ti,e period
Attri#utes UintA= &rray
$alue Byte:Len $alue %iel& Description
021 Ma"i,, total connections per ti,e period !Dple" S (i,ple"$
121 Ma"i,, Dple" connections per ti,e period
221 9,%er o' ,intes o)er w0ic0 t0e a%o)e li,its apply
9otes2
40ese )ales s0old ,atc0 t0ose pro)ided %y t0e le)el o' ser)ice /ranted %y t0e DM4 ser)ice pro)ider.
40e n,%er o' total connections s0old always %e TN t0e n,%er o' Dple" connections.
40e n,%er o' Dple" connection s0old %e set to G0G i' all ,essa/es are to trans,itted )ia (i,ple" !e/.
UD.$.
Mini)u) trans)it &elay
!roperty "ey 5'6$12 .R6.716MM7MI97FMI47D#8&? !3co,.,indelay3$
Description &%solte ,ini,, ti,e delay !seconds$ %etween trans,it inter)als
Attri#utes Uint16
$alue Byte:Len $alue %iel& Description
022 Mini,, ti,e in seconds %etween trans,issions
9otes2
40e de)ice ,st ne)er trans,it ,ore o'ten t0an t0e inter)al speci'ied %y t0is property !e)en 'or critical
e)ents$.
Mini)u) noncritical trans)it interval
!roperty "ey 5'6$1$ .R6.716MM7MI97FMI47R&4# !3co,.,inrate3$
Description Mini,, data trans,it inter)al !seconds$
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- Mini,, ti,e in seconds %etween trans,issions o' non;critical e)ents.
9otes2
For non;critical e)ents= t0e de)ice s0old ne)er trans,it ,ore o'ten t0an t0e inter)al speci'ied %y t0is
property.
OpenDMTP Protocol Reference Manual $age 26 o& 62
Ma2i)u) trans)it interval
!roperty "ey 5'6$1) .R6.716MM7M&F7FMI47R&4# !3co,.,a"rate3$
Description Ma"i,, data trans,it inter)al
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- Ma"i,, ti,e in seconds %etween trans,issions
9otes2
I' t0is a,ont o' ti,e passes wit0ot any data trans,ission= t0e client ,st initiate a non;data trans,ission to
see i' t0e ser)er wis0es to send t0e client any in'or,ation or recon'i/ration.
40is )ale s0old ne)er %e less t0an .R6.716MM7MI97FMI47R&4#.
Ma2i)u) Duple2 events
!roperty "ey 5'6$1- .R6.716MM7M&F7DU.7#:#94( !3co,.,a"dple"3$
Description Ma"i,, e)ents to send per %loc* !on Dple" connections$
Attri#utes UIntA
$alue Byte:Len $alue %iel& Description
021 Ma"i,, n,%er o' e)ents to send per ac*nowled/e %loc*
9otes2
40is )ale s0old %e at least 1= %t s0old not %e /reater t0an 12A. 40e ser)er ,ay re'se t0e data i' /reater
t0an 12A.
Ma2i)u) +i)ple2 events
!roperty "ey 5'6$1/ .R6.716MM7M&F7(IM7#:#94( !3co,.,a"si,ple"3$
Description Ma"i,, n,%er o' e)ents to send per (i,ple" trans,ission
Attri#utes UIntA
$alue Byte:Len $alue %iel& Description
021 Ma"i,, n,%er o' e)ents to send per (i,ple" trans,ission
9otes2
40is )ale s0old %e at least 1= %t s0old not %e /reater t0an 16. (ince (i,ple" trans,issions ,ay not
/arantee deli)ery !UD. does not$= ,a*in/ t0is )ale lar/er ,ay reslt in a ,ore si/ni'icant data loss s0old
a particlar ,essa/e %e lost.
Co))unication settings
!roperty "ey 5'6$A5 .R6.716MM7(#44I9+( !3co,.settin/s3$
Description 1o,,nication settin/s ; as de'ined %y de)ice
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP (trin/ de'inin/ t0e co,,nication settin/s needed %y t0e De)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40e contents and 'or,at o' t0e strin/ is de'ined %y t0e client.
OpenDMTP Protocol Reference Manual $age 2* o& 62
Re)ote server host
!roperty "ey 5'6$A1 .R6.716MM7H6(4 !3co,.0ost3$
Description 1o,,nication settin/s 0ost na,e
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP 0ost na,e or ip address= identi'ier
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
Re)ote server port
!roperty "ey 5'6$A2 .R6.716MM7.6R4 !3co,.port3$
Description 1o,,nication settin/s port
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 Re,ote 0ost port n,%er 'or Dple"/(i,ple" co,,nications.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor DM4 ser)ice pro)ider !ie. t0e ser)ice to w0ic0 yo are connectin/$.
D<+ server 1
!roperty "ey 5'6$A$ .R6.716MM7D9(71 !3co,.dns13$
Description 1o,,nication settin/s D9( 1
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP D9( ip address !pri,ary$
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
D<+ server '
!roperty "ey 5'6$A( .R6.716MM7D9(72 !3co,.dns23$
Description 1o,,nication settin/s D9( 2
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP D9( ip address !pri,ary$
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
OpenDMTP Protocol Reference Manual $age 28 o& 62
Co))unication Connection na)e
!roperty "ey 5'6$A) .R6.716MM71699#14I69 !3co,.connection3$
Description 1o,,nication settin/s 1onnection na,e
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP 1onnection na,e as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale is typically sed %y Eindows 1# de)ices to identi'y t0e connection na,e w0ic0 can pro)ide
Internet connecti)ity.
Co))unication A!< na)e
!roperty "ey 5'6$A+ .R6.716MM7&.979&M# !3co,.apnna,e3$
Description 1o,,nication settin/s &.9 na,e
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP &.9 na,e as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
Co))unication A!< server
!roperty "ey 5'6$A- .R6.716MM7&.97(#R:#R !3co,.apnser)3$
Description 1o,,nication settin/s &.9 ser)er
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP &.9 ser)er as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
Co))unication A!< user
!roperty "ey 5'6$A/ .R6.716MM7&.97U(#R !3co,.apnser3$
Description 1o,,nication settin/s &.9 ser
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP &.9 ser as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
OpenDMTP Protocol Reference Manual $age 2+ o& 62
Co))unication A!< pass5or&
!roperty "ey 5'6$A0 .R6.716MM7&.97.&((E6RD !3co,.apnpass3$
Description 1o,,nication settin/s &.9 password
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP &.9 password as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor +(M/+.R( airti,e ser)ice pro)ider.
Co))unication A!< phone nu)#er
!roperty "ey 5'6$AA .R6.716MM7&.97.H69# !3co,.apnp0one3$
Description 1o,,nication settin/s &.9 p0one n,%er
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP &.9 p0one as reqired %y t0e client de)ice.
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale is typically 3O<<OOO1@3= %t ,ay %e de'ined %y yor +(M/+.R( airti,e ser)ice pro)ider..
Co))unication A!< settings
!roperty "ey 5'6$AC .R6.716MM7&.97(#44I9+( !3co,.apnsett3$
Description +eneral co,,nication settin/s
Attri#utes &(1IIP= 6ptional
$alue Byte:Len $alue %iel& Description
02F &(1IIP /eneral co,,nication settin/s
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is property is pro)ided to co)er con'i/ration ite,s not co)ered in t0e ot0er co,,nication properties.
Co))unication Mini)u) +ignal +trength
!roperty "ey 5'6$AD .R6.716MM7MI97(I+9&8 !3co,.,insi/nal3$
Description Mini,, si/nal stren/t0 reqired to esta%lis0 connection.
Attri#utes UIntA= 6ptional
$alue Byte:Len $alue %iel& Description
021 4ypically a )ale %etween 0 and 31= inclsi)e.
9otes2
40e client se t0is )ale to co,pare a/ainst t0e )ale retrned 'ro, a 3&4S1(C3 reqest 'ro, t0e ,ode,.
OpenDMTP Protocol Reference Manual $age '0 o& 62
Co))unication Mini)u) +ignal +trength
!roperty "ey 5'6$A6 .R6.716MM7&11#((7.I9 !3co,.pin3$
Description &ccess .I9/.assword
Attri#utes UIntA= 6ptional
$alue Byte:Len $alue %iel& Description
02F &ccess pin/password
9otes2
40e client ,ay c0oose to *eep t0is )ale secret and retrn a 0;len/t0 )ale 'or property reqests.
40is .I9 ,ay %e sed as needed %y t0e client 'or access control.
Re)ote server port
!roperty "ey 5'6$!2 .R6.716MM7U.86&D7.6R4 !3co,.plport3$
Description 1o,,nication settin/s GploadG 'ile trans'er port
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 Re,ote 0ost port n,%er 'or ot;o';%and 'ile trans'ers
9otes2
40e client ,ay c0oose to ,a*e t0is read;only.
40is )ale ,st %e spplied %y yor DM4 ser)ice pro)ider !ie. t0e ser)ice to w0ic0 yo are connectin/$.
+erver supports custo) event pac;ets
!roperty "ey 5'6$C5 .R6.716MM71U(46M7F6RM&4( !3co,.cst',t3$
Description 4re i' t0e ser)er spports csto, 'or,ats 'or t0is client
Attri#utes Doolean
$alue Byte:Len $alue %iel& Description
021 9on;Bero i' t0e ser)er spports csto, 'or,ats
9otes2
40is is a 0int to w0et0er or not t0e DM4 ser)ice pro)ider will spport csto, 'or,ats 'ro, t0is de)ice. 40e
client ,ay se t0is in'or,ation to decide w0et0er it s0old atte,pt sendin/ csto, e)ent pac*ets.
+erver supporte& enco&ings
!roperty "ey 5'6$C1 .R6.716MM7#916DI9+( !3co,.encodn/3$
Description Mas* indicatin/ t0e encodin/s spported %y t0e ser)er.
Attri#utes UintA !,as*$
$alue Byte:Len $alue %iel& Description
021 Dit,as* indicatin/ spported encodin/s
0"01 ; Dinary !always tre$
0"02 ; &scii Dase6- !always tre$
0"0- ; &scii He" !always tre$
0"0A ; &scii 1(: !ser)er spport is optional$
0"F0 ; reser)ed
9otes2
40is is a 0int to w0et0er or not t0e DM4 ser)ice pro)ider will spport t0e speci'ied encodin/ 'or t0is de)ice.
OpenDMTP Protocol Reference Manual $age '% o& 62
Bytes rea& #y client
!roperty "ey 5'6$61 .R6.716MM7D?4#(7R#&D !3co,.rdcnt3$
Description 9,%er o' %ytes read %y client
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 9,%er o' %ytes read since reset
9otes2
40is is 'or in'or,ation prposes only and t0e client is not reqired to i,ple,ent t0is property.
Bytes 5ritten #y client
!roperty "ey 5'6$62 .R6.716MM7D?4#(7ERI44#9 !3co,.wrcnt3$
Description 9,%er o' %ytes written %y client
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 9,%er o' %ytes written since reset
9otes2
40is is 'or in'or,ation prposes only and t0e client is not reqired to i,ple,ent t0is property.
OpenDMTP Protocol Reference Manual $age '2 o& 62
A.=) -!+ +a)pling Configuration !roperties
-!+ sa)ple interval
!roperty "ey 5'6)11 .R6.7+.(7(&M.8#7R&4# !3/ps.s,prate3$
Description +.( sa,ple inter)al
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds %etween +.( sa,ples
9otes2
40is )ale represent t0e a,ont o' ti,e to wait %etween +.( location acqisition and analysis. 40is )ale is
typically a s0ort a,ont o' ti,e= so,ew0ere %etween 5 and 30 seconds
-!+ a8uire 5ait
!roperty "ey 5'6)12 .R6.7+.(7&CUIR#7E&I4 !3/ps.aqwait3$
Description &,ont o' ti,e to %loc* w0en waitin/ 'or a crrent +.( 'i"
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 9,%er o' ,illiseconds to %loc* !1 to 5000 ,illiseconds$.
9otes2
40is )ale s0old %e in t0e ran/e o' 0 to 5000 ,illiseconds.
G0G is de'ined %y t0e client= %t typically ,eans t0at last )alid 'i" s0old %e i,,ediately sed.
-!+ e2piration
!roperty "ey 5'6)1$ .R6.7+.(7#F.IR&4I69 !3/ps.e"pire3$
Description +.( #"piration
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds a'ter w0ic0 t0e +.( 'i" is considered stale
9otes2
40e %e0a)ior o' t0e client w0en a +.( 'i" 0as e"pired is nspeci'ied. 40e client ,ay wis0 to send a
dia/nostic/error ,essa/e to t0e ser)er.
-!+ 7p&ate +yste) Cloc;
!roperty "ey 5'6)1) .R6.7+.(71861>7D#84& !3/ps.pdcloc*3$
Description +.( Update (yste, 1loc*
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 I' non;Bero= pdate t0e syste, cloc* wit0 t0e latest +.( ti,e i' t0e ti,e di''erences
e"ceeds t0is property )ale. & )ale o' G0G indicates to t0e client t0at t0e syste, cloc*
s0old ne)er %e pdated wit0 t0e +.( ti,e.
9otes2
40e se o' t0is property is deter,ined %y t0e client.
OpenDMTP Protocol Reference Manual $age '' o& 62
-!+ accuracy threshol&
!roperty "ey 5'6)21 .R6.7+.(7&11UR&1? !3/ps.accracy3$
Description +.( &ccracy t0res0old
Attri#utes Uint16= 6ptional
$alue Byte:Len $alue %iel& Description
022 +.( accracy t0res0old in ,eters
9otes2
& +.( 'i" s0old %e reQected i' itGs accracy 'alls otside t0is t0res0old. For e"a,ple= i' t0e )ale is set to A0
,eters and t0e accracy o' a /i)en +.( 'i" is deter,ined to %e 100 ,eters= t0en t0e +.( 'i" s0old %e
reQected and anot0er +.( 'i" s0old %e acqired.
(pport 'or t0is property is optional !not all clients ,ay 0a)e t0e a%ility to deter,ine t0e accracy o' a +.(
'i"$. 40e client ,ay retrn t0e error DI&+7.R6.#R4?7I9:&8ID7ID i' it cannot spport t0is property.
-!+ )ini)u) spee&
!roperty "ey 5'6)22 .R6.7+.(7MI97(.##D !3/ps.,inspd3$
Description +.( Mini,, speed
Attri#utes Uint16
$alue Byte:Len $alue %iel& Description
022 Mini,, +.( speed in 0.1 >.H nits
9otes2
+.( reported speed )ales UN t0is )ale will %e considered stopped and will %e reported in location e)ents
as 0 >.H.
40e prpose o' t0is property is to adQst 'or inaccracies in so,e +.( ,odles w0ic0 can report a si/ni'icant
speed )ale= e)en w0en t0e de)ice is not ,o)in/.
-!+ )ini)u) &istance &elta
!roperty "ey 5'6)$1 .R6.7+.(7DI(4&91#7D#84& !3/ps.dstdelt3$
Description Mini,, distance delta
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- 40e ,ini,, distance t0at t0e de)ice 0as to ,o)e !in ,eters$ 'or distance acc,lation
!ie. 6do,eter$.
9otes2
40e de)ice ,st ,o)e t0is n,%er o' ,eters %e'ore a distance acc,lation !ie. odo,eter$ is per'or,ed.
!40e new +.( 'i" s0old t0en %e stored in .R6.76D6M#4#R707+.($.
40is )ale s0old %e lar/er t0an t0e accracy capa%ility o' t0e +.( ,odle. (ettin/ t0is )ale too low !e/. 20
,eters$ ,ay case t0e de)ice to acc,late distance e)en t0o/0 t0e de)ice isnGt ,o)in/. 40e )ale s0old
not %e less t0an t0e )ale speci'ied 'or .R6.7+.(7&11UR&1?. For non;E&&( ena%led +.( ,odles=
t0is )ale pro%a%ly s0old not %e less t0at 500 ,eters. For E&&( ena%led ,odles= t0is )ale cold
pro%a%ly %e arond 200 ,eters. #"peri,ent wit0 t0is and c0ec* t0e reslts 'or yorsel'.
OpenDMTP Protocol Reference Manual $age '( o& 62
A.>) -eofence.-eo?one properties
-eofence.-eo?one a&)inistrative co))an&s
!roperty "ey 5'6)(2 .R6.7+#6F7&DMI9 !3/'.ad,in3$
Description +eo'ence/+eoPone ad,inistrati)e co,,ands
Attri#utes 1o,,and= Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
021 0"10 N &dd +eoPone
122 Pone;ID
322 Mas* 0"#0002 4ype= Mas* 0"1FFF2 Radis !,eters$
526 6;%yte #ncoded 8atitde/8on/itde @1 !(ee &ppendi" # 'or encodin/ details$.
1126 6;%yte #ncoded 8atitde/8on/itde @2 !(ee &ppendi" # 'or encodin/ details$.
40e a%o)e te,plate !PoneID to 8at/8on$ ,ay %e repeated p to 15 ti,es per pac*et
$alue Byte:Len $alue %iel& Description @optionalA
021 0"11 N &dd +eoPone
12- Pone;ID
522 Mas* 0"#0002 4ype= Mas* 0"1FFF2 Radis !,eters$
72A A;%yte #ncoded 8atitde/8on/itde @1 !(ee &ppendi" # 'or encodin/ details$.
152A A;%yte #ncoded 8atitde/8on/itde @2 !(ee &ppendi" # 'or encodin/ details$.
40e a%o)e te,plate !PoneID to 8at/8on$ ,ay %e repeated p to 11 ti,es per pac*et
$alue Byte:Len $alue %iel& Description
021 0"20 N Re,o)e +eoPone
122 Pone;ID
$alue Byte:Len $alue %iel& Description
021 0"30 N (a)e 10an/es
9otes2
40e a%o)e represents a standard ,et0od 'or de'inin/ arri)al/departre +eoPones. 40e way +eoPones are
internally ,ana/ed are client dependent and as sc0 it ,ay not %e possi%le 'or t0e client to i,ple,ent t0is
particlar ,et0od. In w0ic0 case= a client w0ic0 cannot spport t0is ,et0od o' +eoPone de'inition s0old at
least respond wit0 16MM&9D7F#&4UR#79647(U..6R4#D i' t0is co,,and property is called.
In so,e client i,ple,entations= it ,ay %e ,ore desira%le to write t0e entire set o' +eoPones to t0e client. In
t0ese cases= t0e se o' t0e 3(er)er File Upload3 pac*et types ,ay %e pre'erred.
-eofence.-eo?one ta#le entry count
!roperty "ey 5'6)(- .R6.7+#6F716U94 !3/'.cont3$
Description 40e n,%er o' entries crrently in t0e +eo'ence/+eoPone ta%le
Attri#utes UInt16= Read;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
022 1rrent n,%er o' +eo'ence/+eoPone entries in t0e ta%le.
OpenDMTP Protocol Reference Manual $age ') o& 62
-eofence.-eo?one ta#le version
!roperty "ey 5'6)(/ .R6.7+#6F7:#R(I69 !3/'.)ersion3$
Description 40e n,%er o' entries crrently in t0e +eo'ence/+eoPone ta%le
Attri#utes &(1IIP (trin/= 6ptional
$alue Byte:Len $alue %iel& Description
02F 40e crrent ta%le )ersion strin/.
9otes2
40e 'or,at o' t0is strin/ ,ay %e de'ined %y t0e ser)er
.
-eofence arrival &elay
!roperty "ey 5'6)(A .R6.7+#6F7&RRI:#7D#8&? !3/'.arr.delay3$
Description +eo'ence arri)al delay in seconds
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds t0at t0e de)ice ,st %e in a /eo'ence %e'ore is is considered 3arri)ed3.
9otes2
40is prpose o' t0is property it to pre)ent de)ices %ein/ ,ar*ed as Garri)edG w0en t0ey are only passin/
t0ro/0.
-eofence &eparture &elay
!roperty "ey 5'6)(D .R6.7+#6F7D#.&R47D#8&? !3/'.dep.delay3$
Description +eo'ence departre delay in seconds
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds t0at t0e de)ice ,st %e otside a /eo'ence %e'ore is is considered
3departed3.
9otes2
40e )ale 'or t0is property is /enerally s,all and pre)ents de)ices %ein/ ,ar*ed as GdepartedG w0en t0ey only
le't %rie'ly. 40is is /enerally only necessary to pre)ent odd%all %oncin/ +.( locations 'ro, casin/ ,ltiple
i,proper arri)al/departre ,essa/es.
Current geofence
!roperty "ey 5'6))1 .R6.7+#6F71URR#94 !3/'.crrent3$
Description +eo'ence ID in w0ic0 t0e de)ice is crrently sittin/
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 1rrent +eo'ence ID
9otes2
40is )ale s0old /enerally %e set %y t0e de)ice itsel' at it enters or lea)e prede'ined /eo'enced areas.
OpenDMTP Protocol Reference Manual $age '6 o& 62
Active alar)e& geocorri&or
!roperty "ey 5'6)+2 .R6.71MD7+#617&DMI9 !3/c.ad,in3$
Description +eo1orridor ad,inistrati)e co,,ands
Attri#utes 1o,,and= Erite;6nly= 6ptional
$alue Byte:Len $alue %iel& Description
F2F 4DD
Active alar)e& geocorri&or
!roperty "ey 5'6)+- .R6.7+#617&14I:#7ID !3/c.acti)e3$
Description 40e acti)e +eo1orridor ID
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- &cti)e +eo1orridor ID
9otes2
40is is typically sed 'or identi'yin/ t0e acti)e alar, state /eocorridor.
40is )ale ,ay %e set %y t0e de)ice itsel' as it deter,ines necessary as it enters or lea)es prede'ined
/eo'enced areas
Alar)e& geocorri&or violation interval
!roperty "ey 5'6)+A .R6.7+#617:I68&4I697I94R:8 !3/c.)io.rate3$
Description +eo'ence )iolation reportin/ inter)al 'or a sstained /eocorridor )iolation.
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds %etween /eocorridor )iolation e)ents.
9otes2
40is )ale represents t0e inter)al !in seconds$ %etween /eocorridor )iolation e)ents drin/ a sstained
/eocorridor )iolation.
Alar)e& geocorri&or violation count
!roperty "ey 5'6)+D .R6.7+#617:I68&4I69716U94 !3/c.)io.cnt3$
Description Ma"i,, n,%er o' /eocorridor )iolation ,essa/es to send
Attri#utes UInt16= 6ptional
$alue Byte:Len $alue %iel& Description
022 Ma"i,, n,%er o' )iolation ,essa/es to send drin/ a /eocorridor )iolation.
9otes2
40is )ale represents t0e n,%er o' /eocorridor )iolation e)ents t0at s0old %e sent once t0e de)ice 0as
deter,ined t0at a /eocorridor )iolation 0as occrred.
OpenDMTP Protocol Reference Manual $age '* o& 62
A.10) Motion properties
Motion start type
!roperty "ey 5'6-11 .R6.7M64I697(4&R474?.# !3,ot.start.type3$
Description Motion start type
Attri#utes UIntA
$alue Byte:Len $alue %iel& Description
021 Motion start type !0N+.( *p0= 1N+.( ,eters ,o)ed= 2N6D1 *p0= 3N6D1/+.( *p0$
9otes2
40is property de'ines t0e ,eanin/ o' t0e )ale 'or t0e property .R6.7M64I697(4&R4. I' t0is )ale is G0G=
t0en ,otion;start is de'ined i' >.H. I' t0is )ale is G1G= t0en ,otion;start is de'ined in t0e n,%er o' ,eters
,o)ed. :ales 2/3 are reser)ed 'or 6D1 %ased ,otion start de'initions.
40e client ,ay wis0 to ,a*e t0is property read;only.
Motion start &efinition
!roperty "ey 5'6-12 .R6.7M64I697(4&R4 !3,ot.start3$
Description Motion start de'inition
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 De'inition o' start o' ,otion in 0.1 >.H/Meters nits
9otes2
& )ale o' 0 ,eans t0at stop/stop ,otion e)ents are not crrently ena%led.
E0et0er t0is )ale is interpreted as >.H or Meters depends on t0e )ale o' t0e property
.R6.7M64I697(4&R474?.#.
InMotion interval
!roperty "ey 5'6-1$ .R6.7M64I697I97M64I69 !3,ot.in,otion3$
Description In;,otion periodic e)ent inter)al
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds %etween in;,otion e)ents
9otes2
& )ale o' 0 ,eans t0at no in;,otion e)ents are to %e /enerated.
Motion stop &efinition
!roperty "ey 5'6-1( .R6.7M64I697(46. !3,ot.stop3$
Description Motion stop de'inition
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 De'inition o' end o' ,otion in n,%er o' seconds !1 to 65535 sec$
9otes2
40e de)ice will %e considered 3stopped3 a'ter t0is period o' ti,e 0as elapsed wit0ot any ,otion.
OpenDMTP Protocol Reference Manual $age '8 o& 62
Motion stop &efinition
!roperty "ey 5'6-1) .R6.7M64I697(46.74?.# !3,ot.stop.type3$
Description Motion stop type de'inition
Attri#utes UIntA
$alue Byte:Len $alue %iel& Description
021 0N&'ter;Delay= 1NE0en;(topped !2 to 255 reser)ed$
9otes2
40is )ale de'ines t0e e''ect o' t0e )ale 'or t0e property .R6.7M64I697(46.. I' t0ie )ale is G0G= t0en t0e
stop;,otion e)ent will %e /enerated wit0 a ti,esta,p at t0e ti,e t0e .R6.7M64I697(46. ti,er 0as
e"pired. &lso= in;,otion ,essa/es will %e /enerated on a contined sc0edle inter)al ntil t0e stop;,otion
e)ent is /enerated. I' t0is )ale is G1G= t0en t0e ti,esta,p o' t0e /enerated stop;,otion e)ent will %e t0e ti,e
t0at t0e )e0icle actally stopped !t0e stop;,otion e)ent is delayed ntil t0e stopped ti,er is e"pired$. &lso=
in;,otion e)ents will only %e /enerated i' t0e )e0icle is actally in ,otion at t0e ti,e t0e in;,otion e)ent is to
%e /enerated.
Dor)ant interval
!roperty "ey 5'6-1+ .R6.7M64I697D6RM&947I94R:8 !3,ot.dor,.rate3$
Description Dor,ant periodic e)ent inter)al
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- 9,%er o' seconds %etween dor,ant e)ents !1 to -2<-<672<5 sec$
9otes2
& )ale o' 0 indicates t0at dor,ant e)ents are disa%led.
40is )ale represents t0e inter)al !in seconds$ %etween dor,ant e)ents once t0e de)ice 0as deter,ined t0at
it is no lon/er ,o)in/. 40e n,%er o' dor,ant ,essa/es sent is de'ined %y t0e property
.R6.7M64I697D6RM&94716U94.
Dor)ant count
!roperty "ey 5'6-1- .R6.7M64I697D6RM&94716U94 !3,ot.dor,.cnt3$
Description Ma"i,, n,%er o' dor,ant ,essa/es to send
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 Ma"i,, n,%er o' dor,ant ,essa/es to send drin/ dor,ancy
9otes2
40is )ale represents t0e n,%er o' dor,ant ,essa/es t0at s0old %e sent once t0e de)ice 0as deter,ined
t0at it is no lon/er ,o)in/. 4ypically= t0is )ale is 0 !inde'inite$= 0owe)er it ,ay %e desira%le to 0a)e a li,ited
n,%er o' dor,ant ,essa/es sent %y t0e client.
OpenDMTP Protocol Reference Manual $age '+ o& 62
B2cess spee&
!roperty "ey 5'6-21 .R6.7M64I697#F1#((7(.##D !3,ot.e"speed3$
Description #"cess speed li,it
Attri#utes UInt16
$alue Byte:Len $alue %iel& Description
022 De'inition o' e"cess speed in 0.1 >.H nits
9otes2
&n e"cess speed e)ent s0old %e /enerated i' t0e crrent speed e"ceeds t0is )ale.
Moving Interval
!roperty "ey 5'6-2) .R6.7M64I697M6:I9+7I94R:8 !3,ot.,o)in/3$
Description GMocin/G periodic e)ent inter)al
Attri#utes Uint16= 6ptional
$alue Byte:Len $alue %iel& Description
022 9,%er o' seconds %etween GMo)in/G e)ents !1 to 65535 sec$
9otes2
40is )ale represents t0e ,ini,, inter)al !in seconds$ %etween G,o)in/G e)ents i' t0e de)ice deter,ines
t0at it is ,o)in/.
GMo)in/G e)ents ,ay operate independently o' ,otion start/stop/in;,otion e)ents= and ,ay %e /enerated e)en
i' start/stop e)ents are not in se.
40is property is optional. 40e client ,ay also decide t0e special conditions nder w0ic0 t0ese e)ents are
/enerated.
OpenDMTP Protocol Reference Manual $age (0 o& 62
A.11) 6&o)eter properties
6&o)eter.(ripo)eter
!roperty "ey 5'6--5 .R6.76D6M#4#R707:&8U# !3odo.0.)ale3$
...
5'6--6 .R6.76D6M#4#R7F7:&8U# !3odo.F.)ale3$
Description De)ice odo,eter/tripo,eter in ,eters
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- 9,%er o' ,eters t0at t0e de)ice 0as ,o)ed since t0e )ale was last reset.
9otes2
.R6.76D6M#4#R707:&8U# s0old %e sed to represent t0e n,%er o' ,eters ,o)ed since t0e de)ice
was pt into ser)ice. !40is odo,eter ,ay %e read;only.$
.R6.76D6M#4#R71..77:&8U# ,ay %e sed 'or special Gtripo,eterG applications.
6&o)eter triggers
!roperty "ey 5'6-/5 .R6.76D6M#4#R7078IMI4 !3odo.0.li,it3$
...
5'6-/6 .R6.76D6M#4#R7F78IMI4 !3odo.F.li,it3$
Description De)ice odo,eter/tripo,eter tri//ered alar, point in ,eters.
Attri#utes UInt32
$alue Byte:Len $alue %iel& Description
02- 6nce t0e client 0as ac0ie)ed t0is n,%er o' ,eters it s0old tri//er a correspondin/
(4&4U(76D6M78IMI47@ e)ent
9otes2
& )ale o' G0G indicates t0at no alar,/e)ent s0old %e /enerated.
6nce t0is li,it is reac0ed= t0e client s0old isse a correspondin/ (4&4U(76D6M78IMI47@ e)ent= 0owe)er=
t0e decision to reset t0e odo,eter or contine to cont is le't to t0e client.
OpenDMTP Protocol Reference Manual $age (% o& 62
6&o)eter -!+
!roperty "ey 5'6-05 .R6.76D6M#4#R707+.( !3odo.0./ps3$
...
5'6-06 .R6.76D6M#4#R7F7+.( !3odo.F./ps3$
Description De)ice odo,eter +.( !point o' last odo,eter +.( 'i"$
Attri#utes +.(= Read;6nly
$alue Byte:Len $alue %iel& Description
02- +.( 'i" ti,e
-23
-2-
(tandard;resoltion encoded latitde= or
Hi/0;resoltion encoded latitde
723
A2-
(tandard;resoltion encoded lon/itde= or
Hi/0;resoltion encoded lon/itde
102-
122-
!(tandard;resoltion$ odo,eter ,eters= or
!Hi/0;resoltion$ odo,eter ,eters
9otes2
40ese properties ,ay %e sed %y t0e client to ,aintain t0e +.( location state necessary to acc,late +.(;
%ased odo,eter in'or,ation. 40is property only 0olds a sin/le +.( point= i' t0e client reqires a ,ore
/eneral state cac0e 'or odo,eter in'or,ation= t0e .R6.76D6M#4#R7@7(4&4# properties s0old %e sed.
Dependin/ on t0e de/ree o' accracy t0at t0e client wis0es to pro)ide= t0e client ,ay store/retrn eit0er a 6;
%yte= or A;%yte= encoded 8at/8on/.
40e ser)er will in'er 'ro, t0e len/t0 o' t0e data payload w0ic0 type o' encodin/ is sed.
40ese properties s0old %e considered read;only= 0owe)er t0is is en'orced %y t0e client. 40e client ,ay allow
t0ese )ales to %e set i' necessary.
OpenDMTP Protocol Reference Manual $age (2 o& 62
A.1') Digital input.output properties
Digital Input +tate
!roperty "ey 5'6051 .R6.7I9.U47(4&4# !3inp.state3$
Description Di/ital inpt state
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- Inpt state ,as* !least si/ni'icant %it is Inpt @0$
9otes2
40e client ,ay c0oose to ,a*e t0is )ale read;only.
Digital Input Configuration
!roperty "ey 5'6015 .R6.7I9.U47169FI+70 !3inp.0.con'3$
...
5'6016 .R6.7I9.U47169FI+7F !3inp.F.con'3$
Description Di/ital inpt con'i/ration
Attri#utes UInt32= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
02- (pport ,as*
0"0000000F V De%once inter)al !as interpreted %y t0e client$
0"00000010 V 4ri//er e)ent w0en state c0an/es to G6nG
0"00000020 V 4ri//er e)ent w0en state c0an/es to G6''G
0"000000A0 V Hi/0 priority !w0en sed wit0 e)ent /eneration$
0"00000100 V (tart elapse;ti,er w0en state c0an/es to G6nG
0"00000200 V (tart elapse;ti,er w0en state c0an/es to G6''G
0"00001000 V 4ri//er otpt cycle w0en state c0an/es to G6nG
0"00002000 V 4ri//er otpt cycle w0en state c0an/es to G6''G
-2- Reser)ed.
9otes2
& Gspport ,as*G o' G0G indicates t0at t0is di/ital inpt will %e i/nored.
& de%once inter)al o' G0G ,eans t0at no Gde%onceG will occr. 40is 'eatre is intended 'or inpts t0at ,ay
nder/o se)eral qic* state c0an/es %e'ore settlin/ down. For instance= a di/ital inpt tri//ered %y an
i/nition switc0 ,ay /o t0ro/0 se)eral on/o''/on state c0an/es as t0e dri)er atte,pts to start t0e )e0icle.
Instead o' recordin/ all o' t0ese state c0an/es= t0is de%onceG 'eatre can %e sed to only record t0e i/nition;
on i' t0e inpt re,ains GtreG 'or a s0ort period o' ti,e !e/. 20 seconds$.
40e interpretation o' non;Bero de%once )ales is le't to t0e client.
40e tri//ered otpts are deter,ined %y client i,ple,entation.
OpenDMTP Protocol Reference Manual $age (' o& 62
Digital 6utput Configuration
!roperty "ey 5'60$5 .R6.76U4.U47169FI+70 !3ot.0.con'3$
...
5'60$6 .R6.76U4.U47169FI+7F !3ot.F.con'3$
Description Di/ital otpt con'i/ration
Attri#utes UInt32= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
02- (pport ,as*
0"00000010 V 4ri//er e)ent w0en opt is trned G6nG
0"00000020 V 4ri//er e)ent w0en opt is trned G6''G
0"000000A0 V Hi/0 priority !w0en sed wit0 e)ent /eneration$
-2- Ma"i,, otpt G6nG ti,e !in ,illiseconds$.
9otes2
& Gspport ,as*G o' G0G indicates t0at t0is di/ital otpt will %e i/nored.
E0ile t0e G,a"i,, onG ti,e is speci'ied in ,illiseconds= it ,ay not %e possi%le 'or t0e client to pro)ide t0at
le)el o' /ranlarity. In t0is case t0e client ,ay c0oose to rond p to t0e ne"t nearest second i' necessary.
Blapse& ti)e value
!roperty "ey 5'60+5 .R6.7#8&.(#D707:&8U# !3ela.0.)ale3$
...
5'60+6 .R6.7#8&.(#D7F7:&8U# !3ela.F.)ale3$
Description De)ice elapsed ti,er acc,lated )ale in seconds
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 40e crrent )ale o' t0e elapsed ti,er in seconds
9otes2
40e client ,ay c0oose 0ow o'ten t0is )ale is pdated.
Blapse& ti)e li)it trigger
!roperty "ey 5'60/5 .R6.7#8&.(#D7078IMI4 !3ela.0.li,it3$
...
5'60/6 .R6.7#8&.(#D7F78IMI4 !3ela.F.li,it3$
Description De)ice elapsed ti,er tri//ered alar, point
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- #lapsed ti,er seconds li,it
9otes2
6nce t0e client 0as ac0ie)ed t0is n,%er o' seconds it s0old tri//er a correspondin/
(4&4U(7#8&.(#D78IMI47@ e)ent= 0owe)er= t0e decision to reset t0e ti,er or contine to cont is le't to t0e
client.
& )ale o' G0G indicates t0at no alar,/e)ent will %e /enerated.
OpenDMTP Protocol Reference Manual $age (( o& 62
A.1,) Analog.+ensor configuration properties
!o5er supply un&ervoltage li)it
!roperty "ey 5'6!51 .R6.7U9D#R:684&+#78IMI4 !3%at.li,it3$
Description Dattery/.ower;spply nder)olta/e li,it
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- Under)olta/e li,it !in ,illi)olts$
9otes2
E0en t0e spply )olta/e 'alls %elow t0is )ale= t0e client s0old isse a (4&4U(786E7D&44#R? e)ent.
40e client ,ay decide 0ow o'ten t0is e)ent is to %e repeated s0old t0e )olta/e re,ain %elow t0is t0res0old.
& )ale o' G0G indicates t0at no nder)olta/e alar,/e)ent will %e /enerated.
+ensor configuration
!roperty "ey 5'6!15 .R6.7(#9(6R7169FI+70 !3sen.0.con'3$
...
5'6!16 .R6.7(#9(6R7169FI+7F !3sen.F.con'3$
Description (ensor con'i/ration
Attri#utes UInt32= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
02- +ain !as de'ined %y t0e client$
-2- 6''set !as de'ined %y t0e client$
9otes2
40e nits o' t0ese )ales are de'ined %y t0e client.
+ensor range li)it
!roperty "ey 5'6!25 .R6.7(#9(6R7R&9+#70 !3sen.0.ran/e3$
...
5'6!26 .R6.7(#9(6R7R&9+#7F !3sen.F.ran/e3$
Description (ensor 0i/0/low ran/e li,it tri//er
Attri#utes UInt32= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
02- 8ow ran/e
-2- Hi/0 ran/e
9otes2
40e nits o' t0is ran/e is de'ined %y t0e client.
OpenDMTP Protocol Reference Manual $age () o& 62
A.1/) (e)perature configuration properties
(e)perature sensor sa)pling interval
!roperty "ey 5'6!+5 .R6.74#M.7(&M.8#7I94R:8 !3t,p.s,prate3$
Description 4e,peratre sensor sa,plin/ inter)al
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 4e,peratre sa,plin/ inter)al !in seconds$
-2- .ort GcloseG indicator !Bero to close port a'ter sa,plin/= non;Bero to lea)e port open$
9otes2
40is sa,plin/ inter)al speci'ies t0e inter)al %etween te,peratre sensor sa,ples.
40e port GcloseG indicators allow speci'yin/ w0et0er t0e te,peratre ,onitor is to %e le't GonG %etween
sa,plin/s. (o,e client de)ices ,ay not 0a)e t0e a%ility to trn o'' t0e te,peratre ,onitor= so t0is )ale
,ay %e i/nored.
(e)perature sensor reporting interval
!roperty "ey 5'6!+$ .R6.74#M.7R#.6R47I94R:8 !3t,p.rptrate3$
Description 4e,peratre sensor reportin/ inter)als
Attri#utes UInt32= 6ptional
$alue Byte:Len $alue %iel& Description
02- 4e,peratre periodic reportin/ inter)al !in seconds$
-2- 4e,peratre alar, reportin/ inter)al !in seconds$
9otes2
40e periodic reportin/ inter)al speci'ies t0e inter)al %etween te,peratre sensor periodic e)ents.
40e alar, reportin/ inter)al speci'ies t0e inter)al %etween te,peratre sensor alar, e)ents w0ile t0e
te,peratre is ot o' ran/e.
(e)perature sensor configuration
!roperty "ey 5'6!-5 .R6.74#M.7169FI+70 !3t,p.0.con'3$
...
5'6!-- .R6.74#M.7169FI+77 !3t,p.7.con'3$
Description 4e,peratre sensor con'i/ration
Attri#utes UInt32= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
02- 4e,peratre con'i/ration 1 !as de'ined %y t0e client$
-2- 4e,peratre con'i/ration 2 !as de'ined %y t0e client$
9otes2
40is is an optional property 'or clients w0ic0 ,ay pro)ide te,peratre sensors.
40e interpretation o' t0e )ales pro)ided %y t0is property is le't o t0e client de)ice. For instance= t0e )ales
cold %e interpreted as /ain and o''set 'or an analo/ te,peratre sensor= or it cold %e sed as a
te,peratre con)er/ence 'actor 'or a)era/in/.
OpenDMTP Protocol Reference Manual $age (6 o& 62
(e)perature sensor range li)it
!roperty "ey 5'6!/5 .R6.74#M.7R&9+#70 !3t,p.0.ran/e3$
...
5'6!/- .R6.74#M.7R&9+#77 !3t,p.7.ran/e3$
Description 4e,peratre sensor 0i/0/low ran/e
Attri#utes Int16= (i/ned= &rray= 6ptional
$alue Byte:Len $alue %iel& Description
022 4e,peratre si/ned low ran/e !;3276.71 to S3276.71$
222 4e,peratre si/ned 0i/0 ran/e !;3276.71 to S3276.71$
9otes2
40is is an optional property 'or clients w0ic0 ,ay pro)ide te,peratre sensors.
A.1/) Accelero)eter properties
Ma2i)u) accepta#le har&#ra;ing -force
!roperty "ey 5'6!A5 .R6.7M&F7DR&>#7+7F6R1# !3acc.,a"%ra*e3$
Description Ma"i,, accepta%le 0ard;%ra*in/ +;'orce
Attri#utes UIntA= 6ptional
$alue Byte:Len $alue %iel& Description
021 +;Force ran/e 0.0 to 25.5
9otes2
40is is an optional property 'or clients w0ic0 ,ay pro)ide te,peratre sensors.
40e interpretation o' t0e )ales pro)ided %y t0is property is le't o t0e client de)ice. For instance= t0e )ales
cold %e interpreted as /ain and o''set 'or an analo/ te,peratre sensor= or it cold %e sed as a
te,peratre con)er/ence 'actor 'or a)era/in/.
OpenDMTP Protocol Reference Manual $age (* o& 62
Appendi' 3!3 4 #tandard #tatus Codes
(tats code de'initions can also %e 'ond in t0e 0eader 'ile J%ase/statcode.0K
!12 *eneric codes
+tatus Co&e 5'6515 (4&4U(7I9I4I&8IP#D
Description +eneral (tats/8ocation in'or,ation. 40is e)ent is /enerated %y so,e initialiBation 'nction
per'or,ed %y t0e de)ice.
9otes2
40is contents o' t0e payload ,st at least contain t0e crrent ti,esta,p !and latitde and lon/itde i'
a)aila%le$.
+tatus Co&e 5'6525 (4&4U(7861&4I69
Description +eneral (tats/8ocation in'or,ation.
9otes2
40is contents o' t0e payload ,st at least contain t0e crrent ti,esta,p= latitde= and lon/itde.
+tatus Co&e 5'65$5 (4&4U(7E&?M&R>70
...
5'65$2 (4&4U(7E&?M&R>72
Description +eneral (tats/8ocation in'or,ation. 40is e)ent is /enerated %y ,anal ser inter)ention at
t0e de)ice= sc0 as %y pressin/ a 3Eay,ar*3 %tton on t0e UI.
9otes2
40is contents o' t0e payload ,st at least contain t0e crrent ti,esta,p= latitde= and lon/itde.
+tatus Co&e 5'65(5 (4&4U(7CU#R?
Description +eneral (tats/8ocation in'or,ation. 40is e)ent is /enerally sent as a response to a
location reqest !3pin/3$ 'ro, t0e ser)er.
9otes2
40is contents o' t0e payload ,st at least contain t0e crrent ti,esta,p= latitde= and lon/itde.
!22 Motion codes
+tatus Co&e 5'6111 (4&4U(7M64I697(4&R4
Description De)ice start o' ,otion
9otes2
40e de'inition o' ,otion;start is pro)ided %y property .R6.7M64I697(4&R4
+tatus Co&e 5'6112 (4&4U(7M64I697I97M64I69
Description De)ice in;,otion inter)al
9otes2
40e in;,otion inter)al is pro)ided %y property .R6.7M64I697I97M64I69
OpenDMTP Protocol Reference Manual $age (8 o& 62
+tatus Co&e 5'611$ (4&4U(7M64I697(46.
Description De)ice stopped ,otion
9otes2
40e de'inition o' ,otion;stop is pro)ided %y property .R6.7M64I697(46.
+tatus Co&e 5'611( (4&4U(7M64I697D6RM&94
Description De)ice dor,ant inter)al !ie. not ,o)in/$
9otes2
40e dor,ant inter)al is pro)ided %y property .R6.7M64I697D6RM&94
+tatus Co&e 5'611A (4&4U(7M64I697#F1#((7(.##D
Description De)ice e"ceeded preset speed li,it
9otes2
40e e"cess;speed t0res0old is pro)ided %y property .R6.7M64I697#F1#((7(.##D
+tatus Co&e 5'61$5 (4&4U(76D6M70
...
5'61$- (4&4U(76D6M77
Description 6do,eter )ale
9otes2
40e odo,eter li,it is pro)ided %y property .R6.76D6M#4#R7@78IMI4
+tatus Co&e 5'61(5 (4&4U(76D6M78IMI470
...
5'61(- (4&4U(76D6M78IMI477
Description 6do,eter 0as e"ceeded a set li,it
9otes2
40e odo,eter li,it is pro)ided %y property .R6.76D6M#4#R7@78IMI4
!$2 *eo.ence codes
+tatus Co&e 5'6215 (4&4U(7+#6F#91#7&RRI:#
Description De)ice arri)ed at /eo'ence
9otes2
1lient ,ay wis0 to inclde FI#8D7+#6F#91#7ID in t0e e)ent pac*et.
+tatus Co&e 5'62$5 (4&4U(7+#6F#91#7D#.&R4
Description De)ice departed /eo'ence
9otes2
1lient ,ay wis0 to inclde FI#8D7+#6F#91#7ID in t0e e)ent pac*et.
+tatus Co&e 5'62)5 (4&4U(7+#6F#91#7:I68&4I69
Description +eo'ence )iolation
9otes2
OpenDMTP Protocol Reference Manual $age (+ o& 62
1lient ,ay wis0 to inclde FI#8D7+#6F#91#7ID in t0e e)ent pac*et.
+tatus Co&e 5'62-5 (4&4U(7+#6F#91#7&14I:
Description +eo'ence now acti)e
9otes2
1lient ,ay wis0 to inclde FI#8D7+#6F#91#7ID in t0e e)ent pac*et.
+tatus Co&e 5'62/5 (4&4U(7+#6F#91#7I9&14I:#
Description +eo'ence now inacti)e
9otes2
1lient ,ay wis0 to inclde FI#8D7+#6F#91#7ID in t0e e)ent pac*et.
+tatus Co&e 5'62A5 (4&4U(7(4&4#7#94#R
Description #ntered a new state !crossed a stateline %ondary$
+tatus Co&e 5'62!5 (4&4U(7(4&4#7#FI4
Description #"ited a state !crossed a stateline %ondary$
!(2 Digita& input/output 7state change2 codes
+tatus Co&e 5'6(55 (4&4U(7I9.U47(4&4#
Description 1rrent inpt 69 state !%it,as*$
9otes2
1lient s0old inclde FI#8D7I9.U47(4&4# in t0e e)ent pac*et=ot0erwise t0is stats code wold 0a)e no
,eanin/.
+tatus Co&e 5'6(52 (4&4U(7I9.U4769
Description Inpt trned 69
9otes2
1lient s0old inclde FI#8D7I9.U47ID in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
40is stats code ,ay %e sed to indicate t0at an ar%itrary inpt Gt0in/G trned 69= and t0e Gt0in/G can %e
identi'ied %y t0e GInpt IDG. 40is GIDG can also represent t0e inde" o' a di/ital inpt.
+tatus Co&e 5'6(5( (4&4U(7I9.U476FF
Description Inpt trned 6FF
9otes2
1lient s0old inclde FI#8D7I9.U47ID in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
40is stats code ,ay %e sed to indicate t0at an ar%itrary inpt Gt0in/G trned 6FF= and t0e Gt0in/G can %e
identi'ied %y t0e GInpt IDG. 40is GIDG can also represent t0e inde" o' a di/ital inpt.
OpenDMTP Protocol Reference Manual $age )0 o& 62
+tatus Co&e 5'6(5+ (4&4U(76U4.U47(4&4#
Description 1rrent otpt 69 state !%it,as*$
9otes2
1lient s0old inclde FI#8D76U4.U47(4&4# in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
+tatus Co&e 5'6(5/ (4&4U(76U4.U4769
Description 6tpt trned 69
9otes2
1lient s0old inclde FI#8D76U4.U47ID in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
40is stats code ,ay %e sed to indicate t0at an ar%itrary otpt Gt0in/G trned 69= and t0e Gt0in/G can %e
identi'ied %y t0e G6tpt IDG. 40is GIDG can also represent t0e inde" o' a di/ital otpt.
+tatus Co&e 5'6(5A (4&4U(76U4.U476FF
Description 6tpt trned 6FF
9otes2
1lient s0old inclde FI#8D76U4.U47ID in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
40is stats code ,ay %e sed to indicate t0at an ar%itrary otpt Gt0in/G trned 6FF= and t0e Gt0in/G can %e
identi'ied %y t0e G6tpt IDG. 40is GIDG can also represent t0e inde" o' a di/ital otpt.
+tatus Co&e 5'6(25 (4&4U(7I9.U4769700
...
5'6(2- (4&4U(7I9.U4769707
Description Di/ital inpt state c0an/ed to 69
+tatus Co&e 5'6((5 (4&4U(7I9.U476FF700
...
5'6((- (4&4U(7I9.U476FF707
Description Di/ital inpt state c0an/ed to 6FF
+tatus Co&e 5'6(+5 (4&4U(76U4.U4769700
...
5'6(+- (4&4U(76U4.U4769707
Description Di/ital otpt state set to 69
+tatus Co&e 5'6(/5 (4&4U(76U4.U476FF700
...
5'6(/- (4&4U(76U4.U476FF707
Description Di/ital otpt state set to 6FF
OpenDMTP Protocol Reference Manual $age )% o& 62
+tatus Co&e 5'6(A5 (4&4U(7#8&.(#D700
...
5'6(A- (4&4U(7#8&.(#D707
Description #lapsed ti,e
9otes2
1lient s0old inclde FI#8D7#8&.(#D74IM# in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
+tatus Co&e 5'6(!5 (4&4U(7#8&.(#D78IMI4700
...
5'6(!- (4&4U(7#8&.(#D78IMI4707
Description #lapsed ti,er 0as e"ceeded a set li,it
9otes2
1lient s0old inclde FI#8D7#8&.(#D74IM# in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
!)2 Ana&og/sensor codes
+tatus Co&e 5'6+55 (4&4U(7(#9(6R3270
...
5'6+5- (4&4U(7(#9(6R3277
Description 32;%it nsi/ned sensor )ale
9otes2
1lient s0old inclde FI#8D7(#9(6R32 in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
40e ser)er ,st %e a%le to con)ert t0is 32;%it )ale to so,et0in/ ,eanin/'l to t0e ser. 40is can %e done
sin/ t0e 'ollowin/ 'or,la2 &ctal7:ale N !!do%le$(ensor327:ale O U+ainT$ S U6''setTW E0ere U+ainT
X U6''setT are ser con'i/ra%le )ales pro)ided at setp. For instance2 &ss,e (ensor32;0 contains a
te,peratre )ale t0at can 0a)e a ran/e o' ;-0.01 to S125.01. 40e client wold encode ;1-.71 %y addin/
-0.0 and ,ltiplyin/ %y 10.0. 40e resltin/ )ale wold %e 253. 40e ser)er wold t0en %e con'i/red to
*now 0ow to con)ert t0is )ale %ac* into t0e proper te,peratre sin/ t0e a%o)e 'or,la %y s%stittin/ 0.1
'or U+ainT= and ;-0.0 'or U6''setT2 e/. ;1-.7 N !!do%le$253 O 0.1$ S !;-0.0$W
+tatus Co&e 5'6+25 (4&4U(7(#9(6R327R&9+#70
...
5'6+2- (4&4U(7(#9(6R327R&9+#77
Description 32;%it nsi/ned sensor )ale ot;o';ran/e )iolation
9otes2
1lient s0old inclde FI#8D7(#9(6R32 in t0e e)ent pac*et= ot0erwise t0is stats code wold 0a)e no
,eanin/.
OpenDMTP Protocol Reference Manual $age )2 o& 62
!+2 Te%perature codes
+tatus Co&e 5'6-15 (4&4U(74#M.#R&4UR#70
...
5'6-1- (4&4U(74#M.#R&4UR#77
Description 4e,peratre )ale
9otes2
1lient s0old inclde at least t0e 'ield FI#8D74#M.7&:#R in t0e e)ent pac*et= and ,ay also wis0 to inclde
FI#8D74#M.786E and FI#8D74#M.7HI+H.
+tatus Co&e 5'6-$5 (4&4U(74#M.#R&4UR#7R&9+#70
...
5'6-$- (4&4U(74#M.#R&4UR#7R&9+#77
Description 4e,peratre )ale ot;o';ran/e Llow/0i/0/a)era/eM
9otes2
1lient s0old inclde at least one o' t0e 'ields FI#8D74#M.7&:#R= FI#8D74#M.786E= or
FI#8D74#M.7HI+H.
+tatus Co&e 5'6-61 (4&4U(74#M.#R&4UR#
Description &ll te,peratre a)era/es La)er/a)er/a)er/...M
!-2 Misce&&aneous Codes
+tatus Co&e 5'6/11 (4&4U(786+I9
Description +eneric Glo/inG
+tatus Co&e 5'6/12 (4&4U(786+6U4
Description +eneric Glo/otG
+tatus Co&e 5'6/21 (4&4U(71699#14
Description 1onnect/6n
+tatus Co&e 5'6/22 (4&4U(7DI(1699#14
Description Disconnect/6''
+tatus Co&e 5'6/$1 (4&4U(7&1>
Description &c*nowled/e
+tatus Co&e 5'6/$2 (4&4U(79&>
Description 9e/ati)e &c*nowled/e
OpenDMTP Protocol Reference Manual $age )' o& 62
!02 O!C/81-5/ #tatus
+tatus Co&e 5'6011 (4&4U(76D17F&U84
Description +eneric 6D1/R170A )ale ot;o';ran/e
+tatus Co&e 5'6025 (4&4U(76D17R&9+#
Description +eneric 6D1/R170A )ale ot;o';ran/e
+tatus Co&e 5'6022 (4&4U(76D17R.M7R&9+#
Description 6D1/R170A R.M ot;o';ran/e
+tatus Co&e 5'602( (4&4U(76D17FU#87R&9+#
Description 6D1/R170A Fel le)el ot;o';ran/e !ie. to low$
+tatus Co&e 5'602+ (4&4U(76D176I87R&9+#
Description 6D1/R170A 6il le)el ot;o';ran/e !ie. to low$
+tatus Co&e 5'602/ (4&4U(76D174#M.7R&9+#
Description 6D1/R170A 4e,peratre ot;o';ran/e
+tatus Co&e 5'60$5 (4&4U(7#F1#((7DR&>I9+
Description R170A Detected rapid deceleration/acceleration
!/2 Interna& Device #tatus
+tatus Co&e 5'6D15 (4&4U(786E7D&44#R?
Description 8ow Dattery indication
+tatus Co&e 5'6D1$ (4&4U(7.6E#R7F&I8UR#
Description .ower 'ailre indication
OpenDMTP Protocol Reference Manual $age )( o& 62
Appendi' 3C3 4 #tandard C&ient to #erver Packet T"pes
1lient to (er)er pac*et de'initions can also %e 'ond in t0e 0eader 'ile J%ase/pac*ets.0K
Bn& of #loc;.trans)ission *CID) &one tal;ingE no )ore to sayC):
40is pac*et indicates to t0e ser)er t0at t0e client is done trans,ittin/ and will %e waitin/ 'or 'rt0er instrctions
'ro, t0e ser)er.
Byte:Len $alue *He2) Description
022 #000 .ac*et type
221 FF .ayload len/t0 L0"00 or 0"02M
322 FFFF Fletc0er c0ec*s, LoptionalM
9otes2
40e Fletc0er c0ec*s, is optional= %t ,st only %e sed w0en t0is pac*et is sent )ia %inary encodin/. I'
inclded on an &(1II encoded pac*et=t0e response 'ro, t0e ser)er is nde'ined !it ,ay i/nore t0e c0ec*s,=
or it ,ay respond wit0 an error$.
40e Fletc0er c0ec*s, is calclated on %ytes actally trans,itted to t0e ser)er= and incldes all %ytes since
t0e last sent #6D pac*et.
Bn& of #loc;.trans)ission *CID) &one tal;ingE #ut I &o have )ore to sayC):
40is pac*et indicates to t0e ser)er t0at t0e client is done trans,ittin/= 0owe)er t0e client does 0a)e ,ore to say
and will %e waitin/ 'or 'rt0er instrctions 'ro, t0e ser)er.
Byte:Len $alue *He2) Description
022 #001 .ac*et type
221 FF .ayload len/t0 L0"00 or 0"02M
322 FFFF Fletc0er c0ec*s, LoptionalM
9otes2
40e Fletc0er c0ec*s, is optional= %t ,st only %e sed w0en t0is pac*et is sent )ia %inary encodin/. I'
inclded on an &(1II encoded pac*et= t0e response 'ro, t0e ser)er is nde'ined !it ,ay i/nore t0e
c0ec*s,= or it ,ay respond wit0 an error$.
40e Fletc0er c0ec*s, is calclated on %ytes actally trans,itted to t0e ser)er= and incldes all %ytes since
t0e last sent #6D pac*et.
7ni8ue assigne& i&entifier:
40is pac*et identi'ies t0e Uniqe;ID 'or t0e 'ollowin/ co,,nication session and niqe identi'ies t0e client to
t0e ser)er. 40is niqe ID is /enerated and assi/ned at setp and is con'i/red into t0e de)ice.
Byte:Len $alue *He2) Description
022 #011 .ac*et type
221 FF .ayload len/t0 L0"0- to 0"1-M
326 FF..FF 6 %yte niqe id
9otes2
E0en 5#011 is sed to identi'y a client de)ice= 5#012 and 5#013 ,st not %e sed.
40is UniqeID is ideally intended to niqely identi'y a speci'ic de)ice a,on/ all possi%le DM4. de)ices.
Howe)er= t0is ,ay not %e entirely practical de to t0e crrent lac* o' a central re/istry. &s a 3con)ention3= it
is proposed t0at -;%yte IDs %e reser)ed 'or #(9 n,%ers= 6;%yte IDs %e reser)ed 'or a 'tre DM4. re/istry=
and 7;%yte IDs %e reser)ed 'or +(M IM#I n,%ers.
OpenDMTP Protocol Reference Manual $age )) o& 62
Account i&entifier:
40is pac*et identi'ies t0e &ccont;ID 'or t0e 'ollowin/ co,,nication session.
Byte:Len $alue *He2) Description
022 #012 .ac*et type
221 FF .ayload len/t0 L0"01 to 0"10M
32F FF..FF &(1II accont na,e Lcase insensiti)eM
9otes2
40is pac*et ,ay %e optional i' and only i' t0e ser)er 0as so,e ot0er pre;arran/ed ,eans o' niqely
identi'yin/ t0is de)ice wit0 so,e &ccont ID.
Device i&entifier:
40is pac*et identi'ies t0e De)ice;ID 'or t0e 'ollowin/ co,,nication session.
Byte:Len $alue *He2) Description
022 #013 .ac*et type
221 FF .ayload len/t0 L0"01 to 0"10M
32F FF..FF &(1II de)ice na,e Lcase insensiti)eM
9otes2
; 40is pac*et ,ay %e optional i' and only i' t0e ser)er 0as so,e ot0er pre;arran/ed
,eans o' niqely identi'yin/ t0is de)ice wit0in t0e &ccont ID.
+tan&ar& -!+ pac;et *stan&ar& resolution):
40is is a standard +.( pac*et w0ic0 pro)ides 'ields 'or )arios +.( related 'ields. 40e accracy o' t0e lat/lon
encodin/ will allow 'or an appro"i,ate S/; 12 ,eter resoltion !pro)ided t0e +.( ,odle itsel' can spport t0is
resoltion$.
Byte:Len $alue *He2) Description
022 #030 .ac*et type
221 FF .ayload len/t0 L0"1-M
322 FFFF (tats code Lsee G%ase/statcode.0GM
52- FFFFFFFF 4i,esta,p L.6(IF #poc0 ti,eM
<23 FFFFFF 8atitde LS/; 12 ,eter resoltionM !(ee &ppendi" # 'or encodin/ details$.
1223 FFFFFF 8on/itde LS/; 12 ,eter resoltionM !(ee &ppendi" # 'or encodin/ details$.
1521 FF (peed L0 to 255 *p0M
1621 FF Headin/ L0 to 360 de/rees !in 1.-1 de/ree incre,ents$M
1722 FFFF &ltitde L;32767 to S32767 ,etersM
1<23 FFFFFF Distance L0 to 16777215 *,M
2221 FF (eqence L0 to 255M
OpenDMTP Protocol Reference Manual $age )6 o& 62
+tan&ar& -!+ pac;et *high resolution):
40is is a standard +.( pac*et w0ic0 pro)ides 'ields 'or )arios +.( related 'ields. 40e accracy o' t0e lat/lon
encodin/ will allow 'or an appro"i,ate S/; 2 ,eter resoltion !pro)ided t0e +.( ,odle itsel' can spport t0is
resoltion$.
Byte:Len $alue *He2) Description
022 #031 .ac*et type
221 FF .ayload len/t0 L0"1<M
322 FFFF (tats code Lsee G%ase/statcode.0GM
52- FFFFFFFF 4i,esta,p L.6(IF #poc0 ti,eM
<2- FFFFFFFF 8atitde LS/; 2 ,eter resoltionM !(ee &ppendi" # 'or encodin/ details$.
132- FFFFFFFF 8on/itde LS/; 2 ,eter resoltionM !(ee &ppendi" # 'or encodin/ details$.
1722 FFFF (peed L0.0 to 655.3 *p0M
1<22 FFFF Headin/ L0.00 to 360.00 de/M
2123 FFFFFF &ltitde L;A3AA60.7 to SA3AA60.7 ,etersM
2-23 FFFFFF Distance L0.0 to 1677721.6 *,M
2721 FF (eqence L0 to 255M
Custo) for)at pac;ets:
40ese pac*et types are 'or csto, 'or,ats desi/ned 'or speci'ic applications. E0en constrctin/ t0e csto,
'or,at= t0e stats;code and ti,esta,p s0old %e inclded= 0owe)er it is not reqired. I' t0e stats code is
,issin/= t0en t0e code (4&4U(7861&4I69 will %e s%stitted. I' t0e ti,esta,p is ,issin/ t0en t0e ti,e t0e
ser)er recei)es t0e data will %e sed.
Byte:Len $alue *He2) Description
022 #070..
..#07F
.ac*et type
221 FF .ayload len/t0
32F FF..FF 1sto, data 'ields Lsee G%ase/e)ents.0GM
-et !roperty value:
40is pac*et is pro)ided on t0e reqest o' t0e ser)er and pro)ides t0e )ale o' a speci'ic internal state property.
Byte:Len $alue *He2) Description
022 #0D0 .ac*et type
221 FF .ayload len/t0
322 FFFF .roperty ID Lsee G%ase/props.0GM
52F FF..FF .roperty )ale
OpenDMTP Protocol Reference Manual $age )* o& 62
Custo) for)at te)plate:
40is pac*et identi'ies t0e 'or,at o' any csto, pac*et types. &s ,any o' t0ese records ,ay %e sent as needed
to identi'y any csto, pac*et type. 40is pac*et s0old %e sent in response to t0e ser)er error
9&>7F6RM&479647R#16+9IP#D w0ic0 indicates t0at t0e ser)er does not reco/niBe t0e pre)iosly sent
csto, 'or,at pac*et type.
Byte:Len $alue *He2) Description
022 #01F .ac*et type
221 FF .ayload len/t0
321 FF 1sto, client pac*et type L0"70 to 0"7FM
-21 FF 9,%er o' 'ields
523 FFFFFF Field de'inition Lsee G%ase/e)ents.0GM
Dits 2321 HiRes LA00000M
1627 4ype L7F0000M
A2A Inde" L00FF00M
02A 8en/t0 L0000FFM
A23 FFFFFF 9e"t 'ield de'inition
9otes2
E0en t0e ser)er recei)es t0is pac*et= it ,st cac0e t0is in'or,ation 'or later se w0en t0e client a/ain later
sends data to t0e ser)er.
Diagnostic co&es:
40is pac*et ,ay %e sent %y t0e client to indicate /eneric dia/nostic in'or,ation. 40ese pac*ets ,ay %e noted
%y t0e ser)er in so,e ,anner= %t are ot0erwise i/nored.
Byte:Len $alue *He2) Description
022 #0D0 .ac*et type
221 FF .ayload len/t0
322 FFFF Dia/nostic code Lsee G%ase/cdia/s.0GM
52F FF..FF Dia/nostic data
Brror co&es:
40is pac*et ,ay %e sent %y t0e client to indicate to t0e ser)er speci'ic isses= pro%le,s= or errors t0at t0e de)ice
0as detected.
Byte:Len $alue *He2) Description
022 #0#0 .ac*et type
221 FF .ayload len/t0
322 FFFF #rror code Lsee G%ase/cerrors.0GM
52F FF..FF #rror data
OpenDMTP Protocol Reference Manual $age )8 o& 62
Appendi' 3D3 4 #tandard #erver to C&ient Packet T"pes
1lient to (er)er pac*et de'initions can also %e 'ond in t0e 0eader 'ile J%ase/pac*ets.0K
9uery for response *CID) &one tal;ingE &o you have anything to sayFC)
40is pac*et is an indicator to t0e client t0at it s0old now respond wit0 any data= or ot0er in'or,ation= t0at it
needs to send to t0e ser)er. 40is pac*ets also re)o*es any 3(pea* 'reely3 per,ission t0at ,ay 0a)e %een
pre)iosly /i)en to t0e client.
Byte:Len $alue *He2) Description
022 #000 .ac*et type
221 FF .ayload len/t0 L0"00 or 0"01M
321 FF 6ptional ,a"i,, n,%er o' e)ents to send drin/ ne"t %loc*.
9otes2
40e optional 3,a"i,, n,%er o' e)ents3 'ield )ale ,ay %e sed to li,it t0e n,%er o' e)ents t0at t0e
client is to send drin/ t0e ne"t %loc* o' e)ents. & )ale o' 0"00 indicates t0at t0e client is not to send any
e)ents drin/ t0e ne"t %loc* o' pac*ets sent to t0e ser)er !ot0er pac*et types ,ay %e sent$. 40e client ,ay
c0oose to i/nore )ales /reater t0an t0at speci'ied %y t0e property 3.R6.716MM7M&F7DU.7#:#94(3.
40e ser)er ,ay wis0 to se t0is optional 'ield to indicate to t0e client to only send dia/nostic pac*ets= rat0er
t0an always incldin/ a lar/e %loc* o' qeed e)ents. 1lient spport o' t0is 'ield is optional= and t0e client
,ay c0oose to i/nore t0is 'ield.
!er)ission to the client to spea; freely.
40is pac*et is an indicator to t0e client t0at it 0as %een /i)en per,ission to send data as it 'eels necessary. It
does not need to wait 'or t0e ser)er to tell it to spea*. 40is per,ission ,ay %e re)o*ed %y t0e ser)er at any ti,e
!)ia ser)er pac*et 35#0003$. 40e client ,ay relinqis0 t0is per,ission at any ti,e %y sendin/ eit0er client pac*et
type 35#0003= or 35#0013= at w0ic0 ti,e t0e ser)er will ass,e t0at t0e client 0as /i)en p itGs 3spea* 'reely3
per,ission.
Byte:Len $alue *He2) Description
022 #001 .ac*et type
221 FF .ayload len/t0 L0"00 or 0"01M
321 FF 6ptional ,a"i,, n,%er o' e)ents to send drin/ ne"t %loc*.
9otes2
(ee t0e 35#0003 pac*et de'inition 'or in'or,ation concernin/ t0e se o' t0e optional 3,a"i,, n,%er o'
e)ents3 'ield. Howe)er= t0e client ,ay c0oose to i/nore t0is 'ield in spea*;'reely ,ode.
40e ser)er will /enerally 964 /rant 3spea* 'reely3 per,ission to t0e client in 3periodically3 connected
scenarios. 3(pea* 'reely3 per,ission is sally reser)ed 'or scenarios w0ere t0ere is a prolon/ed connection
%etween client and ser)er= sc0 as a dedicated lin*.
40e ser)er is ne)er reqired to /rant 3spea* 'reely3 per,ission to t0e client.
I' t0e client is /ranted 3spea* 'reely3 per,ission= %t does not wis0 to tiliBe t0is 'eatre= it ,ay treat t0is
pac*et t0e sa,e as t0e ser)er 35#0003 pac*et and relinqis0 t0is per,ission wit0 eit0er o' t0e client end;o';
%loc* pac*ets.
OpenDMTP Protocol Reference Manual $age )+ o& 62
Ac;no5le&ge client events:
40is pac*et is sent in response to 0a)in/ recei)ed a %loc* o' e)ents 'ro, t0e client.
Byte:Len $alue *He2) Description
022 #0&0 .ac*et type
221 FF .ayload len/t0
32F FF..FF #)ent seqence LoptionalM
9otes2
I' speci'ied= t0e seqence n,%er ,st %e eqal to t0e seqence n,%er o' t0e last )alid recei)ed e)ent.
40e payload len/t0 ,st also ,atc0 t0e len/t0 o' t0e seqence n,%er as speci'ied in t0e client e)ent
pac*et.
I' not speci'ied !not reco,,ended$= t0e client will ass,e t0at all sent e)ents were recei)ed %y t0e ser)er.
-et property:
40is pac*et is a reqest to t0e client to respond wit0 t0e )ale o' t0e speci'ied property.
Byte:Len $alue *He2) Description
022 #0D0 .ac*et type
221 FF .ayload len/t0
322 FFFF .roperty ID Lsee G%ase/props.0GM
52F FF..FF LoptionalM .roperty retrie)al ar/,ents= as de'ined/reqired %y t0e client.
+et property:
40is pac*et is a co,,and to t0e client to set t0e )ale o' t0e speci'ied property ID to t0e speci'ied )ale. 40is
pac*et ,ay also %e sed 'or en)o*in/ an action on t0e client= %ased on t0e property id. 40e client ,st not
send a response to t0ese co,,ands ntil speci'ically as*ed to do so %y t0e ser)er !)ia 35#0003$.
Byte:Len $alue *He2) Description
022 #0D1 .ac*et type
221 FF .ayload len/t0
322 FFFF .roperty ID Lsee G%ase/props.0GM
52F FF..FF .roperty )ale
+erver file uploa&:
40is pac*et contains 'ile pload session in'or,ation. 40e ser)er initiates a 'ile;pload session %y sendin/ a
G(tartG L0"01M pac*et= 'ollowed %y ,ltiple GDataG L0"02M pac*ets= and endin/ wit0 an G#ndG L0"03M pac*et. 6t;6';
Dand 'ile trans'ers ,ay also occr %y speci'yin/ eit0er G+etG L0"31M= or G.tG L0"-1M reqests
Byte:Len $alue *He2) Description
022 #010 .ac*et type
221 FF .ayload len/t0
321 FF 0"01N(tart= 0"02NData= 0"03N#nd= 0"31N+et= 0"-1N.t
-23 FFFFFF File 8en/t0L(tart/#nd/+etM= File 6''setLDataM
72F FF..FF Filena,eL(tart/+et/.tM= DataLDataM= 10ec*s,L#ndM
(ee G%ase/pload.cG 'or i,ple,entation details on (tart/Data/#nd pac*et types.
40e G+etG/G.tG pac*et s%;types are speci'ied relati)e to t0e client de)ice. 40s G+etG is a co,,and to t0e
client de)ice to retrie)e t0e na,ed 'ile 'ro, t0e ser)er= and G.tG is a co,,and to t0e client de)ice to send t0e
na,ed 'ile to t0e ser)er.
OpenDMTP Protocol Reference Manual $age 60 o& 62
+erver Brror:
40is pac*et is an indicator to t0e client t0at an error was detected in t0e pac*ets recei)ed 'ro, t0e client. 40e
ser)er ,ay= or ,ay not= as* t0e client 'or additional in'or,ation a'ter t0is pac*et. 6r= t0e ser)er ,ay si,ply send
an 35#0FF3= indicatin/ t0at it will %e closin/ t0e soc*et. 6r= dependin/ on t0e error= t0e ser)er ,ay si,ply close
t0e soc*et wit0ot reportin/ any additional in'or,ation to t0e client.
Byte:Len $alue *He2) Description
022 #0#0 .ac*et type
221 FF .ayload len/t0
322 FFFF #rror code Lsee G%ase/serrors.0GM
522 FFFF Header/type o' o''endin/ recei)ed pac*et
72F FF..FF 6t0er data as de'ined %y t0e speci'ic error
Bn& of trans)ission.session:
40is pac*et is an indication to t0e client t0at t0e session will %e closed.
Byte:Len $alue *He2) Description
022 #0FF .ac*et type
221 00 .ayload len/t0 L0"00M
OpenDMTP Protocol Reference Manual $age 6% o& 62
Appendi' 3E3 9 *P# 1atitude/1ongitude Encoding
E0en trans,ittin/ +.( coordinates %etween t0e client and ser)er= latitde/lon/itde )ales are encoded into
eit0er 6;%yte or A;%yte qantities= dependin/ on desired resoltion. & 6;%yte encoded coordinate s0old pro)ide
accracy to a%ot -S deci,al places in t0e latitde/lo/itde w0ic0 pro)ides a resoltion down to a%ot S/; 12
,eters. &n A;%yte encoded coordinate s0old pro)ide accracy to a%ot 5S deci,al places in t0e
latitde/lo/itde w0ic0 pro)ides a resoltion down to a%ot S/; 2 ,eters. 9ote t0at t0e c0oice o' a coordinate
encodin/ will still only %e as accrate as t0e capa%ilities o' t0e +.( recei)er itsel'. For instance= c0oosin/ an A;
%yte encodin/ resltion will not pro)ide ,ore accrate data i' t0e +.( recei)er itsel' is only capa%le o' prodcin/
a S/; 12 ,eter resoltion.
40e 'ollowin/ descri%es t0e al/orit0, sed %y 6penDM4. 'or encodin//decodin/ latitde/lon/itde )ales.
6;Dyte 8atitde/8on/itde2
#ncodin/2 !latitde/lon/itde eac0 represent Gdo%leG )ales$
!"#$%" -.D2,24F 7 16777216.0: << 2B24
*E%932 "%3F59 = 77l59$90!" G H0.0: * 7-.D2,24F < G180.0::?
*E%932 "%3F8% = 77l8%2$90!" > 180.0: * 7-.D2,24F < 360.0::?
<< T4" "%38!"! F59<F8% 5r" %8I $% 94" l8I"r 3 bJ9"1 8# "%3F59<"%3F8%
Decodin/2 !enc8at/enc8on eac0 represent 3;%yte encoded Uint32 )ales$
!"#$%" -.D2,24F 7 16777216.0: << 2B24
!80bl" l59$90!" = 77!80bl":"%3F59 * 7G180.0 < -.D2,24F:: > H0.0?
!80bl" l8%2$90!" = 77!80bl":"%3F8% * 7 360.0 < -.D2,24F:: K 180.0?
<< T4" !"38!"! l59<l8% 5r" %8I 5L5$l5bl" $% l59$90!"<l8%2$90!"
<< 75!!$%2 0.5 98 94" "%38!"! l59<l8% b"#8r" !"38!$%2 r"!03"1 r80%!$%2 "rr8r:
A;Dyte 8atitde/8on/itde
#ncodin/2 !latitde/lon/itde eac0 represent Gdo%leG )ales$
!"#$%" -.D2,32F 742H4H672H6.0: << 2B32
*E%932 "%3F59 = 77l59$90!" G H0.0: * 7-.D2,32F < G180.0::?
*E%932 "%3F8% = 77l8%2$90!" > 180.0: * 7-.D2,32F < 360.0::?
<< T4" "%38!"! F59<F8% 5r" %8I $% 94" 4 bJ9"1 8# "%3F59<"%3F8%
Decodin/2 !enc8at/enc8on eac0 represent -;%yte encoded Uint32 )ales$
!"#$%" -.D2,32F 742H4H672H6.0: << 2B32
!80bl" l59$90!" = 77!80bl":"%3F59 * 7G180.0 < -.D2,32F:: > H0.0?
!80bl" l8%2$90!" = 77!80bl":"%3F8% * 7 360.0 < -.D2,32F:: G 180.0?
<< T4" !"38!"! l59<l8% 5r" %8I 5L5$l5bl" $% l59$90!"<l8%2$90!"
<< 75!!$%2 0.5 98 94" "%38!"! l59<l8% b"#8r" !"38!$%2 r"!03"1 r80%!$%2 "rr8r:
OpenDMTP Protocol Reference Manual $age 62 o& 62

Das könnte Ihnen auch gefallen