RasPi2 Asterisk

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を組み込んでいこうと思う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA