この記事の最終更新日: 2025年5月4日
本記事では、OSS PBX「Asterisk」を活用し、Webブラウザから通話できるIP電話環境を構築する際に押さえておきたい基礎知識をまとめました。Asteriskの概要からWebRTC対応、サーバー要件、インストール・設定手順、セキュリティ対策までを包括的に解説します。

1. Asteriskとは何か
Asteriskは電話交換機(PBX)の機能をソフトウェアで実現する、オープンソースのフレームワークです。 Asteriskを導入すると、通常のコンピュータをIP PBXサーバーやVoIPゲートウェイ、会議サーバーなどに変身させられます。 Digium(現Sangoma)が1999年に開発し、GPLv2ライセンスで提供されており、世界中の企業や官公庁で利用されています。
PBXとは?
PBX(Private Branch Exchange)とは、企業や組織内部で電話回線を管理するシステムです。社内内線や外線通話の接続を自動で行う機能を持ちます。AsteriskはソフトウェアPBXとして動作します。
2. Web IP電話環境への対応
2.1 ブラウザ通話(WebRTC)の導入
AsteriskはWebSocket経由でのWebRTCクライアント接続に対応しており、TLS暗号化されたWSS(ポート443)を推奨しています。 ブラウザ側では自己署名証明書でも動作しますが、運用ではLet’s Encrypt等の正式な証明書利用が推奨されています。
2.2 NAT越えの仕組み(STUN/TURN)
NAT(Network Address Translation)環境下で通信する際、外部からの直接接続を可能にするためにSTUNを利用し、自身のグローバルIP/ポートを取得します。 STUNで接続が確立できない場合は、TURNサーバー経由でメディア(音声・映像)を中継し、ファイアウォール越えを実現します。
3. サーバー要件とOS選定
3.1 推奨ハードウェア
中小規模環境では、仮想化も含めた2〜4コアCPU、4〜8GBメモリを目安にすると良いでしょう。 高負荷環境(音声会議や大量同時着信)ではよりリソースを増強してください。
3.2 対応OS
Asteriskは主にLinux(Debian, Ubuntu, CentOS 等)で利用されますが、FreeBSDやmacOSにも対応しています。 多くの実績があるUbuntuやCentOSを選択するのが無難です。
4. インストール前の準備
4.1 依存ライブラリのインストール
Ubuntu 22系の場合、ビルドに必要なツールやライブラリを以下のコマンドで用意します(root権限またはsudo必須)。
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget build-essential subversion libnewt-dev libssl-dev libncurses5-dev uuid-dev libjansson-dev libxml2-dev
4.2 install_prereqスクリプト活用
Asteriskソース内の contrib/scripts/install_prereq install
を実行すると、必要な追加パッケージが自動インストールされます。
5. Asteriskのビルドとインストール
- ソースコード取得・解凍:
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz tar xvf asterisk-20-current.tar.gz cd asterisk-20*/
- 依存関係インストール:
contrib/scripts/install_prereq install
- コンパイル設定・メニュー選択:
./configure make menuselect
- ビルド・インストール:
make && sudo make install && sudo make samples && sudo make config
6. セキュリティ対策と運用
6.1 ベストプラクティス
- 定期的なアップデートとパッチ適用を徹底する。
- 不要サービス・ポートを閉じ、ファイアウォールでSIP(5060/5061)とWSS(443)のみ許可する。
- fail2ban等でブルートフォース攻撃を検知・遮断する。
- アクセス制限: 特定IPからのみ接続を許可し、VPN利用も検討する。
6.2 TLS通信の必須化
- SIP TLS (5061) と WSS (443) を強制し、平文通信を禁止します。
- Let’s Encrypt等で証明書を自動更新し、常に信頼できる認証を維持しましょう。
7. まとめ
Asteriskは自由度が高く、WebRTC対応もあり、WebブラウザベースのIP電話環境構築に最適です。
事前準備で依存ライブラリを整え、セキュリティベストプラクティスを守ることで、安全かつ安定した運用が可能になります。
ぜひ本手順を参考に、自社環境や開発環境でAsteriskの導入を進めてください。
用語解説
WebRTCとは?
WebRTC(Web Real-Time Communication)とは、ブラウザ同士で直接音声・映像・データ通信を行うためのオープンな技術仕様です。専用アプリ不要で、ブラウザのみで通話やビデオ会議が可能になります。
GPLv2とは?
GPLv2(GNU General Public License version 2)は、オープンソースソフトウェアのライセンスの一種であり、ソースコードを公開し、改変や再配布を許可することを義務付けています。Asteriskもこのライセンスに従っています。
VoIPゲートウェイとは?
VoIPゲートウェイとは、従来のアナログ電話網(PSTN)とインターネット上の音声通信(VoIP)を相互接続するための装置・ソフトウェアです。Asteriskはこの役割も果たせます。
参考リンク(出典)
- https://www.asterisk.org/get-started/
- https://en.wikipedia.org/wiki/Asterisk_%28PBX%29
- https://docs.asterisk.org/Configuration/WebRTC/Configuring-Asterisk-for-WebRTC-Clients/
- https://docs.asterisk.org/Getting-Started/Installing-Asterisk/Installing-Asterisk-From-Source/Prerequisites/Checking-Asterisk-Requirements/
- https://reintech.io/blog/setting-up-asterisk-voip-server-ubuntu-22
- https://hotkey404.com/installing-asterisk-20-from-source-on-ubuntu-23-10/
- https://github.com/asterisk/asterisk/blob/master/README-SERIOUSLY.bestpractices.md
- https://www.asteriskservice.com/blog/best-practices-for-securing-your-asterisk-pbx/
- https://community.asterisk.org/t/server-hardening-security-best-practices-in-2025/106539

大阪のエンジニアが書いているブログ。
コメント