mcktr / check_fritz

Check plugin written in Go to monitor a Fritz!Box
GNU General Public License v2.0
32 stars 10 forks source link

Query all sync groups on downstream_max/upstream_max #83

Closed mcktr closed 4 years ago

mcktr commented 4 years ago

Changes the downstream_max and upstream_max method to query all found sync groups to ensure a correct calculated max down-/up-stream value.

ToDo

fixes #72

mcktr commented 4 years ago

Example:

./check_fritz -H 192.168.178.1 -p *** -m downstream_max -w 115 -c 116
CRITICAL - Max Downstream: 114.11 Mbit/s, Downstream SyncGroup 'sync_dsl': 114.11 Mbit/s | 'downstream_max_sync_dsl'=114.110000;115.000000;116.000000;; 'downstream_max'=114.110000;115.000000;116.000000;;

./check_fritz -H 192.168.178.1 -p *** -m upstream_max
OK - Max Upstream: 34.96 Mbit/s, Upstream SyncGroup 'sync_dsl': 34.96 Mbit/s | 'upstream_max_sync_dsl'=34.957000;;;; 'upstream_max'=34.957000;;;;
mcktr commented 4 years ago

@uclara Can you have a look on this new PR please? :-) Freshly build binaries can be found here: https://github.com/mcktr/check_fritz/actions/runs/133478648

I changed the downstream_max and upstream_max functions to query all sync groups and calculate a combined max downstream/upstream value. The single values for each sync group will also be printed and is made available via PerformanceData to import it in a graphing tool like Grafana.

For now I wish you a nice weekend. ;-)

uclara commented 4 years ago

@mcktr I installed the version you build 9 days ago. It's funny to see the combination of different sync groups, but I don't understand for what it should be used. I tested with my FRITZ!Box 6591 Cable/FRITZ!OS: 07.13.

check_fritz reports for Max Downstream:

Bildschirmfoto 2020-06-21 um 22 01 13

check_fritz reports for Max Upstream:

Bildschirmfoto 2020-06-21 um 21 59 34

I use the LAN port to connect the FRITZ!Box to my LAN, and the Cable port ti connect to Vodafone Kabel/Deutschland. The sum of both ports does't make sense from my point of view and should be at least optional. Perhaps it is useful for scenarios in which two Internet uplinks are used in parallel, e.g. DSL or Cable + LTE USB stick, but I'm not sure that they can be used in parallel, but rather as active / passive. In this case, the sum would bring very little.

In my opinion it would be better to configure the sync groups individually as a service than in combination.

But maybe I didn't quite understand what you wanted to do with it :-)

PS: It is also interesting that sync_lan0 is asymmetrical and displays 1024 Mbit/s in the downstream and only 99.999 Mbit/s in the upstream. Maybe lan0 is not the ethernet interface to the LAN, but is it a virtual interface to the cable modem?

I'll take a look at my remaining FRITZ! Boxes with your test code in the next few days, maybe I'll find something ...

Ulli

mcktr commented 4 years ago

@uclara The problem here is that there is no way (that I know of) to query a sync group via an permanent identifier. There is an ongoing number or the name that you can use to identify the sync group, both can change after a reboot, update or even on a reconnect. Using one of of this as an identifier and a change happens this would mess with the configured service in your monitoring solution.

How about an additional parameter to set a ignore list of sync groups that will be skipped when querying?

Did you notice any other issues in this regard with your other Fritz!Box devices?

Thanks! Michael

uclara commented 4 years ago

@mcktr the idea sounds good, maybe with a similar tool like the "getSecurityPort" that was used with check_tr64_fritz to get the port number for the FRITZ!Box. In that way everybody can see what's available via the API and configure what's needed. Maybe the default behaviour should stay as it is today in the stable version.

