Vigor DrayTek compatibility with GenieACS

Hi,
I am trying to integrate DrayTek Vigor VPN routers into GenieACS. I have installed a STUN server alongside GenieACS and CPE informing of GenieACS works fine with STUN server enabled. I have also opened the UDP and TCP ports for GenieACS access to the CPE.
However, access to the CPE by GenieACS is not working.

Among the parameters informed by the CPE, I have:
InternetGatewayDevice.ManagementServer.UDPConnectionRequestAddress 151.x.x.x:46838
InternetGatewayDevice.ManagementServer.ConnectionRequestURL http://192.168.100.246:8069/cwm/CRN.html

The connection request URL is the WAN address of the router on the LAN of the internet connection modem. The UDP connection address is the public IP address of the internet connection.

And in the debug.yaml file, when I try to refresh the parameters of the CPE, I find (identifiers hidden with x):

event: outgoing UDP message
timestamp: 2020-04-20T07:15:03.613Z
remoteAddress: 151.x.x.x
deviceId: 001DAA-Vigor2133ac-XXXXXXXXXXXX
remotePort: 46838
body: "GET
http://151.x.x.x:46838?ts=1587366903&id=2342349152&un=001DAA-Vigor2133ac-X
XXXXXXXXXXX&cn=xxxxxxxxxxxxxxxx&sig=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HTTP/1.1\r

Host: 151.x.x.x:46838\r

\r\n"

event: outgoing HTTP request
timestamp: 2020-04-20T07:15:05.612Z
remoteAddress: 192.168.100.246
deviceId: 001DAA-Vigor2133ac-XXXXXXXXXXXX
connection: null
remotePort: “8069”
method: null
url: /cwm/CRN.html
headers:
host: 192.168.100.246:8069
error: socket hang up

What do I need to change so that the WAN IP address of the CPE in the connection request URL is replaced by the public IP address of the internet connection ?

Thanks,
Gilles

The ACS should use the reported IP as-is. So that sounds like something that needs to be fixed somewhere else in the stack.

Ok. So what you mean is that the CPE is incorrectly reporting its connection request URL even though STUN detection is configured and enabled ?

The regular connection requests are indipendant from any STUN configuration. IIRC the CPE should make use of UPnP to discover what IP to use for connection requests. I may be wrong though. Check the TR-069 spec. Please report back if you find your solution.

Hi, I figured out what was not correctly setup (a question of authorisations in the CPE) and have succeeded in summoning it and updating some parameter branches.

When I try to update the InternetGatewayDevice branch, I get a “Too many RPC requests” error. I have found in the forum a reference to making a change in the source code to work around this error. Is this the correct way to proceed?

Thanks!