The Generic Device Relay is designed to receive GPS reports from devices in the field using a secure HTTPS connection.

No Login is required to relay data.

If you indend to send the data directly from via UDP, then you can use the following formats:

  1. Trak iT Minimum Location Data format

    Identifier,Fleet[,Sequence],$TWMLD,Time,Date,Latitude,Longitude,Speed,Heading[,Odometer]

    Notes:

    Identifier
    Refers to the modem's unique identifier
    Should be an IMEI, ESN, or serial number
    Fleet
    Refers to a Fleet Freedom Fleet ID
    See GetFleetsList for a list of Fleet IDs
    Sequence
    Optional
    A number containing a sequence value for reliable message delivery
    If given, the gateway will send the sequence number back along the UDP socket as an ACK message
    Time
    Format is HHMMSS
    Given in UTC
    Date
    Format is DDMMYY
    Given in UTC
    Latitude
    Format is DDD.DDDDDD
    Do not use the + sign for positive values, but use the - sign for negative values
    Should contain at least six decimal places for accuracy
    Longitude
    Same as latitude
    Speed
    Given as kilometers per hour (Km/h)
    Can contain up to one decimal place
    Heading
    Given as degrees
    Odometer
    Optional
    Given as hectometers (100 meters)
    Trip-based values are supported, so if a newer odometer value is lower than the current value, the current value will be incremented by the new value's difference.

    Examples:

    1234567890abcd,145,$TWMLD,163925,300910,43.65642,-79.56748,7.2,243
    abcd0123456789,145,7991,$TWMLD,210732,081110,43.656853,-79.567426,-3.6,0,184632
    12345abcd67890,145,$TWMLD,163925,300910,43.65642,-79.56748,7.2,243,15633942

  2. Trak iT Location Based Service format

    Identifier,Fleet[,Sequence],$TWMLD,Time,Date,Latitude,Longitude,Accuracy

    Notes:

    Identifier
    Refers to the modem's unique identifier
    Should be an IMEI, ESN, or serial number
    Fleet
    Refers to a Fleet Freedom Fleet ID
    See GetFleetsList for a list of Fleet IDs
    Sequence
    Optional
    A number containing a sequence value for reliable message delivery
    If given, the gateway will send the sequence number back along the UDP socket as an ACK message
    Time
    Format is HHMMSS
    Given in UTC
    Date
    Format is DDMMYY
    Given in UTC
    Latitude
    Format is DDD.DDDDDD
    Do not use the + sign for positive values, but use the - sign for negative values
    Should contain at least six decimal places for accuracy
    Longitude
    Same as latitude
    Accuracy
    Given as meters
    Represents the possible drift or inaccuracy for this position

    Examples:

    1234567890abcd,145,$TWLBS,090810,005616,43.794256,-79.195675,390
    abcd0123456789,145,7991,$TWLBS,095532,101299,43.656853,-79.567426,28

  3. NMEA RMC format

    Identifier,Fleet[,Sequence],$GPRMC,Time,Status,Latitude,NorthSouth,Longitude,EastWest,Speed,Heading,Date,MagneticVariation,HeadingVariation*Checksum

    Notes:

    Identifier
    Refers to the modem's unique identifier
    Should be an IMEI, ESN, or serial number
    Fleet
    Refers to a Fleet Freedom Fleet ID
    See GetFleetsList for a list of Fleet IDs
    Sequence
    Optional
    A number containing a sequence value for reliable message delivery
    If given, the gateway will send the sequence number back along the UDP socket as an ACK message
    Time
    Format is HHMMSS
    Given in UTC
    Status
    Possible values are A (for OK) and V (warning)
    Latitude
    Format is DDMM.MMX
    Instead of using +/- the format uses the character N or S
    floor(degrees) & (degrees/60)-floor(degrees) & (degrees > 0 ? N : S)
    Longitude
    Format is DDDMM.MMX
    Instead of using +/- the format uses the character E or W
    floor(degrees) & (degrees/60)-floor(degrees) & (degrees > 0 ? E : W)
    Speed
    Format is SSS.S
    Given as miles per hour (mph)
    Heading
    Format is HHH.H
    Given as degrees with one decimal place
    Date
    Format is DDMMYY
    Given in UTC
    MagneticVariation
    Give as a number
    HeadingVariation
    Give as a character
    Checksum
    Given as two hex characters
    The checksum is performed on the range of characters between (and not including) the & and the *
    The value is calculated by adding the XOR character codes
    int value = 0;
    for (int i = 0, l = restOfMessage.length; i < l; i++) value ^= charCodeOf(restOfMessage[i]);
    return toHex(value) == checksum; // valid

    Examples:

    1234567890abcd,145,88,$GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
    1234567890abcd,145,$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68

  4. TAIP Position and Velocity format

    >RPV[Time][Latitude][Longitude][Speed][Heading][FixMode][DataAge];ID=[Identifier];*[Checksum]<

    Notes:

    Time
    Format is SSSSS
    Given as seconds from UTC of the current day
    Latitude
    Format is SDDDDDDD
    Given as two-digit degrees followed by five-digit decimal degrees (no period)
    First character is either + or -
    Longitude
    Format is SDDDDDDDD
    Given as three-digit degrees followed by five-digit decimal degrees (no period)
    First character is either + or -
    Speed
    Format is SSS
    Given as miles per hour (mph)
    Heading
    Format is HHH
    Given as degrees
    FixMode
    Format is X
    Values are 0 for 2D fix, 1 for 3D fix, 9 for no fix
    DataAge
    Format is A
    Values are 2 for less than 10 seconds old, 1 for more tahn 10 seconds old, 0 for not available
    Identifier
    Refers to the modem's unique identifier
    Should be an IMEI, ESN, or serial number
    Note: TAIP standard describes this as a 4 digit number, but in our experience that's too little. We support alpha-numeric identifiers and recommend at least 16 characters.
    Checksum
    Given as two hex characters
    The checksum is performed on the range of characters from the first character (the >) up to and including the *
    The value is calculated by adding the XOR character codes
    int value = 0;
    for (int i = 0, l = restOfMessage.length; i < l; i++) value ^= charCodeOf(restOfMessage[i]);
    return toHex(value) == checksum; // valid

    Examples:

    >RPV81854+4902565+1220996700000012;ID=1234567890abcd;*32<

Available Methods

Dispatch

Position

  • SendLBSLocation
    Send location data from triangulated positions which lack speed and heading information
  • SendLatLngLocation
    Send location data using latitude/longitude coordinate
  • SendSentences
    Send a series of sentences; NMEA or TW message formats accepted.