テクノロジーガイド

Asterisk を初めての PBX としてインストールする方法

3 min read PBX 更新されました 28 Sep 2025
Asteriskで初めてのPBXを構築する手順
Asteriskで初めてのPBXを構築する手順

概要

Asterisk: オープンソースの電話交換ソフトウェア。1行定義: SIP/RTP を用いて音声通話を実現するソフトPBXです。用途は小規模オフィスの内線から大規模ゲートウェイまで幅広く使えます。

重要: 本手順はソースからのビルドを想定しています。ディストリビューションのパッケージ版やコンテナ化された配布(例: Docker イメージ)を使う代替方法もあります。

主要な用語(1行定義)

  • SIP: セッション初期化プロトコル。音声通話の呼制御に使います。
  • RTP: 実際の音声ストリームを運ぶプロトコル。
  • ダイヤルプラン: Asterisk 内で発信/着信をどう処理するかを書くルールセット。

前提条件

  • カーネル: 2.6 以上(ヘッダーファイルが必要)。
  • ビルドツール: gcc や make 等のコンパイラ環境。
  • ライブラリ: termcap 相当、OpenSSL 等。追加モジュール(asterisk-addons)を使う場合は MySQL のヘッダ/クライアントが必要。
  • ネットワーク: 公開 SIP トランクを使う場合は固定グローバルIPまたは適切な NAT 設定。

注意: 使用する Linux ディストリビューションによりパッケージ名が異なります。Debian/Ubuntu 系なら build-essential、libssl-dev、libncurses5-dev、libmysqlclient-dev 等が必要です。RHEL/CentOS 系は対応する -devel パッケージをインストールしてください。

ダウンロードするファイル(例)

  1. Zaptel
  2. libpri
  3. asterisk
  4. asterisk-sounds
  5. asterisk-addons

手順では /usr/src/ にすべての tar.gz を置いた前提で進めます。

インストール手順(ソースから)

以下は元の手順をそのまま残します。ファイル名は例です。実際のバージョンは最新のものを使ってください。

  1. tar -xzf zaptel-1.4.12.1.tar.gz
  2. tar -xzf libpri-1.4.9.tar.gz
  3. tar -xzf asterisk-1.4.20.tar.gz
  4. tar -xzf asterisk-sounds-1.2.1.tar.gz
  5. tar -xzf asterisk-addons-1.4.7.tar.gz
  6. cd zaptel-1.4.12.1
  7. ./configure
  8. make
  9. make install
  10. make config
  11. service zaptel start
  12. cd ..
  13. cd libpri-1.4.9
  14. make
  15. make install
  16. cd ..
  17. cd asterisk-1.4.20
  18. ./configure
  19. make
  20. make install
  21. make samples
  22. make config
  23. cd ..
  24. cd asterisk-sounds
  25. make install
  26. cd ..
  27. cd asterisk-addons-1.4.7
  28. ./configure
  29. make
  30. make install
  31. service asterisk start

注記: 上記の手順が成功すれば Asterisk サーバがインストールされ、起動されます。

最初の SIP 内線を作る

/etc/asterisk/sip.conf に以下を追加してください。テンプレートと内線定義を使っています。

[common](!) ; this is template.
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

[1000](common)
username=1000
secret=1000

[1001](common)
username=1001
secret=1001

[1002](common)
username=1002
secret=1002

[1003](common)
username=1003
secret=1003

[1004](common)
username=1004
secret=1004

上記で 1000〜1004 の5つの内線を作成しました。X-Lite、Cisco SIP 電話、ATA など任意の SIP クライアントを登録できます。接続できない場合はファイアウォールや NAT 設定を確認してください。

重要: 初期セットアップ時は iptables/ufw 等を一時的に緩め、動作確認後に必要なポート(5060 UDP/TCP、RTP 範囲 UDP)だけ開放する運用に切り替えましょう。

最初のダイヤルプランを作る

/etc/asterisk/extension.conf を開き、内線同士が通話できるように次を追加します。

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})

この設定で、4桁の内線番号に対して SIP 内線同士の通話が可能になります。

最初の SIP トランクを作る(発着信)

外線を発着信するには SIP トランク提供者(プロバイダ)が必要です。プロバイダの IP やドメインを host に設定し、パブリックIP または適切な NAT 設定を用意します。

/etc/asterisk/sip.conf に次を追記します( を実際のプロバイダIPやドメインに置換してください)。

[trunk]
type=friend
context=internal
host=
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

更新後の sip.conf は次のようになります(抜粋):

[common](!) ; this is template.
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

[1000](common)
username=1000
secret=1000

[1001](common)
username=1001
secret=1001

[1002](common)
username=1002
secret=1002

[1003](common)
username=1003
secret=1003

[1004](common)
username=1004
secret=1004

[trunk]
type=friend
context=internal
host=
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

/ etc / asterisk / extension.conf にアウトバウンドルールを追加します。

exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

最終的に extension.conf は次のようになります。

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})
exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

これで外線発信(指定したパターンにマッチする番号)を SIP トランク経由で行えます。

テストケースと受け入れ基準

受け入れ基準

  • Asterisk サービスが正常に起動する。
  • 内線 1000 から 1001 に発信して声が届く。
  • プロバイダ経由での発信・着信が成功する。
  • RTP ストリームに遅延・大きなパケット損失がなく通話品質が確保される。

簡単なテスト手順

  1. sip show peers を実行して内線が登録されているか確認する。
  2. core show channels で通話中のチャネルを確認する。
  3. 外線へ発信し、着信側で音声が聞こえるか確認する。

運用チェックリスト(役割別)

管理者

  • ソフトウェアバージョンとセキュリティパッチを定期適用
  • バックアップ: /etc/asterisk と重要ログの定期バックアップ ネットワーク担当
  • NAT とポートフォワーディングの正当性チェック
  • RTP ポートレンジの開放と QoS 設定 セキュリティ担当
  • SIP 認証情報の複雑化と定期変更
  • fail2ban や SIP ブロックルールの導入

セキュリティ強化のヒント

  • 実運用では UDP 5060 をそのまま公開しない。TLS + SRTP を使って信号とメディアを暗号化する(対応クライアント/プロバイダが必要)。
  • 管理用インタフェース(Web GUI 等)がある場合は管理ポートを限定IPからのみアクセス可能にする。
  • 強力なパスワード、アカウントロックアウト、failed login 対応ツールを導入する。

トラブルシューティング

  • 登録できない: asterisk -rvvv でコンソールを立ち上げ、sip debug を有効にしてシグナリングを確認する。
  • 音声が聞こえない(片方向のみ): RTP のポート開放、NAT 設定、symmetric RTP、外部IP設定(externip/externaddr)を確認。
  • コーデックが合わない: allow= の並びを見直し、プロバイダがサポートするコーデックを有効にする。

代替アプローチ

  • パッケージ管理されたディストリビューション版を使う(apt/yum からのインストール)。
  • Docker コンテナ化された Asterisk イメージを検討する(隔離・移植性向上)。
  • 高可用性や大規模構成は Kamailio/OpenSIPS をフロントに置く構成を検討する。

小さな設計指針(ヒューリスティック)

  • 小規模(〜50 内線): 単一 Asterisk サーバ + シンプルな SIP トランク。
  • 中規模(50〜500 内線): レジストラ/ロードバランサー分離、冗長化の検討。
  • 大規模: セッションプロキシ(Kamailio)+ Asterisk ワーカーの分離でスケール。

短い運用 SOP(概要)

  1. 新設定はテスト環境で検証
  2. 設定変更前に現行構成をバックアップ
  3. 変更反映後は asterisk -rx “core reload” で再読み込み
  4. 影響範囲を確認(内線登録、外線発信、着信)
  5. 問題が出た場合は直前バックアップにロールバック

簡易フローチャート

次の簡単な流れで導入判断ができます。

flowchart TD
  A[要件確認] --> B{内線数 <= 50}
  B -- はい --> C[シングル Asterisk の導入]
  B -- いいえ --> D[フロントに Kamailio を検討]
  D --> E[冗長化とスケール設計]
  C --> F[プロバイダ選定とテスト]
  E --> F

参考テンプレート(運用メモ)

  • バックアップ: /usr/src/asterisk-config-backup-YYYYMMDD.tar.gz
  • RTP ポート範囲: 10000-20000 UDP(例)
  • ログローテーション: /etc/logrotate.d/asterisk の設定確認

まとめ

Asterisk は強力で柔軟な PBX プラットフォームです。ソースからのビルド手順、最初の SIP 内線・ダイヤルプラン・SIP トランク設定、基本的なテストと受け入れ基準、運用上のチェックリスト、セキュリティ強化案、トラブルシューティングを押さえれば、小規模〜中規模のオフィス PBX を短期間で立ち上げられます。運用ではセキュリティとバックアップを最優先にしてください。

注意: ご質問があれば Gventure までお問い合わせください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

WhatsAppで画像を逆検索する方法と確認手順
ハウツー

WhatsAppで画像を逆検索する方法と確認手順

ルート不要でAndroid削除データを復元する方法
データ復旧

ルート不要でAndroid削除データを復元する方法

AndroidでCall of Duty Mobileをダウンロードする方法
モバイルゲーム

AndroidでCall of Duty Mobileをダウンロードする方法

Microsoft Storeの自動更新をブロックする方法
Windows

Microsoft Storeの自動更新をブロックする方法

YouTube 視聴履歴の表示と削除ガイド
プライバシー

YouTube 視聴履歴の表示と削除ガイド

Asteriskで初めてのPBXを構築する手順
PBX

Asteriskで初めてのPBXを構築する手順