(57)【特許請求の範囲】
【請求項１】
閉じたネットワークで用いるプライベートアドレスと該プライベートアドレスに対して公的に割り当てられたグローバルアドレスとをアドレス変換するアドレス変換手段を用いて、前記プライベートアドレスが機能するプライベートアドレス空間内のプライベートアドレス端末装置と前記グローバルアドレスが機能するグローバルアドレス空間内のグローバルアドレス端末装置との間で通信するアドレス変換機能付ゲートウェイ装置において、該装置は、
前記プライベートアドレス端末装置と前記グローバルアドレス端末装置のいずれから供給されたかを判定し、さらに同一アドレス空間内において供給されたデータを受け渡す相手先の識別に用いるあらかじめ規定されたポート番号が含まれているかを判定して所定のゲートウェイ制御プロトコルに対応したデータが含まれているかに応じて該所定のゲートウェイ制御プロトコルにより規定された領域に格納されている宛先および送信元の一方のアドレスを前記データの送出方向に対応してそれぞれ、前記プライベートアドレスと前記プライベートアドレス端末装置を代表するグローバルアドレスとに変換するアドレス判定変換機能ブロックと、
前記プライベートアドレス端末装置それぞれのアドレスと該プライベートアドレス端末装置を代表するグローバルアドレスとを対応付けてテーブル化して記憶するアドレス記憶手段とを含むことを特徴とするアドレス変換機能付ゲートウェイ装置。
【請求項２】
請求項１に記載の装置において、前記所定のゲートウェイ制御プロトコルは、前記通信における呼出し制御である呼制御を該装置の外部に配置された呼制御エレメントから行うMGCP（Media Gateway Control Protocol)呼制御を用いることを特徴とするアドレス変換機能付ゲートウェイ装置。
【請求項３】
請求項１または２に記載の装置において、前記アドレス判定変換機能ブロックは、前記MGCPプロトコルにおいて２つのシステム間で行う通信の論理的な接続開始から終了までをセッションとして該セッションの記述に用いるSDP（Session Description Protocol)が含む前記アドレスおよび前記ポート番号も変換する機能を有することを特徴とするアドレス変換機能付ゲートウェイ装置。
【請求項４】
請求項１、２または３に記載した装置において、前記プライベートアドレス端末装置は、該装置において使用する前記プライベートアドレス端末装置を代表するグローバルアドレスと前記ポート番号を配し、該装置は、直接的に前記グローバルアドレス空間からの前記データを前記プライベートアドレス端末装置に出力するサーバとして用いることを特徴とするアドレス変換機能付ゲートウェイ装置。
【請求項５】
請求項４に記載した装置において、該装置は、前記サーバとして用いるとともに、前記プライベートアドレス端末装置の起動に応じて前記プライベートアドレス端末装置を代表するグローバルアドレスと前記ポート番号を前記プライベートアドレス端末装置に通知し、通信終了にともなって通知したアドレスおよびポート番号を回収するDHCP（Dynamic Host Configuration Protocol)の機能を有することを特徴とするアドレス変換機能付ゲートウェイ装置。
【請求項６】
閉じたネットワークで用いるプライベートアドレスと該プライベートアドレスに対して公的に割り当てられたグローバルアドレスとをアドレス変換する機能を有するゲートウェイ装置を用いて、前記プライベートアドレスが機能するプライベートアドレス空間と前記グローバルアドレスが機能するグローバルアドレス空間とにそれぞれ配置した端末装置間でデータ通信を行うアドレス変換機能付ゲートウェイ装置のアドレス変換方法において、該方法は、
前記ゲートウェイ装置に供給されるデータが前記グローバルアドレス空間と前記プライベートアドレス空間のいずれからかを判定し、同一アドレス空間内において供給されたデータを受け渡す相手先の識別に用いるあらかじめ規定されたポート番号が特定の値であるかに応じて所定のゲートウェイ制御プロトコルに従うデータを含む否かを判定する第１の工程と、
前記所定のゲートウェイ制御プロトコルに対応して前記グローバルアドレス空間から前記データを受信した場合、前記プライベートアドレス空間を代表するグローバルアドレスが書き込まれている宛先のアドレスを前記プライベートアドレスに変換する第２の工程と、
前記所定のゲートウェイ制御プロトコルに対応して前記プライベートアドレス空間から前記データを受信した場合、送信元を示す前記プライベートアドレスを前記プライベートアドレス空間を代表するグローバルアドレスに変換する第３の工程とを含むことを特徴とするアドレス変換機能付ゲートウェイ装置におけるアドレス変換方法。
【請求項７】
請求項６に記載の方法において、第２および第３の工程は、前記所定のゲートウェイ制御プロトコルに、前記通信における呼出し制御である呼制御を該装置の外部に配置された呼制御エレメントから行うMGCPの呼制御を用いることを特徴とするアドレス変換機能付ゲートウェイ装置におけるアドレス変換方法。
【請求項８】
請求項６または７に記載の方法において、第２および第３の工程は、前記MGCPプロトコルにおいて２つのシステム間で行う通信の論理的な接続開始から終了までをセッションとして該セッションの記述に用いるSDPが含む前記アドレスおよび前記ポート番号も変換することを特徴とするアドレス変換機能付ゲートウェイ装置のアドレス変換方法。
【請求項９】
請求項６、７または８に記載の方法において、第２および第３の工程は、それぞれ、前記SDPの記述を検索し、検索結果にアドレスが含まれているか否かに応じてアドレス変換処理を施す工程を含むことを特徴とするアドレス変換機能付ゲートウェイ装置のアドレス変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、プライベートアドレス空間下のネットワークに配置したMGCP（Media Gateway Control Protocol)の規約に従って動作するMGCP端末装置とグローバルアドレス空間下のネットワークに配置したMGCP端末装置との通信を可能にするアドレス変換機能付ゲートウェイ装置に関するものであり、また、本発明は、たとえば、ゲートウェイ装置で行うプライベートアドレス空間内のMGCP端末装置とグローバルアドレス空間下でのMGCP端末装置の通信におけるNAT（Network Address Translator)機能によるアドレス変換方法に関するものである。
【０００２】
【従来の技術】
現在、音声通信は、安価な長距離電話や音声およびデータの統合によるコスト低下を目的にVoIP（Voice over Internet Protocol)が用いられるようになってきている。そして、ルータ装置は、ブロードバンドや常時接続インターネットの急速な通信環境の変化やその普及にともなって様々な使い方が提案されている。
【０００３】
VoIPにおける呼制御には、以下に示すようなプロトコルがある。これらのプロトコルには、主に、ITU-T（International Telecommunication Union-Telecommunication standardization sector)H.323, SGCP（Simple Gateway Control Protocol), IPDC（Internet Protocol Device Control), MGCP（Media Gateway Control Protocol), SIP（Session Initiation Protocol)がある。
【０００４】
このうち、MGCPは、1998年の暮れにIETF（Internet Engineering Task Force)によりIPDCとSGCPを融合する形で策定されている。MGCPは、テレフォニーゲートウェイを外部の呼制御エレメント（要素）により制御する規約である。テレフォニーゲートウェイには、各種のゲートウェイ、ネットワークアクセスサーバ等がある。この制御に応じて動作する端末をMGCP端末装置と呼ぶ。
【０００５】
ところで、このMGCP端末装置とPC（Personal Computer)端末装置をルータ装置の配下に配置する。一般的に、ルータ装置には、NAT（Network Address Translator)機能が搭載されている。NAT機能とは、接続用にあらかじめ割り当てられた一つのIP（Internet Protocol)アドレスを用いて、プライベートアドレスをグローバルアドレスに変換して送信元IPアドレスとして送出し、受信において供給される宛先IPアドレスのグローバルアドレスをプライベートアドレスに変換する機能である。これにより、ルータ装置は、一つのIPアドレスでプライベートアドレス空間内での複数のクライアントを使い回すことができる。このようなNAT機能は、RFC（Request For Comments)1631で規定されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、この配置において、ルータ装置は、プライベートアドレス空間内のPC端末装置しかグローバルアドレス空間の機器と通信できない。また、PC端末装置でもNAT機能ではIPアドレスが変換されない場合がある。それは、FTP（File Transfer Protocol)、アメリカRealNetworks社の音声データフォーマット（RealAudio）やアメリカMicrosoft社のテレビ会議を行うソフトウェア（NetMeeting）等のような場合である。これらの場合、アプリケーションがIPパケットのデータ部分のIPアドレスを使用しているためである。IPネットワークとの通信を確保するため、このデータ部分のIPアドレスを変換するアプリケーションゲートウェイが用いられている。
【０００７】
上述したようにプライベートアドレス空間内にMGCP端末装置を配置した場合、MGCP端末装置は、ルータ装置のNAT機能を使用しても、グローバルアドレス空間内の機器とMGCPプロトコルによる通信や通話ができない。この場合の問題もIPアドレスが各アドレス空間に対応して変換できないことに起因している。しかしながら、現時点において、通信を可能にするNAT機能付MGCP対応のアプリケーションゲートウェイはない。
【０００８】
本発明はこのような従来技術の欠点を解消し、ルータ装置の配下にあるMGCP端末装置とグローバルアドレス空間内の機器との通信を可能にするアドレス変換機能付ゲートウェイ装置およびそのアドレス変換方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明は上述の課題を解決するために、閉じたネットワークで用いるプライベートアドレスとこのプライベートアドレスに対して公的に割り当てられたグローバルアドレスとをアドレス変換するアドレス変換手段を用いて、プライベートアドレスが機能するプライベートアドレス空間内のプライベートアドレス端末装置とグローバルアドレスが機能するグローバルアドレス空間内のグローバルアドレス端末装置との間で通信するアドレス変換機能付ゲートウェイ装置において、プライベートアドレス端末装置とグローバルアドレス端末装置のいずれから供給されたかを判定し、さらに同一アドレス空間内において供給されたデータを受け渡す相手先の識別に用いるあらかじめ規定されたポート番号が含まれているかを判定して所定のゲートウェイ制御プロトコルに対応したデータが含まれているかに応じてこの所定のゲートウェイ制御プロトコルにより規定された領域に格納されている宛先および送信元の一方のアドレスをデータの送出方向に対応してそれぞれ、プライベートアドレスとプライベートアドレス端末装置を代表するグローバルアドレスとに変換するアドレス判定変換機能ブロックと、プライベートアドレス端末装置それぞれのアドレスとこのプライベートアドレス端末装置を代表するグローバルアドレスとを対応付けてテーブル化して記憶するアドレス記憶手段とを含むことを特徴とする。
【００１０】
本発明のアドレス変換機能付ゲートウェイ装置は、アドレス判定変換機能ブロックでデータの供給元およびポート番号による判定を行って所定の所定のゲートウェイ制御プロトコルか判定し、この判定の真偽により所定のゲートウェイ制御プロトコルが規定する領域のうち、宛先および送信元の一方のアドレスをデータの送出方向に応じたプライベートアドレスとプライベートアドレス端末装置を代表するグローバルアドレスとの変換をアドレス記憶手段から読み出して行うことにより、所定のゲートウェイ制御プロトコルに対応した端末装置が異なるアドレス空間にあっても通信することができる。
【００１１】
また、本発明は上述の課題を解決するために、閉じたネットワークで用いるプライベートアドレスとこのプライベートアドレスに対して公的に割り当てられたグローバルアドレスとをアドレス変換する機能を有するゲートウェイ装置を用いて、プライベートアドレスが機能するプライベートアドレス空間とグローバルアドレスが機能するグローバルアドレス空間とにそれぞれ配置した端末装置間でデータ通信を行うアドレス変換機能付ゲートウェイ装置のアドレス変換方法において、ゲートウェイ装置に供給されるデータがグローバルアドレス空間とプライベートアドレス空間のいずれからかを判定し、同一アドレス空間内において供給されたデータを受け渡す相手先の識別に用いるあらかじめ規定されたポート番号が特定の値であるかに応じて所定のゲートウェイ制御プロトコルに従うデータを含む否かを判定する第１の工程と、所定のゲートウェイ制御プロトコルに対応してグローバルアドレス空間からデータを受信した場合、プライベートアドレス空間を代表するグローバルアドレスが書き込まれている宛先のアドレスをプライベートアドレスに変換する第２の工程と、所定のゲートウェイ制御プロトコルに対応してプライベートアドレス空間からデータを受信した場合、送信元を示すプライベートアドレスをプライベートアドレス空間を代表するグローバルアドレスに変換する第３の工程とを含むことを特徴とする。
【００１２】
本発明のアドレス変換機能付ゲートウェイ装置のアドレス変換方法は、データの供給元およびポート番号による判定を行って所定の所定のゲートウェイ制御プロトコルか判定し、この判定の真偽に応じてグローバルアドレス空間から所定のゲートウェイ制御プロトコルを含むデータの受信においてプライベートアドレス空間を代表するグローバルアドレスを宛先を示すプライベートアドレスに変換し、プライベートアドレス空間から所定のゲートウェイ制御プロトコルを含むデータの受信において送信元を示すプライベートアドレスをプライベートアドレス空間を代表するグローバルアドレスに変換することにより、所定のゲートウェイ制御プロトコルを含むデータの通信が異なるアドレス空間であっても可能にする。
【００１３】
【発明の実施の形態】
次に添付図面を参照して本発明によるアドレス変換機能付ゲートウェイ装置の実施例を詳細に説明する。
【００１４】
本実施例は、本発明のゲートウェイ装置をルータ装置10に適用した場合である。本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。
【００１５】
ルータ装置10は、基本的に、OSI（Open Systems Interconnection)モデルの第３層、すなわちネットワーク層のプロトコル処理を行う装置である。データはパケット化して扱われている。ルータ装置10は、さらにOSIモデルの第４層以上で異なるプロトコル同士を変換するゲートウェイ機能を具備している。ルータ装置10をゲートウェイとした場合、OSIモデルのゲートウェイに対応する機能は、アプリケーションゲートウェイと呼んで区別している。
【００１６】
ルータ装置10は、図１に示すように、LAN（Local Area Network)インタフェース部12、システム制御部14、ストレージ16およびWAN（Wide Area Network)インタフェース部18を有している。
【００１７】
LANインタフェース部12は、ルータ装置10の配下にあたるプライベートアドレス空間に配置された端末装置のそれぞれ（図示せず）と信号線20を介してフレームデータの通信を行う機能を含んでいる。LANインタフェース部12は、システム制御部14と信号線22を介してフレームデータのやり取りをしている。
【００１８】
システム制御部14には、呼制御機能部14aおよびアドレス判定処理機能部14bがある。システム制御部14は、LANインタフェース部12だけでなく、ストレージ16およびWANインタフェース部18とそれぞれ信号線24, 26を介してそれぞれデータをやり取りしている。呼制御機能部14aは、第１層および第２層を用いて呼制御を行う機能部である。呼制御機能部14aでは、呼制御手順として回線交換における発端末から着端末までの通信パスの設定、維持、解放等を行い、発着端末間のメッセージのやり取りを規定している。また、パケット通信を行う場合の接続制御手順、およびデータ転送手順等も含んでいる。
【００１９】
アドレス判定処理機能部14bには、図２に示すように、レイヤ変換部140、UDP（User Datagram Protocol)判定機能部142、MGCP判定機能部144およびアドレス・ポート番号変換機能部146が含まれている。レイヤ変換部140は、供給されるフレームデータに対する第２層（データリンク層）から第４層に（トランスポート層）への上位変換や逆に、第４層から第２層への下位変換を行う機能を有している。このため、レイヤ変換部140には、データ22またはデータ26が供給されている。
【００２０】
レイヤ変換部140は、供給されるデータを上述した上位変換機能により第４層のデータに変換し、UDP判定機能部142およびMGCP判定機能部144にそれぞれ、データ（UDPパケット）148を出力する。また、レイヤ変換部140は、後述するアドレス・ポート番号変換機能部146から供給されるデータ150を入力し、下位変換機能により第２層のデータに変換し、宛先方向に向けて送出する。
【００２１】
UDP判定機能部142は、UDPパケットのヘッダ領域に含まれるメッセージが所定の番号か否かに応じてUDPデータ領域からMGCPメッセージの有無を確認する機能を備えている。所定の番号とは、デフォルトでたとえば、外部のCA（Call Agent)からMGCP端末装置へのメッセージであるポート番号とMGCP端末装置からCAへのメッセージであるポート番号のことである。本実施例では、前者のポート番号を「2427」、後者のポート番号を「2727」としている。UDPを判定機能部142は、UDPデータ領域に所定の番号を含み、IPアドレスが存在するか否かを確認し、この確認結果を制御信号152a, 152bとしてアドレス・ポート番号変換機能部146とMGCP判定機能部144にそれぞれ出力する。制御信号152aは、IPアドレスの存在が確認されたことを示し、このIPアドレスの値をアドレス・ポート番号変換機能部146に出力する。また、制御信号152bは、IPアドレスの存在が確認できなかったことを示す信号である。
【００２２】
MGCP判定機能部144は、UDPパケットのデータ領域に含まれるSDP（Session Description Protocol)情報の検索処理を行う機能を備えている。MGCP判定機能部144は、SDP情報の検索結果により得られたIPアドレスやポート番号を抽出し、アドレス・ポート番号変換機能部146にIPアドレスやポート番号を抽出データ154として出力する。この検索および抽出について後段の動作でさらに説明する。
【００２３】
アドレス・ポート番号変換機能部146は、供給される制御信号152aおよび抽出データ154を基にアドレスやポート番号の変換を行う機能を備えている。変換するアドレスやポート番号は、ストレージ16にテーブル化して格納されているアドレスやポート番号の関係を用いて行う。このため、アドレス・ポート番号変換機能部146には、ストレージ16からデータ24が供給されている。アドレス・ポート番号変換機能部146は、それぞれアドレス等の変換を施したデータ150をレイヤ変換機能部140に出力する。
【００２４】
図１に戻って、ストレージ16は、プライベートアドレス空間をTA（Terminal Adaptor)やMGCP端末装置のプライベートアドレス（IPアドレス）とプライベートアドレス空間を代表するグローバルアドレス（IPアドレス）とを対応付けるNATテーブルやプライベートアドレス空間とグローバルアドレス空間とのポート番号の関係が保存されている。ストレージ16は、これら記憶したIPアドレスやポート番号をいずれの空間に向けた送信（またはいずれの空間からの受信）かに対応してデータ24をシステム制御部14に送出する。
【００２５】
WANインタフェース部18は、ルータ装置10の外部にあるグローバルアドレス空間の装置と信号線28を介してフレームデータの通信を行う機能を含んでいる。グローバルアドレス空間の装置には、広域ネットワークに接続したCAやMGCP端末装置等がある。WANインタフェース部18は、システム制御部14と信号線26を介してフレームデータのやり取りをしている。
【００２６】
このように構成してこれまでできなかったグローバルアドレス空間とプライベートアドレス空間のMGCP端末装置間の通信が可能になる。
【００２７】
ここで、簡単に１フレームのパケットにおけるデータ構造を簡単に説明する（図３を参照）。パケットは、順に、イーサネット（商標）ヘッダ30、IPヘッダ32、UDPヘッダ34、MGCPデータ36を含んでいる。イーサネット（商標）ヘッダ30には、18バイトの領域があり、たとえば装置のそれぞれに対して一意に与えられるデータリンク層のアドレスが含まれている。このアドレスがMAC（Media Access Control)アドレスである。
【００２８】
IPヘッダ32には、２つの領域32a, 32bがある。領域32aが送信元アドレスに相当し、領域32bが宛先アドレスに対応している。IPヘッダ32には、IPv4（Internet Protocol version 4)で32ビット、IPv6（Internet Protocol version 6)で４倍の128ビットが領域確保されている。
【００２９】
UDPヘッダ34は、前述したようにトランスポート層のデータ種別を表す送信元ポート、宛先ポート、フィールド長、UDPチェックサムを含む。このUDPヘッダ34の後段にUDPデータ領域が続く。このUDPデータ領域が、本実施例で通信を行うMGCPのデータ領域36に対応している。
【００３０】
MGCPデータ領域36には、可変長のデータが格納される。MGCPデータ領域は、所定のデータ域36a、送信アドレス36b、送信元ポート番号36c、呼制御データ領域36dに細分化される。所定のデータ域36aには、MGCPの制御コマンドに対応したコードまたはリターンコードがMGCPメッセージとして格納される。制御コマンドには、EndpointConfiguration（EPCF)、NotificationRequest（RQNT)、Notify（NTFY)、CreateConnection（CRCX)、ModifyConnection（MDCX)、DeleteConnection（DLCX）、AuditEndpoint（AUEP）、AuditConnectoin（AUCX）およびRestartIn-Progress（RSIP）があり、リターンコードには、SGCPで規定している、通常のトランザクション実行を表すコード「200」から指定された通知をゲートウェイが送信不能のためトランザクショが実行できないことを表すコード「514」に加えて、MGCPのコード「514」からコード「524」がある。
【００３１】
送信アドレス36bには、プライベートアドレス（PA)空間からのデータ受信とグローバルアドレス（GA)空間からのデータ受信において送信元のアドレスと宛先のアドレスがそれぞれ格納される。送信元アドレスは、送信元のプライベートアドレスからプライベートアドレス空間を代表するグローバルアドレスに変換される。宛先アドレスは、宛先に書き込まれているプライベートアドレス空間を代表するグローバルアドレスからプライベートアドレス空間内のMGCP端末装置等における宛先に対応したプライベートアドレスに変換される。
【００３２】
また、送信元ポート番号36cには、音声メディアポートを使用する場合においてMGCP対応を示す所定のポート番号が送信元のポート番号として格納されている。ここで、プライベートアドレス（PA)空間から同一空間内でのデータ通信を行う場合、送信元ポート番号36cは、実際にMGCP対応にて通信を行うポート番号に変換される。ただし、グローバルアドレス（GA)空間からのデータ受信する場合、送信元ポート番号36cは使用しない。ルータ装置10がMGCP端末装置のポート番号を知っているからである。
【００３３】
呼制御データ領域36dには、呼制御に関わるデータ、たとえばオンフック、オフフック、リンギング等のデータが書き込まれる。また、領域36dには、SDP情報のタグに対応したデータも書き込まれる。このタグは、英文字１文字で表現され、３種類のセッション記述、時間記述およびメディア記述に大別されている。
【００３４】
セッション記述は、セッションの名前やセッションの生成者に関する情報を記述し、v：バージョン情報、o：セッション生成者とセッション識別用の情報およびs：セッションのタイトルがある。時間記述は、セッションが有効な期間を表現し、t：セッションの開始時刻と終了時刻を示す。そして、メディア記述は、メディアの受信で使用する情報を記述し、c, m,およびaがある。タグcはコネクションデータを示し、タグmはメディア名とトランスポート層アドレスを示し、タグaはメディア属性を示す。これらのタグのうち、アドレスが関与しているタグは、o, cおよびmの３つである。SDP情報が含まれる場合、これらのタグに付随するアドレスやポート番号の変更も行う。
【００３５】
次にルータ装置10における動作を説明する。この動作説明では、上述したパケットの構造を考慮してアドレス判定機能部14bによりアドレスの変換およびポート番号の変換を行う手順について説明する（図４を参照）。
【００３６】
図示しないが、たとえばIPヘッダ32にあるIPアドレスのうち、送信元IPアドレスまたは宛先IPアドレスを通常のNAT変換によりアドレス変換する。この通常のNAT変換とは、送信元IPアドレスがプライベートアドレス空間のアドレスを示しているならば、送信元IPアドレスがプライベートアドレス空間を代表するグローバルアドレスに変換し、宛先IPアドレスがグローバルアドレス空間のアドレスを示しているならば、宛先IPアドレスがプライベートアドレス空間内の通信する宛先のプライベートアドレスに変換する操作である。
【００３７】
また、FTP（File Transfer Protocol)は、セッション層、アプリケーション層、プレゼンテーション層の３つの層に対応した通信プロトコルで、インターネット上の２点間でファイル転送を管理する。FTPにおいてもこれら各層に対応してアドレス変換を行っている（NAT_FTP）。本実施例においてアドレス判定機能部14bは、このNAT変換およびNAT_FTPを行うとともに、MGCP対応のNAT変換（以下、NAT_MGCPという）も行う。図４では、NAT_MGCPについて説明する。
【００３８】
NAT_MGCPにおけるアドレス判定を開始してグローバルアドレス空間側からの受信か否かを判定する（ステップS10)。グローバルアドレス空間側からデータが供給されていると判定した場合（YES)、ポート番号の確認に進む（ステップS12へ)。また、グローバルアドレス空間側からデータが供給されていないと判定した場合（NO)、プライベートアドレス空間側からの受信か否かの判定に進む（ステップS14へ)。
【００３９】
次に供給されたデータに含まれるポート番号があらかじめ設定したポート番号と同じか否かを判定する（ステップS12）。本実施例では、デフォルトでポート番号2427に設定している。ポート番号が一致した場合（YES)、MGCP対応のIPアドレス変換処理に進む（サブルーチンSUB1へ）。ポート番号が不一致の場合（NO)、MGCPに対応したデータの受信でないと判断してNAT_MGCP処理の終了に進む。
【００４０】
また、前述したグローバルアドレス空間側からのデータ受信でないとの判断（ステップS10：NO)により、データがプライベートアドレス空間側からの受信か否かを判定する（ステップS14)。プライベートアドレス空間側からデータが供給されていると判定した場合（YES)、ポート番号の確認に進む（ステップS16へ)。また、プライベートアドレス空間側からデータが供給されていないと判定した場合（NO)、両アドレス空間からのデータでないと判断してアドレス判定処理を終了させる。
【００４１】
次に供給されたデータに含まれるポート番号があらかじめ設定したポート番号と同じか否かを判定する（ステップS16）。本実施例では、デフォルトでポート番号2727に設定している。ポート番号が一致した場合（YES)、MGCP対応のIPアドレス変換処理に進む（サブルーチンSUB2へ）。ポート番号が不一致の場合（NO）、MGCPに対応したデータの受信でないと判断してNAT_MGCP処理の終了に進む。
【００４２】
サブルーチンSUB1, SUB2では、MGCP対応のIPアドレス変換処理をMGCPデータ36に対して行う。MGCP対応のIPアドレス変換処理は、グローバルアドレス空間からデータを受信した場合（サブルーチンSUB1）とプライベートアドレス空間からデータを受信した場合（サブルーチンSUB2）である。これらの処理後、アドレス判定処理を終了させる。
【００４３】
次にMGCP対応のIPアドレス変換処理について説明する（図５を参照）。まず、UDPメッセージの抽出を行う（サブステップSS10）。UDPメッセージは、UDPデータであり、本実施例ではMGCPデータ36に対応している。この抽出後、MGCPメッセージが含まれているか否かの判定を行う（サブステップSS12）。
【００４４】
この判定は、抽出したUDPデータにおける最初の４バイトをチェックすることで行う。この４バイトの領域には、MGCPメッセージの種類および応答のいずれかが含まれる。MGCPメッセージには、たとえばverbとしてRQNT, CRCX等や応答コードとしてのリターンコード「200」等が記されている。これらのうち、いずれかのMGCPメッセージが確認された場合、EndpointIDの検索に進む（サブステップSS14へ）。また、MGCPメッセージが確認されなかった場合（NO）、データがMGCPメッセージでないことから、何もせずにリターンに移行してサブルーチンSUB1を終了する。
【００４５】
次にEndpointIDの検索を行う（サブステップSS14）。EndpointIDは、次のフォーマット：endpoint-name@[IP_addr]mgcp[ver]\r\nで記述される。ここで、[]は、データの範囲を示している。また、最後の改行コード（CRLF:\r\n）は、MGCPメッセージにおいて最初に現れる改行コードと定義されている。このことから、この検索では、「@」と「mgcp」が存在するかを確認すればよい。検索範囲は、上述した最初に現れる改行コードまでとする。検索結果に「@」と「mgcp」が存在するとき、IPアドレスの有無に関する判定に進む（サブステップSS16へ）。図示しないが検索結果に「@」と「mgcp」が存在しないとき、SDPの検索とIPアドレス変換処理に進む（サブルーチンSUB3へ）。
【００４６】
次に検索した「@」と「mgcp」との間にIPアドレスが存在するか否かの判定を行う（サブステップSS16）。IPアドレスが存在する場合（YES)、IPアドレスの抽出に進む（サブステップSS18へ）。また、IPアドレスが存在しなかった場合（NO）、SDPの検索とIPアドレス変換処理に進む（サブルーチンSUB3へ）。
【００４７】
次にIPアドレスの抽出を行う（サブステップSS18）。この抽出したアドレスは、宛先のIPアドレスで、プライベートアドレスを代表するグローバルアドレスである。このグローバルアドレスを通信相手先であるたとえばMGCP端末装置等のプライベートアドレスに変換する（サブステップSS20：GA→PA）。この変換の後、SDPの検索とIPアドレス変換処理に進む（サブルーチンSUB3へ）。
【００４８】
次にSDPの検索とIPアドレス変換処理を行う（サブルーチンSUB3）。この処理によってSDP情報に含まれるIPアドレスを宛先を示すプライベートアドレスに変換する。この変換処理後、リターンに移行してサブルーチンSUB1を終了する。
【００４９】
このようにして宛先IPアドレスをプライベートアドレス空間内の通信相手に変換してMGCPにおける通信を確実に行えるようにしている。
【００５０】
ところで、もう一つのMGCP対応のIPアドレス変換処理は、アドレス変換（サブステップSS20）を除いて、ほぼ前述したサブルーチンSUB1の手順に同じであることから説明を省略する。ただし、プライベートアドレス空間からグローバルアドレス空間にデータを送る処理であるから、サブステップSS20に相当するサブステップでのアドレス変換は、送信元のIPアドレス（プライベートアドレス）をグローバルアドレスに変換する処理（PA→GA）になる。このグローバルアドレスは、プライベートアドレス空間を代表する値として割り当てられているものである。
【００５１】
次にSDP情報におけるIPアドレス変換について説明する（図６および図７を参照）。サブルーチンSUB3, SUB4における動作は、ほぼ同じ手順で行われる。煩雑さをなくすため、同じ説明を繰り返すことなく、サブルーチンSUB3, SUB4で異なる処理手順について強調して説明する。
【００５２】
SDP情報におけるIPアドレス変換では、まず、SDP情報が含まれているか否かを判定する（サブステップSS30）。SDP情報は、連続する改行コード（CRLF CRLF:0d0a 0d0a)の後に続くことが定義されている。このことから、この判定では、２回連続する改行コードを検索する。すなわち、この連続改行コードが確認された場合、SDP情報が存在すると判定して（YES)、SDPにおけるタグ「o」の検出に進む（サブステップSS32）。また、この連続改行コードの確認ができなかった場合、SDP情報がないと判定して（NO）、接続子Aを介して図７のリターンに進み、サブルーチンSUB3を終了する。
【００５３】
次にSDPにおけるタグ「o」の検出を行う（サブステップSS32）。ここで、タグ「o」は、セッション生成者とセッション識別用の情報の記載を示す識別子に相当する。タグ「o」が検出された場合（YES)、IPアドレスが記載される位置の直前にある「IN IP4」の検出に進む（サブステップSS34へ）。また、タグ「o」が検出されなかった場合（NO)、タグ「c」の検出に進む（サブステップSS36へ）。
【００５４】
次にIPアドレスが定義により記載される位置の直前にある「IN IP4」の検出を行う（サブステップSS34）。検出範囲は改行コードが検出されるまでの範囲で行う。「IN IP4」を検出した場合（YES)、「IN IP4」の次に記載されているIPアドレスの抽出に進む（サブステップSS38へ）。また、IPアドレスが検出されなかった場合（NO）、タグ「c」の検出に進む（サブステップSS36へ）。
【００５５】
次にIPアドレスの抽出を行う（サブステップSS38）。次に抽出したIPアドレスに対するアドレス変換を行う（サブステップSS40: GA→PA）。抽出したIPアドレスは、グローバルアドレスであるから、プライベートアドレス空間における通信相手のプライベートアドレスに変換する。この後、タグ「c」の検出に進む（サブステップSS36へ）。
【００５６】
次にSDPにおけるタグ「c」の検出を行う（サブステップSS36）。タグ「c」はコネクションデータの記載を示す識別子に相当する。タグ「c」が検出された場合（YES)、IPアドレスが記載される位置の直前にある「IN IP4」の検出に進む（サブステップSS42へ）。また、タグ「c」が検出されなかった場合（NO)、接続子Bを介して図７のタグ「m」の検出に進む（サブステップSS44へ）。
【００５７】
次にIPアドレスが定義により記載される位置の直前にある「IN IP4」の検出を行う（サブステップSS42）。検出範囲は改行コードが検出されるまでの範囲で行う。「IN IP4」を検出した場合（YES)、接続子Cを介して「IN IP4」の次に記載されているIPアドレスの抽出に進む（図７のサブステップSS46へ）。また、IPアドレスが検出されなかった場合（NO）、接続子Bを介してタグ「m」の検出に進む（サブステップSS44へ）。
【００５８】
次にIPアドレスの抽出を行う（サブステップSS46）。次に抽出したIPアドレスに対するアドレス変換を行う（サブステップSS48: GA→PA）。ここでも前述したアドレス変換と同様に抽出したIPアドレスは、グローバルアドレスであるから、プライベートアドレス空間における通信相手のプライベートアドレスに変換する。この後、タグ「m」の検出に進む（サブステップSS44へ）。
【００５９】
次にSDPにおけるタグ「m」の検出を行う（サブステップSS44）。タグ「m」はメディア名とトランスポートアドレスの記載を示す識別子に相当する。検索範囲は、改行コードが検出されるまでの範囲である。タグ「m」が検出された場合（YES)、メディアポートが記載される位置の直前にある「audio」と「RTP」の検出に進む（サブステップSS50へ）。また、タグ「m」が検出されなかった場合（NO)、リターンに移行してサブルーチンSUB3を終了する。
【００６０】
次にメディアポートが記載される位置の直前にある「audio」と「RTP」の検出を行う（サブステップSS50）。グローバルアドレス空間側からの受信では、図３に示したようにポート番号の領域が未使用になっている。これは、前述したようにあらかじめルータ装置10がポート番号を知っていて、送られなくても済むからである。したがって、サブルーチンSUB3で「audio」と「RTP」が検出されなくても、この場合、ポート番号「2427」でメッセージが検出されると、プライベートアドレス空間内のMGCP対応端末装置が有するポート番号に変換する。
【００６１】
一方、サブルーチンSUB4のようにプライベートアドレス空間から受信した場合、送信元ポート番号として供給されたポート番号に対して抽出を行う（サブステップSS52）。サブステップSS50における判定（NO）は、プライベートアドレス空間から受信した場合に「audio」と「RTP」が検出されなかったときに対応する。
【００６２】
なお、このポート番号の領域は、プライベートアドレス空間内のMGCP対応端末装置間で通信する場合も使用する。
【００６３】
次に抽出したポート番号の変換処理を行う（サブステップSS54）。ここで抽出したポート番号は、サブルーチンSUB3に対応するグローバルアドレス空間における宛先ポート番号として得られる。変換は、このグローバルアドレス空間のポート番号をプライベートアドレス空間における通信相手のポート番号に行うことである。
【００６４】
また、図示しないがサブルーチンSUB4の場合、抽出したポート番号の変換処理は、送信元ポート番号に対して行う。この送信元ポート番号は、プライベートアドレス空間におけるポート番号（たとえば、5006）を示しているので、グローバルアドレス空間のポート番号に変換する。本実施例では、WAN側のポート番号10272に変換される。
【００６５】
このようにポート番号の変換を行った後、リターンに移行して動作を終了する。
【００６６】
このように動作させることにより、MGCPデータに含まれるメッセージのIPアドレス、SDP情報内のIPアドレスおよびメディアポート番号のNAT変換処理が可能になる。これにより、ルータ装置10は、配下のプライベートネットワークのMGCP端末装置とグローバル側に存在するMGCP端末装置間でMGCPによる音声通話を行うことができるようになる。
【００６７】
次に本発明における他の実施例としてルータ装置10の配下にあるMGCP端末装置について説明する。本実施例でMGCP端末装置100には、あらかじめ、ルータ装置10のWAN側、すなわちグローバルアドレス空間のIPアドレスおよびポート番号がそれぞれ付与されている。MGCP端末装置100は、このIPアドレスおよびポート番号を保存し、MGCPプロトコル内のIPアドレスおよびポート番号として使用する。
【００６８】
ルータ装置10は、外部の呼制御エージェント（Call Agent: CA)のように、グローバルアドレス空間の装置からMGCP端末装置へのポート番号2427でサーバホスティングを行う。ルータ装置10には、ポート番号2427宛てのデータ（パケット）をプライベートアドレス空間内のMGCP端末装置に転送するようにサーバホスティング機能設定する。サーバホスティング機能は、先の実施例のルータ装置10になかった機能である。
【００６９】
このようにルータ装置10の配下にあるMGCP端末装置が直接ルータ装置のWAN側IPアドレス、ポート番号を使用しているから、ルータ装置10は、プライベートアドレス空間からグローバルアドレス空間に送出されるMGCPメッセージをNAT変換することなく、出力することができ、逆にグローバルアドレス空間からプライベートアドレス空間に供給されるMGCPメッセージもルータ装置がサーバホスティングを行うだけでよくなることから、ルータ装置10の処理負荷を軽減させることができる。
【００７０】
また、変形例としてルータ装置10は、DHCP（Dynamic Host Configuration Protocol)サーバのオプション情報を利用して、ルータ装置10の配下にあるMGCP端末装置にルータ装置10が有するIPアドレスおよびポート番号情報を通知する。MGCP端末装置は、供給されたIPアドレスおよびポート番号情報を用いてMGCPメッセージをグローバルアドレス空間のMGCP端末装置やCAのような装置等と通信する。
【００７１】
より具体的に説明すると、ルータ装置10は、配下のMGCP端末装置からのDHCP Discoverの応答として、DHCP Discoverのオプション情報例は、
1 = Subnet Mask
3 = Router
14 = [ルータ装置とMGCP端末装置で名前決定]
とし、DHCP Offer内のオプション情報例は、
Option 53: DHCP Message Type = DHCP Offer
Option 51: Server Identifier = 192.168.1.1
Option 1: Subnet Mask = 255.255.255.0
Option 3: Router = 192.168.1.1
Option 14: [ルータ装置とMGCP端末装置で名前決定] = “43.244.157.90 | 10272”
End Option
として、DHCPのサーバ機能を用いて自動的にルータ装置10が配下にするMGCP端末装置にルータ装置10のWAN側IPアドレスおよびポート番号を通知する。これにより、ルータ装置10側で設定するだけでプライベートアドレス空間とグローバルアドレス空間でのMGCPによる通話を可能にすることができる。
【００７２】
以上のように構成することにより、ルータ装置にアドレス変換機能付のゲートウェイ装置の機能を持ち込み、MGCPメッセージ内のIPアドレスおよびポート番号も考慮してNAT変換を行うことにより、これまでできなかった、プライベートアドレス空間とグローバルアドレス空間でのMGCPによる通話を可能にすることができる。
【００７３】
また、ルータ装置の配下にあるMGCP端末装置にルータ装置のグローバルアドレス空間に関するIPアドレスおよびポート番号を保有してグローバルアドレス空間の装置とMGCPによる通信を行い、ルータ装置にサーバホスティング機能を持たせることにより、ルータ装置の負荷を軽減させながら、これまでできなかった、プライベートアドレス空間とグローバルアドレス空間でのMGCPによる通話を可能にすることができる。
【００７４】
さらに、ルータ装置が有するDHCPのサーバ機能におけるオプション情報を利用することにより、自動的にルータ装置が配下にするMGCP端末装置にルータ装置のWAN側IPアドレスおよびポート番号を通知してもMGCPによる通話を可能にする。このとき設定をルータ装置に対して行うだけで済むので、個々にMGCP端末装置を設定する場合に比べて効率的に設定できる。
【００７５】
【発明の効果】
このように本発明のアドレス変換機能付ゲートウェイ装置によれば、アドレス判定変換機能ブロックでデータの供給元およびポート番号による判定を行って所定の所定のゲートウェイ制御プロトコルか判定し、この判定の真偽により所定のゲートウェイ制御プロトコルが規定する領域のうち、宛先および送信元の一方のアドレスをデータの送出方向に応じたプライベートアドレスとプライベートアドレス端末装置を代表するグローバルアドレスとの変換をアドレス記憶手段から読み出して行うことから、所定のゲートウェイ制御プロトコルに対応した端末装置であっても、これまで異なるアドレス空間にあるため不可能であった通信を行うことができる。
【００７６】
また、本発明のアドレス変換機能付ゲートウェイ装置のアドレス変換方法によれば、データの供給元およびポート番号による判定と所定の所定のゲートウェイ制御プロトコルかの判定を行い、この判定の真偽に応じてグローバルアドレス空間から所定のゲートウェイ制御プロトコルを含むデータの受信においてプライベートアドレス空間を代表するグローバルアドレスを宛先を示すプライベートアドレスに変換し、プライベートアドレス空間から所定のゲートウェイ制御プロトコルを含むデータの受信において送信元を示すプライベートアドレスをプライベートアドレス空間を代表するグローバルアドレスに変換することにより、所定のゲートウェイ制御プロトコルを含むデータの通信が異なるアドレス空間であっても行うことができる。
【図面の簡単な説明】
【図１】本発明のアドレス変換機能付ゲートウェイ装置を適用したルータ装置の概略的な構成を示すブロック図である。
【図２】図１のアドレス判定処理機能部が有する概略的な構成を示す機能ブロック図である。
【図３】図１のルータ装置が通信するパケットの構造を説明する図である。
【図４】図２のアドレス判定処理機能部のうち、MGCP対応のアドレス変換手順を説明するフローチャートである。
【図５】図４のアドレス変換処理の手順を説明するサブルーチンSUB1のフローチャートである。
【図６】図４のアドレス変換処理のうち、SDPにおけるアドレス変換手順を説明するフローチャートである。
【図７】図６の手順の続きを説明するフローチャートである。
【符号の説明】
10  ルータ装置
12  LANインタフェース部
14  システム制御部
14a 呼制御機能部
14b アドレス判定処理機能部
16  ストレージ
18  WANインタフェース部
【図１】
0003890253.tif 000002
【図２】
0003890253.tif 000003
【図３】
0003890253.tif 000004
【図４】
0003890253.tif 000005
【図５】
0003890253.tif 000006
【図６】
0003890253.tif 000007
【図７】
0003890253.tif 000008