FreePBX in Raspberry PiでOPUS Codecを使ってみる。
AcrobitsSoftphoneがなかなかG729コーデックに対応してくれないのでためしにOPUSコーデックを入れてみました!
前々からSoftphoneの設定にOPUSという項目があったのですこし気になっていた物のAsteriskでは正式対応していなかったので使えずにそのままに…
ふと、気になって調べてみると…
OPUSは低帯域用の高圧縮コーデックと広帯域用の高音質コーデックをリアルタイムで切り替え出来るものらしい。
6kb/s~512kb/sの帯域にリアルタイム対応可能という最強のコーデックという事が判明!
これは試してみないと!
と、いうことでRasPBXに組み込んでみます。
Asterisk-Opusで検索するとAsterisk用のパッチがいろいろ出てきます。
一番定番なのがAsterisk11.9にパッチを当てる物みたいなのでソレでテストしてみます。
●Apt-getで現在入っているAsteriskをアンインストールします。
sudo apt-get remove asterisk11
この作業をしないとAsteriskが更新された時にApt-get Upgradeで上書きされてOPUSが消えてしまうので注意!
設定ファイルは残しておけばOpus対応Asteriskを入れた時にそのまま使えます。
●必要なパッケージをインストール
apt-get update apt-get install autoconf automake pkg-config apt-get install libncurses5-dev apt-get install uuid-dev apt-get install libjansson-dev apt-get install libxml2-dev apt-get install libsqlite3-dev apt-get install libssl-dev apt-get install libopus-dev
●Asterisk11.9.0をダウンロードして解凍。
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-11.9.0.tar.gz tar zxvf asterisk-11.9.0.tar.gz
●AsteriskにGitで配布されてるOpus対応パッチを当てる。
cd asterisk-11.9.0 wget https://raw.githubusercontent.com/netaskd/asterisk-opus/master/asterisk-11.5.0_opus+vp8.diff patch -p1 -u < asterisk-11.5.0_opus+vp8.diff ./bootstrap.sh ./configure
●AsteriskをMakeしてインストール
make menuselect (日本語音声等を使うときはココで選択。) make make install
MakeにはRaspberry Pi本体でやると2時間程かかるのでのんびり待ちましょう。
これでAsterisk自体はOpusに対応しました。
あとはFreePBX側の設定。
Settings>Asterisk Sip SettingsのOther SIP Settingsに
Allow=opus
を設定すればOK
後はAcrobitsSoftphoneのコーデック設定でOpusを選択すればOpusを使って通話できます。
AcrobitssoftphoneのOpusはNallowband(8K)とWideband(16K)に分かれていますがコレで使用可能になったのはWideBandのみ。
NarroBandの使い方はまだ調べていませんw
試しに内線間(3G経由)で通話してみたところかなり高音質低遅延で素晴らしいCodecだとわかります!
しかし・・・Opusには大きな欠点が・・・
G711とのトランスコードに問題があります。
Fusion回線とのトランスコード時はGSM等使えばどうにかなるんですがひかり電話回線とつなぐとどうしてもトランスコードでエラーを起こしRaspberry PiのCPU使用率は100%に張り付いて音飛びや雑音、大幅な遅延が起きて使い物になりません。
まだまだAsteriskが正式対応しない訳だ・・・
この後Asterisk、Opusのバージョンを変えて試したもののG711とのトランスコード問題は解決せず・・・
このままお蔵入りですね・・・
当方ではFusionのGSMとの変換は安定しているのでG711以外のコーデックに対応している回線を収容して運用している方は試してみてはいかがですか!?
ディスカッション
コメント一覧
まだ、コメントがありません