Uplink payload format

On receiving an uplink, the Relay creates and re-transmits a Relay encapsulated LoRaWAN payload. The Relay encapsulation overhead is 14 bytes.

Bytes:

1 byte5 bytes4 bytesn bytes4 bytes
Uplink MHDRUplink MetadataRelay IDLoRaWAN PHYPayloadMIC

Bits:

7..54..32..0
MTypePayload typeHop count
  • MType = 111 (= Proprietary LoRaWAN MType)
  • Payload type = 00 (= Relayed uplink)
  • Hop count = 000 = 1, ... 111 = 8

Note: The hop count is incremented each time the uplink payload is relayed by an other Relay Gateway. As this changes the uplink payload, the MIC must be re-calculated.

Bytes:

2 bytes1 byte1 byte1 byte
Uplink ID + Data-rateRSSISNRChannel

Bits:

15..43..0
Uplink IDData-rate

Unique identifier (to the Relay Gateway) identifying the received uplink. Internally the Relay Gateway must temporarily store this in the Uplink table.

Data-rate

Uplink data-rate, unsigned integer with a minimum value of 0 and a maximum value of 15.

RSSI

Encoded as RSSIdBm = -1 x RSSI

SNR

Bits:

7..65..0
RFUSNR

SNR is a signed integer with a minimum value of -32 and a maximum value of 31.

Channel

Uplink channel, unsigned integer.

Relay ID

This contains the Relay ID which received the uplink from the End Device.

Bytes:

4 bytes
Relay ID

LoRaWAN PHYPayload

The received LoRaWAN PHYPayload.

MIC

Message integrity code, used by other Relay and Border gateways to check the data integrity of the packet. This is obtained by calculating the CMAC over the uplink payload (- MIC bytes), and using the first 4 bytes of the calculated CMAC as MIC.