apt-get でインストールしたasterisk 1.8.13.1には日本語音声は含まれていません。
よって、asteriskをmakeします。もっと簡単な方法があると思うのですが、とりあえず定石通りにmakeのみ行います。
asteriskのsourceを取ってくる。
バージョンは、1.8.13.1
$ cd ~ $ mkdir src $ cd src $ wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.8.13.1.tar.gz $ tar zxvf asterisk-1.8.13.1.tar.gz $ cd asterisk-1.8.13.1 $ ./bootstrap.sh
autoconfが無いと怒られたので、apt-getで入れる。
$ sudo apt-get install autoconf パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: automake autotools-dev m4 提案パッケージ: autoconf2.13 autoconf-archive gnu-standards autoconf-doc libtool 以下のパッケージが新たにインストールされます: autoconf automake autotools-dev m4 アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 0 個。 1,516 kB のアーカイブを取得する必要があります。 この操作後に追加で 4,053 kB のディスク容量が消費されます。 続行しますか [Y/n]? Y
autoconfが入ったので、もう一度 bootstrapを走らせます。
$ ./bootstrap.sh $ ./configure
次は、libxml2-devが無いと怒られたので、apt-getで入れる。
$ sudo apt-get install libxml2-dev $ ./configure configure: Menuselect build configuration successfully completed .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnueabi configure: Host CPU : armv7l configure: build-cpu:vendor:os: armv7l : unknown : linux-gnueabi : configure: host-cpu:vendor:os: armv7l : unknown : linux-gnueabi :
ようやくconfigureまで通ったので、make menuselectでg729を使いたいのと、日本語音声ファイルが入るように設定する。
$ make menuselect 日本語音声ファイルが入ってないので、最新版を落とし直す。
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.32.3.tar.gz $ tar zxvf asterisk-1.8.32.3.tar.gz $ cd asterisk-1.8.32.3 $ ./bootstrap.sh $ ./configure $ make menuselect -j6 ---> Core Sound Packages [*] CORE-SOUNDS-JA-ULAW [ ] CORE-SOUNDS-JA-ALAW [*] CORE-SOUNDS-JA-GSM [*] CORE-SOUNDS-JA-G729 [*] CORE-SOUNDS-JA-G722 ---> Music On Hold File Packages [*] MOH-OPSOUND-WAV [*] MOH-OPSOUND-ULAW [ ] MOH-OPSOUND-ALAW [*] MOH-OPSOUND-GSM [*] MOH-OPSOUND-G729 [*] MOH-OPSOUND-G722
このあたりを選択しておく。メニューから抜けるとき、「s」を押さないと反映されないよ。
MoHでmp3も今後使いたいと思うので、get_mp3_source.shを走らせておく。
ソースディレクトリを一度削除し、tar.gzを再解凍後、get_mp3_source.shを走らせてから、./bootstrap , ./confgiure , make menuconfig , makeしなおした。
$ apt-get install subversion パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: libapr1 libaprutil1 libserf1 libsvn1 提案パッケージ: subversion-tools db5.1-util 以下のパッケージが新たにインストールされます: libapr1 libaprutil1 libserf1 libsvn1 subversion アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。 2,505 kB のアーカイブを取得する必要があります。 この操作後に追加で 6,717 kB のディスク容量が消費されます。 続行しますか [Y/n]? Y $ ./contrib/scripts/get_mp3_source.sh A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c リビジョン 202 をエクスポートしました。
いよいよmakeする。
$ make -j6 $ sudo /etc/init.d/asterisk stop $ sudo make install $ sudo /etc/init.d/asterisk start
新バージョンに置き換わっていると思うので、確認する。
# sudo asterisk -vvvvvr Asterisk 1.8.32.3, Copyright (C) 1999 - 2013 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 1.8.32.3 currently running on rastest (pid = 19121) Verbosity is at least 7
ちゃんと新しいバーションに変わっています。
CLIでいろいろ見てみます。
*CLI> reload *CLI> module show Module Description Use Count res_ael_share.so share-able code for AEL 0 res_stun_monitor.so STUN Network Monitor 0 res_monitor.so Call Monitoring Resource 0 res_smdi.so Simplified Message Desk Interface (SMDI) 0 res_speech.so Generic Speech Recognition API 0 res_fax.so Generic FAX Applications 0 res_calendar.so Asterisk Calendar integration 0 res_agi.so Asterisk Gateway Interface (AGI) 1 res_musiconhold.so Music On Hold Resource 0 app_confbridge.so Conference Bridge Application 0 app_minivm.so Mini VoiceMail (A minimal Voicemail e-ma 0 app_read.so Read Variable Application 0 app_sms.so SMS/PSTN handler 0 format_wav_gsm.so Microsoft WAV format (Proprietary GSM) 0 cdr_syslog.so Customizable syslog CDR Backend 0 app_morsecode.so Morse code 0 app_followme.so Find-Me/Follow-Me Application 0 func_version.so Get Asterisk Version/Build Info 0 chan_local.so Local Proxy Channel (Note: used internal 0 chan_agent.so Agent Proxy Channel 0 app_softhangup.so Hangs up the requested channel 0 app_macro.so Extension Macros 0 func_sha1.so SHA-1 computation dialplan function 0 res_limit.so Resource limits 0 func_callcompletion.so Call Control Configuration Function 0 func_uri.so URI encode/decode dialplan functions 0 res_rtp_multicast.so Multicast RTP Engine 0 format_h264.so Raw H.264 data 0 bridge_simple.so Simple two channel bridging module 0 app_festival.so Simple Festival Interface 0 app_alarmreceiver.so Alarm Receiver for Asterisk 0 app_talkdetect.so Playback with Talk Detection 0 func_md5.so MD5 digest dialplan functions 0 app_readexten.so Read and evaluate extension validity 0 res_phoneprov.so HTTP Phone Provisioning 0 func_sysinfo.so System information related functions 0 bridge_softmix.so Multi-party software based channel mixin 0 func_enum.so ENUM related dialplan functions 0 codec_alaw.so A-law Coder/Decoder 0 app_dial.so Dialing Application 0 cdr_custom.so Customizable Comma Separated Values CDR 0 app_sayunixtime.so Say time 0 codec_ilbc.so iLBC Coder/Decoder 0 app_privacy.so Require phone number to be entered, if n 0 app_playtones.so Playtones Application 0 chan_bridge.so Bridge Interaction Channel 0 app_milliwatt.so Digital Milliwatt (mu-law) Test Applicat 0 func_db.so Database (astdb) related dialplan functi 0 app_authenticate.so Authentication Application 0 func_vmcount.so Indicator for whether a voice mailbox ha 0 pbx_spool.so Outgoing Spool Support 0 app_exec.so Executes dialplan applications 0 app_directory.so Extension Directory 0 res_clialiases.so CLI Aliases 0 format_sln.so Raw Signed Linear Audio support (SLN) 0 func_lock.so Dialplan mutexes 0 app_test.so Interface Test Application 0 pbx_loopback.so Loopback Switch 0 app_stack.so Dialplan subroutines (Gosub, Return, etc 0 res_adsi.so ADSI Resource 0 app_getcpeid.so Get ADSI CPE ID 0 chan_unistim.so UNISTIM Protocol (USTM) 0 app_image.so Image Transmission Application 0 codec_a_mu.so A-law and Mulaw direct Coder/Decoder 0 func_pitchshift.so Audio Effects Dialplan Functions 0 func_realtime.so Read/Write/Store/Destroy values from a R 0 app_speech_utils.so Dialplan Speech Applications 0 app_record.so Trivial Record Application 0 codec_lpc10.so LPC10 2.4kbps Coder/Decoder 0 app_nbscat.so Silly NBS Stream Application 0 app_disa.so DISA (Direct Inward System Access) Appli 0 app_userevent.so Custom User Event Application 0 format_gsm.so Raw GSM data 0 format_vox.so Dialogic VOX (ADPCM) File Format 0 func_shell.so Collects the output generated by a comma 0 format_sln16.so Raw Signed Linear 16KHz Audio support (S 0 app_meetme.so MeetMe conference bridge 0 res_timing_timerfd.so Timerfd Timing Interface 0 app_while.so While Loops and Conditional Execution 0 res_timing_dahdi.so DAHDI Timing Interface 0 format_siren14.so ITU G.722.1 Annex C (Siren14, licensed f 0 app_transfer.so Transfers a caller to another extension 0 chan_oss.so OSS Console Channel Driver 0 func_sprintf.so SPRINTF dialplan function 0 chan_multicast_rtp.so Multicast RTP Paging Channel 0 func_blacklist.so Look up Caller*ID name/number from black 0 app_zapateller.so Block Telemarketers with Special Informa 0 cdr_csv.so Comma Separated Values CDR Backend 0 app_externalivr.so External IVR Interface Application 0 app_dahdibarge.so Barge in on DAHDI channel application 0 codec_ulaw.so mu-Law Coder/Decoder 0 app_playback.so Sound File Playback Application 0 app_system.so Generic System() application 0 cdr_manager.so Asterisk Manager Interface CDR Backend 0 app_dictate.so Virtual Dictation Machine 0 app_db.so Database Access Functions 0 func_iconv.so Charset conversions 0 app_celgenuserevent.so Generate an User-Defined CEL event 0 app_cdr.so Tell Asterisk to not maintain a CDR for 0 codec_dahdi.so Generic DAHDI Transcoder Codec Translato 0 func_callerid.so Party ID related dialplan functions (Cal 0 format_siren7.so ITU G.722.1 (Siren7, licensed from Polyc 0 app_page.so Page Multiple Phones 0 res_realtime.so Realtime Data Lookup/Rewrite 0 app_waituntil.so Wait until specified time 0 format_g719.so ITU G.719 0 app_adsiprog.so Asterisk ADSI Programming Application 0 func_rand.so Random number dialplan function 0 bridge_multiplexed.so Multiplexed two channel bridging module 0 app_ices.so Encode and Stream via icecast and ices 0 chan_dahdi.so DAHDI Telephony Driver 0 app_queue.so True Call Queueing 0 app_mixmonitor.so Mixed Audio Monitoring Application 0 app_directed_pickup.so Directed Call Pickup Application 0 app_amd.so Answering Machine Detection Application 0 codec_gsm.so GSM Coder/Decoder 0 app_verbose.so Send verbose output 0 res_rtp_asterisk.so Asterisk RTP Stack 0 func_global.so Variable dialplan functions 0 func_base64.so base64 encode/decode dialplan functions 0 res_convert.so File format conversion CLI command 0 app_senddtmf.so Send DTMF digits Application 0 app_sendtext.so Send Text Applications 0 func_timeout.so Channel timeout dialplan functions 0 app_url.so Send URL Applications 0 func_cdr.so Call Detail Record (CDR) dialplan functi 0 app_setcallerid.so Set CallerID Presentation Application 0 func_srv.so SRV related dialplan functions 0 format_g729.so Raw G.729 data 0 format_g723.so G.723.1 Simple Timestamp File Format 0 format_g726.so Raw G.726 (16/24/32/40kbps) data 0 pbx_config.so Text Extension Configuration 0 func_devstate.so Gets or sets a device state in the dialp 0 app_dumpchan.so Dump Info About The Calling Channel 0 app_channelredirect.so Redirects a given channel to a dialplan 0 app_waitforring.so Waits until first ring after time 0 func_cut.so Cut out information from a string 0 func_dialgroup.so Dialgroup dialplan function 0 func_logic.so Logical dialplan functions 0 app_mp3.so Silly MP3 Application 0 chan_phone.so Linux Telephony API Support 0 format_jpeg.so jpeg (joint picture experts group) image 0 format_pcm.so Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G. 0 func_config.so Asterisk configuration file variable acc 0 codec_g726.so ITU G.726-32kbps G726 Transcoder 0 codec_adpcm.so Adaptive Differential PCM Coder/Decoder 0 func_groupcount.so Channel group dialplan functions 0 app_originate.so Originate call 0 func_strings.so String handling dialplan functions 0 app_readfile.so Stores output of file into a variable 0 res_timing_pthread.so pthread Timing Interface 0 app_dahdiras.so DAHDI ISDN Remote Access Server 0 func_math.so Mathematical dialplan function 0 func_env.so Environment/filesystem dialplan function 0 func_volume.so Technology independent volume control 0 func_audiohookinherit.so Audiohook inheritance function 0 app_chanspy.so Listen to the audio of an active channel 0 app_chanisavail.so Check channel availability 0 res_clioriginate.so Call origination and redirection from th 0 bridge_builtin_features.so Built in bridging features 1 app_waitforsilence.so Wait For Silence 0 pbx_ael.so Asterisk Extension Language Compiler 0 app_flash.so Flash channel application 0 format_ilbc.so Raw iLBC data 0 chan_skinny.so Skinny Client Control Protocol (Skinny) 0 pbx_realtime.so Realtime Switch 0 app_voicemail.so Comedian Mail (Voicemail System) 0 func_module.so Checks if Asterisk module is loaded in m 0 format_wav.so Microsoft WAV/WAV16 format (8kHz/16kHz S 0 func_dialplan.so Dialplan Context/Extension/Priority Chec 0 res_security_log.so Security Event Logging 0 app_controlplayback.so Control Playback Application 0 res_mutestream.so Mute audio stream resources 0 app_forkcdr.so Fork The CDR into 2 separate entities 0 codec_g722.so ITU G.722-64kbps G722 Transcoder 0 func_extstate.so Gets an extension's state in the dialpla 0 func_channel.so Channel information dialplan functions 0 cel_custom.so Customizable Comma Separated Values CEL 0 cel_manager.so Asterisk Manager Interface CEL Backend 0 func_frame_trace.so Frame Trace for internal ast_frame debug 0 app_parkandannounce.so Call Parking and Announce Application 0 app_echo.so Simple Echo Application 0 format_h263.so Raw H.263 data 0 183 modules loaded
183ものモジュールが読み込まれていますね。
次は、g729 codecを組み込んでいこうと思う。