自らのスキルアップと同時に、それがそのまま音質の向上に繋がります。
これはやっていて非常に楽しいです♪
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)
    
こんにちは。まだ良くわかっていない部分があるので教えてください。我が家はヒカリ電話ではなく、ケーブルTV電話なので「ヒカリ電話を持ち歩く」ことは出来ないのですがそのケーブルNETを利用したブラステル固定電話を持ち歩くことは「Raspberry Pi」にインストールした「Asterisk」が有れば可能ということでよいのでしょうか?やはり、スマホにインストールしたIP電話と固定電話化したものと比べると遅延がかなり違うようなので・・・・これが出来て遅延緩和できるならキャリア契約辞めようと思っております。
返信削除soulさん
返信削除ブラステルをAsteriskに収容して、それをスマホから利用するということはできるはずです。
しかし、これでどれほど遅延が改善するのか、もしくは悪化するのか。
この検証は行ったことがありません。
理論的に考えると遅延は悪化するはずです。
しかし、通信経路が短縮されればこの限りではありません。
これは、お使いのプロバイダ(CATV)によって変わってくるかと思います。
理屈だけでは語れないので、試してみたら本当に遅延は改善するかもしれません。
なお、それ以外にも利点はあります。
3G/LTE回線網での使用時に、好きなコーデックが使えるようになります。
私としては遅延の改善よりも、こちらのほうがメリットが大きいように思えます。