古いブラウザを使用しています。 より速く、より安全なブラウジング体験をお求めなら、今すぐ無料でアップグレードしてください。

Loading...

AsteriskNowにiLBCコーデックを追加する

VoIP over 3Gするには、g729aコーデックか、iLBCコーデックが適している。 g729aコーデックは簡単に導入できるが、iLBCコーデックは少し難しいのでメモしておく。 RPMパッケージを作って入れました。 メモなのでほぼコマンドのみです。(見る人が見ればわかるはず・・・。) Source RPMを入れる。 cd /usr/local/src wget http://packages.asterisk.org/centos/5/current/SRPMS/asterisk16-1.6.2.19-1_centos5.src.rpm rpm -Uvh asterisk16-1.6.2.19-1_centos5.src.rpm iLBCのソースをDLして、ビルド用の差分パッチを作る。 cd /usr/src/redhat/BUILD tar xvzf ../SOURCES/asterisk16-sources-1.6.2.19.tar.gz cp -a asterisk16-1.6.2.19 asterisk16-1.6.2.19-ilbcpatch cd asterisk16-1.6.2.19-ilbcpatch cat contrib/scripts/get_ilbc_source.sh wget -q -O - http://www.ilbcfreeware.org/documentation/extract-cfile.awk | tr -d '\r' > codecs/ilbc/extract-cfile.awk wget -P codecs/ilbc http://www.ietf.org/rfc/rfc3951.txt (cd codecs/ilbc && awk -f extract-cfile.awk rfc3951.txt) cd .. diff -uNr asterisk16-1.6.2.19/codecs/ilbc asterisk16-1.6.2.19-ilbcpatch/codecs/ilbc > ../SOURCES/ast16-ilbc-codec.patch ソースをとっておく cd ../BUILD/ mv asterisk16-1.6.2.19 asterisk16-1.6.2.19-dist specファイルを編集する cd /usr/src/redhat/SPECS/ cp asterisk16.spec asterisk16.spec-dist vi asterisk16.spec 差分は以下の通り --- asterisk16.spec-dist 2011-07-14 13:37:53.000000000 +0900 +++ asterisk16.spec 2011-07-14 13:41:53.000000000 +0900 @@ -49,6 +49,7 @@ Patch2: voicemail-splitopts.patch Patch3: voicemail-splitopts-odbcstorage.patch Patch4: voicemail-splitopts-imapstorage.patch +Patch10: ast16-ilbc-codec.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root URL: http://www.asterisk.org Vendor: Digium, Inc. @@ -332,6 +333,26 @@ %endif # +# ilbc subpackage +# +%{?_without_ilbc:%if 0} +%{!?_without_ilbc:%if 1} +%package ilbc +Summary: ilbc codec module for Asterisk +Group: Utilities/System +Provides: asterisk-ilbc +Provides: asterisk%{astapi}-ilbc +#Obsoletes: asterisk-ilbc +#BuildRequires: ilbc-devel +#Requires: ilbc +Requires: %{name}-core = %{actversion}-%{release} + +%description ilbc +Asterisk format plugin for the ilbc codec +%endif + + +# # Speex subpackage # %{?_without_speex:%if 0} @@ -501,6 +522,7 @@ %endif %patch2 -p0 +%patch10 -p1 ################################################################### # @@ -520,6 +542,7 @@ echo "MENUSELECT_CORE_SOUNDS=-CORE-SOUNDS-EN-GSM" > menuselect.makeopts.defaults echo "MENUSELECT_MOH=-MOH-OPSOUND-WAV" >> menuselect.makeopts.defaults make USER_MAKEOPTS="menuselect.makeopts.defaults %{?_without_optimizations:menuselect.makeopts.defaults-debug}" menuselect.makeopts +perl -pi -e "s/MENUSELECT_CODECS=codec_ilbc/MENUSELECT_CODECS=/g" menuselect.makeopts make %{makeflags} 2> err mv err %{name}-sources-%{version}-%{release}.make.err mv %{name}-sources-%{version}-%{release}.make.err /var/log/ @@ -1064,6 +1087,16 @@ %endif # +# ilbc Subpackage +# +%{?_without_ilbc:%if 0} +%{!?_without_ilbc:%if 1} +%files ilbc +%defattr(-, root, root) +%{_libdir}/asterisk/modules/codec_ilbc.so +%endif + +# # Speex Subpackage # %{?_without_speex:%if 0} ビルドする rpmbuild --without odbc --without speex -ba asterisk16.spec RPMを入れ替え cd /usr/src/redhat/RPMS/i386/ rpm -e asterisk16-voicemail asterisk16 asterisk16-core asterisk16-doc asterisk16-dahdi asterisk16-ilbc asterisk16-addons-core asterisk16-addons-bluetooth asterisk16-addons-mysql asterisk16-addons-ooh323 asterisk16-addons rpm -Uvh asterisk16-voicemail-1.6.2.19-1_centos5.i386.rpm asterisk16-dahdi-1.6.2.19-1_centos5.i386.rpm asterisk16-1.6.2.19-1_centos5.i386.rpm asterisk16-core-1.6.2.19-1_centos5.i386.rpm asterisk16-ilbc-1.6.2.19-1_centos5.i386.rpm asterisk16-doc-1.6.2.19-1_centos5.i386.rpm Asteriskの再起動 service asterisk stop killall -9 asterisk service asterisk start