Fritz Box, cos'è il protocollo TR-064 e come configurare il router da app e script

Come funziona il protocollo TR-064 sui Fritz Box e come controllare il router a distanza mediante le app ufficiali o tramite script personalizzati.

Il versatile router AVM Fritz Box, disponibile in vari modelli, supporta anche il protocollo TR-064, strumento approvato dal Broadband Forum che facilita la gestione remota di router e dispositivi per il networking (genericamente chiamati CPE, Customer Premise Equipment).

Accedendo all’interfaccia web del Fritz Box e portandosi nella sezione Rete locale, Rete, Impostazioni di rete è possibile attivare l’opzione Consentire l’accesso alle applicazioni.

Attivando la casella si abiliterà l’utilizzo del protocollo TR-064 consentendo alle applicazioni autorizzate, attraverso la rete locale, di configurare il dispositivo a distanza.
A differenza del protocollo TR-069 in questo caso non vengono aperte porte sull’interfaccia WAN e quindi sull’IP pubblico del router AVM: lo si può verificare cliccando su Diagnosi, Sicurezza per verificare le porte esposte in rete locale (LAN) e sulla WAN.

MyFRITZ!App può funzionare proprio attivando TR-069: dopo l’avvenuta installazione su un dispositivo Android o iOS l’applicazione andrà alla ricerca di un Fritz Box installato nella rete locale mostrandone il corrispondente indirizzo IP.
Abbiamo rilevato che il rilevamento non va a buon fine se si effettua la scansione da un dispositivo collegato a un router connesso in cascata al Fritz Box. In questi casi basta forzare il riconoscimento del Fritz Box specificandone manualmente l’indirizzo IP privato.

Con MyFRITZ!App si possono ricevere sullo smartphone tutti i messaggi via via restituiti dal Fritz Box, accedere alla funzionalità NAS per lo storage di file e la loro condivisione in locale e in remoto, controllare i dispositivi connessi in LAN e gestire i prodotti per la smart home di AVM.

Molto utile la possibilità di accedere alle cosiddette Funzioni comfort dal menu principale dell’app: qui, con un semplice tocco, si può attivare o disattivare la WiFi, abilitare o meno la segreteria telefonica del Fritz Box e chiedere di deviare le chiamate in ingresso verso un’altra numerazione interna o esterna.

Dall’interfaccia web del Fritz Box si possono configurare una o più segreterie telefoniche in modo che esse reagiscano per tutte le numerazioni o per utenze specifiche sulla base del numero chiamante.
Per ciascuna segreteria si può specificare dopo quanti secondi essa debba entrare in funzione, se devono essere registrati i messaggi ed è possibile personalizzare il messaggio di saluto che di default è in inglese. La variazione può essere effettuata dalla sezione Impostazioni per accettazione e messaggio di saluto: qui si possono caricare anche messaggi creati con il text-to-speech.

Cliccando su Telefonia, Gestione chiamate, Deviazioni di chiamata è possibile configurare la deviazione di chiamata che deve essere eventualmente attivata, anche temporaneamente, per tutte le chiamate in ingresso oppure soltanto per alcune numerazioni.

Sempre grazie al protocollo TR-064, installando l’app FRITZ!App Fon è possibile trasformare qualsiasi smartphone in un telefono di rete fissa da affiancare a quelli esistenti. Esso si appoggerà alla rete WiFi locale e permetterà di effettuare e ricevere chiamate da tutte le numerazioni (VoIP e non) configurate sul Fritz Box.

Una volta aggiunto lo smartphone come telefono IP (LAN/WiFi) nell’interfaccia di amministrazione del Fritz Box, si potrà installare l’app FRITZ!App Fon quindi deviarci eventualmente le chiamate al bisogno usando l’opzione Deviare tutte le chiamate in entrata a… integrata nell’app MyFRITZ!App.

L’unico problema che abbiamo rilevato con l’app FRITZ!App Fon è che non mostra le corrispondenze “mnemoniche” salvate sul Fritz Box limitandosi ad accedere solo alla rubrica locale dello smartphone. Nel caso di chiamate da call center (classificate ad esempio usando i server CardDAV di Tellows), ad esempio, FRITZ!App Fon non mostra chi sta chiamando esponendo soltanto la numerazione della chiamata in arrivo.
Ciò non toglie, ovviamente, che le chiamate indesiderate possano essere bloccate dall’interfaccia del Fritz Box agendo su Telefonia, Gestione chiamate, Blocchi chiamate.

