(gelöst) Callmonitor als Toröffner

Telefonmännchen

IPPF-Promi
Mitglied seit
22 Okt 2004
Beiträge
5,393
Punkte für Reaktionen
5
Punkte
38
Hallo Forum,

ich habe so etwas ähnliches wie in diesem Thread beschrieben vor. Meine Kostellation ist aber etwas anders, darum mache ich noch einmal ein separates Thema auf.

Mein Vorhaben: Ich möchte über eine Anwahl einer (zweier) ISDN-MSN per Handy die Öffnungs- und Schließfunktionen für eine Grundstückstoreinfahrt auslösen.

derzeitige Gegebenheiten: Die dafür benötigten Steuerkontakte sind auf den dafür vorgesehenen Kontakten einer T-Concept XI520 -TK-Anlage angeschlossen. Das Öffnen und Schließen wird intern duch die Anwahl der internen Rufnummern **28 und **29 ausgelöst.

so habe ich mir das vorgestellt: Ich rüste eine vorhandene Fritz!Box Fon (ohne weitere Bezeichnung, also das alte Modell) mit dem ds-0.2.6-Mod aus und progammiere die entsprechenden listeners. Beim Anruf eines berechtigten Handys auf einer für den Vorgang (Öffenen/Schließen) reservierten MSN läßt man es ein/zwei Mal klingeln und legt dann auf. Erst danach wird intern die entsprechende Nummer gewählt. Und das Tor geht auf (oder schließt sich, je nach angerufener MSN). So entstehen auf dem Handy auch keine Gebühren. (Ich weiß, nicht die feine Art, aber der Anschlußinhaber (mein Schwiegervater) zahlt genug an seine Handy- und Festnetzprovider. Da wird das wohl abfallen.)

Ich habe dafür folgenden listener erstellt:
Code:
in:cancel  ^017XXXXXXXX  ^25   dial "*10#*#**28" 1
die 017XXXXXXXX ist in diesem Falle eine berechtigte Handynummer
die 25 ist die auf die jeweilige externe MSN gemapte interne Rufnummer
die *10# benutzt für den Befehl den Analogport zum Rauswählen
*# sagt der Fritz, daß sie die folgenden ** weiterreichen soll
und die **28 ist die interne Rufnummer für den gewünschten Steuervorgang (und das gleiche noch mal mit der 26 und der **29 für Schließen).

Hintergrund für die Befehlswahl per Analogport ist, daß das auch funktioniert, wenn beide B-Kanäle belegt sind. Der Ruf wird ja über den D-Kanal signalisiert. Wenn aber beide B-Kanäle intern belegt sind kann ich ja nicht per ISDN wählen, analog aber schon (ist ja "nur" eine weitere Verbindung innerhalb der TK-Anlage).

Ich hoffe, man kann mir bis hierhin folgen.

Jetzt habe ich ein paar Fragen dazu.
1. Die TK-Anlage nimmt den internen Ruf an die **28 (und **29) an. Wie bringe ich jetzt die Fritzbox dazu, möglichst bald wieder aufzulegen. Es würde reichen, wenn die interne Verbindung 1-2 Sekunden steht. Geht das automatisch oder brauch ich dafür ein Script. Ich glaube (weiß es aber nicht mehr genau), daß die TK-Anlage nach dem Schaltbefehl ein "Besetzt" signalisiert.
2. Ich habe gerade festgestellt, daß die Auswahl des Analogportes mit *10# erst in der .06er Firmware geht. Diese gibt es aber für die alte Fon (noch) nicht. Habe ich eine andere Möglichkeit mit den vohandenen Analogports. Davon werden nämlich keine benötigt. VoIP ist dort kein Thema. Es gibt nur ISDN. Ich mißbrauche die Fritz nur für diesen Toröffnerzweck.

Ich muß das alles ohne große Testmöglichkeiten vorbereiten, damit das dann wenn ich dort hinkomme einfach per p'np funktioniert. Listeners ändern ist kein Thema, aber modden u.ä. will ich in Ruhe zu Hause.

Ich habe noch ein Bild für die bessere Übersicht angehängt. Das wird alles woanders aufgebaut, meine Sig hat also für diese Thema keine Aussagekraft.

Gruß Telefonmännchen
 

Anhänge

  • Schaltbild.JPG
    Schaltbild.JPG
    19.4 KB · Aufrufe: 188
Zuletzt bearbeitet:
OK, ist zwar nicht gern gesehen, wenn man 2x hintereinanderpostet, aber anders bekomme ich das Thema nicht wieder hoch.

Mein Testaufbau funktioniert soweit an meiner 7050 ganz gut. Habe mir auch extra ein Kabel für den kombinierten ISDN/Analog-Anschluß gecrimpt. Ging wider meiner Erwartungen recht gut. Einfach zwei 4-adrige Telefonleitungen in den RJ45-Stecker rein, ein wenig gefummelt, daß die entsprechenden Adern auch an den richtigen Pins sitzen, rein in die Zange und gut.

Jetzt habe ich nur noch das Auflegeproblem. Wie bringe ich die Fritz!Box dazu, nach 1-2 mal Klingeln wieder aufzulegen. Sonst klingelt sie sich dumm und dämlich und man kann nach dem Rausfahren nicht mal das Tor schließen, weil der interne Anschluß ja dann belegt ist. Kann ich den Listener irgendwie erweitern oder brauche ich ein Script? Und wenn ja, würde ich mich über ein Beispiel freuen. Ich denke, daß ich es dann schon auf meine Bedürfnisse zurechtbiegen kann.

es müßte dann so ungefähr laufen:
dial "*10#*#**28" 1
sleep 4
??? <-- hier muß dann der Auflegen-Befehl rein.

Oder wartet das Sript dann auch den dial-Befehl ab? Leider habe ich keine Befehlsreferenz gefunden.

Gruß Telefonmännchen
 
Hi,

soweit ich mich jetzt erinnere (d.h. ohne in den Quellcode vom Callmonitor zu schauen), gibt es auch eine Funktion hangup, die als Argument nur den Port erwartet. Also in Deinem Fall wohl

Code:
hangup 1

Den ganzen Krempel müsstest Du mit Semikolons getrennt in einer einzigen Zeile schreiben können:

Code:
in:cancel  ^017XXXXXXXX  ^25   dial "*10#*#**28" 1; sleep 4; hangup 1

Alles untested, aber ich hoffe, das klappt so.

Gruß,
Kay.

EDIT: Hab gerade mal in den Code geschaut, im dial.sh Script gibt es wirklich hangup - wie oben beschrieben.
 
Zuletzt bearbeitet:
Danke erst mal, wenn ich aus dem Krankenhaus (ohne Internetanschluß) wieder zu Hause bin probiere ich es aus und gebe Rückmeldung. Habe gerade zwei Stunden "Urlaub" bekommen.

Gruß Telefonmännchen
 
Hoffe du hast nicht so viel Teleniert im KH.

Als meine Frau im KH lag, habe ich der FB gesagt wenn sie mit dem Handy anruft, soll sie meine Frau im KH zurückrufen.

Bis auf die GG hat sie nichts bezahl.

Gruß
 
So, bin wieder zu Hause. Noch nicht gesund, aber ich muß wenigstens nicht mehr Löcher in die Wände starren.
1.BigDaddy schrieb:
Als meine Frau im KH lag, habe ich der FB gesagt wenn sie mit dem Handy anruft, soll sie meine Frau im KH zurückrufen.
Ich habe es anders gemacht. Ich habe meiner Frau gesagt, wenn ich anrufe, dann rufst Du mich zurück (CLIP sei Dank). Geht auch. :)

So... Ich habe das wie von kay1234 beschrieben mal so eingetragen. Leider scheint es nicht zu funktionieren. Es wird nicht wieder aufgelegt, weder bevor der Ruf angenommen wurde, noch nachdem eine Verbindung aufgebaut wurde. Wenn ich den automatisch durch den Call-Befehl initiierten Ruf annehme, erhalte ich die Standardansage "Ihre Verbindung wird gehalten".

Ich habe es auch nach dem Muster (mit und ohne sleep 4):

in:cancel ^017XXXXXXXX ^25 dial "*10#*#**28" 1; hangup 1
und ohne Semikolon:
in:cancel ^017XXXXXXXX ^25 dial "*10#*#**28" 1 hangup 1

