ゼロからはじめるぜ! Twilio – シーズン3: SIP Trunking編 第2回

masa_prof.jpgのサムネイル画像こんにちは、ネットワークエンジニアの まさです。

 

さて、今回からいよいよ IPフォンな環境を実際に構築していきます。前回お知らせした以下の環境、ご準備いただいていますでしょうか?

  • root権限でオペ可能なインターネットから直アクセスできるサーバー
  • Windowsパソコン・Macパソコン・スマホ の中から 2つ

 

特に前者ですが、Twilioがこのサーバー目がけて通信してきますので、グローバルIPアドレスを持つサーバーである必要があります。ファイヤーウォールを挟んで、グローバル:ローカルのIPアドレスを 1:1 のスタティックNATしている場合でもOKですが、サーバーからインターネット側にIPマスカレードで出て行くタイプのNATではダメです。出て行った帰りのパケットが届くだけではダメで、Twilioからこのサーバーへ通信を開始できる必要があります。また前回書き添えたように、現在、他のサービスが本番で稼働しているようなサーバーではなく、検証環境・テスト用サーバー等、既存サービスに影響がでないサーバーにしてください。

最初に、このシーズン完了時に出来あがるものの全体図を示します。これからこういうものを作ります。

zerotwilio_3-2-1.jpg

今回は、このうち IP-PBX の部分を構築をします。いきなり一番の難所です。青い部分はインターネットに接続されているもの、Twilioから右は一般電話網につながっているものです。Twilio はインターネットと一般電話網を架け橋していますので、両方につながっています。ちなみに、「一般電話網」のことを PSTN と呼ぶので覚えておいてください。次からPSTNと書きます。

 

今回お金を掛けずにお試しで作ってみますので、フリーの IP-PBXソフトウェア「Asterisk」をインストールし、設定します。最初にご理解いただきたいのですが、私も初めてですし、弊社がサポートするのはあくまでも Twilioです、どうか Asterisk の質問はお寄せいただかないようにお願いします。むしろ、みなさんの Asteriskノウハウを私に教えていただきたいです。

 

Asteriskインストールファイルの入手とインストール

 

なぜAsteriskなのかという点ですが、私が IP-PBXのソフトウェアで最初に思いついたものだったから、という理由なだけですので、他のIP-PBXに慣れてる方はそれを使ってください。私の環境は以下の通りです。

■ 私の環境

CentOS release 5.11 (Final)

Kernel 2.6.18-406.el5

メモリやCPUは今回の実験環境においてはそう使うものじゃないはずなので、メモリ 4MB/CPUクロック 16MHz のような化石モノのPCでは無い限り、何でもいいです。コマンドの類は、上記環境を元に書きますので、それぞれみなさんの環境のものに読み替えてください。

まずは、インストールファイルの入手です。Asterisk CentOS とか適当にググってみます。すると、以下の事がわかりました。

・Asterisk は 1.8系 が良いらしい ・Asterisk と Dahdi というものをインストールする必要があるらしい

ふーん。では、入れてみようかな。ご自身のサーバーで root権限になり、以下を実行します。

# yum install asterisk

No package asterisk available.

Nothing to do

(´・ω・`)

そんな甘くないのね、これは・・・。しかたない、素材を持ってきてコンパイルしてインストールするしかなさそうです。とりあえず、情報サイトに書いてある通りにやってみます。まずは Dahdi なるものを入れます。何をするものかよく分からないですが、「Asteriskのドライバー」と書いてあるので、必要そうです。入れます。

Dahdi を入れるためには、依存する各基本パッケージが必要だというので、情報サイト通りやってみます。

# yum install gcc-c++ kernel-devel ncurses-devel openssl-devel

 

これはすんなり入りましたね。よしよし。では、Dahdi にとりかかります。ところでなんと読むのでしょうね、これ。「ダディ」でしょうか。作業ディレクトリを作り、そこにインストールファイルをダウンロードして make します。

 

# mkdir /home/masa/work/dahdi

# cd /home/masa/work/dahdi

# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.10.2.tar.gz

# gzip -cd dahdi-linux-2.10.2.tar.gz | tar xf -

# cd dahdi-linux-2.10.2

# make

 

あら・・・ Kernelソースがないと怒られてしまい make が止まってしました。おそらくこれはみなさんがハマるポイントになると思います。

よく情報サイトを読むと、Dahdiを入れるときにKernel類を最新にしろ、つまり yum update をかけろという指示があります。この作業を始める前、私のKernelは少し古いものでした。私はアップデートの指示をあえて無視したんですね。他サービスと入れ子の本番環境にもしAsteriskをいれなきゃいけないとき、そう簡単にKernelなんてアップデートできないですから。

が、必要になるのは、現在稼働している Linux Kernel の Kernelソース、つまり kernel-develのパッケージです。古いKernelなので yumで入手できない。仕方がないので私は Kernelごとアップデートすることにします。現在ご利用の Linux Kernel に対応する kernel-devel がインストールされていれば以下は不要のはずです。

# yum update

# yum install kernel-devel

 

Kernelをアップデートしたのでサーバーをリブートする必要があります。Kernelをアップデートしなかった方はこのリブートも不要です。

# reboot

リブートしたらさっきの作業ディレクトリに移動して、再チャレンジ。 今度は make が通るはずなので、そのまま make install まで進みます。

 

# cd /home/masa/work/dahdi/dahdi-linux-2.10.2

# make

# make install

 

これで Dahdi がインストールされました。何をするものか分からないので、設定とかきっと必要なんでしょうが放置しておき、次、Asterisk に進みます。Asterisk は最初に configure する必要があります。

# mkdir /home/masa/work/asterisk

# cd /home/masa/work/asterisk

# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.32.3.tar.gz

# gzip -cd asterisk-1.8.32.3.tar.gz | tar xf -

# cd asterisk-1.8.32.3

# ./configure

 

あら・・・ libxml2 がねぇ! と怒られ止まってしまいました。うーん。なら、入れましょう。

# yum install libxml2 libxml2-devel

# ./configure

 

今度はうまくいきました。続いて make, make install です。情報サイトによるとその後も2つコマンドを叩けといっているのでその通りにします。

# make

# make install

# make samples

# make config

これでAsteriskがインストールされました。ちなみに、私の tar.gz の解凍方法気づきました? みなさん、大体は、tar xfvz とかなんとかオプションで一気にやりますよね? 私はこの世界、Solaris から入ってるので、こうしてパイプで渡すのがクセなんです。未だにこの tar のオプションは覚えられません。

はい、これで IP-PBXの大元になるソフトウェアのインストールが完了しました。

今日はここまでにしましょう、次回は、Asterisk の実設定に入ってまいります。お楽しみに!

この記事をシェア


最新記事

すべての記事へ