4,721
回編集
差分
→Asteriskマクロの作成
==Asteriskマクロの作成==
次のようなマクロをつくる
;AquesTalkPiによる音声合成用マクロ
[macro-AquesTalkPi]
exten => s,1,NoOp(AquesTalkPi)
exten => s,n,Set(ID=${CHANNEL})
exten => s,n,Set(FN=${CUT(ID,/,2)})
exten => s,n,Set(FN=/tmp/${FN}) exten => s,n,Set(CHANNEL(hangup_handler_push)=atp-rm-hdlr,s,1(${FN})); exten => s,n,System(/usr/lib/asterisk/atp/AquesTalkPi ${ARG1} > /tmp/${FN}.wav) exten => s,n(loop),Playback(/tmp/${FN}) exten => s,n,GotoIf($["${PLAYBACKSTATUS}"="FAILED"]?endm) exten => s,n,System(rm -f /tmp/${FN}.wav) exten => s,n,Set(CHANNEL(hangup_handler_pop)=); exten => s,n(endm),MacroExit ;AquesTalkPi ファイル削除用ハンドラ [atp-rm-hdlr] exten => s,1,System(rm -f ${ARG1}.wav) exten => s,n,Return()乱暴なので注意。テクノロジ/チャネル(e.g. SIP/phone-1)のよううな形なら問題ないが/が複数入るタイプは要変更。<BR>再生中に回線断した場合に音声ファイルを削除するように修正。
==使い方==
とても簡単