Otherwise, I have unfortunately found nothing else, because at the moment I am struggling with the configuration of the services for the various FRITZ! Boxes. I would like to show related services together under the host. I can remember that something was possible in Nagios by using a second attribute for sorting. You could use a number to arrange the order of the services as you like - is that also possible with Icinga2?

PS: I use Consol Labs OMD with Icinga2 as core and Thruk as frontend

mcktr commented 4 years ago

@mcktr the idea sounds good, maybe with a similar tool like the "getSecurityPort" that was used with check_tr64_fritz to get the port number for the FRITZ!Box.

Thanks for that suggestion @uclara, but is such a tool really necessary if we went with a ignore list for sync groups? You can run the check plugin once and see all sync groups, now you can set the appropriate ignore list entries. Nonetheless this should be well documented.

In that way everybody can see what's available via the API and configure what's needed. Maybe the default behaviour should stay as it is today in the stable version.

The default behavior in the current stable version does not respect cable sync groups since on a cable connection you have two sync groups. If you are lucky and the cable sync group has the id 0 you'll get the correct down-/upstream, if the lan sync group has id 0 you'll get wrong values. Im also not happy with changing the default behavior but I see no other way to implement this in a sane way other than with this PR. If the sync group had permanent identifiers this would be more less complicated to find a sane solution, but they haven't. :-(

I would like to show related services together under the host. I can remember that something was possible in Nagios by using a second attribute for sorting. You could use a number to arrange the order of the services as you like - is that also possible with Icinga2?

Sorry I don't know Nagios or Thruk only Icinga Web 2. In Icinga Web 2 you have a host overview, if you click on the host you have the services related to this host in alphabetical order.

Best regards Michael

uclara commented 4 years ago

@mcktr: I agree with you. Maybe it would be possible to get in contact with AVM developers in the future to exchange ideas and suggestions regarding their FRITZ!OS API. Unfortunately I haven't any contacts ...

Regarding the sorting of the services I will get a try to Icinga Web 😄

Ulli

mcktr commented 4 years ago

Hello @uclara,

sorry that my response is so late. I had a couple of personal things to sort out. I'll try to be more active again from now on.

I implemented the mentioned ignore list for sync groups, can you may give it a try to see if this fits your needs? :-)

An example:

.\check_fritz -H 192.168.178.1 -p secret -m upstream_max --ignoresyncgroups "sync_dsl,cable_lan"

The --ignoresyncgroups sets the sync groups you don't want to consider in the final output. You can find freshly build binaries here: https://github.com/mcktr/check_fritz/actions/runs/232521527

I'm looking forward to your feedback.

Best regards Michael

dirkpauli commented 4 years ago

just downloaded the latest version. My Fritzbox 6591 is running Fritz!OS 7.21 now. When running check_fritz -H -u -p --modelgroup Cable -m upstream_max I get an panic error: panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x7716fd]

goroutine 1 [running]: main.isInIgnoreList(0x0, 0xc00000a1b0, 0xa, 0x1) D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:86 +0x2d main.CheckUpstreamMax(0xc000139c50, 0xc000139c10, 0xc000139c00, 0xc000139c20, 0xc000139c40, 0x0, 0x0, 0x0, 0xc000139bd0, 0xc000139c30, ...) D:/a/check_fritz/check_fritz/cmd/check_fritz/check_upstream.go:80 +0xc36 main.checkMain(0xc000090c80, 0xc0000a7400, 0x18) D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:194 +0x5c0 github.com/urfave/cli/v2.(App).RunContext(0xc000084600, 0x8c20e0, 0xc0000b0188, 0xc0000e2000, 0xb, 0x10, 0x0, 0x0) C:/Users/runneradmin/go/pkg/mod/github.com/urfave/cli/v2@v2.2.0/app.go:315 +0x712 github.com/urfave/cli/v2.(App).Run(...) C:/Users/runneradmin/go/pkg/mod/github.com/urfave/cli/v2@v2.2.0/app.go:215 main.main() D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:334 +0xb4b

here the complete output with debug activated:

