Raspberry Pi Asterisk

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


ラズベリーパイでAsteriskを動かす

  • Raspberry Pi
https://www.raspberrypi.com/


内容を刷新しました。Raspberry Pi OSの最新版(2024/08)で書いています。

# uname -ra
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

旧記事はRaspberry Pi Asterisk(旧)です。

Raspberry Pi OSのインストール

Raspberry Pi Imagerを使用して起動用メディアを作成してください。この記事のOSは標準のRaspberry Pi OS(64bit)です。
ヘッドレスで運用する場合にはImagerの設定でsshログインとユーザ/パスワードの設定をお忘れなく。

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

起動したら初期設定等を行ってください。ロケール設定等をお忘れなく。ディスプレイを使用しない場合にはGUIの無効化も行っておきます。

apt-get -y update
apt-get -y upgrade

を行ってOSを最新状態に更新しておきます。

IPアドレスの固定化

現在のRaspberry Pi OSでネットワークはNetworkManagerで制御されているため、ファイルを編集するのではなくnmcliで設定を行います。まず現在の接続状態を確認します。

# nmcli con sh
NAME        UUID                                  TYPE      DEVICE
有線接続 1  d4bba967-46b2-3da1-b563-8846388e0acd  ethernet  eth0
lo          cd6ff902-3ba2-441c-879e-f5daedc78f71  loopback  lo

ここでじゃまくさいことが起こります。ロケールを日本語にしていると接続名が『有線接続 1』となっているので、編集する際にこの名前を使わなくてはいけません。以降この名前を使ってもかまわないのですが面倒なので接続名も'eth0'に変更してしまいます。

# nmcli con mod '有線接続 1' connection.id 'eth0'
# nmcli con sh
NAME  UUID                                  TYPE      DEVICE
eth0  d4bba967-46b2-3da1-b563-8846388e0acd  ethernet  eth0
lo    cd6ff902-3ba2-441c-879e-f5daedc78f71  loopback  lo

名前を変更するには元の名前を入れなくてはならないので、そこだけはちょっと面倒ですがこれをやっておけば後の設定では eth0 を名前として使うことができます。
nmcliでの設定は基本がわかれば何ということはありません。ipv4関連の設定は以下の値を修正するだけです(nmcli con show eth0から抜粋)。

ipv4.method:                            auto
ipv4.dns:                               --
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         --
ipv4.gateway:                           --
ipv4.routes:                            --

以下の例のようにIPアドレス、DNS、ゲートウェイを設定します。

nmcli con mod eth0 ipv4.address 192.168.200.10/24
nmcli con mod eth0 ipv4.method manual
nmcli con mod eth0 ipv4.dns 8.8.8.8
nmcli con mod eth0 ipv4.gateway 192.168.200.1

設定をしたなら再起動して有効化します。ネットワークの再起動だけでもかまいませんが。
念のため確認しておきましょう(nmcli con show eth0から抜粋)。

ipv4.method:                            manual
ipv4.dns:                               8.8.8.8
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.200.10/24
ipv4.gateway:                           192.168.200.1
---
IP4.ADDRESS[1]:                         192.168.200.10/24
IP4.GATEWAY:                            192.168.200.1
IP4.ROUTE[1]:                           dst = 192.168.200.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.200.1, mt = 100
IP4.DNS[1]:                             8.8.8.8

Asteriskのインストール(ソース)

前提となるパッケージ

基本的にDebianの場合と同じです。まず必要なパッケージを追加します。元から入っているパッケージもあるかもですが気にせず以下を実行します。

apt -y install build-essential libedit-dev uuid-dev libxml2-dev ncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev

Asteriskソースの入手

Asterisk 20のソースは以下からダウンロードできます。なお asterisk-20-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。

http://downloads.asterisk.org/pub/telephony/asterisk/

展開するディレクトリはどこでもかまいませんが、ここでは/usr/src/とします。

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz

入手したら展開しておきます。展開すると現在のAsteriskのバージョンのディレクトリに展開されます。以降の作業は、展開したサブディレクトリで行います。

# tar zxvf asterisk-20-current.tar.gz
# cd asterisk-20.x.x

コンパイル

普通にconfigure,makeで行えます。

./configure --with-jansson-bundled
make

makeはRaspberry Pi 4でもそこそこ時間がかかります。

後の設定等は普通のAsteriskと同様です。Asterisk_20 のページを参照してください。