Hauptmenü

Modul 96_SIP

Begonnen von Wzut, 19 Februar 2017, 19:10:09

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo Wzut,

ich hatte die ganze Zeit noch vergessen zu fragen, ob man auch mit der Methode Anrufe mit unterdrückter Nummer zum SIP-Client umbiegen kann.
Ich habe in sip_filter als Nummer ein Leerzeichen, gefolgt von einem Komma (und dann die weiteren Werbenummern) eingetragen.

Ist das der beste Weg, oder gibt es noch andere Tricks?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Wzut

k.A. da muß plin was dazu sagen, von ihm ist auch der Abschnitt im Wiki
Den Filter habe ich auch noch nie mit unterdrückter Rufnummer getestet, also auch kein Plan ob der dann überhaupt greift.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

Hallo Gisbert,

Zitat von: Gisbert am 26 Juli 2020, 17:48:19
ich hatte die ganze Zeit noch vergessen zu fragen, ob man auch mit der Methode Anrufe mit unterdrückter Nummer zum SIP-Client umbiegen kann.
da muss ich mich ein wenig in puncto gesetzten und nicht gesetzten Readings schlau machen (=testen).

Zitat von: Gisbert am 26 Juli 2020, 17:48:19
Ich habe in sip_filter als Nummer ein Leerzeichen, gefolgt von einem Komma (und dann die weiteren Werbenummern) eingetragen.
Den Werbeanrufern habe ich in meiner Fritzbox ein eigenes Telefonbuch und eine eigene Voice-Mailbox gegönnt. Diese 2. Voice-Mailbox nimmt die Anrufe aller im Telefonbuch SPAM gelisteten Kontakte entgegen. Da gibt es dann noch eine freundliche Ansage "Sie wurden als Werbeanruf erkannt ...". Jede neue zu blockende Nummer kriegt einen Eintrag im SPAM-Telefonbuch. Das geht ganz einfach.

Ciao
Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

Hallo Gisbert,

ich habe heute einen Test mit unterdrückter Rufnummer durchgeführt. Im Log erscheint:

2020.08.02 17:26:53 5: SipTest[3604], SIP_filter : <sip:anonymous@fritz.box>;tag=1C8666642B926E94
2020.08.02 17:26:53 4: SipTest[3604], SIP_filter: caller sip:anonymous@fritz.box, caller_nr anonymous, caller_name
2020.08.02 17:26:53 5: SipTest, readingB:caller Val:sip:anonymous@fritz.box
2020.08.02 17:26:53 5: SipTest, readingB:caller_nr Val:anonymous
2020.08.02 17:26:53 5: SipTest, readingB:caller_name Val:unknown
2020.08.02 17:26:53 5: SipTest, readingB:caller_time Val:0
2020.08.02 17:26:53 5: SipTest, readingB:caller_state Val:calling

Ich habe dann anonymous in sip_filter eingetragen. Die unbekannten Anrufer führen wieder zu Merldungen 'ringing n', während Anrufe mit bekannter Rufnummer gesehen aber ignoriert werden.

VG Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

aHome77

#919
Zitat von: plin am 26 Juli 2020, 18:37:29

Den Werbeanrufern habe ich in meiner Fritzbox ein eigenes Telefonbuch und eine eigene Voice-Mailbox gegönnt. Diese 2. Voice-Mailbox nimmt die Anrufe aller im Telefonbuch SPAM gelisteten Kontakte entgegen. Da gibt es dann noch eine freundliche Ansage "Sie wurden als Werbeanruf erkannt ...". Jede neue zu blockende Nummer kriegt einen Eintrag im SPAM-Telefonbuch. Das geht ganz einfach.