Frist SOAP Response:

401 Unauthorized (ERR_NONE)

401 Unauthorized


ERR_NONE
Webserver Mon, 14 Sep 2020 19:38:20 GMT

Second SOAP Response:

<?xml version="1.0"?>

2 sync_cable CABLE 804169650 48404628 25,440,52,77,0,134,98,5402,89,0,0,54,134,40,69,0,0,69,11,30 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 25,483,61,122,2,581,152,1846,62,0,1,109,191,212,99,32,65,131,66,2788 25,483,61,122,2,581,152,1846,62,0,1,109,191,212,99,32,65,131,66,2788 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

</u:X_AVM-DE_GetOnlineMonitorResponse> </s:Body> </s:Envelope>


Frist SOAP Response:

401 Unauthorized (ERR_NONE)

401 Unauthorized


ERR_NONE
Webserver Mon, 14 Sep 2020 19:38:20 GMT

Second SOAP Response:

<?xml version="1.0"?>

2 sync_lan0 ATA 0 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

</u:X_AVM-DE_GetOnlineMonitorResponse> </s:Body> </s:Envelope>

panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x7716fd]

goroutine 1 [running]: main.isInIgnoreList(0x0, 0xc0000a6820, 0xa, 0x1) D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:86 +0x2d main.CheckUpstreamMax(0xc000165c50, 0xc000165c10, 0xc000165c00, 0xc000165c20, 0xc000165c40, 0x0, 0x0, 0x0, 0xc000165bd0, 0xc000165c30, ...) D:/a/check_fritz/check_fritz/cmd/check_fritz/check_upstream.go:80 +0xc36 main.checkMain(0xc00004ec80, 0xc000005500, 0x18) D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:194 +0x5c0 github.com/urfave/cli/v2.(App).RunContext(0xc00003af00, 0x8c20e0, 0xc00000a1e0, 0xc00010c000, 0xc, 0x10, 0x0, 0x0) C:/Users/runneradmin/go/pkg/mod/github.com/urfave/cli/v2@v2.2.0/app.go:315 +0x712 github.com/urfave/cli/v2.(App).Run(...) C:/Users/runneradmin/go/pkg/mod/github.com/urfave/cli/v2@v2.2.0/app.go:215 main.main() D:/a/check_fritz/check_fritz/cmd/check_fritz/main.go:334 +0xb4b

dirkpauli commented 4 years ago

if I add the -ignoresysncgroups parameter, the panic disappears, but the values given are not correct (6433 Mbits instead of about 50 MBits for example)

mcktr commented 4 years ago

Hi @dirkpauli

first of all thanks for testing this PR! I fixed the issue with the nil pointer dereference, this was indeed a programming mistake.

Can you please re-test the fixed version? You can find the fixed version here: https://github.com/mcktr/check_fritz/actions/runs/256111155

if I add the -ignoresysncgroups parameter, the panic disappears, but the values given are not correct (6433 Mbits instead of about 50 MBits for example)

Can you please share the exact plugin call and the exact plugin output here? (hide credentials nonetheless)

Thanks! Michael

dirkpauli commented 4 years ago

sorry, nothing available to download, can you please re-provide the new build?

Thanks

  Dirk

   

