「Asterisk WSL」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(ページの作成:「ニーズがあるかどうかわかりませんが。WindowsでAsteriskを動かす方法。 ==基本条件== Windows 10のWindows Subsystem for Linux(WSL)を使用し...」)
 
(Asteriskのコンパイルとインストール)
 
(同じ利用者による、間の24版が非表示)
1行目: 1行目:
ニーズがあるかどうかわかりませんが。WindowsでAsteriskを動かす方法。
+
[[カテゴリ:Asterisk]]
 +
[[カテゴリ:Windows]]
 +
ニーズがあるかどうかわかりませんが。WindowsでAsteriskを動かす方法。<br>
 +
注意:この記事の内容はWindows 10 April 2018 Update以降で動作を確認しています。以前のWSLではLinux上のプログラムがlistenできなかったので正しく動作しません。
 
==基本条件==
 
==基本条件==
 
Windows 10のWindows Subsystem for Linux(WSL)を使用します。<br>
 
Windows 10のWindows Subsystem for Linux(WSL)を使用します。<br>
5行目: 8行目:
 
:https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
 
:https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
 
このページではUbuntuを前提にセットアップを行います。<br>
 
このページではUbuntuを前提にセットアップを行います。<br>
 +
作業は基本的にWSLのbash上でsudo -sしてから行います。
 +
==パッケージの追加==
 +
apt-get install gcc g++
 +
apt-get install make
 +
apt-get install ncurses-dev
 +
apt-get install sqlite
 +
apt-get install libsqlite3-dev
 +
apt-get install uuid-dev
 +
apt-get install libjansson-dev
 +
apt-get install libxml2-dev
 +
Asteriskをコンパイルするのに最低限これらのパッケージが必要です。<br>
 +
==Asteriskのコンパイルとインストール==
 +
ごく普通に
 +
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
 +
tar zxvf asterisk-13-current.tar.gz
 +
cd asterisk-13.21.1
 +
./configure
 +
make
 +
make install
 +
make samples
 +
で、Asteriskのインストールができます。make samplesやった後の設定ファイルはじゃまくさいので
 +
cd /etc/asterisk
 +
rm *
 +
wget https://voip-info.jp/downloads/asterisk/conf/conf-sample-13_0627.tar.gz
 +
tar zxvf conf-sample-13_0627.tar.gz
 +
をやっておくと[[Asterisk_13_サンプル設定ファイル]]ファイルが使えます(セキュリティには注意。デフォルトでインターネット上に放置しないように)。<br>
 +
PJSIP付きでコンパイルしたい場合には13.8.0以降ならば
 +
./configure --with-pjproject-bundled
 +
を実行してからmakeしてください。
 +
 +
==Windowsファイアウォールの設定==
 +
Windows Defenderの設定を開きます(CortanaにWindows defとか入力すると見つけるのが早い)。<br>
 +
[[画像:WSL001.png]]<br>
 +
左のメニューの'''詳細設定'''をクリック<br>
 +
[[画像:WSL002.png]]<br>
 +
左の'''受信の規則'''をクリック<br>
 +
[[画像:WSL003.png]]<br>
 +
右の'''新しい規則'''をクリック<br>
 +
[[画像:WSL004.png |420px]]<br>
 +
新しい規則で'''ポート'''を指定<br>
 +
[[画像:WSL005.png | 420px]]<br>
 +
ここではAsterisk標準で説明します。'''UDP'''で'''5060'''を指定<br>
 +
[[画像:WSL006.png | 420px]]<br>
 +
'''接続を許可する'''を指定<br>
 +
[[画像:WSL007.png | 420px]]<br>
 +
プロファイルにプライベートとドメインを指定。<br>
 +
注意:この部分は使用しているネットワーク環境に応じて設定してください。<br>
 +
[[画像:WSL008.png | 420px]]<br>
 +
適当な名前を付けて保存します。Asterisk-SIPなど。<br>
 +
同様にしてRTPも新しい規則として登録します。<br>
 +
[[画像:WSL009.png | 420px]]<br>
 +
サンプル設定ファイル標準なら'''UDP'''の'''10000-20000'''を開けておきます。<br>
 +
<br>
 +
注:サンプル設定ファイルでPJSIPも使いたい場合には5070/UDPを開けるのも忘れないように。<br>
 +
 +
==Asteriskの起動と停止==
 +
bash上からフォアグラウンド起動するなら
 +
asterisk -vvvc
 +
で起動するとフォアグラウンド起動します。<br>
 +
バックグラウンド起動したければ普通に
 +
asterisk
 +
を実行すると裏に回るので、CLIに入りたい場合にはasterisk -vvvcrで入ります。<br>
 +
ただし、裏に回した状態でbashからexitしてもWindows上のプロセスとして残るので注意してください。<br>
 +
[[画像:WSL010.png | 320px]]<br>
 +
まあデーモンになるので、この方が便利といえば便利なのですが。<br>
 +