Mein Problem ist z.Zt. das John, Robert oder Thomas von Microsoft täglich mehrmals bei uns anruft. Leider benutzen die Scammer unterschiedliche "Fake" Telefonnummern. Vor einigen Monaten begannen diese (deutschen Vorwahlnummern) alle mit 04, so das ich temporär einfach diesen Nummern Block in der Fritzbox gesperrt hatte. Nun aber mit 09, 05 ... sprich quasi alles. Ein Sperren oder ein Eintrag in ein Spam Adressbuch funktioniert leider so nicht mehr zielführend.

Mit schwebt nun folgendes vor.
1.) Raspberry als SIP in der Fritzbox nimmt Anruf nach 0 sec (also sofort) entgegen.

2 a.) ist die Telefonummer in der Fritzbox im "normalen" Telefonbuch (nicht Spam Telefonbuch), dann
3. klingeln die "richtigen" Telefone (ohne Raspberry) und der Anruf kann entgegen genommen werden. (Anrufweiterleitung?)

2 b.) ist der Anrufer unbekannt dann Bandansage mit Aufforderung eine Taste zu drücken "Was ergibt 4+3? Drücken sie # und diese Taste"
3.) Anrufer drückt #7 --> erst jetzt klingeln die "richtigen" Telefone.

Wäre so etwas zu realisieren?

Wzut

Mit einer echten PBX wie Asterisk bestimmt, aber das SIP Modul ist dafür garantiert das falsche Werkzeug
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

Zitat von: Wzut am 11 August 2020, 18:56:57
Mit einer echten PBX wie Asterisk bestimmt, aber das SIP Modul ist dafür garantiert das falsche Werkzeug

mmhh, im SIP-Modul nicht, wohl aber in FHEM. Das SIP-Modul wird mit listen_wfp gestartet. Als Ansagetext ist etwas in der Art "Sie rufen von einer unbekannten Nummer an" hinterlegt. Kommt ein Anruf rein, werden die Readings caller, caller_name und caller_nr gesetzt:

caller im Format Name sip:nummer@fritz.box
caller_name Name
caller_nr nummer

Ein kurzer Test mit einem nicht im Telefonbuch hinterlegten Handy zeigt caller_name unknown.

Man könnte in FHEM ein DOIF-Device anlegen das bei caller_name "unknown" das Telefonat mittels "fetch" annimmt. So etwas in der Art
define ACT_ON_unknown DOIF (([FritzSipClient:caller_state] eq "ringing 1") and ([FritzSipClient:caller_name] eq "unknown")) (set FritzSipClient fetch)

Und dann fehlt noch die Anweisung an die Familie bei unbekannten Rufnummern erst mal klingeln lassen
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Wzut

@Peter, klar mit wfp geht so manches ( ist ja sowieso dein Baby :) ) aber ich sehe da noch nicht die Umsetzung seiner Punkte 2b & 3
Bzw. wie ein bereits angenommen Ruf wieder als neue ausgehende Verbindung aufbauen ?

Ich bin mir ziemlich sicher das Steffen Ullrich als er sein Net::SIP schrieb nicht im Traum daran gedacht hat was wir inzwischen unter FHEM damit treiben.
Aber ich denke wenn man ihm das irgendwie alles vollständig rüber bringen könnte, dann wären für ihn bestimmt auch Punkte wie Verbinden oder Soundumleitung (Stichwort Türsprechstelle) umsetzbar. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

aHome77

Danke für die Info's. PBX Asterisk mit IVR (Interactive Voice Response) war mir bis gestern noch unbekannt.

frank

Zitat von: plin am 11 August 2020, 20:59:46
Und dann fehlt noch die Anweisung an die Familie bei unbekannten Rufnummern erst mal klingeln lassen

es gibt doch sicherlich auch eine möglichkeit, das klingeln erst einzuschalten, wenn es sich lohnt.  ;)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

plin

Zitat von: Wzut am 12 August 2020, 09:21:07
@Peter, klar mit wfp geht so manches ( ist ja sowieso dein Baby :) ) aber ich sehe da noch nicht die Umsetzung seiner Punkte 2b & 3
Bzw. wie ein bereits angenommen Ruf wieder als neue ausgehende Verbindung aufbauen ?
ja, das war ein erster Wurf - quasi als "Ansatz" gedacht.

