AWS上に構築したAsteriskを利用してLinphone間で通話

AsteriskでLinphone間の通話をサポートするには、いろいろな設定が必要になるので以下メモ。

スポンサーリンク

まずはAWSのセキュリティグループ。詳細な情報は以下にも載っているが、今回はLinphoneがSIPで利用する5060(デフォルト)、RTP(/etc/asterisk/rtp.confで記述される範囲、デフォルトは10000~20000)を開ける。TCPを使うなら、5061も開けたほうがよさそう。TLSはまだ試していないので、またの機会に。

Part 2: Asterisk in a Cloud

次はAWSのファイアウォール。これは上記の設定とも関係するが、自分は以下のページを参考に設定。要は、上記のAWSの設定であけたポートに対する解放作業を行えばOK。
http://www.voip-info.org/wiki/view/Asterisk+firewall+rules
http://www.voip-info.jp/index.php/Asterisk_FUSION

次はAsteriskの設定ファイル。/etc/asterisk/の下にある、sip.conf, extensions.conf, rtp.confをいじる。

sip.conf:

[general]
context=default ;extensions.confで参照するタグ
transport=udp
port=5060
bindaddr=0.0.0.0
language=ja
disallow=all
videosupport=yes
allow=speex
allow=vp8
textsupport=yes
localnet=XXX.XXX.XXX.XXX/255.255.255.0 ;AWSのローカルIP
externip=XXX.XXX.XXX.XXX ;AWSのグローバルIP

;Instant messageに必要
accept_outofcall_message=yes
outofcall_message_context=message ;extensions.confで参照するタグ
auth_message_requests=yes

[test01]
type=friend
host=dynamic
defaultuser=test01
secret=ほげほげ ;要変更
qualify=no ;linphoneがクライアントだと必須
canreinvite=yes ;Asteriskが通信を管理するため
nat=force_rport,comedia ;nat使ってなければコメントアウト
disallow=all
allow=speex
allow=vp8
textsupport=yes

[test02]
type=friend
host=dynamic
defaultuser=test02
secret=ほげほげ ;要変更
qualify=no ;linphoneがクライアントだと必須
canreinvite=yes ;Asteriskが通信を管理するため
nat=force_rport,comedia ;nat使ってなければコメントアウト
disallow=all
allow=speex
allow=vp8
textsupport=yes

 

extensions.conf:

[default]
exten => test01,1,Dial(SIP/test01,30)
exten => test01,n,Hangup()
exten => test02,1,Dial(SIP/test01,30)
exten => test02,n,Hangup()

[message]
exten => test01,1,MessageSend(sip:${EXTEN},”${CALLERID(name)}”${MESSAGE(from)})
exten => test02,1,MessageSend(sip:${EXTEN},”${CALLERID(name)}”${MESSAGE(from)})

 

rtp.conf:ユーザが少ないなら開けるポートは少なくして良さそう

[general]
rtpstart=10000
rtpend=20000

次はLinphoneの設定。GUI版Linphoneをtest01、CUI版Linphonecをtest02とする。

GUI版Linphoneの注意事項:

・SIPのIdentityはsip:test01@AWSのIP
・SIPプロキシは<sip:test01@AWSのIP;transport=udp>
・転送はUDP
・Routeはsip:AWSのIP
・SIP/UDPポートは5060を指定

CUI版Linphonecの注意事項(.linphonercの設定):

UDPで接続している場合は、TLSの設定を明示的に切る
・verify_server_certs=0
・verify_server_cn=0
Proxyの設定
・reg_proxy=sip:AWSのIP
・reg_identity=<sip:test02@AWSのIP;transport=udp>

上記の設定で、接続できる…はず。トラブったときの対処やメモなどはまた後日。

スポンサーリンク


スポンサーリンク

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です