Selection for my Life

いま、僕にできること。

使い終わったiphone4で工場内内線電話構築 Use by Asterisk

Asteriskを使って工場内内線電話を構築します。

工場内のライン長に内線電話(PHS)を支給すると、電話設備等でコストが必要になります。
ラインの数が多かったりで意外にコスト高。しかも、現状、担当者が現場まで行ったり来たりして
情報伝達はできているので、新たな設備投資の承認がおりません。

+ iphoneの調達

今回は、親会社の営業が使用し終わったiphoneを調達しました。
iphoneを機種変更して、残った iphone4 を使用します。

※今回は3台調達しました。(テスト用です。)


wifi接続ができて、SIPフォンのソフトが導入できる端末があれば大丈夫だと思います。
個人で、使用しているスマホも工場内のwifiに接続してBYODできます。

+ iphonewifi設定

調達した iphone を 工場内のwifiに接続します。
iphone wifi設定 → iPhone - Wi-Fi - Apple サポート

+ iphone に SIPフォンをインストール

※今回は使用済みiphoneを使用したので、AppleIDを新規取得して、設定しました。
今回インストールした SIPフォン → Zoiper - Free VoIP SIP softphone dialer with voice, video and instant messaging :: Zoiper
iTunesからインストール

+ Asterisk用のサーバ CentOS を準備

今回は、サーバを新規購入するのではなく、KVMで仮想サーバを使用しました。

CentOS-6.5-x86_64-bin-DVD1.iso を利用して、仮想サーバをインストール
Basicサーバを選択

インストール後、 yum update を実行する
※社内のサーバということで、SELinuxiptables を停止させておきます。

[root@asterisk ~]# uname -a
Linux asterisk.local 2.6.32-431.17.1.el6.x86_64 #1 SMP Wed May 7 23:32:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

+ Asterisk インストール

yum で 各種パッケージをインストール

#yum groupinstall "Development Libraries" "Additional Development"
#yum install gcc gcc-c++
#yum install libxml2 libxml2-devel openssl-devel ncurses-devel sqlite-devel newt-devel
#yum install libuuid-devel uuid-devel
#yum install subversion
#yum install unixODBC unixODBC-devel mysql-connector-odbc
#yum install libtool-ltdl libtool-ltdl-devel

Asteriskソースの入手
Asterisk 11のソースは以下からダウンロードできます。
http://downloads.asterisk.org/pub/telephony/asterisk/

/usr/src/ で 解凍

# cd /usr/src
# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8.27.0.tar.gz

# tar zxvf asterisk-1.8.27.0.tar.gz
# cd asterisk-1.8.27.0

make してソースからインストール

# ./configure
# make
# make install
# make samples
# make config
# ldconfig

+ sip.conf の設定

[root@asterisk ~]# cd /etc/asterisk/

[general]
maxexpirey=3600
defaultexpirey=3600
context=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=ja
localnet=192.168.0.0/255.255.255.0

[201]
type=friend
defaultuser=201
secret=password
context=default
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1

[202]
type=friend
defaultuser=202
secret=password
context=default
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1

[203]
type=friend
defaultuser=203
secret=password
context=default
canreinvite=no
host=dynamic
dtmfmode=rfc2833
callgroup=1
pickupgroup=1

+ extensions.conf の設定

[root@asterisk ~]# cd /etc/asterisk/

[general]
writeprotect=no
priorityjumping=no

[globals]
SPEAKINGCLOCK=317
ECHOTEST=333

[default]
; Speaking Clock(時報)
exten => ${SPEAKINGCLOCK},1,Answer()
exten => ${SPEAKINGCLOCK},n,Wait(1)
exten => ${SPEAKINGCLOCK},n,Set(FutureTime=$[${EPOCH} + 5])
exten => ${SPEAKINGCLOCK},n,SayUnixTime(${FutureTime},Japan,YbdAPHM)
exten => ${SPEAKINGCLOCK},n,Playback(jp-desu)
exten => ${SPEAKINGCLOCK},n,playback(beep)
exten => ${SPEAKINGCLOCK},n,Hangup

; Echo Test(エコーテスト)
exten => ${ECHOTEST},1,Answer
exten => ${ECHOTEST},n,Wait(1)
exten => ${ECHOTEST},n,Playback(demo-echotest)
exten => ${ECHOTEST},n,Playback(beep)
exten => ${ECHOTEST},n,Echo
exten => ${ECHOTEST},n,Playback(demo-echodone)
exten => ${ECHOTEST},n,Playback(vm-goodbye)

; 内線呼出
; Local SIP phones 201-209
exten => _20Z,1,Dial(SIP/${EXTEN},,tT)
exten => _20Z,n,Hangup => 201,n,Hangup

+ iphone SIPフォンの設定

Account設定にて、 sip.confに設定した
  defaultuser / secret をそれぞれに設定する

Network設定にて、
  STUN設定をOff  

設定後、レジストして、使用開始できます。