Zeitabhängiges rauswälen

tobias013

Neuer User
Mitglied seit
29 Dez 2004
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe bei meinem * in der extensions.conf eingestellt das er zu bestimmten Zeiten entweder über ISDN oder über SIP raustelefonieren soll....leider funktioniert es nicht, er nimmt immer ISDN. Habe jetzt schon rumgesucht aber nichts gefunden. Hat einer eine Idee wie ich das Realisieren kann?


Hier mal meine extensions.conf:
Code:
[general]

static=yes
writeprotect=no

[globals]

[default]
include => error
;include => parkedcalls

[outgoing]
include => isdnout|*|*|1|jan                ; Neujahr
include => isdnout|*|*|3|oct                ; Deutsche Einheit
include => isdnout|*|*|25-26|dec            ; Weihnachten
include => isdnout|*|*|1|may                ; 1. Mai
include => isdnout|18:00-06:59|mon-fri|*|*
include => isdnout|*|sat-sun|*|*
include => sipout|07:00-17:59|mon-fri|*|*

;include => sipout
;include => isdnout

include => incoming

[isdnout]
include => 300i
include => 301i

[sipout]
include => 300s

[300i]
; Outgoing calls over CAPI
exten => _0./300,1,setCIDNum(28)
exten => _0./28,2,Dial(CAPI/contr1/${EXTEN:1})
exten => _0./28,3,Congestion
exten => _0./28,4,Busy
exten => _0./28,5,Hangup

[301i]
; Outgoing calls over CAPI
exten => _0./301,1,setCIDNum(29)
exten => _0./29,2,Dial(CAPI/contr1/${EXTEN:1})
exten => _0./29,3,Congestion
exten => _0./29,4,Busy
exten => _0./29,5,Hangup

[300s]
;;; Phone 300 ;;;
; Outgoing calls over SIP
exten => _0./300,1,GotoIf($["${EXTEN:1:5}" = "00800"]?300i,${EXTEN},1)
exten => _0./300,2,GotoIf($["${EXTEN:1:3}" = "010"]?300i,${EXTEN},1)
exten => _0./300,3,GotoIf($["${EXTEN:1:3}" = "012"]?300i,${EXTEN},1)
exten => _0./300,4,GotoIf($["${EXTEN:1:3}" = "013"]?300i,${EXTEN},1)
exten => _0./300,5,GotoIf($["${EXTEN:1:3}" = "018"]?300i,${EXTEN},1)
exten => _0./300,6,GotoIf($["${EXTEN:1:3}" = "019"]?300i,${EXTEN},1)
exten => _0./300,7,GotoIf($["${EXTEN:1:4}" = "0700"]?300i,${EXTEN},1)
exten => _0./300,8,GotoIf($["${EXTEN:1:4}" = "0800"]?300i,${EXTEN},1)
exten => _0./300,9,GotoIf($["${EXTEN:1:4}" = "0900"]?300i,${EXTEN},1)
exten => _0./300,10,GotoIf($["${EXTEN:1:2}" = "11"]?300i,${EXTEN},1)
exten => _0./300,11,GotoIf($["${EXTEN:1:5}" = "19222"]?300i,${EXTEN},1)

exten => _0./300,12,setCIDNum(1111111)
exten => _0./1111111,13,setCIDName(Buero Privat)
exten => _0./1111111,14,Dial(SIP/${EXTEN:1}@sipgate1)
exten => _0./1111111,15,Congestion
exten => _0./1111111,16,Busy
exten => _0./1111111,17,Hangup

exten => _0./1111111,115,setCIDNum(28)
exten => _0./28,116,Dial(CAPI/contr1/${EXTEN:1})
exten => _0./28,117,Congestion
exten => _0./28,118,Busy
exten => _0./28,119,Hangup

[incoming]
include => default

; Incoming calls over SIP-Account: sipgate1 (1111111)
exten => 1111111,1,SetLanguage(de)
exten => 1111111,2,AGI(/var/lib/asterisk/agi-bin/getName.php)
exten => 1111111,3,SetCIDNum(${CID})
exten => 1111111,4,SetCIDName(${NAME})
exten => 1111111,5,GotoIf($["${CALLERIDNUM}" = ""]?7)
exten => 1111111,6,SetCIDNum(0${CALLERIDNUM})
exten => 1111111,7,Dial(SIP/300,10,t)
exten => 1111111,8,SetCIDNum(22)
exten => 1111111,9,Dial(CAPI/contr1/20,90,t)
exten => 1111111,10,Congestion
exten => 1111111,11,Hangup

; Incoming calls over CAPI MSN 28
exten => 28,1,SetLanguage(de)
exten => 28,2,AGI(/var/lib/asterisk/agi-bin/getName.php)
exten => 28,3,SetCIDNum(${CID})
exten => 28,4,SetCIDName(${NAME})
exten => 28,5,GotoIf($["${CALLERIDNUM}" = ""]?7)
exten => 28,6,SetCIDNum(0${CALLERIDNUM})
exten => 28,7,Dial(SIP/300,90,t)
exten => 28,8,Congestion
exten => 28,9,Hangup

