Screen Shot 2014-07-16 at 7.39.15 AM

IP電話のサーバ Asterisk11をAWS(Red Hat Enterprise Linux 7.0)でデプロイ

IP電話のサーバ Asterisk11をAWS(Red Hat Enterprise Linux 7.0)でデプロイいまさらだけど Amazon Linux AMI 使えばよかったと思いつつ、せっかくソースから入れたのでデプロイのメモを書きましたφ(・_・”)

AWS Management Console

Screen Shot 2014-07-16 at 6.10.05 AM

  1. EC2 Virtual Servers in the Cloud で Red Hat Enterprise Linux 7.0 のインスタンスを作る
  2. Security Groupを作ってInboundの設定をする
1 SSH TCP 22 0.0.0.0/0
2 HTTP TCP 80 0.0.0.0/0
3 Custom UDP Rule UDP 5060 0.0.0.0/0

Screen Shot 2014-07-16 at 8.18.05 AM

Asterisk11でHello World

SSH コンソール

※AWSで作ったインスタンスの、デフォルトのログインは秘密キーファイル(.pem)を使わないといけない。

sudo yum install -y make wget openssl-devel ncurses-devel newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel subversion kernel-headers ncurses-devel libtermcap-devel zlib-devel unixODBC-devel libtool kernel-devel-`uname -r`
# MySQLの場合
sudo yum install -y mysql-connector-odbc
# ファイル検索用
sudo yum install -y mlocate
sudo yum update
cd /usr/src

# DAHDIのインストール
sudo wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
sudo tar zxvf dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete*
sudo make && sudo make install && sudo make config
cd ../.

# LibPRIのインストール
sudo wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
sudo tar zxvf libpri-1.4-current.tar.gz
cd libpri*
sudo make && sudo make install
cd ../.

# Asteriskとサンプルファイルのインストール
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
sudo tar zxvf asterisk-11-current.tar.gz
cd asterisk-11*
sudo ./configure && sudo make && sudo make install && sudo make samples && sudo make config

# 依存ファイルのインストール
cd contrib/scripts
./install_prereq install
sudo ./install_prereq install-unpackaged

3つの設定ファイルを用意

</pre>
# asteriskの設定
cd /etc/asterisk
sudo mv extensions.conf extensions.sample
sudo vi extensions.conf
<pre>

extensions.conf

[from-internal]
exten = 100,1,Answer()
same = n,Wait(1)
same = n,Playback(hello-world)
same = n,Hangup()
sudo mv sip.conf sip.sample
sudo vi sip.conf

sip.conf

[general]
context=default
[6001]
type=friend
context=from-internal
host=dynamic
secret=unsecurepassword
disallow=all
allow=ulaw
sudo vi pjsip.conf

pjsip.conf

[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
[6001]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=6001
aors=6001
[6001]
type=auth
auth_type=userpass
password=unsecurepassword
username=6001
[6001]
type=aor
max_contacts=1
# asteriskの起動
sudo asterisk -cvvvvv

ソフトフォン Zoiper3.3の設定(Mac)

Screen Shot 2014-07-16 at 7.14.13 AM

  1. Zoiperをダウンロードしてきて、settingsの”Add new SIP account”でアカウント作る
    [user / user@host] 6001
    [Password] unsecurepassword
    [Domain / Outbound proxy] AWSのIP
  2. 内線番号100を入力して電話する

Screen Shot 2014-07-16 at 7.14.18 AM

Screen Shot 2014-07-16 at 7.14.21 AM

Screen Shot 2014-07-16 at 7.15.54 AM

Screen Shot 2014-07-16 at 7.15.59 AM

Screen Shot 2014-07-16 at 7.17.03 AM

SSH コンソールに戻って接続を確認

Screen Shot 2014-07-16 at 7.30.51 AM
完成ッ!!

Asterisk Ready.
== Parsing '/etc/asterisk/cli.conf': Found
== Using SIP RTP CoS mark 5
-- Executing [100@from-internal:1] Answer("SIP/6001-00000000", "") in new stack
-- Executing [100@from-internal:2] Wait("SIP/6001-00000000", "1") in new stack
-- Executing [100@from-internal:3] Playback("SIP/6001-00000000", "hello-world") in new stack
-- <SIP/6001-00000000> Playing 'hello-world.gsm' (language 'en')
-- Executing [100@from-internal:4] Hangup("SIP/6001-00000000", "") in new stack
== Spawn extension (from-internal, 100, 4) exited non-zero on 'SIP/6001-00000000'
[Jul 15 18:30:41] ERROR[28291][C-00000000]: cdr_csv.c:304 csv_log: Unable to re-open master file /var/log/asterisk//cdr-csv//Master.csv : Permission denied

ちなみに2カ所ではまってました(_ _|||)

DAHDIとLibPRIのインストールができない!

make -C linux all
make[1]: Entering directory `/usr/src/dahdi-linux-complete-2.9.1.1+2.9.1/linux'
make -C drivers/dahdi/firmware firmware-loaders
make[2]: Entering directory `/usr/src/dahdi-linux-complete-2.9.1.1+2.9.1/linux/drivers/dahdi/firmware'
make[2]: Leaving directory `/usr/src/dahdi-linux-complete-2.9.1.1+2.9.1/linux/drivers/dahdi/firmware'
You do not appear to have the sources for the 3.10.0-123.el7.x86_64 kernel installed.
make[1]: *** [modules] Error 1
make[1]: Leaving directory `/usr/src/dahdi-linux-complete-2.9.1.1+2.9.1/linux'
make: *** [all] Error 2

ってエラー。原因は yum install kernel-devel でインストールができてなかったから。
yum install kernel-devel-`uname -r` してmakeしなおして解決

ソフトフォンからサーバに繋がらない!!

原因はAWSのポート5060を開けてなかったのと、プロトコルUDPにしてなかったから。
参考サイトさま:

以上、ご参考までで

About the author
  • コメントを残す