目次
サーバセットアップ¶
本製品の利用に必要なサーバのセットアップを行います。
シグナリングサーバ(PeerJS-Server)¶
アプリケーションが接続するシグナリングサーバを構築します。 通話を行う際に、通話相手との接続を構築するために利用されます。
node.jsのインストール¶
PeerJS-Serverの実行環境となるnode.jsのインストールを行います。 以下のnode.js公式サイトからダウンロードしてください。 Windowsへのインストールの場合はWindowsInstallerを利用できます。 Linux系OSの場合はダウンロードページにある Installing Node.js via package manager などを参考にしてください。 なお、 バージョンは最新版ではなく、4.xのLTS版 を選択してください。
PeerJS-Serverのインストール¶
本製品ではシグナリングサーバとして、オープンソースソフトウェアの PeerJS-Server を利用しています。 また、オリジナルのPeerJS-Serverを弊社にて一部修正を加えたバージョンがございます。 基本的にはオリジナルではなくこちらをインストールして頂きますようお願い致します。
Global-Solutions/peerjs-server
Windowsの場合は、上記のページからzipファイルをダウンロードして展開してください。
Linuxでは以下のコマンドを実行してください。
wget https://github.com/Global-Solutions/peerjs-server/archive/master.zip
unzip master.zip
ダウンロードおよび展開完了後は、展開したフォルダで以下のコマンドを実行して、依存ライブラリのインストールを行ってください。
npm install
STUNサーバ(cotrun)¶
アプリケーションが接続するSTUNサーバを構築します。 通話を行う際に、通話相手への通信経路を取得するために利用されます。
基本的にSTUNサーバとしての機能を有していれば、特にサーバアプリケーションの種別は問いません。 ただし、本製品ではオープンソースソフトウェアの"coturn"を使い動作検証を行っております。 基本的にはこちらの利用を推奨いたします。 また、coturnはSTUNサーバとTURNサーバの2種類の機能を有しておりますが、本製品ではSTUNサーバとしてのみ利用することを想定しております。
coturn/coturn TURN server project
coturnのインストール¶
※coturnはLinux系のOSをサポート対象としており、Windowsには対応していないためご注意ください(詳細はcotrun公式ページをご確認ください)。
coturnのダウンロードを行います。 以下のコマンドを実行してください(検証時の最新版であるバージョン4.5.0.4を想定して記述しています。必要に応じて適宜変更してください)。
wget http://turnserver.open-sys.org/downloads/v4.5.0.4/turnserver-4.5.0.4.tar.gz
tar xvfz turnserver-4.5.0.4.tar.gz
ダウンロードおよび展開完了後は、以下のコマンドを実行して、依存ライブラリのインストールを行ってください。
yum -y install openssl openssl-devel sqlite sqlite-devel libevent libevent-devel
ライブラリのインストール後は、ダウンロードしたcoturnを展開したフォルダで以下のコマンドを実行して、コンパイルおよびインストールを行ってください。
./configure
make
sudo make install
インストール完了後は設定ファイルを更新します。 まずは、以下のコマンドで設定ファイルのテンプレートから実際に使う設定ファイルを作成してください。
cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf
次に設定ファイルの以下の項目について、行頭の#を外して設定を有効にするとともに、必要な設定を記入してください。
# サーバのプライベートIPを記述
listening-ip=xxx.xxx.xxx.xxx
relay-ip=xxx.xxx.xxx.xxx
# サーバのフロントエンドのIP
external-ip=xxx.xxx.xxx.xxx
# デバッグ用ログ出力(任意)
verbose
# ログの出力先ファイルパス
log-file=
# STUNサーバとしてのみ使用(TURNサーバとして使わない)
stun-only