Anrufe über html oder ähnliches von extern beenden?

Bib

Mitglied
Mitglied seit
31 Aug 2005
Beiträge
792
Punkte für Reaktionen
2
Punkte
18
Hi, gibt es eine Möglichkeit, einen aktiven Anruf oder das Klingeln zu beenden, also mittels z.b. HTML-Befehl oder ähnlichem?

Action-URL oder sowas?

Ich habe einen Server zur Steuerung meines Smarthomes und möchte den Anruf der Türsprechanlage (SIP) beenden, wenn die Haustür geöffnet wird.
 
Bereits am 21.Juli im Beitrag #27, habe ich Dir nahegelegt in der Nähe der Türe einen Taster dafür zu installieren, sowas einfaches magst anscheinend nicht!
 
Das widerspricht doch dem Smarthomegedanken...

Ich will das intern lösen, ohne extra Schalter. Sonst kann ich es ja gleich die 20 Sekunden weiterklingeln lassen, bis es von allein aufhört.

Der Taster muss ja auch irgendwas auslösen, damit das Klingeln aufhört und nachdem ich jetzt einen Asterisk habe, sind die Möglichkeiten gegenüber der standalone Fritzbox enorm gewachsen.
 
Egal was Du nun hast, irgend ein "Schaltteil" muss es sein, oder willst eine Induktionsschleife dazu verwenden. aus reiner Sympathie wird es die Anlage nicht schaffen, den Ruf zu beenden, nur weil Jemand die Türe öffnet, irgendeine Technik muss der Auslöser sein!
 
Selbstverständlich gibt es bei Asterisk diese Funktion, Doku schon mal gesichtet? Was wird denn überhaupt bestätigt, um den Türoffner auszulösen?

Ansonsten ist das 20-Sekunden-klingeln-lassen eher nicht so smart und widerspricht irgendwie dem Grundgedanken von Türsprechanlagen.
 
Ich hab einen Reedkontakt in der Tür und einen Smarthome-Server mit Openhab.

Wenn jemand die Tür öffnet, dann hab ich das Signal auf meinem Server und kann eine entsprechende Logik abrufen.

Also z.B. --> wenn Türruf aktiv und Reed-Kontakt geöffnet ---> beende Asterisk-Ruf


Ich kann ja mit "hang up" laufende Verbindungen auf der Asterisk-CLI trennen, also sollte es doch irgend eine Möglichkeit geben, das z.B. mittels Script zu realisieren, welches von meinem Openhab-Server ausgelöst wird???

Meine SIP-Türsprechanlage kann Action-URLs, damit sende ich einen http-Request an meinen Server und somit bekommt dieser mit, dass jemand geklingelt hat - und es ertönt ein zusätzlicher Gong - unabhängig von der Telefonanlage. Leider gehen die Action-URLs von der Türsprechanlage nur abgehend und nicht eingehend.


EDIT:
Zwischenzeitlich hat andilao noch was zum Thema geschrieben...

Aktuell wird noch garnichts mit dem Türöffner gemacht. Das kommt später, genauso wie Video-Einbindung und Anzeige an meinem AVM FritzFon MT-F. Immer schön der Reihe nach.

Ich hab bisher folgendes:
SIP-Sprechanlage und Fritzbox funktionieren --- nach 30-40 Sekunden wird der Türruf auf einen deaktivierten AB in der Fritzbox umgeleitet und der Ruf ist beendet, wenn niemand vorher abgehoben hat.
Asterisk ist soweit konfiguriert, dass ich davon eingehend und ausgehend telefonieren kann, intern/extern, alles funktioniert soweit grundlegend.
Der Reedkontakt signalisiert eine geöffnete Tür an meinen Openhab-Server und ich kanns in der Visu sehen.
 
Wenn ich mir Zeile 1 im Beitrag #1 nochmals durchlese, warum das so schwierig sein soll, um das Klingeln eines Türrufes zum "Verstummen" zu bringen.

Normal geht man zum nächsten von der Tür gerufenen Telefon u. hebt einfach ab, somit wird der Ruf für die anderen Nebenstellen ebenfalls automatisch abgeschaltet!
 
Zuletzt bearbeitet:
Also nochmal für alle:

Wenn ich gerade in der Nähe der Haustür bin und jemand klingelt, dann mach ich doch gleich direkt auf, anstatt erst zum nächstgelegenen Telefon zu rennen...

