Hallo zusammen,
folgende Konstellation bei uns um Haus. Wir haben eine analoge Türsprechanlage, die an dem Fon1 Port der Fritz!Box hängt. Unsere Fritz!Box hat keinen zweiten Fon Anschluss. Klingelt jemand, wird ein Rundruf auf alle DECT Telefone der Fritz!Box ausgeführt.
Damit ich da ganze etwas smarter machen kann (z.B. Push aufs Handy, visuelles Feedback an Gerät x/y, Integration in der Hausautomation), musste ich irgendwie an die Information ran kommen ob gerade jemand klingelt.
Erster Ansatz war der Fritz!Box Callmonitor, aber der zeigt leider keine internen anrufe an.
Also kam auf den Homeserver ein Asterisk, der über pjspi eine Verbindung zu einem in der Fritz!Box eingerichteten IP Telefon hat. Bei der Klingel wird auch diese Nummer angerufen und ich hab in der extensions.conf diese Regeln hinterlegt:
[fritz-623]
exten => s,1,Wait(1)
exten => s,n,Verbose(2,call from ${CALLERID(num)})
exten => s,n,System(/root/bin/fritzbox-call.sh ${CALLERID(num)})
exten => s,n,Dial(PJSIP/6001)
exten => h,1,Verbose(2,hang up from ${CALLERID(num)})
exten => h,n,System(/root/bin/fritzbox-call.sh none)
exten => h,n,Hangup()
Das hat eigentlich soweit funktioniert. Das Shell Script schiebt mir den Status des Anrufs auf meinen mqtt server und dann kann ich mit meiner Hausautomation damit arbeiten.
Der spannende Teil kommt jetzt. Ich hab einen Reed Kontakt in der Haustüre verbaut und jetzt würde ich gerne den Anruf der Sprechanlage beenden, sobald ich die Haustüre öffne. Es ist bei uns Gewohnheit nicht an die Sprechanlage zu gehen, sondern einfach die Türe auf zu machen. Und dann klingeln alle Telefone munter weiter bis die Sprechanlage nach x Sekunden auflegt.
Es muss doch technisch möglich sein, dass ich über ein externes Event mit irgendwelchen Befehlen den Anruf beenden kann. Ich dachte an etwas wie den Anruf annehmen und auflegen. Oder heranholen an eine Rufnummer, die kein Endgerät verbunden hat und somit nicht klingelt.
Hat hier eventuell einer eine Idee, wie ich das lösen könnte. Ich hab leider bisher keine brauchbare Lösung dazu gefunden.
folgende Konstellation bei uns um Haus. Wir haben eine analoge Türsprechanlage, die an dem Fon1 Port der Fritz!Box hängt. Unsere Fritz!Box hat keinen zweiten Fon Anschluss. Klingelt jemand, wird ein Rundruf auf alle DECT Telefone der Fritz!Box ausgeführt.
Damit ich da ganze etwas smarter machen kann (z.B. Push aufs Handy, visuelles Feedback an Gerät x/y, Integration in der Hausautomation), musste ich irgendwie an die Information ran kommen ob gerade jemand klingelt.
Erster Ansatz war der Fritz!Box Callmonitor, aber der zeigt leider keine internen anrufe an.
Also kam auf den Homeserver ein Asterisk, der über pjspi eine Verbindung zu einem in der Fritz!Box eingerichteten IP Telefon hat. Bei der Klingel wird auch diese Nummer angerufen und ich hab in der extensions.conf diese Regeln hinterlegt:
[fritz-623]
exten => s,1,Wait(1)
exten => s,n,Verbose(2,call from ${CALLERID(num)})
exten => s,n,System(/root/bin/fritzbox-call.sh ${CALLERID(num)})
exten => s,n,Dial(PJSIP/6001)
exten => h,1,Verbose(2,hang up from ${CALLERID(num)})
exten => h,n,System(/root/bin/fritzbox-call.sh none)
exten => h,n,Hangup()
Das hat eigentlich soweit funktioniert. Das Shell Script schiebt mir den Status des Anrufs auf meinen mqtt server und dann kann ich mit meiner Hausautomation damit arbeiten.
Der spannende Teil kommt jetzt. Ich hab einen Reed Kontakt in der Haustüre verbaut und jetzt würde ich gerne den Anruf der Sprechanlage beenden, sobald ich die Haustüre öffne. Es ist bei uns Gewohnheit nicht an die Sprechanlage zu gehen, sondern einfach die Türe auf zu machen. Und dann klingeln alle Telefone munter weiter bis die Sprechanlage nach x Sekunden auflegt.
Es muss doch technisch möglich sein, dass ich über ein externes Event mit irgendwelchen Befehlen den Anruf beenden kann. Ich dachte an etwas wie den Anruf annehmen und auflegen. Oder heranholen an eine Rufnummer, die kein Endgerät verbunden hat und somit nicht klingelt.
Hat hier eventuell einer eine Idee, wie ich das lösen könnte. Ich hab leider bisher keine brauchbare Lösung dazu gefunden.