Gestire il Fritz Box tramite script

L’aspetto davvero utile è che i Fritz Box possono essere gestiti dagli utenti anche mediante script. AVM ha pubblicato una guida dettagliata che mostra la sintassi da usare e il tipo di richiesta SOAP da inviare per gestire il dispositivo a distanza.

Secondo Gioxx gli script non hanno più funzionato almeno fino a luglio 2020 ma da qualche settimana noi li stiamo utilizzando senza problemi su alcuni router Fritz Box aggiornati all’ultima versione disponibile del sistema operativo FRITZ!OS.

Dopo aver abilitato il protocollo TR-064 dall’interfaccia web del Fritz Box, il punto di riferimento per usare lo scripting con i dispositivi AVM rimane il progetto FritzBoxShell.
Basta scaricare i file di FritzBoxShell per controllare facilmente i dispositivi Fritz Box da una macchina Linux oppure da WSL 2 in Windows.

Nel nostro caso abbiamo avviato in Windows una macchina Ubuntu Linux, abbiamo premuto Windows+R quindi digitato \\wsl$ per accedere al file system di Ubuntu.
Cliccando due volte sulle cartelle home\nomeutente abbiamo copiato i file fritzBoxShell.sh e fritzBoxShellConfig.sh.
Digitando chmod u+x ./fritzBoxShell.sh abbiamo reso eseguibile lo script.

Con il comando seguente abbiamo ad esempio richiesto informazioni sullo stato del Fritz Box:

./fritzBoxShell.sh --boxip 192.168.0.1 --boxuser UTENTE_FRITZ --boxpw PASSWORD_FRITZ DEVICEINFO STATE

Al posto di UTENTE_FRITZ e PASSWORD_FRITZ abbiamo indicato le credenziali di un account utente dotato dei privilegi amministrativi rilevato dalla pagina Sistema, Utenti FRITZ!Box dell’interfaccia di amministrazione.

Digitando semplicemente ./fritzBoxShell.sh si otterranno tutti i comandi che possono essere impartiti al Fritz Box a distanza tramite script.

I dispositivi Fritz Box possono comunque essere amministrati a distanza anche tramite Windows. Copiando e incollando le istruzioni che seguono in un file batch di Windows si può ad esempio chiedere di attivare e disattivare al bisogno la connessione WiFi sui 5 GHz. La stessa cosa, con le opportune modifiche, si può fare però per le reti sui 2,4 GHz e per la rete guest:

@echo off
set IP=192.168.0.1
set FRITZUSER=UTENTE_FRITZ
set FRITZPW=PASSWORD_FRITZ
set location=/upnp/control/wlanconfig2
set uri=urn:dslforum-org:service:WLANConfiguration:2
set action=SetEnable
set par=%1
if "%par%"=="" set par=0
curl -k -m 5 --anyauth -u "%FRITZUSER%:%FRITZPW%" http://%IP%:49000%location% -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:%uri%#%action%" -d "<?xml version='1.0' encoding='utf-8'?><s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'><s:Body><u:%action% xmlns:u='%uri%'><NewEnable>%par%</NewEnable></u:%action%></s:Body></s:Envelope>" -s > fritzbox.log 2>&1
if "%par%"=="1" echo RETE WIFI 5GHZ ATTIVATA SUL FRITZBOX %IP%
if "%par%"=="0" echo RETE WIFI 5GHZ DISATTIVATA SUL FRITZBOX %IP%

Al posto di UTENTE_FRITZ e PASSWORD_FRITZ vanno ovviamente effettuate le sostituzioni del caso.
Digitando al prompt dei comandi di Windows il nome del file batch seguito da 0 la rete WiFi sarà automaticamente disattivata; digitando 1 sarà abilitata.

Nel file di registro fritzbox.log viene memorizzata la risposta ricevuta dal Fritz Box a seguito dalla specifica richiesta SOAP trasmessa.

Con le opportune modifiche sui valori delle variabili location, uri, action e par è possibile amministrare a distanza un gran numero di impostazioni del Fritz Box.
Si può trarre ispirazione da questo file e dal documento di supporto AVM che riporta indirizzi, URI, azioni e parametri da utilizzare per ciascuna necessità.

Ti consigliamo anche

Link copiato negli appunti