Gateway Configuration
This is the configuration you want a Gateway to apply. It can be specified on a per-gateway or gateway-group level. Per-gateway configuration overrides gateway-group level configuration.
Available REST methods:
- PUT - to set the desired configuration (ask GWs to apply this configuration)
- GET - receive the latest desired configuration set (the configuration GWs were asked to apply last time)
- DELETE - remove the desired configuration.
api/configuration/desired/ENTITY_TYPE/ENTITY_UUID
{
"content" : {}
}
ENTITY_TYPE
- GATEWAY or GATEWAY_GROUPENTITY_UUID
- UUID of Gateway or GatewayGroupcontent
configuration to apply. Supported fields are listed below. Not all of the fields should be sent each time (only the fields of interest).
Network Server
{
"version": 1.0,
"config": ["GW-Group432"],
"networkServer":
{
"comments": "Network server setup",
"loraNsOn": true,
"serverType": "Tektelic",
"useUDP": false,
"loraNsSetup":
[
{
"serverURL": "",
"enableCUPS": false,
"serverPort": 1770,
"useTLS": false,
"userName": "",
"password": "",
"serverBstnCertificate": "",
"gatewayBstnCertificate": "",
"gatewayBstnPrivateKey": "",
"serverLnsCertificate": "",
"gatewayLnsCertificate": "",
"gatewayLnsPrivateKey": ""
}
]
}
GeoLocation, GeoServer Setup
"geoLocation":
{
"comments": "Geolocation server setup",
"geoEnable": true,
"standaloneGeo": true,
"geoServerSetup":
[
{
"geoServerURL": "URL for the geolocation server",
"geoServerPort": "<current geolocation server port number>",
"useTLS": false,
"userName": "geolocation server user name",
"password": "geolocaiton server password",
"serverCertificate": "certificate text",
"gatewayCertificate": "certificate text",
"gatewayPrivateKey": "Gateway private key"
}
]
}
Upgrade Server
"upgradeServer":
{
"comments": "Firmware upgrade server configuration",
"ipkFeedURL":
[
{
"name": "bsp",
"url": "https://example.com/bsp"
},
{
"name": "fpga",
"url": "https://example.com/gpio-fpga"
}
]
},
SNMP Agent
"snmpAgent":
{
"v3Switch": true,
"v3Password": "1234",
"confirmV3Password": "1234",
"authAlgorithm": "SHA256|SHA384|SHA512",
"encryptAlgorithm": "AES|AES192|AES256",
"externalV2Disable": false
}
Network Configuration
"networkConfiguration":
{
"interfacePreference": ["Ethernet", "Cellular", "Optical"],
"eth":
{
"addressType": "DHCP",
"ipAddress": "192.168.1.100",
"defaultGateway": "192.168.1.1",
"networkMask": "255.255.255.0",
"dnsServer1": "1.1.1.1",
"dnsServer2": ""
},
"connectivityCheck":
{
"pingAddress": "8.8.8.8",
"pingFrequencyPreferred": 10,
"pingFrequencyFallback": 30,
"maxPingFailCountPreferred": 6,
"maxPingFailCountFallback": 2,
"noBackhaulTimeout": 300,
},
"cellular":
{
"simPin":
[
{
"simSlot": 0,
"currentSimPin": "",
"newSimPin": ""
}
],
"pdpProfile":
[
{
"pdpProfileName": "pdp profile name",
"apnName": "APN name",
"connectionType": "'IP', 'PPP', 'IPV6', 'IPV4V6'",
"userName": "APN user name", (max: 31 characters)
"password": "APN password", (max: 31 characters)
"authType": "'NONE', 'PAP', 'CHAP', 'PAPCHAP'"
"setActive": "True", "False"
}
]
}
}
GW configuration overrides GW_GROUP configuration on a field-by-field basis. Including nested fields.
Override example
GW:
{
"a": "yes",
"b": "presentInGwOnly",
"nested":{
"value": 100
}
}
GW_GROUP
{
"a": "no",
"c": "presentInGwGroupOnly",
"nested":{
"value": 13
}
}
Final
{
"a": "yes",
"b": "presentInGwOnly",
"c": "presentInGwGroupOnly",
"nested":{
"value": 100
}
}
GET api/configuration/reported/GATEWAY/GATEWAY_UUID
Returns the latest reported configuration by the gateway.
{
"content" : {},
"timestamp": 1631010810123
}
content
provides information about the currently applied configuration, and also any errors experienced during the last configuration request. Compared with the Desired payload, it has inner value and status nodes that reflect the value applied and the status of the operation.
Example of reported content (partial)
{
"content": {
...
"upgradeServer": {
"ipkFeedURL": {
"value": [
{
"name": "bsp",
"url": "http://10.7.7.122/opk/Kona_Macro/BSP-5.1.3/bsp/"
},
{
"name": "utils",
"url": "http://10.7.7.122/opk/Kona_Macro/BSP-5.1.3/utils/"
}
]
}
}
...
},
"timestamp": 1655249383674
}