QUOIT Blog

【やってみた】RasPBXでお手軽内線電話

技術ネタの統一感が全然ないのですが、興味の向くままやってます。
前から興味のあったAsteriskですが、RaspberryPiでお手軽にできるとの情報を見て作ってみました。

※基本的に、クローズドな内線電話として使う想定ですので、セキュリティ面への考慮はあんまりしてません。
※参考文献はこちら。

Documentation | Asterisk for Raspberry Pi(公式)
RasPBXの導入(概要と準備) – Qiita
RasPBXの導入(内線通話ができるまで) – Qiita

 
使ったのはこちら。

RasPBX

ディスクイメージがあるので、それを焼いて使います。
今回は手元に余ってたRaspberryPi 1 Model Bで挑戦です。
 
焼き方は雑に書きますが、

  1. 8GのSDカードをSD Formatterでフォーマット
  2. 上記サイトからダウンロードしてきたイメージをWin32 Disk Imagerで焼く
  3. RaspberryPiで起動

…という流れ。
デフォルトユーザーは「pi」ではなく「root」。
パスワードはおなじみ「raspberry」。

 

※以下、DHCPでインターネットに接続できている前提で進めます。

 

起動したら、まずはパーティションの拡張。
raspi-config で、「Advanced Options」>「Expand FileSystem」を選択します。

〜再起動〜

次に、諸々アップデートをしていきます。

# rpi-update
# raspbx-upgrade
# apt-get update
# apt-get upgrade

見慣れないのは「raspbx-upgrade」ですね。
こいつはかなり時間がかかりました。

続いて、公式ドキュメントに従って進めていきます。

SSHキーの再生成
regen-hostkeys

タイムゾーンの設定
configure-timezone

ロケールの設定
dpkg-reconfigure locales

キーボードの設定(SSHだけならいらない)
dpkg-reconfigure keyboard-configuration

 

次に、IPを固定したほうが使いやすいので、固定します。

vi /etc/dhcpcd.conf

interface eth0
static ip_address=192.168.0.10
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

※アドレスは適当ですので適宜読み替え
※この先もインターネットに接続できている前提で進みます。

〜再起動〜

固定したIPにブラウザからアクセスすると、管理画面にアクセスできるようになります。
Adminのユーザー/パスワードは両方とも「admin」。
これで、管理画面から色々設定できます。
管理画面の日本語化はお好みですが、下記からできます。

 

上部メニュー「Settings」>「Advanced Settings」をクリック。
「GUI Behavior」の項「Show Language setting」の「Yes」をクリック。
画面右下「Submit」をクリック。
そうすると画面右上に言語メニューが出て来るので、プルダウンから「ja_JP」を選択。

 

次はモジュールのアップデート。
これは結構時間がかかります。
また、一度では全部が終わらないので何度かアップデートを実行することになります。

「Admin(アドミン)」>「Module Admin(モジュール管理)」を選択。
「Check Online(更新確認)」を選択すると、アップデートをチェックしてくれる。
「Upgrade All(全てアップグレード)」をクリックしたあと、「Process(進む)」をクリック。

この手順を繰り返します。
また、「FreePBX Framework」など、いくつかの項目は、
モジュール管理の画面から個別に開いてアップデートする必要があります。

 

また、もしNATの設定を必要とする場合は /etc/asterisk/sip.conf に「nat=yes」を記述しておきます。

最後に、RasPBXを再起動しておきましょう。

〜再起動〜

 

全部終わったら、いよいよ内線電話のユーザーを作成します。

「Applications(アプリケーション)」>「Extensions(内線)」をクリック。
「Chan_SIP Extensions(Chan_SIP内線)」のタブを選択。
「Add New Chan_SIP Extensions(新しいChan_SIP内線を追加)」をクリック。
 

「User Extension(ユーザー内線)」に内線番号を入力する。
「Display Name(ディスプレイ名)」に適当な名前を入力する(内線番号と同じでもいい)。
「Secret」にユーザーのパスワードを入力する。
「Link to Default User(デフォルトユーザと連動する。)」を「None(なし)」にする。
「(送信)」ボタンをクリック。

送信ボタンをクリックしたのですが、ここまでではまだ変更が適用されていません。
適用するには、画面右上にある赤いボタン「Apply Config(設定適用)」を押します。
これで、準備が整いました。
最後に、端末の設定です。


 

端末はiPhoneとAndroidを用意しました。

使ったアプリは「AGEphone」。

iPhone版はこちら

Android版はこちら

シンプルなアプリです。

「ドメイン」にRasPBXのIPアドレス、

「ユーザID」「パスワード」に管理画面で設定した内容を入れます。

「完了」ボタンを押して少し待つと、サーバに登録され、コール準備が整います。

 

ダイヤルから、相手の番号を押して見ると、無事繋がりました。

 

うまく動かないときは、RasPBXを再起動してみてください。
また、同じユーザーを使いまわしていると動作がおかしくなります。
ユーザーの端末登録情報がキャッシュされているようなので、
新しい端末を使うときは新しいユーザーを作ったほうが無難かもしれません。

 

色々駆け足でやってみましたが、
かなり短時間で内線電話を構築することができました。

 

専門ではないので、ツッコミどころが色々あると思います。
コメントにてやさしいツッコミをお待ちしております。
やさしいツッコミを。

Comments are closed.