; Text-To-Speech related macros ; These all follow common actions. First try to playback a file "tts/custom-md5" ; where "md5" is the md5() of whatever is going to be played. If that doesn't exist, ; try to playback using macro-tts-sayXXXXX (where XXXXX is text/digits/etc, same as ; the macro below). If that macro exits with MACRO_OFFSET=100, then it's done, ; therwise, fallback to the default asterisk method. ; [macro-saytext] exten => s,1,Noop(Trying custom SayText playback for "${ARG1}") exten => s,n,Playback(tts/custom-${MD5(${ARG1})}) exten => s,n,GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) ; call tts-saytext. This should set MACRO_OFFSET=101 if it was successful exten => s,n(tts),Macro(tts-saytext|${ARG1}|${ARG2}|${ARG3}) exten => s,n,Noop(No text-to-speech handler for SayText, cannot say "${ARG1}") exten => s,n,Goto(done) exten => s,tts+101,Noop(tts handled saytext) [macro-sayname] exten => s,1,Noop(Trying custom SayName playback for "${ARG1}") exten => s,n,Playback(tts/custom-${MD5(${ARG1})}) exten => s,n,GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) ; call tts-sayalpha. This should set MACRO_OFFSET=101 if it was successful exten => s,n(tts),Macro(tts-sayalpha|${ARG1}|${ARG2}|${ARG3}) exten => s,n,SayAlpha(${ARG1}) exten => s,n,Goto(done) exten => s,tts+101,Noop(tts handled sayname) [macro-saynumber] exten => s,1,Noop(Trying custom SayNumber playback for "${ARG1}") exten => s,n,Playback(tts/custom-${MD5(${ARG1})}) exten => s,n,GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) ; call tts-saynumber. This should set MACRO_OFFSET=101 if it was successful exten => s,n(tts),Macro(tts-saynumber|${ARG1}|${ARG2}|${ARG3}) exten => s,n,SayNumber(${ARG1}) exten => s,n,Goto(done) exten => s,tts+101,Noop(tts handled saynumber) [macro-saydigits] exten => s,1,Noop(Trying custom SayDigits playback for "${ARG1}") exten => s,n,Playback(tts/custom-${MD5(${ARG1})}) exten => s,n,GotoIf($["${PLAYBACKSTATUS}"="SUCCESS"]?done) ; call tts-saydigits. This should set MACRO_OFFSET=101 if it was successful exten => s,n(tts),Macro(tts-saydigits|${ARG1}|${ARG2}|${ARG3}) exten => s,n,SayDigits(${ARG1}) exten => s,n,Goto(done) exten => s,tts+101,Noop(tts handled saydigits)