Custom writeable column?

Is it possible to add a new custom column to index page that can be edited manually without being a tag?

Editing a parameter is controlled by the _writable attribute. If you are wanting to display a TR69 parameter, the CPE will tell the ACS if the parameter is editable. If you are display a virtual parameter, then you have to return something that resembles this: {writable: true, value: [result, "xsd:string"]};

As for how to add params to the index page, see the Admin → Config → Edit Index page link for plenty of examples.

Thanks @akcoder! It’s not necessarily a TR69 what we’d like to show. Basically, just need to add a column with the customer’s name and another one with the address.

You will need a way of storing that information, either in the TR69 data model by reusing one of the writable params or using virtual parameters. My suggestion is to use a vparam.

Here is a generic vparam you can use to store information. Clone the code for each custom parameter value you want to store. Then in your provision script where you configure the customers CPE, you can get the customers name from your subscriber management system and write the value to the vparam:

declare("VirtualParameters.CustomerName", {value: Date.now()}, {value: 'Some Customer'});

Then you can use that vparam in the index page like so:

- label: "'CM Name'"
  parameter: VirtualParameters.CustomerName
// VirtualParameters.CustomerName
let value;

if ("value" in args[1]) {
    // Set declared value
    value = args[1].value;
} else if ("value" in args[3]) {
    // No declared value, keep current value
    value = args[3].value;
} else {
    // No current value, use default
    value = ['', 'xsd:string'];
}

return {writable: true, value: value};

Thanks, I appreciate your help! Now I have the column as desired, just that this guided me to another issue.

It looks I’m not able to push configurations to CPEs behind a Modem? Not sure if that makes sense…
CPEs can reach ACS and get the “Customer” parameter once they inform to the ACS, but when I click commit with the new value I get “Device is offline” even though they are online.

Check your cwmp access log file. I bet you will find authentication errors in there. More specifically with ACS → CPE authentication. To test this out, you can disable connection request auth on the CPE. If the device is offline error goes away, then this is the next issue to tackle.

I was doing some research on this, and it seems it can be related to the “InternetGatewayDevice.ManagementServer.ConnectionRequestURL” value, which is empty at this moment.

Does this make sense? What’s the right place to configure this value?

Thanks again!

You can’t configure this value, its not writable. This value is sent by the CPE to the ACS.

For the CPEs sending this value, it shows the local IP (192.168.1.xxx), which is not accessible remotely by ACS. What’s the best way to configure this?

Are you using CGNAT? If so, you will need to look at STUN. I have no experience with this so I will be unable to assist with that further. But I know STUN has popped up on the forum before.