とりあえずSIP電話機での動作確認

実験環境   サーバ機がローカルネット内にある場合ですが、
とりあえず下記のような構成ができればベストです。



内線番号とIPアドレスの割り振りは以下のようにしました。

マシン名 IPアドレス 内線番号
Asterisk Server 192.168.100.100
PC1 192.168.100.101 5001
PC2 192.168.100.102 5002

sip.conf   /etc/asterisk/sip.conf を編集します。


[5001]
type=friend
secret=pc5001
aith=md5
nat=yes
host=dynamic
reinvite=no
canreinvite=no
qualify=1000
dtmfmode=inband
callerid="PC 1" <5001>
disallow=all
allow=ulaw
allow=alaw
context=test-local

[5002]
type=friend
secret=pc5002
aith=md5
nat=yes
host=dynamic
reinvite=no
canreinvite=no
qualify=1000
dtmfmode=inband
callerid="PC 2" <5002>
disallow=all
allow=ulaw
allow=alaw
context=test-local

extensions.conf   /etc/asterisk/extensions.conf を編集します。

5で始まる番号をダイヤルするとSIP内線同士の通話、
700をダイヤルするとAsteriskのデモ用に録音されたメッセージの再生ができます。


[test-local]
exten => _5X!,1,Dial(SIP/${EXTEN},120,Ttm)
exten => _5X!,n,Hangup
exten => _700,1,BackGround(demo-congrats)
exten => _700,n,Hangup

クライアント側の設定   SIP電話機(X-Lite)側の設定は以下のようにしました。

PC1用端末設定情報
設定項目 設定値 備考
Enabled YES これは最後にYESにします
Display Name PC1 任意の文字です
User Name 5001 内線番号
Password pc5001 パスワード
Domain 192.168.100.100 AsteriskのIPアドレス
SIP Proxy 192.168.100.100 AsteriskのIPアドレス
realm asterisk -
PC2用端末設定情報
設定項目 設定値 備考
Enabled YES これは最後にYESにします
Display Name PC2 任意の文字です
User Name 5002 内線番号
Password pc5002 パスワード
Domain 192.168.100.100 AsteriskのIPアドレス
SIP Proxy 192.168.100.100 AsteriskのIPアドレス
realm asterisk -

ファイヤーウォール   iptables で以下のポートを空けておきます。
/etc/sysconfig/iptablesに下記の行を追加します。


-A MY-Firewall-Settings -m state --state NEW -m udp -p udp --dport 5060 -j ACCEPT
-A MY-Firewall-Settings -m state --state NEW -m udp -p udp --dport 10000:20000 -j ACCEPT

動作試験   では動作試験をしてみましょう。

service asterisk start でAsteriskサーバを起動します。

パソコン上のX-Liteに上記の「クライアント側の設定」の項にある設定情報を登録して
X-Liteを起動します。

PC1とPC2のX-Liteそれぞれから「700」をダイヤルし、
英語のメッセージが流れることを確認してください。

次にPC1側のX-Liteから「5002」をダイヤルし、
PC2側のX-Liteに着信することを確認します。

コーデックがulawなのでたくさんの帯域を使っているので
エコー等が多少あるかもしれませんが、とりあえず無視しておきます。

今度はPC2から「5001」をダイヤルしてPC1の
X-Liteを呼び出します。

双方で通話ができればOKです。