Mag sein, dass du da jetzt keinen Sinn darin siehst, MICH stört es jedenfalls. Bitte keine Diskussion, ob du das für notwendig erachtest oder nicht, ich wills nun mal so haben, denn in MEINEM konkreten Szenario macht es für MICH Sinn.


Wenn man deine Sichtweise weiterspinnen würde, dann käme als nächstes, warum ich überhaupt eine Sprechanlage draussen habe, ein simpler Klingelnkopf reicht doch auch...


Bis vor kurzem war das noch viel extremer, weil der Türruf ewig gekligelt hat, bis ich auf die Lösung mit dem deaktivierten AB gekommen bin. Da musste ich dann zwangsläufig, nachdem der Besucher wieder weg war, zum nächsten Telefon laufen und den Ruf annehmen und beenden.
 
Dein Problem besteht eher dzt. nur dabei, dass Du den normal bei einer TFE üblichen TÖ, momentan gar NICHT mal betätigen kannst, so schaut es bei Dir aus!

Und Ruf-Aus-Taste magst nicht, weil Du vermutlich nicht weisst, wie u. wo man den ganz einfach dazu, anklemmen kann u. muss, um das Läuten abzustellen!
 
Ich hab KNX, ich kann also die Stromversorgung der IP-Sprechanlage auf einen Aktor legen und einfach den Strom wegnehmen... Aber das will ich nicht.

Wenn später mal Tür-Öffnen per Telefon funktioniert, dann hab ich das Gespräch ja eh schon angenommen und es klingelt nichts mehr. Derzeit kann ich das Motorschloss meiner Haustür über einen Taster im Wohnbereich öffnen lassen. Aber dann klingelts trotzdem weiter und ich öffne die tür ja nicht, ohne zu wissen, wer davor steht. Also dann doch vorher schon das Telefon benutzt und das klingeln ist aus.
 
Du sollst ja auch nicht den Strom wegnehmen, vermutlich läutet bei Dir irgendwo über die Auerswald-Anlage ein analoges Telefon wenn wer an der Tür um Einlass begehrt, oder nicht?
 
Moin


Smarthome ? - IoT ?
Da ja in diesem Bereich Sicherheit eine untergeordnete Rolle spielt :D
...
Du kannst einen Apache auf CGI für Shellskripte konfigurieren und www-data noch sudo Rechte für asterisk verpassen.
Ich mach dann für eine flotte Statusausgabe...
Code:
osmc@osmc:~$ id www-data
uid=33(www-data) gid=33(www-data) Gruppen=33(www-data),27(sudo)
osmc@osmc:~$ cat /usr/lib/cgi-bin/asterisk.cgi
cat: /usr/lib/cgi-bin/asterisk.cgi: Keine Berechtigung
osmc@osmc:~$ sudo cat /usr/lib/cgi-bin/asterisk.cgi
#!/bin/sh
echo "Content-Type: text/html
"
echo "<!DOCTYPE html>
<html>
<head>
<title>asterisk</title>
</head>
<body style='background-color:rgb(200,200,200);color:rgb(0,0,0);'>
<article>CGI that shows PBX information</article>
<!--For next www-data have to be sudo without password-->
<p>Channel info</p>
<pre>$(sudo su -c "rasterisk -x 'core show channels'")</pre>
<p>SIP registries</p>
<pre>$(sudo su -c "rasterisk -x 'sip show registry'")</pre>
<p>SIP peers</p>
<pre>$(sudo su -c "rasterisk -x 'sip show peers'")</pre>
<p>Database registrations</p>
<pre>$(sudo su -c "rasterisk -x 'database show SIP'")</pre>
<!--worldreadable-->
<p>CDR Simple</p>
<pre>$(cat /var/log/asterisk/cdr-custom/Simple.csv)</pre>
<p>Database Makro</p>
<pre>$(sudo su -c "rasterisk -x 'database show Makro'")</pre>
</body>
</html>"
Aber warum nicht gleich die 20 Sekunden im Dial() mit angeben ?
...klingelt da noch mehr, wovon wir noch nichts wissen ?
 
Die einfachste Lösung dürfte wohl sein, die a/b-Leitung der Türsprechstelle durch einen Reed-Kontakt (wie bei Fenster-Schaltern) zu unterbrechen, sobald die Türe geöffnet ist. Dann ist es auch egal, ob der Türöffner betätigt wurde oder nicht.
Eine zusätzliche Taste in Türnähe ist dann auch nicht notwendig.
Türe auf ---> Klingeln aus.:);)
 
