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"
}
}