Raspberry PiでPBXとFAXの構築

投稿 2024/05/31 (金) 午後 04:48 | パソコン | hotall

何かに使えそうなものだと思って、つい買ってしまう。
そんなことが度々あります。
それは、大概、使い道が決まらず、箪笥の肥やしになってしまいます。

先日、山積した部品箱を整理していると、赤い木苺のマークがついた未開封のパッケージが出てきました。
あー・・・。




もう何年も前、DIYのイベント会場で、特別価格で売られていたラズベリーパイ3 ModelB。衝動的に欲しくなり、目的もないまま買ってしまったものです。
最新のラズベリーパイのバージョンは5にまで達していますので、今となっては旧式となってしまいました。

さて、これをどうしたものかと思い、使い道を色々思案しましたが、これというものが浮かばず、取りあえず目のつくところに置いて置くことにしました。

携帯電話が日常の通話機器となり、固定電話を使う機会が減りましたが、これを止めてしまうまでにはなりません。
私の固定電話はFAXと留守電機能が付いています。FAXは使う機会が減りましたが、たまに相手側からの要望で使うこともあります。

しかしながら、内臓プリンタのインクヘッドが壊れていまい、交換部品も手に入らなくなった現在、この大きな電話機は留守番電話としてしか使っていません。
FAXが必要な場合は、その都度、パソコンと電話機をアナログモデムで繋いでいるのです。

ふと、ラズベリーパイを目の前にして、「そうだ、これを使って電話システムを構築しよう」と思い立ちました。

Linuxプラットフォーム上で動作するPBXとして、Asteriskというオープンソースのソフトウェアがあります。
またFAX機能として、Hylafaxという、同じくオープンソースのソフトウェアがあります。
今回、これらを使ってシステムを構築します。
この文書は個人的なものであり、内容について一切の責任を負いかねます。



機器構成



RV-230SE
フレッツ光・ひかり電話のモデム・ルーター。
ネットワークルーティングはRTX-830で行うため、ブリッジ機能に設定。

RTX-830
屋内LANネットワークのルーター。
プロバイダーへの接続を行います。
VPNでリモート機器から接続

PA-WX7800T8
無線LAN親機。
ルーター機能は使わず、ブリッジ/APモードに設定。

RaspberryPi3ModelB
今回主役のワンボードマイコン。
PBX、FAXサーバーとして使用します。
SIPクライアントとの通信は、標準イーサネットポートを使用します。
ひかり電話SIPサーバーとの通信は、USB接続されたGU-1000Tイーサネットアダプタを使用。

GU-1000T
RV-230SE内のひかり電話SIPサーバーと通信するためのイーサーネットアダプタ。
眠っていた古い機器を活用。

KX-UT123N
固定電話として使用するSIPクライアント。
携帯をSIPクライアントとして使用するが、Androidのディープスリープ問題などがあるので、安定して電話を受けることができる有線・固定SIPクライアント電話を設置。
中古品を購入。

Andoroidスマートフォン
SIPクライアントソフトをインストールして電話子機として使用します。
屋内ではWiFiでLANと接続し、屋外ではVPN経由でLANと接続します。
これにより屋外での着信・発信や子機同士で内線通話ができます。

RaspberryPiソフトウェア構成



ufw
OS標準のパケットフィルタ"iptabales"のフロントエンド。

Fail2Ban
ログを監視し、エラー検出時に通信を遮断。

sSMTP
留守番電話やFAXの送受信の通知メールを送信。

asterisk
PBX機能を実現するソフト

IAXmodem
asteriskが受信した音声データをアナログモデムデバイスのインターフェースでラップします。
hylafaxはこのインターフェースを使ってasteriskと音声データのやり取りをします。

hylafax
FAXの送受信を行うサーバーソフト。



■ RaspberryPiでPBXとFAXの構築 - 目次 -
  1. ▶構成
  2. ひかり電話RV-230SEの設定
  3. OSのセットアップ
  4. LANアダプタの接続
  5. ユーティリティのセットアップ
  6. PBXのセットアップ
  7. ソフトウェアモデムのセットアップ
  8. FAXのセットアップ
  9. 自動再起動
  10. ステータスLEDの接続
  11. ケースに収納・設置
  12. トラブルと対応
  13. 迷惑電話対策
« PrevNext »

コメント

コメントはありません。

コメントする