Port Forwarding From ACS

root@xxx:~# curl -i ‘http://localhost:7557/devices/bc62ce-IGD-1100157743800061/tasks?connection_request’ \

-X POST
–data ‘{“name”:“setParameterValues”, “parameterValues”: [[“InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.InternalPort”, “12345”, “xsd:string”],[“InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.ExternalPort”, “54321”, “xsd:string”]]}’
HTTP/1.1 202 Task queued but not processed
GenieACS-Version: 1.2.7+20210919001756
Content-Type: application/json
Date: Fri, 08 Oct 2021 13:46:28 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

faultCode: “9003”
faultString: Invalid arguments
setParameterValuesFault:

  • parameterName: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.ExternalPort
    faultCode: “9007”
    faultString: Invalid parameter value
  • parameterName: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.InternalPort
    faultCode: “9007”
    faultString: Invalid parameter value

If you need, I can tell you how to do it through the UI…

It seems to me that you first need to create the appropriate instance, and then change its parameters

You have specified the InternalPort/ExternalPort data types as strings, this is invalid. It would be very beneficial for you to read or refer to the TR-069, specifically on PortMapping.

There should be no need to specify the parameter datatype, GenieACS will figure this out for you.

curl -i 'http://localhost:7557/devices/bc62ce-IGD-1100157743800061/tasks?connection_request' \
-X POST \
–data '{"name":"setParameterValues", "parameterValues": [["InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.InternalPort", 12345],["InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.PortMapping.1.ExternalPort", 54321]]}'
1 Like

thank you very much. <3 can you post correct script?

I did…