1. Kurzes USB-Verlängerungskabel aufgesplittet und rote Ader (5V+) unterbrochen. Das ist die Stromversorgung des Sticks
2.
fhem FritzBox CallMonitor installliert
3. Die beiden Enden des roten Kabels mit einem (potentialfreien!) Relais-Schaltausgang verbunden (in meinem Fall: ein Homematic Wired 2-fach Hutschienen-Schaltaktor, da war noch ein Kanal frei)
4. notify (eine Art Script) in fhem, das bei Auflegen eines Anrufs (FritzBoxCallmonitor:event:.disconnect) den Aktor für eine Sekunde aus- und dann wieder einschaltet.
Das resettet den Stick, und der nächste Anruf wird mit korrekter Kennung angezeigt.
Zählt bei deiner Konstruktion ein Klingeln schon als Anruf?
Nur dann dürfte der Workaround funktionieren, da bereits ein bloßes Klingeln dafür sorgt, dass ab dem nächsten Klingeln die falsche Nummer angezeigt wird.
Ich habe den Thread leider jetzt erst gelesen, sonst hättet ihr euch viel Zeit sparen können.
Das Problem habe ich schon vor mehreren Jahren im Detail analysiert und das Ergebnis dem AVM-Support mit konkreten Vorschlägen für einen Workaround mitgeteilt. Es wäre meines Erachtens ein Leichtes gewesen, den Fehler, der tatsächlich hauptsächlich in der Firmware der Sticks liegt, ohne Riskiko zu umgehen.
Auslöser des Problems ist die Reihenfolge, in der bei einem Anruf die Daten im Mobilfunknetz übertragen werden.
Das Empfangsgerät erhält aus dem Netz zunächst die Anrufsignalisierung und erst kurz später die CLIP-Daten.
Huawei reagiert nun aber bei den meisten seiner UMTS-Sticks unmittelbar auf die Anrufsignalisierung und verschickt über die AT-Schnittstelle ein RING zur Fritzbox, gefolgt von einer Zeile mit der CLIP-Nummer, die der Stick zu diesem Zeitpunkt aber noch gar nicht kennen kann.
Wurde der Stick vorher geresettet, ist das CLIP-Feld leer.
Erfolgte vorher bereits (irgendwann mal) ein Anruf oder zumindest ein Klingeln, wird die CLIP-Nummer dieses (vorherigen) Anrufs übertragen. Die Huawei-Firmware-Programmierer haben offenbar vergessen, das CLIP-Register zwischen den Anrufen zu löschen. Meines Wissens sind alle Huawei-Sticks, die bestimmte Qualcomm-Chips verwenden, davon betroffen. Üblicherweise werden Firmware-Module ja in einer Vielzahl von Geräten ohne Änderung verwendet, möglicherweise auch in den Sticks von 4G.
Die Fritzbox reagiert auf ein RING nun folgendermaßen:
Ist die CLIP-Zeile leer, wartet die Fritzbox auf das nächste RING, bevor überhaupt etwas unternommen wird. Das ist auch der Grund, warum nach einem Stick-Reset die korrekte Nummer angezeigt wird und es etwas länger dauert, bis die Telefone an der Box das erste Mal klingeln.
Ist die CLIP-Zeile des ersten RING aber nicht leer, sondern wird vom Stick fälschlicherweise mit der noch im Register stehenden Nummer des letzten Anrufs gefüllt, reagiert die Fritzbox sofort auf das erste RING und schickt die falsche CLIP-Nummer an die Telefone und die Anrufliste weiter. Klingelt es länger, schickt der Stick zwar mit den nächsten RINGs die richtige CLIP-Nummer mit, aber das interessiert die Fritzbox nicht mehr, obwohl AVM darüber ganz leicht Sticks mit dieser fehlerhaften Firmware detektieren könnte. Im Normalfall kann sich die CLIP-Nummer bei ein und demselben Anruf ja nicht ändern.
AVM könnte das Problem aber noch viel einfacher umgehen, indem grundsätzlich das erste RING ignoriert wird und erst beim zweiten RING die Telefone aktiviert werden. Die ITU empfiehlt sogar, auf die erste Anrufsignalisierung nicht zu reagieren und immer erst die nächste abzuwarten. Zu diesem Zeitpunkt liegen dann auf jeden Fall die CLIP-Daten vor. Diese Empfehlung umzusetzen, wäre eigentlich Aufgabe von Huawei gewesen. Zusammen mit dem Firmware-Fehler, dass das CLIP-Register nach einem Anruf nicht gelöscht wird, kommt es dann zu den Problemen.
Ich kann AVM aber auch verstehen, dass man keine Workarounds für meist über 10 Jahre alte Sticks mit einer kaum noch vorhanden Marktpräsenz in die aktuelle Firmware einbauen möchte. Und nach der UMTS-Abschaltung dürften auch die verbliebenen Sticks allmählich verschwinden.