FB_CALLMONITOR: Telefonnummern mit "Sonderformat" im Telefonbuch

Begonnen von RoBra81, 23 Januar 2015, 12:03:01

Vorheriges Thema - Nächstes Thema

RoBra81

Hallo,

ich nutze das Modul FB_COLLMONITOR inklusive Telefonbuch. Jetzt habe ich bei mir eine Sonderlocke, bei der anscheinend die Suche im Telefonbuch nicht richtig funktioniert: Ich habe eine VOIP-Wechselsprechanlage, die beim Klingeln intern die entsprechenden Mobilteile anwählt. Damit dieser interne Anruf auch vom FB_CALLMONITOR registriert wird (was ja bei internen Anrufen nicht funktioniert), habe ich im Netz irgendwo mal einen Trick gefunden: Ich habe im Telefonbuch der Fritzbox einen Eintrag "Klingel" mit der Rufnummer "Klingel@127.0.0.1" und der Kurzwahl "**703" hinterlegt. Die Wechselsprechanlage wählt nun parallel zu den Mobilteilen auch noch die Kurzwahl "**703" und löst für die FritzBox damit scheinbar einen externen Anruf aus, der auch vom CallMonitor registriert wird. Soweit so gut. Da bei uns im Haus zwei Familien wohnen, habe ich eine zweiten Eintrag in der FritzBox hinterlegt (**709) der beim Klingeln der zweiten Klingel gewählt wird. Auch das funktioniert.

Nun zu meinem Problem: Im FB_CALLMONITOR steht als ausgehende Nummer "Vorwahl+Kurzwahl", also zum Beispiel "01234**703" (Vorwahl geändert :) ). Die Suche bei einem Anruf liefert dann immer "unbekannt". Zunächst habe ich im Telefonbuch der Fritzbox einen weiteren Eintrag "Bei Familie 1" mit der Nummer "01234**703" hinterlegt - gleiches Ergebnis: unbekannt. Also habe ich selbst mal mit

get CallMon search 01234**703

gesucht. Erstes Ergebnis: Fehlermeldung "Es handelt sich nicht um eine Telefonnummer". Also habe ich mal testweise die Prüfung auf eine gültige Telefonnummer auskommentiert und das get erneut ausgeführt - Ergebnis: unbekannt.
Also Prüfung wieder aktiviert und folgendes ausgeführt:

get CallMon search 01234703

Ergebnis: Bei Familie 1 :)

Scheinbar werden die "**" zwar beim Import des Telefonbuches entfernt, nicht jedoch bei der anschließenden Suche bei einem Anruf - könnte man dieses Verhalten korrigieren?

Bei dieser Gelegenheit habe ich noch einen Wunsch nach einer neuen Funktionalität, deren Fehlen mich vor kurzem erst fast zur Verzweiflung und dann zu einem unschönen Workaround geführt hat: Ich wollte ein notify schreiben, dass bei einem beginnenden Anruf auf eine bestimmte Nummer ausgeführt wird - das Problem: ich kann ein notify auf das Event mit der Nummer schreiben, das jedoch beim call und beim disconnect ausgeführt wird, oder ich schreibe ein notify, das auf call reagiert und damit aber bei allen Rufnummern ausgelöst wird. Ein zusammenfassendes Event/Reading "eingehender Anruf von 123 auf 456 Verbindungsaufbau" wäre hier echt hilfreich...

Vielen Dank
Ronny

Markus Bloch

Hallo Ronny,

zu deinem Problem mit 01234**703 habe ich eine Änderung eingecheckt, damit solche Nummern erlaubt sind und auch vom Telefonbuch korrekt eingelesen werden.

Zu deinem Wunsch:

Da hast du recht, dass das so out-of-the-box nicht funktioniert. Es gibt aber mehrere Möglichkeiten sich hier mit FHEM Boardmitteln zu behelfen:


  • via Attribut stateFormat: man formatiert den Hauptstatus entsprechend mit dem Attribut stateFormat: z.B. "attr CallMon stateFormat direction internal_number"- Das würde dann einen state "incoming 5656789" geben und man könnte darauf ein notify setzen mit "outgoing.5656789" als event-Regexp
  • via Attribut userReadings: attr CallMon userReadings eventAndNumber { ReadingsVal("CallMon","event","")." ".ReadingsVal("CallMon","internal_number","");; } und dann mit einem Notify auf "CallMon:eventAndNumber.*call.5656789"
  • oder direkt via notify: define <name> notify CallMon:event.call {if(ReadingsVal("CallMon","internal_number","") eq "5656789") {fhem(" ... ")}}
  • oder mit http://192.168.179.38:8083/fhem/docs/commandref_DE.html#DOIF das ist auch für sowas gedacht.

Da das ganze doch schon ein recht spezieller Anwendungsfall ist, hat das meiner Meinung nichts im Modul verloren. Dazu gibt es genug Möglichkeiten, dass sich das jeder User bauen kann, falls er so etwas braucht auf die eine oder andere Weise.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

