VoIP電話の接続(upnp)

1.はじめに

最近はやりのVoIP電話をFreeBSDルーターを使用しての接続を試みて見ました
私のプロバイダーでは登録料、月額基本料共に無料なので利用しないわけにはいきません
世間ではルーターにVoIP機能が搭載された物が多く見られますが、やはりFreeBSDサーバーを使用している人は
なんとかFreeBSDルーターとしてVoIPを使用したい物です。
その場合、VoIPアダプタとしてはこちらを利用しました。

2.インストール

必要なソフトは【upn】と【linuxigd】です
またFirewallはIPFでないと、うまくいきませんのでIPFWを使用している人はこれを機会にIPFにしましょう
インストールはいつも通りportsで入れてしまいます。
# cd /usr/ports/devel/upnp
# make install clean

# cd /usr/ports/net/linuxigd
# make install clean
これでインストール完了です

3.設定

設定ファイルは以下のとおりです
/etc/rc.conf に追加編集する
linuxigd_enable="YES"
linuxigd_extif="WAN側のIF名"
linuxigd_intif="LAN側のIF名"
static_routes="upnp"
route_upnp="-net 239.0.0.0 netmask 255.0.0.0 -interface LAN側のIF名"
4行目と5行目は昔のなごりで、今はいらないかもしれません
「WAN側のIF名」などはご自分の環境に合わせて入力してください
たとえばtun0とかです

/etc/ipf.rules で以下のように穴を開ける
#################################################
# incomming (group 100)
#################################################
pass in on WAN側のIF名 all head 100

pass in quick proto udp from any to any port = 5060 group 100
pass in quick proto udp from any to any port = 5090 group 100
pass in quick proto udp from any to any port = 5091 group 100
pass in quick proto udp from any port = 5060 to any group 100
pass in quick proto udp from any port = 5090 to any group 100
pass in quick proto udp from any port = 5091 to any group 100・

VoIPアダプタの設定はアダプタの取説などを見て下さい。
接続はVoIPアダプタのWANというコネクタをイントラ側に接続するだけです
VoIPアダプタを設定する場合はVoIPアダプタのLAN側にノートなどを接続して設定するのがいいでしょう

4.起動

立ち上げなおせば自動で立ち上がりますが、手動の場合は
/usr/local/etc/rc.d/linuxigd start
これで立ち上がります。
upnpdが走っているかpsコマンドもしくはwebminからでも確認して下さい。
ちゃんと走っていればまずは成功です。
次に、VoIPアダプタに電源を入れFreeBSDで以下のコマンドを打ち込んでNATが
自動で作成されているかを確認して見ましょう
# ipnat -l
List of active MAP/Redirect filters
map tun0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp auto
map tun0 192.168.0.0/24 -> 0.0.0.0/32
rdr tun0 210.XX.XX.XX/32 port 5060 -> 192.168.0.10 port 5060 udp
rdr tun0 210.XX.XX.XX/32 port 5090 -> 192.168.0.10 port 5090 udp
rdr tun0 210.XX.XX.XX/32 port 5091 -> 192.168.0.10 port 5091 udp
mapの2行は今までも出ているipnat.rulesで指定している内容です
upnpで作成されたのはrdrの3行になります
このように5060,5090,5091を自動で固定NATしてくれればまずは成功でしょう

これで、VoIPアダプタのユーザーなどを設定すればVoIP電話が使えるはずです
私のプロバイダーの場合、自動設定のHPに行けば設定できました。
そのような場合はVoIPアダプタの下側に接続したノートからアクセスする必要があります。
あとはVoIPアダプタの【VoIP】ランプが接続すればもう電話がかけられます
一応、かける方、受ける方を携帯電話などで確認しておきましょう
私はFirewallの設定が足りなく、VoIPからの音声は相手に届くのだが、聞こえないという状況でした。