Address Model

An Address is the unique identity associated with every Node (i.e., modules, gateways and repeaters) within Conductor. An Address may also refer to the unique identity of a specific Link between a pair of Nodes.

Addresses are:

  1. used to identify data items retrieved from Conductor.
  2. provided to Conductor for the purpose of querying/filtering operations.
  3. provided to Conductor to specify the target of a downlink operation (e.g. sending a command to a module).

Node Types

Node Types are 16-bit big endian integers, which are hard-coded into Conductor and used identify various types of nodes. Conductor currently supports the following Node Types:

Hex Value

Type

Subtype

0x0101

Gateway

Symphony Link

0x01FF

Gateway

Virtual-iOSApp

0x01FE

Gateway

Virtual-AndroidApp

0x0201

Repeater

Symphony Link

0x0301

Module

Symphony Link

0x0302

Module

LoRaWAN

 

Node Type formatting

Node Types are formatted as text via the following pattern:

 $NNNN$

where NNNN represents the hex value of the given Node Type, with most significant zeros optionally removed for conciseness. For example,

$301$

is a valid text representation for a Symphony Link Module.

Node IDs

A Node ID uniquely identifies a specific Node within the scope of the Node Type.

The maximum supported size of a Node ID is a 128-bit big endian integer. In practice, the size of the Node ID is defined by the applicable Node Type, as detailed in the following table.

Node Category

Subtype

ID Size

ID Source

Gateway

Symphony Link

48 bits

eth0 MAC address

Gateway

Virtual-iOSApp

128 bits

app installation

Gateway

Virtual-AndroidApp

128 bits

app installation

Repeater

Symphony Link

36 bits

manufacturing

Module

Symphony Link

36 bits

manufacturing

Module

LoRaWAN

64 bits

manufacturing

 

Node ID formatting

Node IDs are formatted as text via the following quad pattern:

XXXXXXXX-XXXXXXXX-XXXXXXX-XXXXXXXXX (32-32-28-36 bits)

where the Xs represent a hex character.  The most significant zeros within a quad may optionally be omitted for compactness. Examples include the following:

ID (Hex)

Description

Text Formatted

0x12FACE007

36-bit ID

0-0-0-12FACE007

0xAABBCCDDEEFF

48-bit ID

0-0-AAB-BCCDDEEFF

0x1122334455667788

64-bit ID

0-0-1122334-455667788

0x1122334455667788

99AABBCCDDEEFF11

128-bit ID

11223344-55667788-

99AABBC-CDDEEFF11

 

Node Addresses

A Node Address is a globally unique address, which consists of a Node Type and a Node ID, together.

Node Address formatting

Node Addresses are formatted as text via the following pattern, which is simply a concatenation of the Node Type and Node ID formatting pattern:

 $NNNN$XXXXXXXX-XXXXXXXX-XXXXXXX-XXXXXXXXX

where

  • NNNN represents the hex value of the given Node Type, with most significant zeros optionally removed. 

  • Xs represent a hex character, with most significant zeros within a quad optionally compacted to a single zero. 


For example,

$301$0-0-0-12FACE007

is a valid text representation for a Symphony Link Module whose ID is 0x12FACE007.

A Link Type is a 16-bit big endian integer used to identify the type of link between two Nodes.

Conductor currently supports the following Link Types:

Hex Value

Type

Subtype

0x0101

OTA

Symphony Link

0x0102

OTA

Semtech LoRaMAC

0x0103

OTA

BLE

0x0201

Internet

HTTP GET

0x0202

Internet

HTTP POST

0x0203

Internet

WebSocket

0x0FFD

Gateway

Gateway Mgmt App

0x0FFE

Gateway

Customer Socket

 

Link Types are formatted as text via the following pattern:

 !LLLL!

where LLLL represents the hex value of the given Link Type, with most significant zeros optionally removed. For example,

!101!

is a valid text representation for a Symphony LoRa Link.

A Link Address represents a Link between a pair of Nodes over a Link of a particular type. A Link Address therefore contains the Node Addresses and the Link Type.

The order of the Node Addresses within a Link Address is important. The Node farthest from Conductor is listed first in the Link Address. For example, in the Link Address of a Link between a Symphony Link Module and a Symphony Link Gateway, the Node Address of the module is listed first and the Node Address of the gateway is listed last.

A Link Address is formed by concatenating the far Node Address, the Link Type, and the near Node Address:

<FarNode><LinkType><NearNode>
$NNNN$X-X-X-X!LLLL!$NNNN$X-X-X-X

where

  • NNNN represents the hex value of the each Node Type, with most significant zeros optionally removed. 

  • Ns represent a hex character, with most significant zeros within a quad optionally compacted to a single zero. 


For example,

$301$0-0-0-12FACE007!101!$101$0-0-AAB-BCCDDEEFF

is a valid text representation for a Symphony Link Module (whose ID is 0x12FACE007) linked via an over-the-air Symphony Link to a Symphony Link Gateway (whose ID is 0xAABBCCDDEEFF.

0 Comments

Add your comment

E-Mail me when someone replies to this comment