Also
So sieht es aus:
Das macht im großen und ganzen das was ich will: Nämlich, wenn keiner rangeht, den Anrufbeantworter starten.
Nur dumm das mein Asterisk an einer ISDN-Anlage hängt.
Das führt nämlich dazu, dass wenn gerade der suppaccountno1 nicht eingeloggt ist, sofort der Anrufbeantworter drangeht. (Anstatt den "alten" echten Telefonen die an der Telefonanlage hängen noch eine Chance zu geben ranzugehen.)
Ich muss also in meiner Konfiguration jetzt noch irgendwie überprüfen, ob der Anrufer das CHANUNAVAIL bekommen hat weil der SIP-Benutzer gerade seinen Rechner aus hat oder weil er einfach nicht rangegangen ist.
Ich habe mir gedacht, dass ich am einfachsten ganz zu Beginn prüfe, ob der sipaccountno1 gerade eingeloggt ist, und dann entweder 55 s warte (während die Telefone an der Anlage weiter klingeln) und der AB-rangeht oder ich es 55 s bei sipaccountno1 klingeln lasse und dann der AB rangeht.
Nur: Wie überprüfe ich, ob der Account eingeloggt ist. Irgendwie bin ich aus der Befehlsliste für den Wählplan nicht schlau geworden.
Oder gibt es noch bessere Lösungen? (Das es z.B. beim sipaccountno1 innerhalb der 55 s Warterei anfängt zu klingeln, falls er sich genau in dieser Zeitspanne entschließt sich einzuloggen.)
Grüeß
Genbian
So sieht es aus:
Code:
[macro-stdexten];
;
; Standard extension macro:
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;
exten => s,1,Dial(${ARG2},55) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
;exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start;nö besser auflegen
exten => s-NOANSWER,2,Hangup
exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
;exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start ;nö besser auflegen
exten => s-BUSY,2,Hangup
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[isdn-in]
exten => s,1,Macro(stdexten,56,SIP/sipaccountno1)
Das macht im großen und ganzen das was ich will: Nämlich, wenn keiner rangeht, den Anrufbeantworter starten.
Nur dumm das mein Asterisk an einer ISDN-Anlage hängt.
Das führt nämlich dazu, dass wenn gerade der suppaccountno1 nicht eingeloggt ist, sofort der Anrufbeantworter drangeht. (Anstatt den "alten" echten Telefonen die an der Telefonanlage hängen noch eine Chance zu geben ranzugehen.)
Ich muss also in meiner Konfiguration jetzt noch irgendwie überprüfen, ob der Anrufer das CHANUNAVAIL bekommen hat weil der SIP-Benutzer gerade seinen Rechner aus hat oder weil er einfach nicht rangegangen ist.
Ich habe mir gedacht, dass ich am einfachsten ganz zu Beginn prüfe, ob der sipaccountno1 gerade eingeloggt ist, und dann entweder 55 s warte (während die Telefone an der Anlage weiter klingeln) und der AB-rangeht oder ich es 55 s bei sipaccountno1 klingeln lasse und dann der AB rangeht.
Nur: Wie überprüfe ich, ob der Account eingeloggt ist. Irgendwie bin ich aus der Befehlsliste für den Wählplan nicht schlau geworden.
Oder gibt es noch bessere Lösungen? (Das es z.B. beim sipaccountno1 innerhalb der 55 s Warterei anfängt zu klingeln, falls er sich genau in dieser Zeitspanne entschließt sich einzuloggen.)
Grüeß
Genbian