Well, having knocked up a TR069 server one morning last week, I have been trying to use it for real this week.
So far I am pulling my hair out. It seems there is no definition for the "user.ini" config file used on the router, so that is trial and error. The router config is not part of TR069, and down to router manufacturer.
However, main things we want to do are to be able to load a new config in to a router, and upgrade software if needed.
Well, first issue is the "isp.def" file. This is the factory reset default settings. We cannot make one file that works for FTTC/H and for DSL usage. So we are having to make routers that are specific to one of the other. Not too bad, but some times customers upgrade from one to the other.
That leads to the next problem, we cannot change the isp.def file. So if someone upgrades from DSL to FTTC, we can change the config (while on DSL) to work on FTTC, but we cannot change the factory default. If they ever reset the router it will go back to DSL. Arrrg. Please Technicolor make software that allows us to change the isp.def via TR069.
We may manage some work around with allowing ftp access by a config change and ftp of the new isp.def or something, but it is going to be a pain in the arse.
OK, fair enough, we'll cope. But what about config file updates. Well, it turns out there are two ways to do this it seems. We can either tell the router to download a new "user.ini" file from http/https server, or we can actually send the config (up to 32K) as a value in a "SetParameter" command. The latter simply does not work - nothing happens, no response! Hmmm.
OK, the Download option. Last week we tested download of new fireware and new config (user.ini) file. Both worked. I expected today to be plain sailing.
This week testing with real DSL lines and routers, not so good. The router is being thick! It will use the WAN and the assigned WAN IPv6 address to DNS lookup the TR069 server (A record); use the WAN IPv4 to talk to the TR069 server; Get the Download command; Use the WAN DNS again to look up the host part of that URL; and then screw up! It will send packets from a 192.168.x.x LAN NAT IP address (not even its own IP on the LAN?!?!) to try and fetch the file. Eventually it gives up and correctly uses the WAN to tell the TR069 server that it failed. Non NAT config works thankfully.
At one point it appeared to be talking from 192.168.1.153 to 127.0.0.1. We know because the RSTs it replied to itself were being sent down the DSL line (from 127.0.0.1 to 192.168.1.253). I mean, WTF!
We are hoping that it is somehow something we have done in the
NAT user.ini file and can be fixed. We'll see what we can do. NAT
Oh, and https does not work - possibly it does not like the
certificate (cacert). That will need more testing! But http does work,
so a workaround for now.
The good news on that is that we can tell it to FactoryReset, and if it has the right isp.def file, it will then talk to us in a default config, which does work to get the new config. That is a clue I think that we have messed up the config somehow for NAT.
Good news is A&A control pages now have a factory reset and config load button, yay! These only show if you are on our TR069 server. If you have one of these routers and are not, ask on irc during the day and we can switch you over.
Next steps after working around these quirks are to improve the config options - allowing people to set up the router as they want, and even basic firewall rules, from our control pages. Once we have the mechanisms working that should be simple and we can expand that to meet any customer demand for features if the router will do them.
Oh, and for me to publish the TR069 server - yes - still planning to do that.
That said I am training for next two days so not likely to be a lot of progress.