Türe öffnen durch Nachwahl

Hartwig

Neuer User
Mitglied seit
31 Okt 2004
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe meine Türsprechstelle auf die Asterisk weitergeleitet. Dort kommt der Ruf mit der Nummer 35 an.

Nun würde ich gerne während des Gespräches eine Taste drücken um die Türe zu öffnen.

Mit steht da einer auf der Leitung, wie ich das realisieren kann.

Gruß Hartwig

Ergänzung: Mir geht es dabei nicht um das Öffen, das kann ich bereits durch die Anbindung an den EIB Bus realisieren.
Mir geht es daurm wie ich durch einen Tastendruck während des Gesprächs eine Aktion auslöse
 
Zuletzt bearbeitet:
Du musst das Gespräch zu Deiner Türnebenstelle (123) in ein Menü schicken, in dem folgenden Beispiel wird 30 Sekunden auf einen Tastendruck auf die 1 gewartet, wenn dieser erfolgt wird das Script gestartet, erfolgt eine falsche Eingabe oder es wird keine Taste innerhalb der 30 Sekunden gedrückt wird nach dem obligatorischen Besetztton aufgelegt.

Baue auf jeden Fall noch eine Rufnummernabfrage des Anrufenden ein, nicht dass Dir jeder die Tür öffnet ;)

Wir haben eine ähnliche Variante am laufen wo über eine IO Karte der Türklingelknopf ausgewertet wird und dann alle Telefone scheppern wo man im dem Menü dann sprachgesteuert die Tür öffnen kann.

Code:
exten => 123,1,Noop(Es hat geklingelt)
exten => 123,2,Goto(tuermenue,s,1)

[tuermenue]
exten => s,1,answer()
exten => s,2,wait(1)
exten => s,3,Set(TIMEOUT(digit)=30)
exten => s,4,Set(TIMEOUT(response)=30)
exten => 1,1,wait(1)
exten => 1,2,System(sudo -u nutzer /usr/local/bin/oeffne)
exten => 1,3,wait(1)
exten => 1,4,Playtones(busy)
exten => 1,5,wait(2)
exten => 1,6,hangup()
exten => i,1,Playtones(busy)
exten => i,2,wait(2)
exten => i,3,hangup()
exten => t,1,Playtones(busy)
exten => t,2,wait(2)
exten => t,3,hangup()
 
Hallo,

danke für deine Antwort.

Ich habe den Code mal in meinen Dialplan eingebaut. Aber das funktioniert so nicht, wie gedacht.

Wenn ich die 123 anwähle wird mir die Verbindung nach 1 Sec. geschlossen, ich habe also keine Möglichkeit der Eingabe.

Muss ich da noch was zusätzlich definieren.

Gruß Hartwig


Hier das Log der Console:

-- Executing [123@default:1] NoOp("SIP/62-008cf2f0", "Es hat geklingelt") in new stack
-- Executing [123@default:2] Goto("SIP/62-008cf2f0", "tuermenue|s|1") in new stack
-- Goto (tuermenue,s,1)
-- Executing [s@tuermenue:1] Answer("SIP/62-008cf2f0", "") in new stack
-- Executing [s@tuermenue:2] Wait("SIP/62-008cf2f0", "1") in new stack
-- Executing [s@tuermenue:3] Set("SIP/62-008cf2f0", "TIMEOUT(digit)=30") in new stack
-- Digit timeout set to 30
-- Executing [s@tuermenue:4] Set("SIP/62-008cf2f0", "TIMEOUT(response)=30") in new stack
-- Response timeout set to 30
== Auto fallthrough, channel 'SIP/62-008cf2f0' status is 'UNKNOWN'
 
Erweitere mal bitte den Dialplan um die fette Zeile, die Sprachanweisungen aus unserem System hatte ich in meinem Posting entfernt.

Code:
exten => s,4,Set(TIMEOUT(response)=30)
[B]exten => s,5,Background(silence/10)[/B]
exten => 1,1,wait(1)
 
Zuletzt bearbeitet:
super, das war das fehlende Element, nun läuft das Script.

Wie bekommst Du das aber nun hin, dass Du mit der Türsprechstelle reden und anschliessend die Türe öffen kannst?

Bei mir kommt die Türsprechstelle auf einer Auserwald an und über eine Querverbindung per ISDN auf die Asterisk.

Mit dem netcat signalisiere ich den Ruf noch zu meinem Bussystem

code:
------
; Kontext fuer Anruf der Haustuer
exten => 52,35,Set(CALLERID(name)="Haustuere TH1")
;Signalisieren an Homeserver
exten => 52,n,System(echo TH1_Haustuere TH1_intern |netcat -u -w1 192.168.9.40 2011)
exten => 52,n,Dial(Sip/42&SIP/41&SIP/47&SIP/59&SIP/64 |${KLINGELHAUSTUER})
exten => 52,n,hangup

; Kontext fuer Anruf Saeule
exten => 52,49,Set(CALLERID(name)="Klingel Saeule")
;Signalisieren an Homeserver
exten => 52,n,System(echo Saeule_Klingel Saeule_intern |netcat -u -w1 192.168.9.40 2011)
exten => 52,n,Dial(Sip/42&SIP/41&SIP/47&SIP/59&SIP/44&SIP/64 |${KLINGELHAUSTUER})
exten => 52,n,hangup
exten => 52,69,NoOP
 
hihi, ganz so weit bin ich noch nicht. Bis jetzt existiert nur der an die Asterisk angebundene "Klingelknopf" mit "Türöffnerfunktion".

Eine einzubindende Gegensprechanlage ist noch nicht vorhanden, man könnte dies über eine Konferenzschaltung zu realisieren, also 1. Teilnehmer die Türsprechstelle (ohne DTMF) , 2. Teilnehmer das abnehmende Telefon und als 3. Teilnehmer das MiniVoiceMenü welches den Tastendruck auswertet.
 
Hallo,

das habe ich versucht umzusetzen.

Allerdings kann ich aus [app-haustuer] die Rufnummer 123 nicht absetzen

Unable to create channel of type 'Sip'

Eigentlich auch richtig, da dies ja kein SIP Teilnehmer ist, aber wie bekomme ich die 123 sonst in die Konfernz?

[app-haustuer]
exten => ***,1,Answer
exten => ***,2,Dial(SIP/62&SIP/59&SIP/123)
exten => ***,3,NoOp(${EXTEN})
exten => ***,4,MeetMe(911,c) ; Der Alarmierende in die Konferenz
exten => ***,5,Hangup
exten => s-conf,1,Answer
exten => s-conf,2,MeetMe(911,c) ; Alle, die sich melden, in die Konferenz !
exten => s-conf,3,Hangup
 
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.