NDO una volta si poteva attivare il telnet e sulla porta 1012 il fritz esponeva il log delle chiamate, io avevo fatto uno script che lanciava un processo di log su file (a parte i controlli come qui sotto):
nc -d fritz.box 1012 >> ${log}
e un secondo script cercava l'evento RING e faceva qualcosa (nel 2013 non esisteva alexa, il mio server faceva solo l'associazione numero/nome perche' la rubrica del fritz era molto piu' limitata)
tail -0F ${log} | awk -F";" '/RING/ {printf( "Incoming call: %s\n", $4 )}'
(questo e' l'esempio per il debug, avevo fatto anche un invio sms per quando ero fuori)
il formato del log era un csv (col punto e virgola) del tipo
data ora;evento;linea;clid;numero
note: data e ora leggibili, non in formato timestamp, evento era RING, [DIS]CONNECT, CALL e forse qualche altra cosa, linea indicava la porta fisica (non c'erano quelli dect, quindi 0 e 1, gli ultimi due erano numero chiamante e numero chiamato (utile nel caso avessi un alias dovuto alla NP per capire qual'era il numero)
magari il fritz espone ancora qualcosa (purtroppo in xml mi sa) e puoi riciclare l'idea 😉