Gesendet: Dienstag, 15. September 2020 um 19:39 Uhr Von: "Michael Insel" notifications@github.com An: "mcktr/check_fritz" check_fritz@noreply.github.com Cc: "dirkpauli" dpauli@gmx.net, "Mention" mention@noreply.github.com Betreff: Re: [mcktr/check_fritz] Query all sync groups on downstream_max/upstream_max (#83)

 

Hi @dirkpauli

first of all thanks for testing this PR! I fixed the issue with the nil pointer dereference, this was indeed a programming mistake.

Can you please re-test the fixed version? You can find the fixed version here: https://github.com/mcktr/check_fritz/actions/runs/256111155

if I add the -ignoresysncgroups parameter, the panic disappears, but the values given are not correct (6433 Mbits instead of about 50 MBits for example)

Can you please share the exact plugin call and the exact plugin output here? (hide credentials nonetheless)

Thanks! Michael

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

dirkpauli commented 4 years ago

sorry, oversaw that I was'nt logged on.

check_fritz -H -u -p --modelgroup cable -m downstream_usage OK - 0.00% Downstream utilization (0.00 Mbit/s of 6792.21 Mbits) | 'downstream_usage'=0.000000;;;0.000000;100.000000

dirkpauli commented 4 years ago

`check_fritz -H -u -p --modelgroup cable -m downstream_usage -d

Frist SOAP Response:

401 Unauthorized (ERR_NONE)

401 Unauthorized


ERR_NONE
Webserver Thu, 24 Sep 2020 19:28:49 GMT

Second SOAP Response:

<?xml version="1.0"?>

2 sync_cable CABLE 849026109 793700759 165,10483,149,171,21162,41,0,159,126,804,88,833,500,2107,136,3538,377,102,22,43 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 219,2053,334640,219,5330,907,0,937,159,634,158,642,521,755,193,974,136,298892,6400,574 219,2053,334640,219,5330,907,0,937,159,634,158,642,521,755,193,974,136,298892,6400,574 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

</u:X_AVM-DE_GetOnlineMonitorResponse> </s:Body> </s:Envelope>

OK - 0.00% Downstream utilization (0.00 Mbit/s of 6792.21 Mbits) | 'downstream_usage'=0.000019;;;0.000000;100.000000`

mcktr commented 4 years ago

@dirkpauli This PR is about the methods upstream_max and downstream_max can you run these methods?

dirkpauli commented 4 years ago

that makes no difference at all, anyway: check_fritz -H -u -p --modelgroup cable -m downstream_max -d


Frist SOAP Response:

401 Unauthorized (ERR_NONE)

401 Unauthorized


ERR_NONE
Webserver Thu, 24 Sep 2020 19:34:14 GMT

Second SOAP Response:

<?xml version="1.0"?>

2 sync_cable CABLE 849026109 793700759 362,520,195,275,261,92,475,109,261,200,953,682,172,401,234,380,746,235,986,535 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 160,479,111,381,387,131,329119,6878,233,686,3289,5853,178,3708,939,3569,563,357,1043,564 160,479,111,381,387,131,329119,6878,233,686,3289,5853,178,3708,939,3569,563,357,1043,564 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

</u:X_AVM-DE_GetOnlineMonitorResponse> </s:Body> </s:Envelope>


Frist SOAP Response:

401 Unauthorized (ERR_NONE)

401 Unauthorized


ERR_NONE
Webserver Thu, 24 Sep 2020 19:34:14 GMT

Second SOAP Response:

<?xml version="1.0"?>

2 sync_lan0 ATA 0 0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

</u:X_AVM-DE_GetOnlineMonitorResponse> </s:Body> </s:Envelope>

OK - Max Downstream: 6792.21 Mbit/s, Downstream SyncGroup 'sync_cable': 6792.21 Mbit/s, Downstream SyncGroup 'sync_lan0': 0.00 Mbit/s | 'downstream_max_sync_cable'=6792.208872;;;; 'downstream_max_sync_lan0'=0.000000;;;; 'downstream_max'=6792.208872;;;;

grafik

mcktr commented 4 years ago

Can you please show me the graphs from the Fritz!Box interface?

image

dirkpauli commented 4 years ago

here we go: grafik

mcktr commented 4 years ago

Thanks @dirkpauli! I really appreciate your help! :+1:

I think I now know whats going on here. The methods downstream_max, downstream_usage and the upstream equivalents uses the following information to calculate the max up-/downstream.

<Newmax_ds>849026109</Newmax_ds>
<Newmax_us>793700759</Newmax_us>

It seems to be that this information is not the max link upstream/downstream, but the max measured upstream/downstream. I can see the same behavior on my DSL Fritz!Box. Still, I don't have a clue why the values are that high on your Fritz!Box.

I need to change the information source for the mentioned functions to use the correct value for upstream/downstream. This will take some time, I'll look into it over the weekend. Can you come back on monday and have a look for an update here? :-)

dirkpauli commented 4 years ago

you're welcome.

Regarding your assumption: I don't think that those values are related to the measured up/downstream. I just made a test producing heaviy load (until the maximum capacity) on the downstream. The scales in the diagram changed to show the download rate. however, the number returned from your tool remained the same and so did the upload value.

 

just to let you know to avoid searching at the wrong place...

Regards

  Dirk

   

Gesendet: Donnerstag, 24. September 2020 um 21:59 Uhr Von: "Michael Insel" notifications@github.com An: "mcktr/check_fritz" check_fritz@noreply.github.com Cc: "dirkpauli" dpauli@gmx.net, "Mention" mention@noreply.github.com Betreff: Re: [mcktr/check_fritz] Query all sync groups on downstream_max/upstream_max (#83)

 

Thanks @dirkpauli! I really appreciate your help! 👍

I think I now know whats going on here. The methods downstream_max, downstream_usage and the upstream equivalents uses the following information to calculate the max up-/downstream.

´´´

849026109 793700759

It seems to be that this information is not the max link upstream/downstream, but the max measured upstream/downstream. I can see the same behavior on my DSL Fritz!Box. Still, I don't have a clue why the values are that high on your Fritz!Box.

I need to change the information source for the mentioned functions to use the correct value for upstream/downstream. This will take some time, I'll look into it over the weekend. Can you come back on monday and have a look for an update here? :-)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

mcktr commented 4 years ago

Hi @dirkpauli,

thanks for the input. Can you do me a favor and run the following script? The script has two purposes, 1: It should output all available TR-064 services (meaning list all available information sources we can query using the TR-064 protocol), 2: output the information from one specific TR-064 service called WANDSLInterfaceConfig.

#!/usr/bin/env bash

HOSTNAME="fritz.box"
PORT="49443"
USERNAME="dslf-config"

while getopts h:p:u:P:U:s:a:x: OPTNAME; do
  case "${OPTNAME}" in
  h)
    HOSTNAME="${OPTARG}"
    ;;
  p)
    PORT="${OPTARG}"
    ;;
  u)
    USERNAME="${OPTARG}"
    ;;
  P)
    PASSWORD="${OPTARG}"
    ;;
  U)
    url="${OPTARG}"
    ;;
  s)
    service="${OPTARG}"
    ;;
  a)
    action="${OPTARG}"
    ;;
  x)
    xmlVar="${OPTARG}"
    ;;
  *)
    echo "fetch_tr64_data.sh -h <HOST> -p <PORT> -u <USER> -P <PASSWORD> -U <URL> -s <SERVICE> -a <ACTION> -x <xmlVar>"
    exit 0
    ;;
  esac
