[Problem] Record Funktion / Versand der Nachricht

crasher-mike

Neuer User
Mitglied seit
1 Okt 2010
Beiträge
32
Punkte für Reaktionen
0
Punkte
0
Hallo, ich möchte eine Voicemail mit einer individuellen Ansage erstellen. Im Anschluss (nachdem der Anrufende aufgelegt hat) soll die Nachricht versendet werden. Leider wird die Nachricht nur dann versendet, wenn die Aufnahme mit # beendet wird. Legt der Anfrufende nach dem Besprechen der Voicemail einfach auf, wird die Datei nicht versendet - der Befehl wird laut Console nicht einmal ausgeführt :

;TEST VoiceRecorder
exten => 778,1,Answer()
exten => 778,n,Wait(1)
exten => 778,n,Playback(welcomemsg)
exten => 778,n,Record(/voicemails/voicemail%d:wav)
exten => 778,n,TrySystem(echo ${CALLERID(num)} | /usr/bin/mutt -F /root/.muttrc -s \"test\" [email protected] -a ${RECORDED_FILE}.wav
exten => 778,n,Hangup()

Auf http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+Record habe ich gelesen :

"Recording stops when the specified silence or maxduration is reached, when the '#' key is pressed, or when the channel is hung up. "

Sollte das mit o.g. config denn funktionieren oder ist da noch ein Denkfehler ?


edit :
lege ich auf wird in der Konsole gelogged :

== Spawn extension (macro-voicemail, s, 4) exited non-zero on 'SIP/1800-000001ed' in macro 'voicemail

Das File wird allerdings erstellt. Wie kann ich Asterisk denn dazu bringen trotz des Auflegens die Zeile mit dem Versenden der Mail abzuarbeiten ? Habe gerade einmal testweite ein Macro erstellt. Leider schafft das keine Abhilfe.
 
Zuletzt bearbeitet:
Aus meiner Sicht musst Du die Abarbeitung in der h extension machen, ansonsten wird Dein Kontext bei Hangup einfach abebrochen.

Unbeschadet dessen würde ich Dir aber dennoch raten für diesen Zweck das Standard Voicemail System (voicemail.conf) zu nutzen. Das kann all das schon out of the box. Auch individuelle Ansagen lassen sich leicht abbilden durch entsprechendes ersetzen der wavs in /var/spool/asterisk/voicemail/default/<mailbox>
 
Und warum verwendest du nicht das voicemail System?
 
Da sich die Funktion dieser Mailbox grundlegend von allen anderen unterscheidet und ich lediglich eine Playback, Record und TrySystem Funktion benötige, wollte ich das gern so umsetzen. Vor das Versenden der Mail möchte ich noch eine SQL Abfrage setzen, deren Ergebnis ich in dem Body der Mail verwenden möchte - zumal ich mich mit der voicemail.conf noch nicht auseinandergesetzt habe und mir das so leichter umsetzbar erschien.

So funktionierts nun. Danke.

[voicemail2l]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(welcomemsg)
exten => s,n,Record(/voicemails/voicemail%d:wav)
exten => h,1,TrySystem(echo ${CALLERID(num)} | /usr/bin/mutt -F /root/.muttrc -s \"test\" [email protected] -a ${RECORDED_FILE}.wav)
exten => h,n,Hangup()
 
Zuletzt bearbeitet:
Das kannst du auch mit voicemail machen, aber wenn du das nur mit dialplan machen moechtest ist das dir ueberlassen.

P.S. loeschen des files nicht vergessen
 
Kostenlos!

Statistik des Forums

Themen
248,886
Beiträge
2,303,952
Mitglieder
378,564
Neuestes Mitglied
warumdas