日本語の音声ファイルを使用して留守番電話応答させる
設定手順
サンプル用の音声ファイルを以下のサイトからダウンロードする(1.6系のものだが 1.8系のasteriskでも使用できた)
[root@asterisk ~]# cd [root@asterisk ~]# wget ftp://ftp.voip-info.jp/asterisk/sounds/1_6/asterisk-sound-jp_16_pre.tar.gz
サンプル用の音声データを以下のディレクトリに移動させて展開する
[root@asterisk ~]# mv asterisk-sound-jp_16_pre.tar.gz /usr/share/asterisk/sounds [root@asterisk ~]# tar xzvf asterisk-sound-jp_16_pre.tar.gz
asterisk.confの内容を以下の用に変更する。( /usr/share/asterisk/sounds/ja/ というディレクトリを見に行く設定)
[root@asterisk ~]# vi /etc/asterisk/asterisk.conf [options] ;languageprefix = yes ; Use the new sound prefix path syntax. languageprefix = yes ; Use the new sound prefix path syntax.
sip.confの内容を以下の用に変更する。( /usr/share/asterisk/sounds/ja/ というディレクトリを見に行く設定。jpではなく jaなので注意する事)
この設定を入れると、/usr/share/asterisk/sounds/en/ 以下のファイルは見に行かなくなる
[root@asterisk ~]# vi /etc/asterisk/sip.conf [general] ;language=en ; Default language setting for all users/peers language=ja
extensions.confの内容を以下の用に変更する
[ivr-menu] exten => s,1,Set(CNT=1) exten => s,n,Ringing() exten => s,n,Wait(3) exten => s,n,Answer() exten => s,n,Wait(5) exten => s,n(rtry),Background(vm-intro) exten => s,n,WaitExten(10) exten => s,n,GotoIf($[${CNT} >= 3]?s,exits:s,loops) exten => s,n(loops),Set(CNT=$[${CNT} + 1]) exten => s,n,Goto(s,rtry) exten => s,n(exits),playback(vm-sorry) exten => s,n,Wait(10) exten => s,n,Hangup() exten => s,n,Congestion() [default] exten => 12345,1,Goto(ivr-menu,s,1)
以下のようなスクリプトでasteriskの再起動
[root@asterisk ~]# cat ~/asterisk_restart #!/bin/bash kill `cat /var/run/asterisk/asterisk.pid` sleep 3s asterisk -U asterisk -G asterisk [root@asterisk ~]# ~/asterisk_restart
SIPクライアントから 12345 にコールしてみると日本語で音声が再生された