「Raspberry Pi Asterisk」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(Raspberry Piの起動とログインと初期設定)
(Raspbianのインストール)
 
(同じ利用者による、間の19版が非表示)
1行目: 1行目:
 +
[[カテゴリ:Asterisk]]
 +
[[カテゴリ:Raspberry Pi]]
 +
 
ラズベリーパイでAsteriskを動かす<br>
 
ラズベリーパイでAsteriskを動かす<br>
若干、要望があるようなので<br>
+
*Raspberry Pi
 +
:https://www.raspberrypi.com/
 +
<br>
 +
内容を刷新しました。Raspberry Pi OSの最新版(2024/08)で書いています。<br>
 +
# 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(旧)]]です。<br>
 
<br>
 
<br>
基本的にDebianと同様にして動かせますので比較的簡単です。ただし、もともとの性能がそんなにないのでコンパイル等はすごく時間がかかります。<br>
+
==Raspberry Pi OSのインストール==
==Raspbianのインストール==
+
Raspberry Pi Imagerを使用して起動用メディアを作成してください。この記事のOSは標準のRaspberry Pi OS(64bit)です。<br>
http://www.raspberrypi.org/downloads<br>
+
ヘッドレスで運用する場合にはImagerの設定でsshログインとユーザ/パスワードの設定をお忘れなく。
ここからRaspbian “wheezy”をダウンロード。イメージをSDカードに書き込む。<br>
+
 
もとのイメージファイル自体は2GBほどなので、それより大きいSDカードがあれば大丈夫。<br>
 
SDカードが/dev/sdbの場合。異なる場合には適宜読み換えてください。
 
dd if=2013-02-09-wheezy-raspbian.img of=/dev/sdb bs=64k
 
書き込みが完了したら Raspberry Piにさし込んで電源を入れるだけ。<br>
 
 
==Raspberry Piの起動とログインと初期設定==
 
==Raspberry Piの起動とログインと初期設定==
他で調べるとHDMIのモニターを用意しろだのUSBキーボード/マウスを用意しろだのとメンドクサイことが書いてありますが、実はネットワーク環境だけあれば大丈夫です。DHCPでIPアドレスが取得できる環境において起動してください。ルータのログとかARPとかでRaspberry PiのIPアドレスをまず調べます。そうするとsshでログインできます。Raspbianのデフォルトのユーザ名は'''pi'''でパスワードは'''raspberry'''です。<br>
+
起動したら初期設定等を行ってください。ロケール設定等をお忘れなく。ディスプレイを使用しない場合にはGUIの無効化も行っておきます。
ログインしたらまず初期設定を行います。<br>
+
apt-get -y update
  sudo raspi-config
+
apt-get -y upgrade
大抵は、おそらくイメージサイズより大きいSDカードを使用していると思われますのでexpand_rootfsでrootfsを拡大しときます。<br>
+
を行ってOSを最新状態に更新しておきます。
Asteriskサーバとして使うのであればビデオメモリはほとんど要らないので、memory_splitでビデオメモリを16MBにします。<br>
+
==IPアドレスの固定化==
GUIで起動されてもじゃまくさいのでboot_behaviourでデスクトップ起動を"No"にします。<br>
+
現在のRaspberry Pi OSでネットワークはNetworkManagerで制御されているため、ファイルを編集するのではなくnmcliで設定を行います。まず現在の接続状態を確認します。
大体、こんなもんでシステムの初期設定は大丈夫なので"Finish"して再起動します。<br>
+
# nmcli con sh
(rasp-configのupdateも後でやっとけばよいのではなかろうか)<br>
+
NAME        UUID                                  TYPE      DEVICE
16GBのSDにインストールすると、こんな感じです。<br>
+
有線接続 1  d4bba967-46b2-3da1-b563-8846388e0acd  ethernet  eth0
  Filesystem      Size Used Avail Use% Mounted on
+
lo          cd6ff902-3ba2-441c-879e-f5daedc78f71  loopback  lo
  rootfs          16G 1.9G  13G 13% /
+
ここでじゃまくさいことが起こります。ロケールを日本語にしていると接続名が『有線接続 1』となっているので、編集する際にこの名前を使わなくてはいけません。以降この名前を使ってもかまわないのですが面倒なので接続名も'eth0'に変更してしまいます。
  /dev/root        16G 1.9G  13G 13% /
+
# nmcli con mod '有線接続 1' connection.id 'eth0'
  devtmpfs        247M    247M  0% /dev
+
# nmcli con sh
  tmpfs            51M 218k  51M  1% /run
+
NAME  UUID                                  TYPE      DEVICE
  tmpfs          5.3M    0 5.3M  0% /run/lock
+
  eth0  d4bba967-46b2-3da1-b563-8846388e0acd  ethernet  eth0
  tmpfs          102M    0 102M  0% /run/shm
+
lo    cd6ff902-3ba2-441c-879e-f5daedc78f71  loopback  lo
  /dev/mmcblk0p1  59M  20M  40M  34% /boot
+
名前を変更するには元の名前を入れなくてはならないので、そこだけはちょっと面倒ですがこれをやっておけば後の設定では eth0 を名前として使うことができます。<br>
 +
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
 +
設定をしたなら再起動して有効化します。ネットワークの再起動だけでもかまいませんが。<br>
 +
念のため確認しておきましょう(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のインストール(ソース)==
Asteriskを最低限コンパイルするのに必要なパッケージが不足しているので追加します。<br>
+
===前提となるパッケージ===
いちいちsudoするのは面倒なので、sudo -s でrootで以下を実行します。<br>
+
基本的にDebianの場合と同じです。まず必要なパッケージを追加します。元から入っているパッケージもあるかもですが気にせず以下を実行します。
  apt-get install ncurses-dev libxml2 libxml2-dev sqlite libsqlite3-dev
+
  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ソースの入手===
以上で"普通に"Asteriskがコンパイルできるはずなので
+
Asterisk 20のソースは以下からダウンロードできます。なお asterisk-20-current.tar.gz が最新バージョンへのシンボリックリンクとなっていますので、これをダウンロードすれば最新バージョンが入手できます。
  ./configure
+
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
を実行してみてください。<br>
+
makeはRaspberry Pi 4でもそこそこ時間がかかります。<br>
[[Asterisk 11]]のページを参考にしてください。
+
<br>
===細かいことは後で書く===
+
後の設定等は普通のAsteriskと同様です。[[Asterisk_20]] のページを参照してください。

2024年8月20日 (火) 13:46時点における最新版


ラズベリーパイで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 のページを参照してください。