Hallo
ich habe hier eine allgemeine Verständnisfrage zur extensions.conf.
Grob gesehen geht es darum:
Der Plan wird in der Regel nach Prioritäten abgearbeitet, außer zum Beispiel, wenn die Gegenstelle aufhängt. In einem solchen Fall wird nicht mehr die nächste Prio abegarbeitet, sondern zur h Extension verzeigt. Was kann ich jedoch machen, wenn ich nicht will, dass die Abarbeitung in einem solchen Fall abgebrochen wird.
Ein Beispiel wäre, wenn ich die Voicemail-funktion selber nachbauen will.
Hier ein zugehöriges Macro (könnte man auch mit GoSub aufrufen)
[macro-voice-mail]
;Schickt eine voicemail
exten => s,1,Answer
exten => s,n,Playback(my-nachricht-email)
exten => s,n,Record(/var/lib/asterisk/sounds/auf%d:wav|4|120|noanswer)
exten => s,n,System(echo "'anruf von <${CALLERID}> fuer ${EXTEN}'" | mutt -s "'voice mail'" -a ${RECORDED_FILE}.wav [email protected] &)
exten => s,n,Playback(my-nachricht-wird-versendet);
exten => s,n,Playback(${RECORDED_FILE});
exten => s,n,Wait(2)
exten => h,1,NoOp(hangup voive-mail)
Hängt hier die Gegenstelle beim Record auf, so wird nach h verzweigt (bei gosub lokal und bei macro zum aufrufer). Der Rest wird leider nicht mehr ausgeführt. Bei der h Extension kann ich den Code auch nicht nochmal reinschreiben. Denn wenn der Hangup später kommt wird der Code zweimal ausgeführt.
Hat jemand eine Ahnung für einen Workarraound oder eine saubere Systemeinstellung?
Danke
Dieter
ich habe hier eine allgemeine Verständnisfrage zur extensions.conf.
Grob gesehen geht es darum:
Der Plan wird in der Regel nach Prioritäten abgearbeitet, außer zum Beispiel, wenn die Gegenstelle aufhängt. In einem solchen Fall wird nicht mehr die nächste Prio abegarbeitet, sondern zur h Extension verzeigt. Was kann ich jedoch machen, wenn ich nicht will, dass die Abarbeitung in einem solchen Fall abgebrochen wird.
Ein Beispiel wäre, wenn ich die Voicemail-funktion selber nachbauen will.
Hier ein zugehöriges Macro (könnte man auch mit GoSub aufrufen)
[macro-voice-mail]
;Schickt eine voicemail
exten => s,1,Answer
exten => s,n,Playback(my-nachricht-email)
exten => s,n,Record(/var/lib/asterisk/sounds/auf%d:wav|4|120|noanswer)
exten => s,n,System(echo "'anruf von <${CALLERID}> fuer ${EXTEN}'" | mutt -s "'voice mail'" -a ${RECORDED_FILE}.wav [email protected] &)
exten => s,n,Playback(my-nachricht-wird-versendet);
exten => s,n,Playback(${RECORDED_FILE});
exten => s,n,Wait(2)
exten => h,1,NoOp(hangup voive-mail)
Hängt hier die Gegenstelle beim Record auf, so wird nach h verzweigt (bei gosub lokal und bei macro zum aufrufer). Der Rest wird leider nicht mehr ausgeführt. Bei der h Extension kann ich den Code auch nicht nochmal reinschreiben. Denn wenn der Hangup später kommt wird der Code zweimal ausgeführt.
Hat jemand eine Ahnung für einen Workarraound oder eine saubere Systemeinstellung?
Danke
Dieter