体育会系NetworkEngineerの備忘録

ネットワーク機器(Cisco、Juniper、FortiGate、BIG-IPなど)の設定方法や検証レポートを紹介します。プライベートの内容も少しあります。

【FortiGate】 VoIP接続設定

FortiGate経由でVoIP接続をする場合、FortiGateはUPnP機能がない為、SIPの手動設定が必要です。

【構成】
・FortiGateがPPPoEセッションを張る。(CTUはパススルー⇒設定方法はコチラ
・FortiGateがUPnP機能がない為、VoIPアダプタもUPnP機能を無効とする。
※L3レベルでの設定、ファイアウォール設定は設定済みの状態です。

f:id:fantasista7s:20150210145811p:plain
                                ※今回はFortiWiFi60Cで検証実施
【設定要件】
VoIPアダプタは最初にSIPサーバへ登録するパケット(Register)を送る。
 →このパケットのlengthが長いとDefaultでブロックされるので許可する。
 →このパケットにDefaultでFortiGateがローカル(プライベートIP)情報を含めて送信する為、SIPサーバで拒否される(注1)のでローカル情報を含めない設定をする。
(注1)SIPサーバの仕様により拒否されない場合があるので要確認。

◆設定例

config voip profile
 edit "test"
  config sip
   set block-long-lines disable
   set block-unknown disable
   set preserve-override enable
  end

※各Configの詳細はコチラ

②外部からの着信を常時受信できるようにFortiGateのグローバルIP宛にアクセスしてきたSIP通信(UDP-5060)のみをVoIPアダプタのプライベートIPにNAT変換させる。

◆設定例
左ペインのポリシー>サービス>サービス からSIPプロトコルを登録する。
f:id:fantasista7s:20150210155803p:plain
左ペインのファイアウォールオブジェクト>バーチャルIP>バーチャルIP から宛先NATを設定する。
f:id:fantasista7s:20150210160331p:plain
左ペインのポリシー>ポリシー からファイアウォールポリシーを設定する。
f:id:fantasista7s:20150210161825p:plain
【備考】
 上記設定が完了しVoIPの起動後、SIPサーバへの登録(Register送信)が完了し、FortiGateでセッションテーブルが存在することを確認した。
 その後、電話の送受信が無い状態で3分経過後にセッションテーブルがクリアされた。これはForiGateの仕様でUDPのTimeout値がDefault180秒である為。
 更に起動30分後に再度セッション張れたことを確認した。これはVoIPアダプタが30分間隔でSIPサーバへ登録(Register送信)している為。