; Incoming calls over CAPI MSN 29
exten => 29,1,SetLanguage(de)
exten => 29,2,AGI(/var/lib/asterisk/agi-bin/getName.php)
exten => 29,3,SetCIDNum(${CID})
exten => 29,4,SetCIDName(${NAME})
exten => 29,5,GotoIf($["${CALLERIDNUM}" = ""]?7)
exten => 29,6,SetCIDNum(0${CALLERIDNUM})
exten => 29,7,Dial(SIP/301,90,t)
exten => 29,8,Congestion
exten => 29,9,Hangup

; Incoming (internal) calls for number 300. Type of phone: sip
exten => *300/301,1,setCIDName(Buero Geschaeft)
exten => *300/301,2,setCIDNum(*301)
exten => *300,1,NoOp
exten => *300,2,NoOp
exten => *300,3,Dial(SIP/300,15,t)
exten => *300,4,Congestion
exten => *300,5,Hangup

; Incoming (internal) calls for number 301. Type of phone: sip
exten => *301/300,1,setCIDName(Buero Privat)
exten => *301/300,2,setCIDNum(*300)
exten => *301,1,NoOp
exten => *301,2,NoOp
exten => *301,3,Dial(SIP/301,15,t)
exten => *301,4,Congestion
exten => *301,5,Hangup

[error]
exten => h,1,Hangup
exten => _X.,1,Playback(pbx-invalid)
exten => _X.,2,Congestion
exten => _X.,3,Hangup
 
Sieht auf den ersten Blick eigentlich OK aus. Was sagt denn das CLI bei nem Anruf? Ist der Anrufer auch im richtigen Kontext (outgoing)?
 
@tobias013

eine Vermutung ist, daß der dialplan statisch ist, d.h. du müsstest
pünktlich je volle Stunde ein reload durchführen. (ungetestet!)
Mit crontab geht's so

crontab -e

0 * * * * /bin/sleep 1;/usr/sbin/asterisk -rxreload >/dev/null 2>&1

Gruß
britzelfix
 
Nein die Zeitabhaengigen includes funktionieren definitiv ohne reload.
 
@Maik

ja stimmt, habs eben getestet.

Gruß
britzelfix
 
Ich habe evtl. den Fehlerteufel gefunden... Die Uhrzeit des Systems stimmte nicht (ging zwei Stunden vor), danach wäre klar das er dann mit ISDN rauswählt. Habe jetzt mal die Zeit richtig eingestellt, mal morgen schauen ob dann über den Tag SIP gewählt wird.
Oder kann mir jemand sagen wie ich die Uhrzeit unter Linux selbst verändern kann (Benutze Eisfair und lasse die Zeit mittels dem Paket netdate aktualisieren)? So tief gehen meine Linuxkenntnisse leider nicht :)
 
Ich glaube er wollte wissen, wie man absichtlich die Uhr falsch einstellen kann. Das geht ueblicherweise mit 'date MMDDhhmm' wobei MM=Monat, DD=Tag, hh=Stunde und mm=Minute.
 
@Maik

ach so, dann weiß er jetzt auch wie man sie autmatisch
stellen lässt. :)

Gruß
britzelfix
 
So, also das mit dem automatischen erledigt ja das Paket netdate....
Ich habe jetzt manuell die Zeit gesetzt und siehe da es funktioniert alles wie gewünscht, inklusive Fallback auf ISDN wenn SIP nicht erreichbar/besetzt oder sonstwas ist. Also lags definitiv an der falschen Serverzeit das es am anfang nicht ging ;)

Interessant wirds an den Feiertagen, da include ich ja theoretisch beide...da bestimmtes Datum und bei sipout sag ich Mo-Fr 7-17:59...
mal schauen wie er das dann macht...wahrscheinlich nimmt er dann den ersten Eintrag den er Included hat..also korrekterweiße isdnout?
 
Die includes werden in der angegebenen Reihenfolge abgearbeitet. Es wird also das genommen, was weiter oben steht.
 
Werde es heute Abend mal ausprobieren wenn ich dem Server vorgaukle es wäre Neujahr..
 
Hallo Leute,

darf ich mal schnell fragen, was in der exten-Zeile der Slash und die darauffolgende Zahl bedeutet?? (./300)
Deren Sinn erschliesst sich mir irgendwie nicht... ;-) Bitte erleuchte mich doch mal jemand! ;-)

tobias013 schrieb:
[300i]
; Outgoing calls over CAPI
exten => _0./300,1,setCIDNum(28)


Danke schon mal,

Michael
 
was hinter dem / steht, ist die Nummer des Anrufers. Das heißt, diese Prio wird nur ausgeführt, wenn der Anrufer die 300 ist.
 
Oh, betateilchen, danke dafür.
Hast Du zufällig eine URL (voip-info.org) parat, wo ich das mal nachlesen kann? Bräuchte die Funktion nämlich dann, um meinen * etwas auszureizen... ;-)

Michael
 

Zurzeit aktive Besucher

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,651
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
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.