RoBra81

Zitat von: Markus Bloch am 24 Januar 2015, 13:34:00
Hallo Ronny,

zu deinem Problem mit 01234**703 habe ich eine Änderung eingecheckt, damit solche Nummern erlaubt sind und auch vom Telefonbuch korrekt eingelesen werden.

Hallo Markus,

seit einer der letzten Versionen funktioniert das leider nicht mehr: die Nummern stehen ohne ** im Telefonbuch und werden daher bei der Sucher, die mit ** erfolgt, nicht mehr gefunden...

Ronny

Markus Bloch

Zitat von: RoBra81 am 21 März 2015, 17:08:38
Hallo Markus,

seit einer der letzten Versionen funktioniert das leider nicht mehr: die Nummern stehen ohne ** im Telefonbuch und werden daher bei der Sucher, die mit ** erfolgt, nicht mehr gefunden...

Ronny

Hallo Ronny,

in welchem Telefonbuch genau stehen die Nummern ohne **? Direkt in der FritzBox-Weboberfläche oder in FHEM (get <name> showPhonebookEntries)?

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)


Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Andre0909

#6
Zitat von: RoBra81 am 23 Januar 2015, 12:03:01
Hallo,

ich nutze das Modul FB_COLLMONITOR inklusive Telefonbuch. Jetzt habe ich bei mir eine Sonderlocke, bei der anscheinend die Suche im Telefonbuch nicht richtig funktioniert: Ich habe eine VOIP-Wechselsprechanlage, die beim Klingeln intern die entsprechenden Mobilteile anwählt. Damit dieser interne Anruf auch vom FB_CALLMONITOR registriert wird (was ja bei internen Anrufen nicht funktioniert), habe ich im Netz irgendwo mal einen Trick gefunden: Ich habe im Telefonbuch der Fritzbox einen Eintrag "Klingel" mit der Rufnummer "Klingel@127.0.0.1" und der Kurzwahl "**703" hinterlegt. Die Wechselsprechanlage wählt nun parallel zu den Mobilteilen auch noch die Kurzwahl "**703" und löst für die FritzBox damit scheinbar einen externen Anruf aus, der auch vom CallMonitor registriert wird. Soweit so gut. Da bei uns im Haus zwei Familien wohnen, habe ich eine zweiten Eintrag in der FritzBox hinterlegt (**709) der beim Klingeln der zweiten Klingel gewählt wird. Auch das funktioniert.

Nun zu meinem Problem: Im FB_CALLMONITOR steht als ausgehende Nummer "Vorwahl+Kurzwahl", also zum Beispiel "01234**703" (Vorwahl geändert :) ). Die Suche bei einem Anruf liefert dann immer "unbekannt". Zunächst habe ich im Telefonbuch der Fritzbox einen weiteren Eintrag "Bei Familie 1" mit der Nummer "01234**703" hinterlegt - gleiches Ergebnis: unbekannt. Also habe ich selbst mal mit

get CallMon search 01234**703

gesucht. Erstes Ergebnis: Fehlermeldung "Es handelt sich nicht um eine Telefonnummer". Also habe ich mal testweise die Prüfung auf eine gültige Telefonnummer auskommentiert und das get erneut ausgeführt - Ergebnis: unbekannt.
Also Prüfung wieder aktiviert und folgendes ausgeführt:

get CallMon search 01234703

Ergebnis: Bei Familie 1 :)

Scheinbar werden die "**" zwar beim Import des Telefonbuches entfernt, nicht jedoch bei der anschließenden Suche bei einem Anruf - könnte man dieses Verhalten korrigieren?

Bei dieser Gelegenheit habe ich noch einen Wunsch nach einer neuen Funktionalität, deren Fehlen mich vor kurzem erst fast zur Verzweiflung und dann zu einem unschönen Workaround geführt hat: Ich wollte ein notify schreiben, dass bei einem beginnenden Anruf auf eine bestimmte Nummer ausgeführt wird - das Problem: ich kann ein notify auf das Event mit der Nummer schreiben, das jedoch beim call und beim disconnect ausgeführt wird, oder ich schreibe ein notify, das auf call reagiert und damit aber bei allen Rufnummern ausgelöst wird. Ein zusammenfassendes Event/Reading "eingehender Anruf von 123 auf 456 Verbindungsaufbau" wäre hier echt hilfreich...

Vielen Dank
Ronny

Hallo, du kannst mir vielleicht helfen. Habe eine Gita Türstation mit TK-Gateway. Klingeln wird nur als interner Rundruf behandelt, taucht damit nicht in der Calllist auf. Jetzt verstehe ich das so, das dein Gateway eine 2. Kurzwahl anruft und diese auf "Klingel@127.0.0.1"  verweist? Das reicht schon damit jetzt ein externen Anruf erkannt wird den ich dann in #fhem auswerten kann? Wenn ja, wie genau hast su das beim Gateway eingestellt. Danke für deine Hilfe!

----Hab es hinbekommen ---