Asteriskのmake時にmake configをやっておけば/etc/init.d/asterisk startも効きます。<br>
 +
 +
==ソフトフォンとACL調整==
 +
Asteriskを動かしているWindows機上で同時にソフトフォンを使おうとすると、サンプル設定ファイルを使用してる場合にはAsteriskのACLで弾かれます。sip.confの以下の箇所を調整してください。
 +
;ACL
 +
;安全措置のため192.168系以外は受け付けない
 +
;他のネットワークを使用している場合にはここを変更すること
 +
deny=0.0.0.0/0
 +
permit=192.168.0.0/255.255.0.0
 +
permit=127.0.0.0/255.0.0.0          <--この行を追加する
 +
1行追加したらCLIでsip reloadして有効化してください。<br>
 +
同一マシン上のWindows上のソフトフォンから使用する場合、Asteriskサーバとして127.0.0.1(localhost)を指定すれば内線として使用できます。

2018年6月23日 (土) 13:42時点における最新版

ニーズがあるかどうかわかりませんが。WindowsでAsteriskを動かす方法。
注意:この記事の内容はWindows 10 April 2018 Update以降で動作を確認しています。以前のWSLではLinux上のプログラムがlistenできなかったので正しく動作しません。

基本条件

Windows 10のWindows Subsystem for Linux(WSL)を使用します。
まずこのあたりを参考にWindowsにUbuntuをインストールしてください。

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

このページではUbuntuを前提にセットアップを行います。
作業は基本的にWSLのbash上でsudo -sしてから行います。

パッケージの追加

apt-get install gcc g++
apt-get install make
apt-get install ncurses-dev
apt-get install sqlite
apt-get install libsqlite3-dev
apt-get install uuid-dev
apt-get install libjansson-dev
apt-get install libxml2-dev

Asteriskをコンパイルするのに最低限これらのパッケージが必要です。

Asteriskのコンパイルとインストール

ごく普通に

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar zxvf asterisk-13-current.tar.gz
cd asterisk-13.21.1
./configure
make
make install
make samples

で、Asteriskのインストールができます。make samplesやった後の設定ファイルはじゃまくさいので

cd /etc/asterisk
rm *
wget https://voip-info.jp/downloads/asterisk/conf/conf-sample-13_0627.tar.gz
tar zxvf conf-sample-13_0627.tar.gz

をやっておくとAsterisk_13_サンプル設定ファイルファイルが使えます(セキュリティには注意。デフォルトでインターネット上に放置しないように)。
PJSIP付きでコンパイルしたい場合には13.8.0以降ならば

./configure --with-pjproject-bundled

を実行してからmakeしてください。

Windowsファイアウォールの設定

Windows Defenderの設定を開きます(CortanaにWindows defとか入力すると見つけるのが早い)。
WSL001.png
左のメニューの詳細設定をクリック
WSL002.png
左の受信の規則をクリック
WSL003.png
右の新しい規則をクリック
WSL004.png
新しい規則でポートを指定
WSL005.png
ここではAsterisk標準で説明します。UDP5060を指定
WSL006.png
接続を許可するを指定
WSL007.png
プロファイルにプライベートとドメインを指定。
注意:この部分は使用しているネットワーク環境に応じて設定してください。
WSL008.png
適当な名前を付けて保存します。Asterisk-SIPなど。
同様にしてRTPも新しい規則として登録します。
WSL009.png
サンプル設定ファイル標準ならUDP10000-20000を開けておきます。

注:サンプル設定ファイルでPJSIPも使いたい場合には5070/UDPを開けるのも忘れないように。

Asteriskの起動と停止

bash上からフォアグラウンド起動するなら

asterisk -vvvc

で起動するとフォアグラウンド起動します。
バックグラウンド起動したければ普通に

asterisk

を実行すると裏に回るので、CLIに入りたい場合にはasterisk -vvvcrで入ります。
ただし、裏に回した状態でbashからexitしてもWindows上のプロセスとして残るので注意してください。
WSL010.png
まあデーモンになるので、この方が便利といえば便利なのですが。
Asteriskのmake時にmake configをやっておけば/etc/init.d/asterisk startも効きます。

ソフトフォンとACL調整

Asteriskを動かしているWindows機上で同時にソフトフォンを使おうとすると、サンプル設定ファイルを使用してる場合にはAsteriskのACLで弾かれます。sip.confの以下の箇所を調整してください。

;ACL
;安全措置のため192.168系以外は受け付けない
;他のネットワークを使用している場合にはここを変更すること
deny=0.0.0.0/0
permit=192.168.0.0/255.255.0.0
permit=127.0.0.0/255.0.0.0           <--この行を追加する

1行追加したらCLIでsip reloadして有効化してください。
同一マシン上のWindows上のソフトフォンから使用する場合、Asteriskサーバとして127.0.0.1(localhost)を指定すれば内線として使用できます。