Manuelle Tag/Nachtschlatung

TBDeluxe

Neuer User
Mitglied seit
6 Mai 2010
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hi,

kann man unter Asterisk eine Tag/Nachtschaltung über eine Extension realisieren, wenn ja wie :)?
 
Danke für die Schnelle antwort :)

Aber wenn ich das richtig verstehe, sagt die Maschine Punkt 18 Uhr zB. Es sit geschloßen.
Meine Idee war eher das man zB die 808 nruft, und ab dan wird in den Nachtmodus geschalten
 
Wenn Du das nicht zeitabhängig machen möchtest, würde ich die Tag-/Nachtschaltung über einen Eintrag in der Asterisk Database realisieren.

Im Dialplan brauchst Du 3 Dinge:

1. Eine Extension, mit der Du die Nachtschaltung aktivierst, also einen Datenbankeintrag für Nachtschaltung schreibst.

2. Eine Extension, mit der Du die Nachtschaltung deaktivierst, also einen Datenbankeintrag für Nachtschaltung löschst.

3. Eine Abfrage über den Eintrag in der Datenbank, ob die Nachtschaltung aktiv ist und dann entsprechend darauf reagierst.

Ralph
 
Super das hilft mir sehr viel weiter thx =D

Nur noch eine Kleine Frage Vielleicht habe ich das auch Übersehen...
Aber wenn ich jetzt mehrere Extensions habe muss ich die Abfrage dann bei jedem einbauen richtig? oder gibt es eine Extensions die vor allen Vorrang hat ?
 
Naja, überall dort halt, wo die Nachschaltung greifen soll.

Eine "mach das grundsätzlich vor jeder Extension"-Extension in dem Sinn gibt es nicht. So etwas könnte man mit Goto basteln, aber das würde ich lassen.
 
Ich löse das über ein Macro, in dem der Rufaufbau zu unseren internen Teilnehmern abgewickelt wird.

Ankommende Anrufe von außen werden also erst mal durch das Macro geschickt. Dadurch musst Du die Logik der Nachtschaltung nur ein mal in den Dialplan (eben in dieses Macro) aufnehmen.

Ralph
 
Hallo,

es gab dazu auch eine komplette Lösung von mir - Manuel(l) schaltete die Anlage auf Nacht, löste dann die "Blinklampen" aus und ging wieder auf Tag wenn Manuel(l) das wollte, nebenher prüfte ein Skript bei Zeit (x) ob die Nachtschaltung an ist, Thema "Oh, das haben wir vergessen.."

Meine Teilextension sieht so aus :

--Hauptblock--
Code:
[zeit_verteiler_schaltung]              ; Hier wird die neue Nachtschaltung geregelt

; Wert 10 = Nachtschaltung AN, 20 aus, 30 externer Ruf oder Zielruf wie in DB hinterlegt

exten => _X.,1,Set(NACHT=${DB(nacht/status)})
exten => _X.,2,GotoIf($[ ${NACHT} = 10 ]?10:20)
exten => _X.,10,Goto(nacht_anruf,,1)
exten => _X.,20,GotoIf($[ ${NACHT} = 20 ]?30:40)

exten => _X.,30,Goto(buero_anruf,,1)

exten => _X.,40,Set(NACHTZIEL=${DB(nacht/ziel)})
exten => _X.,41,Goto(direkt_anruf,,1)
Dann die einzelnen Teilblöcke wie Du diese halt brauchst .. :

An und Ausschalten
Code:
[nachtschaltungsfunktionen]

; Nachtschaltung de-aktivieren                                  
exten => 991,hint,DS/991                                        ; FAKE Device setzen !
exten => 991,1,Set(NACHT=${DB(nacht/status)})
exten => 991,2,GotoIf($[ ${NACHT} = 10 ]?10:20)
exten => 991,10,Set(DB(nacht/status)=20)
exten => 991,11,Set(DEVSTATE(Custom:991)=NOT_INUSE)
exten => 991,12,Playback(/var/www/ansagen/nacht_aus2)
exten => 991,13,Hangup()
exten => 991,20,Set(DB(nacht/status)=10)
exten => 991,21,Set(DEVSTATE(Custom:991)=INUSE)
exten => 991,22,Playback(/var/www/ansagen/nacht_an2)
exten => 991,23,Hangup()
Code:
[nacht_anruf]
tu was du willst in der nacht

[buero_anruf]
mach was du magst am tag
Fertig. Die komplette Lösung.

Alle Anrufe die hier gesteuert werden sollen lässt Du direkt in die erste Verteiler Schaltung laufen, alles andere passiert dann so wie DU es magst.

Solltest Du die Lampen brauchen (Snom) müsstest Du den "devstate" nachpatchen oder * 1.6 nehmen.

LG Stefan
 
Cool Danke für dein Beispiel hab es auch mit den Lampen hin bekommen :)

@HobbyStern
Hätte da noch eine Frage.

Kennst du eine Möglichkeit auf dem selben Weg eine Rufumleitung zu programmieren?

Habe es im Moment so gelöst, das man eine exten anruft und dann der Wert in der AstDB geändert wird, den Rest kannst du dir ja denken glaub ich.

Was ich halt gern umgebaut hätte wäre das wenn man die Rufumleitung aktiviert der DEVICE_STATE auch auf INUSE ist. Wenn deaktiviert, dann NOT_INUSE. Sollte auch kein Problem darstellen. Nur müsste dies Ja dann Pro Telefon spezifisch sein.

Kann ich ja eigentlich so bauen, das ich zB die 25 als exten nutze für Rufumleitung.
Nur hättest du eine Idee, welche nebenstelle ich das snom überwachen lassen muss, und wie der custom device aussehen könnte da fehlt mir grad ein lösungsansatz
 
Kein Thema das ganze - ist eine Aufwandssache.

Ich habe jetzt gerade nur eine statische Lösung im Kopf, Du solltest aber zwecks skalierbarkeit eine dynamische erfinden (was auch nur 10 minuten denksport fordert)

also - die INUSE States kannst Du ja frei setzen, bei mir ist es IMHO die 991 - in Deinem Falle wäre es halt die 99${NEBENSTELLE} - so würde die anrufende Nebenstelle eine eigene Exten bekommen, wenn Du bisher die Snoms noch nicht unter provisioning hast - ist jetzt der richtige Moment gekommen ;)

Um die einzelnen Nebenstellen zu erkennen gibt es einen simplen Trick (Statisch)

exten => 123/321 ...

123 muss man wählen, wenn "321" anruft wird entsprechend gehandelt, s.h. wenn die Nebenstelle 10 anruft und dafür etwas ausgelöst werden soll wäre der statische Ansatz :

exten => 123/10,1,....

Die externe Umleitung ist in meinem Beispiel schon drin, jedoch nicht aktiviert ...

Code:
30 externer Ruf oder Zielruf wie in DB hinterlegt

d.h. wenn die AstDB "30" als Wert für den Datensatz zBsp. /nacht/<nebenstelle> hätte, dann müsste ebenfalls in zBsp. /nacht/<nebenstelle-nr> eine entsprechende Rufnummer hinterlegt sein...

Ich hoffe das hilft auf die schnelle...

LG Stefan
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,308
Beiträge
2,249,812
Mitglieder
373,915
Neuestes Mitglied
sunburstc
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.