Periodic Inform Interval is not change

I need to change periodic inform interval…I have tried to change it from server …Default its taking 300…It can’t modify…Why its can’t modify…Its set a sec but again auto setting of the
default value 300

kindly check logs

  • Connection #0 to host 192.168.1.40 left intact
    2022-12-06 15:10:57 [easycwmp] NOTICE - received SetParameterValues method from the ACS
    2022-12-06 15:10:57 [easycwmp] NOTICE - external: execute set value Device.ManagementServer.PeriodicInformInterval 400
    2022-12-06 15:10:57 [easycwmp] NOTICE - external: execute apply value
    2022-12-06 15:10:57 [easycwmp] NOTICE - send SetParameterValuesResponse to the ACS
  • Found bundle for host: 0x55eb23e73ed0 [serially]
  • Re-using existing connection #0 with host 192.168.1.40
  • Connected to 192.168.1.40 (192.168.1.40) port 7547 (#0)

POST /openacs/acs HTTP/1.1
Host: 192.168.1.40:7547
Cookie: session=b57bbb1644feb208
User-Agent: easycwmp
Content-Type: text/xml; charset=“utf-8”
SOAPAction:
Content-Length: 596

  • Mark bundle as not supporting multiuse
    < HTTP/1.1 200 OK
    < Content-Length: 772
    < Server: GenieACS/1.2.8+20211027200938
    < SOAPServer: GenieACS/1.2.8+20211027200938
    < Content-Type: text/xml; charset=“utf-8”
    < Date: Tue, 06 Dec 2022 09:40:57 GMT
    < Connection: keep-alive
    <
  • Connection #0 to host 192.168.1.40 left intact
    2022-12-06 15:10:57 [easycwmp] NOTICE - received SetParameterValues method from the ACS
    2022-12-06 15:10:57 [easycwmp] NOTICE - external: execute set value Device.ManagementServer.PeriodicInformInterval 300
    2022-12-06 15:10:57 [easycwmp] NOTICE - external: execute apply value
    2022-12-06 15:10:57 [easycwmp] NOTICE - send SetParameterValuesResponse to the ACS
  • Found bundle for host: 0x55eb23e73ed0 [serially]
  • Re-using existing connection #0 with host 192.168.1.40
  • Connected to 192.168.1.40 (192.168.1.40) port 7547 (#0)

POST /openacs/acs HTTP/1.1
Host: 192.168.1.40:7547
Cookie: session=b57bbb1644feb208
User-Agent: easycwmp
Content-Type: text/xml; charset=“utf-8”
SOAPAction:
Content-Length: 596

  • Mark bundle as not supporting multiuse
    < HTTP/1.1 204 No Content
    < Content-Length: 0
    < Server: GenieACS/1.2.8+20211027200938
    < SOAPServer: GenieACS/1.2.8+20211027200938
    < Connection: close
    < Date: Tue, 06 Dec 2022 09:40:58 GMT
    <

You have competing provisions. The default inform script sets the PeriodicInformInterval to 300. If you are setting the PeriodicInformInterval in another provision script, with the same weight as the default provision script, then one will win over the other. In the other provision script change the weight to 100. This will cause GenieACS to rank the changes in that provision script higher than ones with a lower weight.

now what’s the solution for change the periodic inform interval

int http_digest_auth_check(const char *http_method, const char *url,
const char *header, const char *realm, const char *username,
const char *password, unsigned int nonce_timeout)
{
In http.c
if (http_digest_auth_check(“GET”, “/”, auth_digest + strlen("Authorization: Digest "), REALM, username, password,300) == MHD_YES)
auth_status = 1;
this 300 mean that periodic inform interval?

What would http.c have to do with this issue? GenieACS is written in Typescript (transpiled to Javascript).

Your issue with the inform interval is due to dueling presets/provisions.

I have checked client side scripts and source code…In client side its properly setting the value whatever we want…When client is connected to genieacs server …I try to get the value of periodic inform interval.genieacs server automatically setting 300 default value…so issue is in server side…I have checked presets
docs/api-reference.rst
… code:: javascript

query = {
“weight”: 0,
“precondition”: “{"_tags": "test"}”
“configurations”: [
{
“type”: “value”,
“name”: “InternetGatewayDevice.ManagementServer.PeriodicInformEnable”,
“value”: “true”
},
{
“type”: “value”,
“name”: “InternetGatewayDevice.ManagementServer.PeriodicInformInterval”,
“value”: “300”
}
]
}
I have checked where they are dec

… code:: bash

curl -i ‘http://localhost:7557/presets/inform
-X PUT
–data ‘{“weight”: 0, “precondition”: “{"_tags": "test"}”, “configurations”: [{“type”: “value”, “name”: “InternetGatewayDevice.ManagementServer.PeriodicInformEnable”, “value”: “true”}, {“type”: “value”, “name”: “InternetGatewayDevice.ManagementServer.PeriodicInformInterval”, “value”: “300”}]}’

I have seen genieacs server declared constant value as 300 that’s why we can’t modify

There is no declared constant value for the inform interval. The default inform script sets it to 300 seconds. You are welcome to change it.

I very successfully use different inform intervals in my environment. Unprovisioned CPEs get an inform interval of 30 seconds. Provisioned CPEs are set to 3600.

I’ve outlined above what I believe your issue is.

libs/init.ts …In that file I noticed they have declared interval 300 as constant
const INFORM_SCRIPT = `
// Device ID as user name
const username = declare(“DeviceID.ID”, {value: 1}).value[0]

// Password will be fixed for a given device because Math.random() is seeded with device ID by default.
const password = Math.trunc(Math.random() * Number.MAX_SAFE_INTEGER).toString(36);

const informInterval = 300;

// Refresh values daily
const daily = Date.now(86400000);

// Unique inform offset per device for better load distribution
const informTime = daily % 86400000;

declare(“InternetGatewayDevice.ManagementServer.ConnectionRequestUsername”, {value: daily}, {value: username});
declare(“InternetGatewayDevice.ManagementServer.ConnectionRequestPassword”, {value: daily}, {value: password});
declare(“InternetGatewayDevice.ManagementServer.PeriodicInformEnable”, {value: daily}, {value: true});
– INSERT – 70,1 9%

Again, a red herring and represents a fundamental misunderstanding on your part of how JavaScript variables work. You are so intent on finding a fault in the GenieACS code that you aren’t looking at your own provision scripts. That is where the issue lays.

if Mistake on my script means without connecting acs how periodic inform interval can modify…After connecting it …it forcefully setting 300 value that’s why i asked …

I got the same issue. How to solve this ?

Necromancy isn’t a good thing. Please create your own topic. The problems @priya is having are almost certainly not related to the issues you are having. Their issues are of their own making.

1 Like

Apologize for my miss understanding…we can modify the periodic inform interval in provision script…Then it can reflect…Direct set will not work…cuz it will be in const

please do modify in provision scripts