Raspberry Pi Asterisk(旧)

提供: VoIP-Info.jp
移動先: 案内検索

ラズベリーパイでAsteriskを動かす
若干、要望があるようなので

基本的にDebianと同様にして動かせますので比較的簡単です。ただし、もともとの性能がそんなにないのでコンパイル等はすごく時間がかかります。

Raspbianのインストール

http://www.raspberrypi.org/downloads
ここからRaspbian “wheezy”をダウンロード。イメージをSDカードに書き込む。
もとのイメージファイル自体は2GBほどなので、それより大きいSDカードがあれば大丈夫。
SDカードが/dev/sdbの場合。異なる場合には適宜読み換えてください。

dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdb bs=64k

書き込みが完了したら Raspberry Piにさし込んで電源を入れるだけ。

Raspberry Piの起動とログインと初期設定

他で調べるとHDMIのモニターを用意しろだのUSBキーボード/マウスを用意しろだのとメンドクサイことが書いてありますが、実はネットワーク環境だけあれば大丈夫です。DHCPでIPアドレスが取得できる環境において起動してください。ルータのログとかARPとかでRaspberry PiのIPアドレスをまず調べます。そうするとsshでログインできます(ちなみにMACベンダーコードはB8:27:EBでRaspberry Pi Foundationに割当てられてます)。Raspbianのデフォルトのユーザ名はpiでパスワードはraspberryです。
ログインしたらまず初期設定を行います。

sudo raspi-config

大抵は、おそらくイメージサイズより大きいSDカードを使用していると思われますのでexpand_rootfsでrootfsを拡大しときます。
Asteriskサーバとして使うのであればビデオメモリはほとんど要らないので、memory_splitでビデオメモリを16MBにします。
GUIで起動されてもじゃまくさいのでboot_behaviourでデスクトップ起動を"No"にします。
大体、こんなもんでシステムの初期設定は大丈夫なので"Finish"して再起動します。
(rasp-configのupdateも後でやっとけばよいのではなかろうか)
16GBのSDにインストールすると、こんな感じです。

Filesystem      Size  Used Avail Use% Mounted on
rootfs           16G  1.9G   13G  13% /
/dev/root        16G  1.9G   13G  13% /
devtmpfs        247M     0  247M   0% /dev
tmpfs            51M  218k   51M   1% /run
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs           102M     0  102M   0% /run/shm
/dev/mmcblk0p1   59M   20M   40M  34% /boot

不足しているパッケージの追加

Asteriskを最低限コンパイルするのに必要なパッケージが不足しているので追加します。
いちいちsudoするのは面倒なので、sudo -s でrootで以下を実行します。

apt-get install ncurses-dev libxml2 libxml2-dev sqlite libsqlite3-dev libssl-dev

UUID

Asterisk 11以降、uuidを必要とするバージョンでは以下も追加します。

apt-get install uuid uuid-runtime uuid-dev

JSON

Asterisk 13以降、JSONを必要とするバージョンでは以下も追加します。

apt-get install libjansson4 libjansson-dev

PJSIPを使う場合

apt-get install libpjsip-simple2 libpjsip-ua2 libpjsip2 libpjproject-dev libsrtp-dev srtp-utils

MP3を使う場合

そのままではSubversionが入っていないので失敗するため

apt-get install subversion

Asteriskのコンパイル

以上で"普通に"Asteriskがコンパイルできるはずなので

./configure
make

を実行してみてください。
Asterisk 11のページを参考にしてください。

細かいことは後で書く