Voicemail vom Benutzer ein/ausschalten

nitram8

Neuer User
Mitglied seit
10 Jul 2005
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Kann der Benutzer den Anrufbeantworter in Asterisk vom Telefon aus/einschalten oder muss dazu jedesmal der Dialplan geändert werden?

Danke für Hilfe

Nitram
 
relativ einfach: Du mußt dafür sorgen, daß der User von seinem Telefon aus ein entsprechendes Flag setzt, das in der Asterisk-internen Datenbank gespeichert wird. DIeses Flag wertest Du im Dialplan aus und verzweigst dann entweder in die die VM oder eben nicht. Problem dürfte wohl werden, daß die meisten User vergessen, den Status wieder zu ändern.
 
Wie kann ich denn ein Flag setzen? Müßte man dazu ein Menu schreiben oder eine spezielle Extension vorsehen, womit ein globale Variable gesetzt wird? Oder gibt es eine einfachere Lösung?

Nitram
 
Eine globale Variable hilft Dir nicht weiter - deshalb sagte ich ausdrücklich "asterisk interne Datenbank" :rolleyes:

Das prinzipielle Vorgehen habe ich vor langer Zeit schon hier im Forum beschrieben und erklärt, als ein anderer User etwas ähnliches haben wollte.
 
Danke, das ist wohl der für mich noch etwas weite Weg zu Lösung.

Auf dieses Thema bin ich allerdings bei der Suche im Forum nach "Voicemail ausschalten, etc...." nicht gestoßen.

Nitram
 
Das war seinerzeit auch nicht für das Beispiel "Voicemail ausschalten" beschrieben - obwohl das damit natürlich auch realisierbar ist. Bißchen overkill - ok. Für Deine Anwendung brauchst Du lediglich eine extension die das Flag setzt und eine zweite, die es wieder löscht. Und im Dialplan dann einfach das Flag aus der Datenbank auslesen und entsprechend verzweigen.

Insgesamt maximal 10 Zeilen im Dialplan.

Wenn es mal 10 Grad kühler ist, schreib ich vielleicht mal ein Beispiel.
 
Der nächste Winter kommt bestimmt. Ein Beispiel würde mir wirklich helfen.

Nitram
 
Nagut, fangen wir mal an. Ich habe das o.g. Beispiel verwendet. Ich will Dir das hier nur prinzipiell erklären. Inzwischen hat sich die Syntax bei der Verwendung der internen Datenbank geändert - aber das kannst Du dann ja selbst anpassen.

Zuerst brauchen wir eine Möglichkeit, rufnummernbezogen die VM ein- bzw. auszuschalten. Das machen wir in einem Context, den wir dann mit include einbinden können. Im Beispiel dient *90 dazu, VM auszuschalten, mit *91 wird eingeschaltet.

Code:
[vmstatus]
;*90 VM ausschalten
exten => *90,1,DBdel(vmstat/${CALLERIDNUM})
exten => *90,n,Congestion
exten => *90,n,Hangup

;*91 VM einschalten
exten => *91,1,DBput(vmstat/${CALLERIDNUM}=1)
exten => *91,n,Congestion
exten => *91,n,Hangup

Nun müssen wir das im Dialplan noch auswerten: (Fortsetzung folgt)

Hierzu bräuchte ich mal bitte den Ausschnitt aus Deinem Dialplan, indem Du die Nebenstellen einbindest und die VM aufrufst. Dann kann ich Dir das in Deiner Konfiguration gleich anpassen.
 
Hallo,

hier der Ausschnitt aus dem Dialplan. Der ist allerdings noch eine ziemliche Baustelle.

Code:
; ------ Capi in ---------------------------------------------
[incoming-capi]
;-->  Eingang  von capi.conf
;include => default
include => disa-phones
include => capi-mailbox20
include => capi-mailbox22
include => capi

[capi]
exten => _2x,1,wait,1
exten => _2x,2,hangup

[capi-mailbox20]
exten => 20,1,Ringing()
exten => 20,2,SetLanguage(de)
exten => 20,3,Wait(30)
exten => 20,4,VoiceMail(20)
exten => 20,5,PlayBack(vm-goodbye)
exten => 20,6,Hangup()

[capi-mailbox22]
exten => 22,1,Ringing()
exten => 22,2,SetLanguage(de)
exten => 22,3,Wait(5)
exten => 22,4,VoiceMail(22)
exten => 22,5,PlayBack(vm-goodbye)
exten => 22,6,Hangup()

;-------- Utilities ------------------------------------------

[mailboxen-abfragen]
exten => 89,1,answer
exten => 89,2,Wait(1)
exten => 89,3,VoicemailMain
exten => 89,4,Hangup()

[mailbox-20]
exten => **20,1,answer
exten => **20,2,Wait(1)
exten => **20,3,VoicemailMain,s20
;exten => **20,3,VoicemailMail,s$(calleridnum)
; --> geht nicht (ev. wg. DISA ??)
exten => **20,4,Hangup()

[code]
 
Kostenlos!

Statistik des Forums

Themen
248,887
Beiträge
2,303,981
Mitglieder
378,566
Neuestes Mitglied
draco777