probiert. Immer mit dem gleichen Resultat. Scheinbar kann man die Befehle doch nicht stapeln. Oder die Box wartet erst das Ergebnis des vorherigen Befehls ab. Das kann ich aber leider nicht überprüfen. Mein Testaufbau hängt im Moment noch hinter meiner 7050 (natürlich mit angepassten MSN und Rufnummern). Soweit funktioniert es ja auch. Nur der hangup-Befehl geht nicht. Gibt es vielleicht ein Äquivalent zu "dial" mit der gewünschten Funktionalität für z.B. Lockanrufe für Callback oder ähnliches?

Hat noch jemand eine Idee?

Gruß Telefonmännchen
 
Ja, aber du konntest nur mit deiner Frau telefonieren.

Gruß
 
@1.BigDaddy
Macht nichts, alle anderen haben mich angerufen. :)
Die zwei anderen Kurzgespräche kann ich gerade noch zahlen. Hatte sowieso keine Zeit, vorher was an der Box zu ändern. Bin akut erkrankt eingeliefert worden. Habe auf der 7050 sowieso keinen ds-Mod. Nur auf der Toröffnerbox!

@all
Ich hatte mir nun auch mal folgenden Lister ausgedacht:
out:request ^ ^ hangup 1
Soll heißen, wenn rausgerufen wird soll nach einmaligen Klingeln wieder aufgelegt werden. Funktioniert leider auch nicht (gleiches Verhalten wie oben). Kann es sein, daß der Callmonitor das "hangup" nicht will (versteht)? Die Konsolenausgabe einer Telnetverbindung sagt gar nichts.

Gruß Telefonmännchen

EDIT: OK, Ich habe das Problem nochmal in Ruhe gehirnt. Die Ansage kommt, weil zwar wie bei der Originalwählhilfe ein abgehender Ruf initiiert wird, aber an Fon1 kein Telefon hängt (dieses würde dann ja klingeln). Es kommt also keine Verbindung zustande. Darum bringt ein "hangup" auch nichts, weil ja keine Verbindung besteht. Gibt es einen Befehl, den ausgehenden Ruf zu canceln ("cancel" ist es nicht). Das Wiki ist bezuglich der zur Verfügung stehenden Befehle keine große Hilfe. Gibt es irgendwo eine Befehlsreferenz? Habe noch nichts gefunden.
 
Zuletzt bearbeitet:
Bei mir sieht das so aus:

in:cancel ^ ^4311019 sleep 3; echo "ATH" | nc 127.0.0.1 1011


Gruß,
Tin
 
Wie hier beschrieben stehe ich im Moment etwas auf dem Schlauch. Ich weiß auch nicht, warum in:request nicht funktioniert. Hmm... ich werde erstmal noch testen. Vielleicht spucke ich mir auch selbst in die Suppe, habe da so eine Vermutung (Stichwort bob).

Gruß Telefonmännchen

EDIT:
Ich habe inzwischen noch mal die Firmware incl. ds-Mod in den aktuellen Versionen (06.04.15ds-0.2.8) neu geflasht. Nun habe ich auch endlich den syslogd drauf und kann nachschauen, was abgeht.

So wie es aussieht, wird laut syslog in:request richtig ausgewertet und auch ausgehend gewählt. Beim Testanruf funktioniert es zumindest. Scheinbar macht mir mein Testaufbau mit der 7050 einen Strich durch die Rechnung indem sie keinen neuen Verbindungsaufbau zuläßt, solange es noch an einer anderen Nebenstelle klingelt.

mit dem Listener: in:cancel ^017XXXXXXXX ^25 dial "*10#*#**28" 1; sleep 4; hangup 1 funktioniert es nun mit neuem Mod und neuer Firm wie gewünscht. Nach dem Anruf vom Handy wird intern die entsprechende Rufnummer gewählt und die Verbindung nach 4 Sekunden wieder abgebaut. Woran es gelegen hat kann ich auch nicht sagen.

Gruß Telefonmännchen
 
Zuletzt bearbeitet:
Du kannst für mehrere Befehle z.B. folgendes machen:

Code:
in:cancel  ^017XXXXXXXX  ^25   `dial "*10#*#**28" 1; sleep 4; hangup 1`

Hat bei mir geklappt...
 
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.