done

echo ""
echo ""
echo "${HOSTNAME}"
echo "${PORT}"
echo "${USERNAME}"
echo "${url}"
echo "${service}"
echo "${action}"
echo "${xmlVar}"
echo ""
echo ""

queryResult=$(curl "https://${HOSTNAME}:${PORT}/tr64desc.xml" \
-k \
-s \
-u "${USERNAME}:${PASSWORD}" \
--anyauth \
-H "Content-Type: text/xml; charset='utf-8'" \
)

echo "${queryResult}"
echo ""
echo ""

queryResult=$(curl "https://${HOSTNAME}:${PORT}/upnp/control/${url}" \
-k \
-s \
-u "${USERNAME}:${PASSWORD}" \
--anyauth \
-H "Content-Type: text/xml; charset='utf-8'" \
-H "SOAPACTION: urn:dslforum-org:service:${service}:1#${action}" \
-d "<?xml version='1.0'?> <s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/' s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'> <s:Body> <u:${action} xmlns:u='urn:dslforum-org:service:${service}:1'> ${xmlVar} </u:${action}> </s:Body> </s:Envelope>"
)

echo "${queryResult}"

Just copy this script on your Linux host and save it as script.sh for example, afterwards run this command to make it executable:

chmod +x script.sh

Now you can run the script:

./script.sh -P yourpassword -U "wandslifconfig1" -s "WANDSLInterfaceConfig" -a "GetInfo"

Please use the same values for -U -s -a since this tells the script which TR-064 service should be called. You can use -h to define your Fritz!Box address, -u for your user and -P is your password.

Please share the whole output here. If you are worried about exposing sensitive information to the public you can email me directly using my GitHub email, should be visible on the left side if you are logged in.

I already found a way how to query the correct value using a DSL Fritz!Box. With this step I'll verify if this would also work on a cable Fritz!Box.

Thanks a lot!

Best regards Michael

dirkpauli commented 4 years ago

192.168.200.1 49443 test wandslifconfig1 WANDSLInterfaceConfig GetInfo

<?xml version="1.0"?>

1 0 233 161 7 21 81684 161.07.21 urn:dslforum-org:device:InternetGatewayDevice:1 FRITZ!Box 6591 Cable AVM www.avm.de FRITZ!Box 6591 Cable FRITZ!Box 6591 Cable - avm www.avm.de uuid:739f2409-bccb-40e7-8e6c-DC396FB962A0 image/gif 118 119 8 /ligd.gif urn:dslforum-org:service:DeviceInfo:1 urn:DeviceInfo-com:serviceId:DeviceInfo1 /upnp/control/deviceinfo /upnp/control/deviceinfo /deviceinfoSCPD.xml urn:dslforum-org:service:DeviceConfig:1 urn:DeviceConfig-com:serviceId:DeviceConfig1 /upnp/control/deviceconfig /upnp/control/deviceconfig /deviceconfigSCPD.xml urn:dslforum-org:service:Layer3Forwarding:1 urn:Layer3Forwarding-com:serviceId:Layer3Forwarding1 /upnp/control/layer3forwarding /upnp/control/layer3forwarding /layer3forwardingSCPD.xml urn:dslforum-org:service:LANConfigSecurity:1 urn:LANConfigSecurity-com:serviceId:LANConfigSecurity1 /upnp/control/lanconfigsecurity /upnp/control/lanconfigsecurity /lanconfigsecuritySCPD.xml urn:dslforum-org:service:ManagementServer:1 urn:ManagementServer-com:serviceId:ManagementServer1 /upnp/control/mgmsrv /upnp/control/mgmsrv /mgmsrvSCPD.xml urn:dslforum-org:service:Time:1 urn:Time-com:serviceId:Time1 /upnp/control/time /upnp/control/time /timeSCPD.xml urn:dslforum-org:service:UserInterface:1 urn:UserInterface-com:serviceId:UserInterface1 /upnp/control/userif /upnp/control/userif /userifSCPD.xml urn:dslforum-org:service:X_AVM-DE_Storage:1 urn:X_AVM-DE_Storage-com:serviceId:X_AVM-DE_Storage1 /upnp/control/x_storage /upnp/control/x_storage /x_storageSCPD.xml urn:dslforum-org:service:X_AVM-DE_WebDAVClient:1 urn:X_AVM-DE_WebDAV-com:serviceId:X_AVM-DE_WebDAVClient1 /upnp/control/x_webdav /upnp/control/x_webdav /x_webdavSCPD.xml urn:dslforum-org:service:X_AVM-DE_UPnP:1 urn:X_AVM-DE_UPnP-com:serviceId:X_AVM-DE_UPnP1 /upnp/control/x_upnp /upnp/control/x_upnp /x_upnpSCPD.xml urn:dslforum-org:service:X_AVM-DE_Speedtest:1 urn:X_AVM-DE_Speedtest-com:serviceId:X_AVM-DE_Speedtest1 /upnp/control/x_speedtest /upnp/control/x_speedtest /x_speedtestSCPD.xml urn:dslforum-org:service:X_AVM-DE_RemoteAccess:1 urn:X_AVM-DE_RemoteAccess-com:serviceId:X_AVM-DE_RemoteAccess1 /upnp/control/x_remote /upnp/control/x_remote /x_remoteSCPD.xml urn:dslforum-org:service:X_AVM-DE_MyFritz:1 urn:X_AVM-DE_MyFritz-com:serviceId:X_AVM-DE_MyFritz1 /upnp/control/x_myfritz /upnp/control/x_myfritz /x_myfritzSCPD.xml urn:dslforum-org:service:X_VoIP:1 urn:X_VoIP-com:serviceId:X_VoIP1 /upnp/control/x_voip /upnp/control/x_voip /x_voipSCPD.xml urn:dslforum-org:service:X_AVM-DE_OnTel:1 urn:X_AVM-DE_OnTel-com:serviceId:X_AVM-DE_OnTel1 /upnp/control/x_contact /upnp/control/x_contact /x_contactSCPD.xml urn:dslforum-org:service:X_AVM-DE_Dect:1urn:X_AVM-DE_Dect-com:serviceId:X_AVM-DE_Dect1/upnp/control/x_dect/upnp/control/x_dect/x_dectSCPD.xml urn:dslforum-org:service:X_AVM-DE_TAM:1urn:X_AVM-DE_TAM-com:serviceId:X_AVM-DE_TAM1/upnp/control/x_tam/upnp/control/x_tam/x_tamSCPD.xml urn:dslforum-org:service:X_AVM-DE_AppSetup:1 urn:X_AVM-DE_AppSetup-com:serviceId:X_AVM-DE_AppSetup1 /upnp/control/x_appsetup /upnp/control/x_appsetup /x_appsetupSCPD.xml urn:dslforum-org:service:X_AVM-DE_Homeauto:1 urn:X_AVM-DE_Homeauto-com:serviceId:X_AVM-DE_Homeauto1 /upnp/control/x_homeauto /upnp/control/x_homeauto /x_homeautoSCPD.xml urn:dslforum-org:service:X_AVM-DE_Homeplug:1 urn:X_AVM-DE_Homeplug-com:serviceId:X_AVM-DE_Homeplug1 /upnp/control/x_homeplug /upnp/control/x_homeplug /x_homeplugSCPD.xml urn:dslforum-org:service:X_AVM-DE_Filelinks:1 urn:X_AVM-DE_Filelinks-com:serviceId:X_AVM-DE_Filelinks1 /upnp/control/x_filelinks /upnp/control/x_filelinks /x_filelinksSCPD.xml urn:dslforum-org:service:X_AVM-DE_Auth:1 urn:X_AVM-DE_Auth-com:serviceId:X_AVM-DE_Auth1 /upnp/control/x_auth /upnp/control/x_auth /x_authSCPD.xml urn:dslforum-org:service:X_AVM-DE_HostFilter:1 urn:X_AVM-DE_HostFilter-com:serviceId:X_AVM-DE_HostFilter1 /upnp/control/x_hostfilter /upnp/control/x_hostfilter /x_hostfilterSCPD.xml urn:dslforum-org:device:LANDevice:1 LANDevice - FRITZ!Box 6591 Cable AVM www.avm.de LANDevice - FRITZ!Box 6591 Cable LANDevice - FRITZ!Box 6591 Cable - avm www.avm.de uuid:75802409-bccb-40e7-8e6b-DC396FB962A0 AVM TR-064 urn:dslforum-org:service:WLANConfiguration:1 urn:WLANConfiguration-com:serviceId:WLANConfiguration1 /upnp/control/wlanconfig1 /upnp/control/wlanconfig1 /wlanconfigSCPD.xml urn:dslforum-org:service:WLANConfiguration:2urn:WLANConfiguration-com:serviceId:WLANConfiguration2/upnp/control/wlanconfig2/upnp/control/wlanconfig2/wlanconfigSCPD.xmlurn:dslforum-org:service:WLANConfiguration:3urn:WLANConfiguration-com:serviceId:WLANConfiguration3/upnp/control/wlanconfig3/upnp/control/wlanconfig3/wlanconfigSCPD.xml urn:dslforum-org:service:Hosts:1 urn:LanDeviceHosts-com:serviceId:Hosts1 /upnp/control/hosts /upnp/control/hosts /hostsSCPD.xml urn:dslforum-org:service:LANEthernetInterfaceConfig:1 urn:LANEthernetIfCfg-com:serviceId:LANEthernetInterfaceConfig1 /upnp/control/lanethernetifcfg /upnp/control/lanethernetifcfg /ethifconfigSCPD.xml urn:dslforum-org:service:LANHostConfigManagement:1 urn:LANHCfgMgm-com:serviceId:LANHostConfigManagement1 /upnp/control/lanhostconfigmgm /upnp/control/lanhostconfigmgm /lanhostconfigmgmSCPD.xml urn:dslforum-org:device:WANDevice:1 WANDevice - FRITZ!Box 6591 Cable AVM www.avm.de WANDevice - FRITZ!Box 6591 Cable WANDevice - FRITZ!Box 6591 Cable - avm www.avm.de uuid:75802409-bccb-40e7-8e6a-DC396FB962A0 AVM TR-064 urn:dslforum-org:service:WANCommonInterfaceConfig:1 urn:WANCIfConfig-com:serviceId:WANCommonInterfaceConfig1 /upnp/control/wancommonifconfig1 /upnp/control/wancommonifconfig1 /wancommonifconfigSCPD.xml urn:dslforum-org:service:WANDSLInterfaceConfig:1 urn:WANDSLIfConfig-com:serviceId:WANDSLInterfaceConfig1 /upnp/control/wandslifconfig1 /upnp/control/wandslifconfig1 /wandslifconfigSCPD.xml urn:dslforum-org:device:WANConnectionDevice:1 WANConnectionDevice - FRITZ!Box 6591 Cable AVM www.avm.de WANConnectionDevice - FRITZ!Box 6591 Cable WANConnectionDevice - FRITZ!Box 6591 Cable - avm www.avm.de uuid:75802409-bccb-40e7-8e69-DC396FB962A0 AVM TR-064 urn:dslforum-org:service:WANDSLLinkConfig:1 urn:WANDSLLinkConfig-com:serviceId:WANDSLLinkConfig1 /upnp/control/wandsllinkconfig1 /upnp/control/wandsllinkconfig1 /wandsllinkconfigSCPD.xml urn:dslforum-org:service:WANEthernetLinkConfig:1 urn:WANEthernetLinkConfig-com:serviceId:WANEthernetLinkConfig1 /upnp/control/wanethlinkconfig1 /upnp/control/wanethlinkconfig1 /wanethlinkconfigSCPD.xml urn:dslforum-org:service:WANPPPConnection:1 urn:WANPPPConnection-com:serviceId:WANPPPConnection1 /upnp/control/wanpppconn1 /upnp/control/wanpppconn1 /wanpppconnSCPD.xml urn:dslforum-org:service:WANIPConnection:1 urn:WANIPConnection-com:serviceId:WANIPConnection1 /upnp/control/wanipconnection1 /upnp/control/wanipconnection1 /wanipconnSCPD.xml http://fritz.box

<?xml version="1.0"?>

s:Client UPnPError 401 Invalid Action

</s:Fault> </s:Body> </s:Envelope>

mcktr commented 4 years ago

Closed in favor of #97