タダ電話

前回からの続き。
ポートフォワーディングするには、電話ソフトがどのプロトコル、ポートを使うのかを把握する必要がある。NetMeeting, OpenPhoneはH.323を使って通信しているようだ。というわけで、まずどのポートを使っているのか調べてみると、Microsoftの技術情報が引っかかる。
ファイアウォール経由で NetMeeting 接続を確立する方法(KB158623)
これによると、H.323で使用するポートは
TCP:389(ディレクトリサービス使用時)
TCP:552(ディレクトリサービス使用時)
TCP:1503
TCP:1720
TCP:1731
のほか、動的にTCPUDPのポートを使用するらしい。(超大雑把)
この「動的に」というのが厄介でルーターによってはフォワードするポート番号を範囲指定できないし、できたとしてもなんとも穴の多い仕組みになる。ためしにTCPの1503、1720、1731だけをポートフォワーディングしてみたが、接続は確立するものの、音声はダメ。まあ当たり前で、「動的な」UDP

H.323 ストリーミング [User Datagram Protocol (UDP) 経由の Realtime Transport Protocol (RTP)]

ってのがおそらく音声をやりとりする上でのメイン部分であろうから、これをフォワードしないといけませんね。というわけでセキュリティ的にもあんまり気持ちよくないのでこの方法は却下。インターネットにPCを直接つなげるとか複数のグローバルIPもらえる環境で例えばOpenPhoneだけしか動いてないUnix系端末をインターネットにつなげれば比較的簡単にできそうだけど、あんまり現実的じゃないですね。