Konkret:
1) wenn das SIP-Modul das Telefonat entgegen nimmt ist es für die anderen Telefone weg. Also muss man nur schauen wenn anruft und aktiv entscheiden, ob das SIP-Modul annimmt oder nicht.

2a) Das könnte man lösen, indem alle Namen im SPAM-Telefonbuch z.B. mit "SPAM-" beginnen. Wenn der caller_name SPAM-.* oder "unknown" ist nimmt der SIP-Client an.
3. Das erfordet dann wirklich eine Änderung am NET::SIP oder Asterisk. DOIF sollte aber (hoffentlich) schnell genug sein und beim ersten Klingeln reagieren. Dann kann der eingehende Anruf direkt an alle relevanten Telefone weitergeleitet werden.

2b/3.) Hier würde ich tatsächlich auf Asterisk setzen.  (siehe mein nächstes Posting im Thread).

Mit dem SIP-Modul und FHEM hat man also einen Baukasten mit dem man rumspielen kann. Ein paar Kompromisse muss man eingehen, aber man kriegt einiges hin.

Ciao, Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

Zitat von: aHome77 am 12 August 2020, 10:33:27
Danke für die Info's. PBX Asterisk mit IVR (Interactive Voice Response) war mir bis gestern noch unbekannt.
So hat's bei mir angefangen. Anrufe unbekannter Teilernehmer werden angenommen, der Automat sagt "Willkommen bei Familie .." und geht in eine Schleife "mit wem möchten Sie sprechen? 1 für Peter, 2 für Eva oder 3 für Anna? Bei Peterkommt die Rückfrage "Wollen sie mit Peter persönlich sprechen oder kann auch ein anderes Familienmitglied helfen?" ("spreche ich mit "Peter persönlich?" war bei Werbeanruferns damals sehr beliebt). Erst dann wurde der Anrufer an mich durchgestellt.

Mit Asterisk geht so etwas. Mittlerweile gibt's das auch als docker image.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

plin

Zitat von: frank am 12 August 2020, 11:08:34
es gibt doch sicherlich auch eine möglichkeit, das klingeln erst einzuschalten, wenn es sich lohnt.  ;)
Das muss dann ein Feature der Fritzbox sein das man über die API einschalten kann ...
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

aHome77

Zitat von: plin am 11 August 2020, 20:59:46

define ACT_ON_unknown DOIF (([FritzSipClient:caller_state] eq "ringing 1") and ([FritzSipClient:caller_name] eq "unknown")) (set FritzSipClient fetch)


Alle 2,5 min (150sec) taucht jetzt folgendes im LOG File auf:

2020.08.13 12:08:18.604 1: readingsUpdate(,expire,300) missed to call readingsBeginUpdate first.
2020.08.13 12:08:18.604 1: stacktrace:
2020.08.13 12:08:18.604 1:     main::readingsBulkUpdate            called by ./FHEM/96_SIP.pm (1933)
2020.08.13 12:08:18.604 1:     main::SIP_rBU                       called by (eval 4554788) (1)
2020.08.13 12:08:18.604 1:     (eval)                              called by fhem.pl (1149)
2020.08.13 12:08:18.605 1:     main::AnalyzePerlCommand            called by fhem.pl (1178)
2020.08.13 12:08:18.605 1:     main::AnalyzeCommand                called by fhem.pl (1105)
2020.08.13 12:08:18.605 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (255)
2020.08.13 12:08:18.605 1:     main::telnet_Read                   called by fhem.pl (3806)
2020.08.13 12:08:18.605 1:     main::CallFn                        called by fhem.pl (762)


An was könnte dies liegen?

Wzut

SIP Device ohne listen mode ? List vom Device zeigen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher