自らのスキルアップと同時に、それがそのまま音質の向上に繋がります。
これはやっていて非常に楽しいです♪
AsteriskでIP-PBXを構築する上で、障壁となりそうなことを備忘録として残します。
大まかですが、以下のようなことです。
なお、これは本当に私用のメモです。
わかりやすく書いているわけではないので、参考にされる方がいたらごめんなさい。
【 「Raspberry Pi(B+と2B)」にインストールした「Asterisk」に「G.729a」を対応させる(無料) 】
Raspberry PiはARM系CPUのため、バイナリ配布型のG729aが使えない。
そのため、専用コンパイラを用いて、G729をインストールする。
さらに、本来有料であるはずのG729はこれで無料となる。(ロイヤリティフリーのものを使う。)
●「Raspberry Pi B+」編
Asteriskインストール後
apt-get install dh-autoreconf
cd /tmp
<bcg729のインストール>
wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz
tar xzf bcg729-1.0.0.tar.gz
cd bcg729-1.0.0
./configure --libdir=/lib
make
make install
<G729のインストール>
cd ..
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.2.tar.bz2
tar xjf asterisk-g72x-1.2.tar.bz2
cd asterisk-g72x-1.2
./autogen.sh
./configure --with-bcg729
make
make install
asterisk -vvvvr
core restart gracefully
●「Raspberry Pi 2B」編
Asteriskインストール後
apt-get install dh-autoreconf
cd /tmp
<bcg729のインストール>
wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.0.tar.gz
tar xzf bcg729-1.0.0.tar.gz
cd bcg729-1.0.0
./configure --libdir=/lib
make
make install
<G729のインストール>
cd ..
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.2.tar.bz2
tar xjf asterisk-g72x-1.2.tar.bz2
cd asterisk-g72x-1.2
./autogen.sh
./configure --with-bcg729
出来上がった「Makefile」を編集する
205行目「-march=」を「-march=armv7-a」に編集
make
make install
asterisk -vvvvr
core restart gracefully
【 Asterisk11で3Gモデム(Chan_dongle)を使う 】
<Asterisk11のインストール>
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.16.0.tar.gz
(11.16.0にした理由は、11系のひかり電話対応パッチ導入可能な最終Verのため。)
tar zxvf asterisk-11.16.0.tar.gz
cd asterisk-11.16.0
./contrib/scripts/install_prereq install
(Windowが出てきたら「81」を入力) ※30分ぐらい時間がかかるかも。
./bootstrap.sh
./configure
make
make install
make samples
make config
<Asterisk11対応Chan_dongleのインストール>
cd /usr/src
wget https://github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip
unzip asterisk11.zip
cd asterisk-chan-dongle-asterisk11
aclocal
autoconf
automake -a
./configure
make
make install
cp etc/dongle.conf /etc/asterisk/
【 Asterisk12で3Gモデム(Chan_dongle)を使う(失敗) 】
<Asterisk12のインストール>
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-12.8.1.tar.gz
tar zxvf asterisk-12.8.1.tar.gz
cd asterisk-12.8.1
(Windowが出てきたら「81」を入力) ※30分ぐらい時間がかかる。
./bootstrap.sh
./configure
make
make install
make samples
make config
<Asterisk12対応Chan_dongleのインストール>
cd /usr/src
wget https://github.com/superles/chan-dongle-asterisk12/archive/master.zip
unzip master.zip
cd chan-dongle-asterisk12-master
aclocal
autoconf
automake -a
./configure
make
make install
cp etc/dongle.conf /etc/asterisk/
通話不可
【 Asterisk13で3Gモデム(Chan_dongle)を使う(失敗) 】
Asterisk12と基本的なやり方は同じ。
chan_dongleは作者によって2つ存在する。
が、そのどちらも未完成に思える。もしくはARM系に対応していないか(?)
以下からダウンロード可能。
novaktmp氏作
https://forum.openwrt.org/viewtopic.php?id=54343
rusxakep(Mikhail Baykov)氏作
https://github.com/rusxakep/asterisk-chan-dongle/tree/asterisk13
【 ひかり電話対応パッチを当てる 】
Asterisk1.8系と11系でそれぞれパッチ適用可能な最終バージョンを検討する。
say.cとapp_voicemail.cはついで。
<ひかり電話対応最終バージョン(Asterisk1.8)>
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.8.27.0.tar.gz
tar xzvf asterisk-1.8.27.0.tar.gz
cd asterisk-1.8.27.0
wget http://ftp.voip-info.jp/asterisk/patch/local/1.8/channels/chan_sip.rt200ne.110205-01.patch
wget http://ftp.voip-info.jp/asterisk/patch/1.8.20.1/say.c.101025-01.patch
wget http://ftp.voip-info.jp/asterisk/patch/1.8.20.1/app_voicemail.c.101025-01.patch
patch -p0 < chan_sip.rt200ne.110205-01.patch ←なんか出ても「y」で。
patch -p0 < say.c.101025-01.patch
patch -p0 < app_voicemail.c.101025-01.patch
<ひかり電話対応最終バージョン(Asterisk11)>
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.16.0.tar.gz
tar xzvf asterisk-11.16.0.tar.gz
cd asterisk-11.16.0
wget http://ftp.voip-info.jp/asterisk/patch/local/11/channels/chan_sip_rt200ne.141204-01.patch
wget http://ftp.voip-info.jp/asterisk/patch/11.13.0/say.c.121107-01.patch
wget http://ftp.voip-info.jp/asterisk/patch/11.13.0/app_voicemail.c.121107-01.patch
patch -p0 < chan_sip_rt200ne.141204-01.patch ←なんか出ても「y」で。
patch -p0 < say.c.121107-01.patch
patch -p0 < app_voicemail.c.121107-01.patch
【 AsteriskにBluetoothケータイを直接収容する(Chan_mobile) 】
Asteriskインストール時に「make menuselect」よりChan_mobileは有効にしておく。
BTドングル 挿す
apt-get install bluetooth bluez libbluetooth-dev bluez-utils blueman
ラズパイに挿したBTドングル情報の確認
hcitool dev
Devices:
hci0 00:19:86:00:08:**
周辺のBTデバイスのスキャン
hcitool scan
Scanning ...
A0:DD:E5:42:DB:** WS027SH
AC:9E:17:09:CF:** Nexus Player
ペアリング
bluez-simple-agent hci0 A0:DD:E5:42:DB:**
これがラズパイが接続しに行くコマンド
接続に失敗することが多々あるが粘る
hciconfig hci0 piscan
bluetooth-agent 0000
こっちがラズパイが接続待ちになるコマンド
Ctrl+zで待受状態脱出
/etc/init.d/bluetooth restart
ペリングしたBTデバイスと自動接続
bluez-test-device trusted A0:DD:E5:42:DB:** yes
bluez-test-input connect A0:DD:E5:42:DB:**
chan_mobileの設定
nano /etc/asterisk/chan_mobile.conf
[adapter]
id=WS027SH
address=A0:DD:E5:42:DB:**
【 Asteriskの日本語音声対応 】
自動応答させる際などに使う。(IVR)
nano /etc/asterisk/asterisk.conf
languageprefix = yesのコメントアウトを外す。
sip.confに以下追加
[general]
language=ja
cd /tmp
wget http://ftp.voip-info.jp/asterisk/sounds/1_6/asterisk-sound-jp_16_pre.tar.gz
tar xzvf asterisk-sound-jp_16_pre.tar.gz
・Asterisk1.8
mv ja/ /usr/share/asterisk/sounds/
・Asterisk11
mv ja/ /var/lib/asterisk/sounds/
【 擬似ビジー音と切断音の導入 】
これは結構重用。
内線通話ではビジー及び切断が非常にわかりにくいため、これを擬似的に自分で鳴らしてしまう。
「プーップーップー・・・・プツ」ってやつ。
・Asterisk1.8
cd /usr/share/asterisk/sounds/ja
・Asterisk11以降
cd /var/lib/asterisk/sounds/ja
wget https://sites.google.com/site/azukarijo2/busy-sound.gsm
wget https://sites.google.com/site/azukarijo2/disconnect-sound.gsm
extensions.confに、鳴らしたい場所で以下のように記載。
(「_0.」のところは適宜変更)
(例)
exten => _0.,n,Playback(busy-sound)
exten => _0.,n,Playback(disconnect-sound)