Ich weiss zwar nicht mal genau welche TFE wirklich vorhanden ist, aber eine mit nur einer a/b-Leitung, ist es eher nicht.

Normal macht man es umgkehrt, man braucht nur bei einer der gerufenen a/b TFE-Abfragestellen "a u. b" kurzfristig mit dem Taster "kurzschliessen" u. schon vermutet die Anlage, da wurde bei einem von den div. gerufenen TN abgehoben u. schon ist der "Türruf", für den Rest der Anlage ebenfalls beendet.

X-mal schon so verkabelt u. realisiert, aber keine Anlage o. HW hat jemals einen Schaden davon erlitten!
 
Ich hab weder was von einer Auerswald-Telefonanlage noch von einer a/b-Türsprechstelle geschrieben.

Bei mir zuhause ist die Konfiguration Nr. 1 aus meiner Signatur installiert.
Ich habe eine Fritzbox 7490 und ganz neu einen Asterisk-Server (virtualisiert unter ESXi). Der Asterisk darf nicht direkt ins Internet, nur über die Leitungen der Fritzbox.

Die SIP-Türsprechanlage ist an der Fritzbox angemeldet und der Asterisk klingelt da auch mit. Ich möchte das alles so konfigurieren, das alle wichtigen Grundfunktionen auch bei einem Asterisk-Ausfall noch funktionieren, also dass man zumindest mitbekommt, wenn jemand klingelt und externe Rufe noch möglich sind.
Im Asterisk ist noch kein DIAL für die Türsprechanlage vorhanden. Aktuell wird innerhalb der Fritzbox nach 30-40 Sekunden auf den Fritzbox-AB (deaktiviert) umgeleitet und der Ruf ist beendet.

Zum Thema Sicherheit: Auf mein Smarthome komme ich von aussen ausschließlich per VPN und von meinem Openhab-Server kann ich ja auch über Schlüsseldatei gesichert per SSL auf den Asterisk zugreifen...
 
Dann schmück Dich nicht mit fremden Federn, bzw. schreib unten im Anhang bitte immer nur das hin, was bei Dir zu Hause wirklich vorhanden ist!
 
Ich bin hier auch im Auftrag meiner Eltern und meines Bekannten unterwegs, das sind die Nr. 2+3. Ich hab aber ganz deutlich im ersten Post geschrieben, dass ich einen Asterisk und ein SIP-Telefon habe.

Und dass ich das Gespräch vom Asterisk aus beenden möchte, ging auch ganz klar hervor. Also gehts hier nur rein um die Möglichkeit, einen am Asterisk signalisierten Anruf über ein Script oder sonstiges zu beenden, wenn ich von irgendwoher (in meinem Fall von meinem Smarthome-Server) den Befehl dazu gebe.
 
Und somit geht es ab jetzt mit sinnvoll beitragenden Inhalten weiter oder man hält die Finger still.

Danke
 
Du musst dazu zuerst den Channelnamen raus kriegen. Das kann je nach Aufbau Deines Dialplans varieren. Am besten Du baust eine Verbindung (also Klingeln) auf und schaust Dir während es noch läutet die Ausgabe von

Code:
asterisk -r -x 'core show channels'

an. Zumeist wird es Sinn machen, auf den Channel los zu gehen der von dem SIP Gerät kommt. Also in meinem Fall (ich hab zwar keine Klingel, aber jetzt mal mit einem Telefon simuliert)

Code:
asterisk -r -x 'core show channels' | grep SIP/88 | cut -f1 -d ' '

So erwisch ich den Channel des Geräts SIP/88.

Dann kannst Du auf diesem Channelnamen mit request hangup <channelname> los gehen. In sehr älteren Asterisk Versionen war das glaub ich soft hangup <channelname> https://wiki.asterisk.org/wiki/display/AST/Creating+and+Manipulating+Channels+from+the+CLI

Spiel einfach mal das ganze Szenario auf der asterisk cli durch. Also klingeln, Channelliste ansehen, hangup Befehl mit dem Channelnamen eingeben. Wenn es klappt, kannst Du es in ein script packen. Ich selbst würds in php schreiben, die genannten asterisk Aufrufe mittels exec(), dann tust Du Dir auch leicht das per URL aufrufbar zu machen. Wie schon hier angemerkt, musst Du wohl auch noch ein paar sudo Regeln einpflegen, weil der Webserver User vermutlich nicht die Rechte haben wird um diese Befehle auszuführen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.