Hallo,
ich nutze Asterisk 14.2 und möchte einen Dialplan entwickeln, der zu unterschiedlichen Zeiten verschiedene Voice-Messages zur Verfügung stellen kann. Und da hier mehrere Telefonnummern abgearbeitet werden sollen, soll der Dialplan auch erkennen, ob eine Rufnummer gerade abgemeldet und dann wieder zeitgesteuert die passende Voice-Message abspielen. Optimal wäre bei der Gelegenheit auch, wenn eine besetzte Leitung (BUSY) erkannt wird und wieder separat beantwortet werden kann.
Ich habe mir das einmal bei http://das-asterisk-buch.de/1.6/voicemail-beispiele.html abgeguckt und bei mir versucht umzusetzen:
Bei "telekom_63112_in" wird allerdings immer die erste Include-Anweisung genommen, egal welche Uhrzeit wir haben. Und bei "[day]" hatte ich versucht den DIALSTATUS dazu zu benutzen, um das richtige Verhalten anzusteuern. Das klappt allerdings nicht.
Meine Fragen sind somit:
Wie kann ich Include so nutzen, dass eine Zeitsteuerung möglich wird?
Wie kann ich den Status "BUSY", "CHANUNAVAIL" (nicht angemeldet) so nutzen, dass situationsgesteuertes Verhalten möglich ist?
Ist das bei Asterisk 14 noch genauso möglich wie in dem Asterisk-Buch für 1.4 und 1.6 dargestellt?
Grüße
Diani
ich nutze Asterisk 14.2 und möchte einen Dialplan entwickeln, der zu unterschiedlichen Zeiten verschiedene Voice-Messages zur Verfügung stellen kann. Und da hier mehrere Telefonnummern abgearbeitet werden sollen, soll der Dialplan auch erkennen, ob eine Rufnummer gerade abgemeldet und dann wieder zeitgesteuert die passende Voice-Message abspielen. Optimal wäre bei der Gelegenheit auch, wenn eine besetzte Leitung (BUSY) erkannt wird und wieder separat beantwortet werden kann.
Ich habe mir das einmal bei http://das-asterisk-buch.de/1.6/voicemail-beispiele.html abgeguckt und bei mir versucht umzusetzen:
Code:
[general]
static=yes
writeprotect=yes
autofallthrough=yes
extenpatternmatchnew=no
clearglobalvars=no
userscontext=unspecified
; Zeiten für Anrufbeantworter
include => morning-closed,06:00-7:59,mon-fri;*,*
include => morning,08:00-9:59,mon-fri;*,*
include => day,10:00-14:59,mon-fri;*,*
include => evening,15:00-17:59,mon-fri;*,*
include => evening-closed,18:00-20:59,mon-fri;*,*
[unspecified]
exten => _X.,1,Answer()
exten => _X.,2,Verbose(D E F A U L T ==> ${CALLERID(num)} kam um ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)} in UNSPECIFIED an, als er versuchte die Nummer ${EXTEN} anzurufen.)
exten => _X.,3,Hangup()
[internalsip]
exten => contact_name1,1,Dial(PJSIP/contact_name1)
exten => contact_name2,1,Dial(PJSIP/contact_name2)
exten => 8888,1,Answer()
exten => 8888,n,Wait(2)
exten => 8888,n,Playback(Closed-Abend)
exten => 8888,n,Playtones(info)
exten => 8888,n,Wait(5)
exten => 8888,n,StopPlaytones
exten => 8888,n,Hangup()
exten => 8882,1,Answer()
exten => 8882,n,Playback(Tag)
exten => 8882,n,Playtones(record)
exten => 8882,n,VoiceMail(3112@Diani,s)
exten => 6500,1,Answer(500)
exten => 6500,n,VoiceMailMain(@Diani)
;exten => 6500,n,VoiceMailMain(${CALLERID(num)})
exten => _+49ZXX!.,1,Dial(PJSIP/telekom_63112_out/sip:0${EXTEN:3}@tel.t-online.de,60)
exten => _+49ZXX!.,n,Hangup()
exten => _+X.,1,Hangup()
exten => _00X.,1,Hangup()
exten => _0Z.,1,Dial(PJSIP/telekom_63112_out/sip:${EXTEN}@tel.t-online.de,60)
exten => _0Z.,n,Hangup()
exten => _Z.,1,Dial(PJSIP/telekom_63112_out/sip:Ortsnetzkennzahl-mit-0${EXTEN}@tel.t-online.de,60)
exten => _Z.,n,Hangup()
exten => 110,1,Dial(PJSIP/telekom_63112_out/sip:[email protected],60)
exten => 110,n,Hangup()
exten => 112,1,Dial(PJSIP/telekom_63112_out/sip:[email protected],60)
exten => 112,n,Hangup()
[telekom_63112_in]
include => evening
include => day
[day]
exten => 03089885880,1,Dial(PJSIP/63112,20&PJSIP/6001,20)
exten => 03089885880,n,Goto(03089885880-${DAILSTATUS},1)
exten => 03089885880,n,NoOp(Dial-Status: ${DAILSTATUS})
exten => 03089885880-NOANSWER,n,Playback(Tag)
exten => 03089885880-NOANSWER,n,Playtones(record)
exten => 03089885880-NOANSWER,n,VoiceMail(3112@Diani,s)
exten => 03089885880-BUSY,n,Playback(busy-pls-hold)
exten => 03089885880-ANSWER,n,Hangup()
exten => 03089885880,n,Playback(lTag)
exten => 03089885880,n,VoiceMail(3112@Diani,s)
exten => 03089885880,n,Hangup()
[evening]
exten => 03089885880,1,Dial(PJSIP/63112,2&PJSIP/6001,2)
exten => 03089885880,n,Set(CALLERID=${EXTEN})
exten => 03089885880,n,NoOp(Caller-ID: ${CALLERID})
exten => 03089885880,n,Playback(Closed-Generell)
exten => 03089885880,n,VoiceMail(3112@Diani,s)
exten => 03089885880,n,Hangup()
Bei "telekom_63112_in" wird allerdings immer die erste Include-Anweisung genommen, egal welche Uhrzeit wir haben. Und bei "[day]" hatte ich versucht den DIALSTATUS dazu zu benutzen, um das richtige Verhalten anzusteuern. Das klappt allerdings nicht.
Meine Fragen sind somit:
Wie kann ich Include so nutzen, dass eine Zeitsteuerung möglich wird?
Wie kann ich den Status "BUSY", "CHANUNAVAIL" (nicht angemeldet) so nutzen, dass situationsgesteuertes Verhalten möglich ist?
Ist das bei Asterisk 14 noch genauso möglich wie in dem Asterisk-Buch für 1.4 und 1.6 dargestellt?
Grüße
Diani