
asterisk v23.5.0-rc2
公式のAsterisk Projectリポジトリ。
Asterisk(R) オープンソースPBX
By Mark Spencer <[email protected]> and the Asterisk.org developer community.
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
セキュリティ
Asteriskサーバの設定と実行を試みる前に、セキュリティ情報ドキュメントの内容を読み、完全に理解することが必須です。
詳細については重要なセキュリティ上の考慮事項を参照してください。
Asteriskとは?
Asteriskは、オープンソースのPBXおよびテレフォニーツールキットです。ある意味では、下部のインターネットおよびテレフォニーチャネルと、上部のインターネットおよびテレフォニーアプリケーションの間のミドルウェアです。しかし、Asteriskはインターネットテレフォニーだけでなく、さらに多くのテレフォニーインターフェースをサポートしています。Asteriskはまた、従来のPSTNテレフォニーに対しても広範なサポートを提供します。
プロジェクト自体の詳細については、Asteriskホームページと公式のAsteriskドキュメントを参照してください。
対応オペレーティングシステム
Linux
AsteriskオープンソースPBXは、主にGNU/Linuxオペレーティングシステム上で開発・テストされており、主要なすべてのGNU/Linuxディストリビューションでサポートされています。
その他
Asteriskはまた、他のオペレーティングシステムにも移植されており、AppleのMac OS XやBSD派生システムでも正しく動作すると報告されています。
はじめに
最近ではほとんどのユーザーがVoIP/SIPのみを使用していますが、TDMやアナログサービスまたはデバイスとのインターフェースが必要な場合は、サポートされているハードウェアを用意してください。
対応テレフォニーハードウェアは以下の通りです:
- Sangoma製の全アナログおよびデジタルインターフェースカード
- PortAudioがサポートする全二重サウンドカード
- Xorcom Astribankチャネルバンク
以前のバージョンからのアップグレード
以前のバージョンのAsteriskからアップデートする場合は、必ず変更ログを読んでください。
新規インストール
システムに互換性のあるコンパイラと開発ライブラリが含まれていることを確認してください。Asteriskには、GNU Compiler Collection (GCC) バージョン4.1以上、またはC99仕様とgcc言語拡張の一部をサポートするコンパイラが必要です。さらに、システムにはCライブラリヘッダーと、ncurses用のヘッダーおよびライブラリが必要です。
多くのモジュールには追加の依存関係があります。どのライブラリが検索されているかを確認するには、./configure --helpを参照するか、make menuselectを実行して特定のモジュールの依存関係を表示してください。
多くのディストリビューションでは、これらの依存関係は'glibc-devel'、'ncurses-devel'、'openssl-devel'、'zlib-devel'などの名前のパッケージによってインストールされます。contrib/scripts/install_prereqスクリプトを使用して、ほとんどのDebianおよびRedhatベースのLinuxディストリビューションの依存関係をインストールできます。このスクリプトはSUSE、Arch、Gentoo、FreeBSD、NetBSD、OpenBSDも処理しますが、これらのディストリビューションでは完全なサポートがないか、古くなっている可能性があります。
それでは、進めましょう:
-
ドキュメントを読む。
Asteriskドキュメントウェブサイトには、Asteriskのビルド、インストール、設定、実行に関する完全な情報が記載されています。 -
./configureを実行する
configureスクリプトを実行して、コンパイル中に使用されるシステム依存変数の値を推定します。スクリプトが不足しているコンポーネントを示した場合は、./contrib/scripts/install_prereq installを実行して必要なコンポーネントをインストールできます。これによりAsteriskのすべての機能の依存関係がインストールされることに注意してください。スクリプト実行後、./configureを再実行する必要があります。 -
make menuselectを実行する
これは、コンパイルするモジュールを選択し、さまざまなオプションモジュールの依存関係を確認する場合に必要です。 -
makeを実行する
ビルドが正常に完了したと仮定して: -
make installを実行する
Asteriskを初めて使用する場合は、サンプルPBXおよびデモ用内線番号などをインストールすることもできます。その場合は、次を実行します。 -
make samplesを実行する
これを行うと、インストール済みの既存の設定ファイルが上書きされます。 -
最後に、フォアグラウンドモード(デーモンではない)でAsteriskを起動できます。
asterisk -vvvc
Asteriskが初期化されると、画面に大量の詳細メッセージが流れます(これが「very very verbose」モードです)。準備ができたら、"c"を指定していれば、次のようなコマンドラインコンソールが表示されます:
*CLI>
いつでもcore show helpと入力すると、システムのヘルプを表示できます。特定のコマンドのヘルプを表示するには、core show help <command>と入力します。
Unix/Linuxコマンドプロンプトでman asteriskと入力すると、Asteriskの起動と停止方法、およびAsteriskを起動するためのすべてのコマンドラインオプションに関する詳細情報が表示されます。
設定ファイルについて
すべてのAsterisk設定ファイルは共通の形式です。コメントは;で区切られます(#はDTMFディジットであるため、多くの場所に出現する可能性があるため)。設定ファイルは名前が[]で囲まれたセクションに分割されます。各セクションには通常variable = valueの形式のステートメントが含まれますが、古いサンプルではvariable => valueが見られる場合があります。
時間に関する特別な注意
SIP電話を使用している方は、Asteriskが時間の大きなジャンプに敏感であることに注意してください。date(1)(または他の同様のコマンド)を使用して手動でシステム時刻を変更すると、SIP登録やその他の内部プロセスが失敗する可能性があります。このため、システム時刻を正確に保つために常に時刻同期パッケージを使用する必要があります。すべてのOS/ディストリビューションは以下のパッケージのうち1つ以上を提供しています:
- ntpd/ntpsec
- chronyd
- systemd-timesyncd
これらのうち1つ(かつ1つだけ)をインストールして設定してください。
ファイルディスクリプタ
システムの規模と設定によって、Asteriskは大量のファイルディスクリプタを消費する可能性があります。UNIXでは、ファイルディスクリプタはディスク上のファイルだけでなく、ネットワーク通信(SIP、IAX2、H.323コールなど)やハードウェアアクセス(アナログおよびデジタルトランクハードウェアなど)の処理にも使用されます。Asteriskは、設定情報からボイスメールストレージに至るまで、多くのディスク上のファイルにアクセスします。
ほとんどのシステムでは、Asteriskが同時に開くことができるファイルディスクリプタの数に制限があります。これにより、システムが処理できる同時通話数が制限される可能性があります。たとえば、制限が1024(一般的なデフォルト値)に設定されている場合、Asteriskは約150のSIPコールを同時に処理できます。ファイルディスクリプタの数を変更するには、以下の該当するシステムの手順に従ってください:
PAMベースのLinuxシステム
システムがPAM(Pluggable Authentication Modules)を使用している場合は、/etc/security/limits.confを編集します。ファイルの末尾に次の行を追加します:
root soft nofile 4096
root hard nofile 8196
asterisk soft nofile 4096
asterisk hard nofile 8196
(数値は適宜調整してください)。これらの変更を有効にするには、システムの再起動が必要な場合があります。
一般的なUNIXシステム
上記のシステムに特化した手順がない場合は、Asteriskを起動するスクリプトにulimit -n 8192コマンドを追加してみてください。
詳細情報
さまざまな機能の詳細なドキュメントについては、Asteriskドキュメントウェブサイトを参照し、設定オプションに関するドキュメントを含むすべての設定サンプルをお読みください。
最後に、Asteriskコミュニティフォーラムに参加することをお勧めします。
成長を続ける世界中のAsteriskユーザーコミュニティへようこそ!
Mark Spencer, and the Asterisk.org development community
AsteriskはSangoma Technologies Corporationの商標です
[Sangoma] [ホームページ] [サポート] [ドキュメント] [コミュニティフォーラム] [リリースノート] [セキュリティ] [メーリングリストアーカイブ]