How to start with GenieACS and TR069 (Huawei ONT provisioning))

Hi everyone.
I have a GenieACS server on Centos7 (cwmp+nbi+fs+gui).
Server is working on MongoDB 4.4.0

I need to have some basic information how to start adding some data to ACS to provision services on Huawei ONT.
Basically ONT is added to OLT with some line/service profiles, also service-ports are created but i don’t know how to add rest of data to ACS Server - data which can not be added via SSH

Maybe someone have some experience with this.

I know exactly what i need to do on OLT site (tr069-server-profile, ont tr069-server-config, etc) but the problem is what should i do and how to put some specific data to ACS database, for example how to add do ACS server specific SSID, password, channel, etc to specific serial numer of Huawei ONT

Thanks for any help

These two links should help you understand how to do integration.

OK, i have done some first commands, at this moment i use curl to test it:

curl -i ‘http://192.168.1.234:7557/devices/00259E-EG8145V5-48575443E87EBE9A/tags/testing123’ -X POST

curl -i ‘http://192.168.1.234:7557/devices/?query={“InternetGatewayDevice.DeviceInfo.SerialNumber”:“48575443E87EBE9A”}

curl -i ‘http://192.168.1.234:7557/devices?query={"_id":“00259E-EG8145V5-48575443E87EBE9A”}&projection=InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID

curl -i ‘http://192.168.1.234:7557/devices/00259E-EG8145V5-48575443E87EBE9A/tasks?connection_request’ -X POST --data ‘{“name”:“setParameterValues”, “parameterValues”: [[“InternetGatewayDeviceonfiguration.1.SSID”, “TEST123”, “xsd:string”]]}’

curl -i ‘http://192.168.1.234:7557/tasks/5f9ada62d1358643fd43563d/retry’ -X POST

etc.

but question is - how to add totally new device to ACS DB, is that necessary to add all parameters (most of then stay blank or default) or can I add only this what i need to set (WLAN parameters, IP, etc)

For a new device to get added to the ACS it first has to communicate with the ACS. You do not preemptively added devices to the ACS.

OK, I have tested that on Mikrotik AP and its working just like You said. My question is what decide how many parameters is on ACS server for a specific device, when i connected a Mikrotik RB751G-2HnD with configured ACS url/login/password i’ve got only few parameters in ACS:

curl -i ‘http://10.10.110.184:7557/devices/?query={“Device.DeviceInfo.ProvisioningCode”%3A"AP-UP"}
HTTP/1.1 200 OK
GenieACS-Version: 1.1.2
Content-Type: application/json
total: 1
Date: Mon, 02 Nov 2020 07:32:04 GMT
Connection: keep-alive
Transfer-Encoding: chunked

[
{"_id":“E48D8C-RB751G%2D2HnD-3A650208FFA3”,“Device”:{“DeviceInfo”:{“HardwareVersion”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":“v1.0”},“ProvisioningCode”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":“AP-UP”},“SoftwareVersion”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":“6.47.7”},"_object":true},“ManagementServer”:{“AliasBasedAddressing”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:boolean”,"_value":false},“ConnectionRequestURL”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":“http://172.20.0.12:7547/4d1c4841a7e312f4f7c9dbbe3a7db1b90edd"},“ParameterKey”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":""},"_object":true},“RootDataModelVersion”:{"_object":false,"_timestamp":“2020-11-02T07:31:49.849Z”,"_type":“xsd:string”,"_value":“2.11”},"_object":true,"_writable":false},"_deviceId":{"_Manufacturer":“MikroTik”,"_OUI":“E48D8C”,"_ProductClass":“RB751G-2HnD”,"_SerialNumber":“3A650208FFA3”},"_lastInform":“2020-11-02T07:31:49.849Z”,"_registered":“2020-10-30T13:13:08.540Z”,"_timestamp":“2020-10-30T14:37:27.472Z”,“Reboot”:{"_object":false,"_timestamp":“2020-10-30T13:24:15.475Z”,"_type":“xsd:dateTime”,"_value":“2020-10-30T13:24:15.475Z”},"_lastBoot":“2020-10-30T13:41:30.870Z”,"_lastBootstrap":"2020-10-30T13:41:30.870Z”}

why only this, where are parameters starting with InternetGatewayDevice. I know that it cane be some different between mikrotik and Huawei devices but so big difference ? please explain me that

The mtik is using device data model v2, more specifically v2.11. I suggest you read up on data model v2.

-dan

at this moment i’m using genieacs device simulator, I have a device, i can read some parameters:

curl -i ‘http://10.10.110.184:7557/devices?query={"_id"%3A"202BC1-BM632w-000000"}&projection=InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID

HTTP/1.1 200 OK
GenieACS-Version: 1.1.2
Content-Type: application/json
total: 1
Date: Tue, 03 Nov 2020 13:36:11 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

[
{"_id":“202BC1-BM632w-000000”,“InternetGatewayDevice”:{“LANDevice”:{“1”:{“WLANConfiguration”:{“1”:{“SSID”:{"_object":false,"_timestamp":“2020-11-03T13:33:56.631Z”,"_type":“xsd:string”,"_value":“404 WiMAX Not Found”,"_writable":true}}}}}}}
]

but when i try to change something i get an error 405:

curl -i ‘http://10.10.110.184:7557/devices/202BC1-BM632w-000000/tasks?connection_request’ -X POST --data ‘{“name”:“setParameterValues”, “parameterValues”: [[“InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID”, “BARTEK_TEST”, “xsd:string”]]}’
HTTP/1.1 202 Unexpected response code from device: 405
GenieACS-Version: 1.1.2
Content-Type: application/json
Date: Tue, 03 Nov 2020 13:44:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

{“name”:“setParameterValues”,“parameterValues”:[[“InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.SSID”,“BARTEK_TEST”,“xsd:string”]],“device”:“202BC1-BM632w-000000”,“timestamp”:“2020-11-03T13:44:53.355Z”,"_id":“5fa15ed5a3be4c22fd1de73f”}

can anyone explain that