Join Request / Join Response

This message type is intended to be used for the device OTAA on the AS side. This message is not generated if the AppKey is provided and the AS and the AS could perform a join procedure.

You should use these parameters to provision an OTAA device to the network server through the Management API or the GUI:

  • encryption = APP It means that the application server will be responsible for performing the activation procedure.
  • activation = OTAA Activation type is OTAA.

For a better understanding of the data flow for OTAA, let's look through this diagram.

The sequence is the following:

  • The Device initiates a join request and sends it to the network server.
  • The NS receives a join request, processes it, prepares a join message and sends it to the AS.
  • The AS receives a join message with a join request enclosed and processes it.
  • The AS prepares a join message with a join accept inside and sends it back to the NS.
  • The NS receives a join message from the AS, prepares a join accept message and sends it to the end device.

Join Request

Join request - this a JSON object that is transferred from the NS to the AS.

Params

Join request contains the following fields:

Name Description
net_id Network identifier by LoraWAN, string, required
dev_nonce Is a random value for each end-device size: 2 bytes, string, required
dev_eui The end-device identifier, string, required
dev_addr The end-device address, string, required
cf_list List of channel frequencies, string, optional

Example

{
    "meta": {
        "network": "9e9bf02a",
        "packet_hash": "adc6bcac0d06195bc0329c3ef6a2d6ea",
        "application": "b3a1067cf7085309",
        "time": 1504638900.866375,
        "device": "8c30dd074be218cb",
        "packet_id": "287f9555a3e8b000ffc8c3c50f60e309",
        "gateway": "017e8cd996cd3a0e"
    },
    "params": {
        "dev_eui": "8c30dd074be218cb",
        "dev_addr": "01d6dcd6",
        "dev_nonce": "f9e7",
        "net_id": "000000"
    },
    "type": "join_request"
}

Join Response

Join accept - this is a join_response message that is transferred from the AS to the NS.

Params

A Join response contains the following fields:

Name Description
nwkskey string, network session key, required
accept_payload string, Join-Accept message (BASE64-encoded, encrypted), required

Example

{
    "meta": {
        "network": "9e9bf02a",
        "packet_hash": "adc6bcac0d06195bc0329c3ef6a2d6ea",
        "application": "b3a1067cf7085309",
        "time": 1504638900.866375,
        "device": "8c30dd074be218cb",
        "packet_id": "287f9555a3e8b000ffc8c3c50f60e309",
        "gateway": "017e8cd996cd3a0e"
    },
    "type": "join_response",
    "params": {
        "nwkskey": "d64c9050214b394aa2042f0e934b6180",
        "accept_payload": "ysgRl452xNLep9S1NTIg2lomKDxUgn3DJ7DE+b00Ass"
    }
}

results matching ""

    No results matching ""