図1乃至図6は、本発明による一実施例のSIP信号変換方法を説明するための模式図であり、図1は本実施例のSIP信号変換方法が適用されるネットワークの構成例を示す図、図2は図1のSIP-ALGの構成例を示す図、図3はネットワークアドレス管理テーブルの一例を示す図、図4はNAT対応網識別情報管理テーブルの一例を示す図、図5はSIP-ALGにおける処理手順の一例を説明するためのフロー図、図6は図5のステップ508の具体的な処理手順の一例を説明するためのフロー図である。
図1において、1は第1プライベート網、101は第1NAT装置、102は第2NAT装置、103は第1端末、104は第2端末、2は第2プライベート網、201は第3NAT装置、202は第4端末、3はグローバル網、301は第3端末、302はSIPサーバ、401は第1SIP-ALG装置、402は第2SIP-ALG装置、403は第3SIP-ALG装置である。また、図2において、40101はSIP信号送受信手段、40102は送信方向判定手段、40103はSDP変換手段、40103aはSDPフィールド変換手段、40103bは独自SIPヘッダ設定手段、40103cはSDP変換判定手段、40104はSIPヘッダ変換手段、40105はネットワークアドレス管理手段、40106はNAT対応網識別情報管理手段である。
本実施例のSIP信号変換方法は、たとえば、図1に示すように、VPN等の第1プライベート網1および第2プライベート網2と、グローバル網3の3つの網で構成されたネットワークに適用される。このとき、前記第1プライベート網1と前記グローバル網3は、図1に示したように、第1NAT装置101および第2NAT装置102により接続されているとする。また、前記第2プライベート網2と前記グローバル網3は、図1に示したように、第3NAT装置201により接続されているとする。またこのとき、前記第1NAT装置101および第2NAT装置102、ならびに第3NAT装置201はそれぞれ、第1SIP-ALG装置401および第2SIP-ALG装置402、ならびに第3SIP-ALG装置403が接続されている。
また、前記第1プライベート網1に収容された第1端末103および第2端末104、前記グローバル網3に収容された第3端末301、前記第2プライベート網2に収容された第4端末202は、それぞれSIPに対応しており、各端末間で前記グローバル網3に収容されたSIPサーバ302を介してSIP通信を行いセッションを確立することで、音声や映像等のメディアの送受信を行うことができるとする。またこのとき、前記第1端末103は、前記第1プライベート網1のアドレス体系に沿ったIPアドレスが割り当てられている。本実施例では、前記第1プライベート網1のアドレス体系を192.168.0.0/24とし、前記第1端末103に割り当てられたIPアドレスは192.168.0.1とする。また、前記第1端末103のSIP信号受信用のポート番号は5060番、メディア受信用のポート番号は10001番であるとする。同様に、前記第2端末104には、前記第1プライベート網1のアドレス体系に沿ったIPアドレス192.168.0.2が割り当てられており、SIP信号受信用のポート番号は5060番、メディア受信用のポート番号は10002番であるとする。
また、前記第3端末301は、前記グローバル網3のアドレス体系に沿ったIPアドレスが割り当てられている。本実施例では、前記第3端末301に割り当てられたIPアドレスは128.0.0.3とする。また、前記第3端末301のSIP信号受信用のポート番号は5060番、メディア受信用のポート番号は10003番であるとする。
また、前記第4端末202は、前記第2プライベート網2のアドレス体系に沿ったIPアドレスが割り当てられている。本実施例では、前記第2プライベート網2のアドレス体系を192.168.1.0/24とし、前記第4端末202に割り当てられたIPアドレスは192.168.1.4とする。また、前記第4端末202のSIP信号受信用のポート番号は5060番、メディア受信用のポート番号は10004番であるとする。
また、前記第1SIP-ALG装置401は、前記第1NAT装置101と連携して、前記第1NAT装置101が受信したSIP信号(メッセージ)のSIPレイヤのアドレス情報を変換する装置である。本実施例において、前記第1SIP-ALG装置401は、たとえば、図2に示すように、前記第1NAT装置101から転送されたSIP信号の受信、およびアドレス情報を変換したSIP信号の前記第1NAT装置101への返送をするSIP信号送受信手段40101と、前記第1NAT装置101から転送されたSIP信号の送信方向を判定する送信方向判定手段40102と、前記SIP信号のSDPを変換するSDP変換手段40103と、前記SIP信号の前記SDP以外のSIPレイヤ(SIPヘッダ)を書き換えるSIPヘッダ変換手段40104と、前記各NAT装置が収容されているプライベート網側のアドレス体系とグローバル網の側アドレス体系の対応関係をNAT装置ごとにまとめて管理するネットワークアドレス管理手段40105と、前記各NAT装置が収容されている網を識別するための網識別情報を管理するNAT対応網識別情報管理手段40106とを備える。
また、前記SDP変換手段40103は、たとえば、図2に示したように、前記SIP信号のSDPのうち、cフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を変換するSDPフィールド変換手段40103aと、プライベート網からグローバル網へ送信されるSIP信号に独自SIPヘッダを設定する独自SIPヘッダ設定手段40103bと、グローバル網からプライベート網へ送信されるSIP信号のSDPの変換を行うか否かの判定をするSDP変換判定手段40103cとを備える。
また、前記ネットワークアドレス管理手段40105は、たとえば、図3に示すように、前記NAT装置毎に、収容されているプライベート網側アドレス体系とプライベートアドレスの変換後のアドレス体系となるグローバル網側アドレス体系をまとめたネットワークアドレス管理テーブルを保持している。本実施例では、図3に示したように、前記第1NAT装置101ではプライベート網側アドレス体系として192.168.0.0/24、グローバル網側アドレス体系として130.0.0.0/24を管理しているとする。同様に、前記第2NAT装置101ではプライベート網側アドレス体系として192.168.0.0/24、グローバル網側アドレス体系として131.0.0.0/24を管理し、前記第3NAT装置201ではプライベート網側アドレス体系として192.168.1.0/24、グローバル網側アドレス体系として132.0.0.0/24を管理しているとする。
一方、前記NAT対応網識別情報管理手段40106は、たとえば、図4に示すように、SIP通信を行う際に経由する各NAT装置が、どのプライベート網に収容されている(属している)かを表す網識別情報をまとめたNAT対応網識別情報管理テーブルを保持している。本実施例では、図1に示したように、前記第1NAT装置101と第2NAT装置102は第1プライベート網1に収容されており、第3NAT装置201は第2プライベート網2に収容されている。そのため、前記第1プライベート網1を表す網識別情報をPN1、第2プライベート網2を表す網識別情報をPN2とすると、前記NAT対応網識別情報管理テーブルは、図4に示すようなテーブルになる。
また、図示および詳細な説明は省略するが、前記第2SIP-ALG装置402および前記第3SIP-ALG装置403も、前記第1SIP-ALG装置401と同様の構成である。
図1に示したようなネットワークにおいて、前記第1端末103または第2端末104、あるいは第4端末202からSIPサーバ302に送信されるSIP信号や、前記SIPサーバ302から前記第1端末103または第2端末104、あるいは第4端末202に送信されるSIP信号は、第1NAT装置101、第2NAT装置102、第3NAT装置201のいずれかを経由する。このとき、前記各NAT装置は、前記SIP信号を受信すると、受信した前記SIP信号を前記SIP-ALG装置に転送し、前記SIP-ALG装置に前記SDPのIPアドレスやメディア受信用のポート番号や、前記SIPヘッダのIPアドレスやSIP信号受信用のポート番号等を変換させる。以下、図2に示した前記第1SIP-ALG装置401におけるIPアドレスおよびポート番号等の変換手順の一例について、図5および図6に沿って簡単に説明する。
前記第1SIP-ALG装置401は、前記SIP信号送受信手段40101で前記第1NAT装置101から転送されたSIP信号を受信すると、図5に示すように、まず、前記SIP信号の送信方向と、前記SIP信号にSDPが設定されていることを確認する(ステップ501)。前記ステップ501は、前記送信方向判定手段40102で行う。前記送信方向判定手段40102は、前記ステップ501の処理が終了すると、前記SIP信号および確認した送信方向を前記SDP変換手段40103に渡す。
前記SDP変換手段40103は、前記送信方向判定手段40102から前記SIP信号および送信方向の情報を受け取ると、前記送信方向がプライベート網からグローバル網であるか否かの判定をする(ステップ502)。このとき、前記SIP信号の送信方向が前記プライベート網からグローバル網であると判定すると、前記SDP変換手段40103は、前記SDPフィールド変換手段40103aに前記SIP信号の前記SDPのcフィールドおよびmフィールドを変換させる。
このとき、前記SDPフィールド変換手段40103aでは、まず、受信した前記SIP信号を転送したNAT装置が第1NAT装置101であることを認識する。そして、前記NAT対応網識別管理テーブルを参照して前記第1NAT装置101の網識別情報を取得する(ステップ503)。前記SDPフィールド変換手段40103aは、前記ステップ503の後、前記受信したSIP信号のSDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を取得する。そして、前記ネットワークアドレス管理テーブルを参照し、前記取得したcフィールドのIPアドレスが、前記ステップ503で網識別情報を取得した第1NAT装置101が管理しているアドレスであることを確認する。前記SDPフィールド変換手段40103aは、前記IPアドレスの確認が済むと、前記第1NAT装置101にグローバル網3のアドレス体系に沿ったIPアドレスおよびメディア受信用ポート番号を払い出しを要求する。そして、前記cフィールドのIPアドレスおよび前記mフィールドのメディア受信用ポート番号を、前記第1NAT装置から払い出されたIPアドレスおよびメディア受信用ポート番号に変換する(ステップ504)。
前記SDP変換手段40103は、前記ステップ504の前記cフィールドのIPアドレスおよび前記mフィールドのメディア送受信用ポート番号の変換が済むと、次に、前記独自SIPヘッダ設定手段40103bに独自SIPヘッダの設定を行わせる(ステップ505)。このとき、前記独自SIPヘッダ設定手段40103bは、前記SIP信号のSIPヘッダに、たとえば、前記ステップ503で取得した第1NAT装置101の網識別情報、前記SDPの変換前の前記cフィールドのIPアドレスおよび前記mフィールドのメディア送受信用ポート番号、変換後の前記cフィールドのIPアドレスおよび前記mフィールドのメディア送受信用ポート番号の5つの情報を持つ独自SIPヘッダを設定する。またこのとき、前記独自SIPヘッダは、従来から前記SIP信号に含まれるヘッダ名とは異なるヘッダ名で前記SIP信号のSIPヘッダに追加する。
前記SDP変換手段40103は、前記ステップ505の独自SIPヘッダの設定が済むと、前記cフィールドのIPアドレスおよびmフィールドメディア受信用ポート番号が変換され、前記独自SIPヘッダが設定されたSIP信号を前記SIPヘッダ変換手段40104に渡す。前記SIPヘッダ変換手段40104は、前記SIP信号のSDPおよび独自SIPヘッダ以外のSIPレイヤ(SIPヘッダ)のIPアドレスやSIP信号受信用ポート番号の変換を行う(ステップ506)。このとき、前記SIPヘッダ変換手段40104は、たとえば、前記ネットワークアドレス管理テーブルを参照し、前記SIPヘッダのSIP信号受信用のIPアドレスが、前記ステップ503で網識別情報を取得した第1NAT装置101が管理しているアドレスであることを確認した後、前記第1NAT装置101にグローバル網3のアドレス体系に沿ったSIP信号受信用ポート番号の払い出しを要求する。そして、前記SIPヘッダのIPアドレスを前記ステップ504で変換した前記cフィールドのIPアドレスに変換し、SIP信号受信用ポート番号を、前記第1NAT装置101から払い出されたメディア受信用ポート番号に変換する。
前記SIPヘッダ変換手段40104は、前記ステップ506の前記SIPヘッダのIPアドレスおよびSIP信号受信用ポート番号の変換が済むと、そのSIP信号を前記SIP信号送受信手段40101に渡す。前記SIP信号送受信手段40101は、前記SIPヘッダ変換手段40104から前記SIP信号を受け取ると、そのSIP信号を前記第1NAT装置101に返送する(ステップ507)。そして、前記第1NAT装置101は、前記第1SIP-ALG装置401から返送されたSIP信号を、本来の送信先である前記グローバル網3のSIPサーバ302に送信する。
また、前記SDP変換手段40103では、前記ステップ502において、前記SIP信号の送信方向が前記プライベート網からグローバル網ではない、すなわち送信方向が前記グローバル網からプライベート網であると判定すると、図5に示したように、ステップ508の処理を行う。
前記ステップ508の処理を行う場合、前記SDP変換手段40103では、まず、前記SDP変換判定手段40103cに、前記受信したSIP信号のSDPの変換が必要か否かを判定させる。このとき、前記SDP変換判定手段40103cでは、まず、図6に示すように、前記受信したSIP信号に前記独自SIPヘッダが設定されているか否かの判定をする(ステップ508a)。このとき、前記独自SIPヘッダが設定されていると判定すると、前記SDP変換判定手段40103cは、前記SIP信号を転送したNAT装置が第1NAT装置101であることを認識する。そして、前記NAT対応網識別情報管理テーブルを参照して、前記第1NAT装置101の網識別情報を取得する(ステップ508b)。前記SDP変換判定手段40103cは、前記ステップ508bの後、前記SIP信号の独自SIPヘッダに含まれる変換後のcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号と、前記受信したSIP信号のSDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号とを比較し、一致するか否かの判定をする(ステップ508c、ステップ508d)。このとき、一致すると判定すると、前記SDP変換判定手段40103cは、続けて、前記受信したSIP信号の独自SIPヘッダに含まれる網識別情報を確認し、前記独自SIPヘッダに含まれる網識別情報と前記ステップ508bで取得した網識別情報が一致するか否かの判定をする(ステップ508e、508f)。このとき、一致すると判定されれば、前記SIP信号を最初に送信した端末と前記SIP信号を最終的に受信する端末は同じプライベート網に収容されていることになる。そのため、前記SDP変換判定手段40103cは、前記SDPフィールド変換手段40103aに前記SIP信号のSDPを変換させる。
このとき、前記SDPフィールド変換手段40103aは、前記受信したSIP信号の独自SIPヘッダを参照して、前記SIP信号のSDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を、前記独自SIPヘッダにある変換前のIPアドレスおよびポート番号に書き換える(ステップ508g)。その後、たとえば、前記独自SIPヘッダを削除し、前記SDPのcフィールドおよびmフィールドを書き換えたSIP信号を前記SIPヘッダ変換手段40104に渡して前記ステップ506の処理を行わせ、前記ステップ507で第1NAT装置101にSIP信号を返送する。このようにして前記cフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を変換前の値に戻した前記SIP信号を前記第1NAT装置101に返送すると、前記第1NAT装置101はそのSIP信号を最終的に受信する端末に転送する。この結果、前記SIP信号を受信した端末は、前記SIP信号が同じプライベート網に収容された端末から送信された信号であることがわかる。またこのとき、前記SDPのcフィールドのIPアドレスは前記プライベート網のアドレス体系でのアドレスであり、mフィールドのメディア受信用ポート番号は前記SIP信号を送信した端末で設定したポート番号である。そのため、前記端末間でSIPによるセッションを確立した後、音声や映像等のメディアの送受信を行うときには、前記グローバル網を介さずに、前記プライベート網内で経路を設定することができる。
また、前記ステップ508fにおいて、前記独自SIPヘッダに含まれる網識別情報と前記ステップ508bで取得した網識別情報が一致しないと判定した場合、前記SIP信号を最初に送信した端末と前記SIP信号を最終的に受信する端末は異なるプライベート網に収容されていることになる。そのため、前記SDP変換判定手段40103cは、前記SDPフィールド変換手段40103aにcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号の変換をさせず、前記受信したSIP信号をそのまま前記SIPヘッダ変換手段40104に渡し、前記ステップ506およびステップ507の処理を行わせる。また、本実施例のSIP信号変換方法では、前記NAT装置およびSIP-ALG装置を介して前記プライベート網からグローバル網にSIP信号を送信した場合、必ず前記独自SIPヘッダが設定される。そのため、前記ステップ508aにおいて、前記独自SIPヘッダが設定されていないと判定すると、前記SIP信号を最初に送信した端末は前記SIPサーバが収容されている網と同じ網、すなわちグローバル網に収容されていることになる。この場合も前記SDP変換判定手段40103は、前記SDPフィールド変換手段40103aにcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号の変換をさせず、前記受信したSIP信号をそのまま前記SIPヘッダ変換手段40104に渡し、前記ステップ506およびステップ507の処理を行わせる。
また、前記グローバル網3の端末から送信されたSIP信号が、前記プライベート網の端末が送信したSIP信号の返信SIP信号である場合、前記返信SIP信号に前記プライベート網の端末が送信したSIP信号に設定された独自SIPヘッダが引き継がれていることがある。しかしながら、その場合、前記返信SIP信号のSDPのIPアドレスおよびメディア受信用ポート番号は前記グローバル網の端末に対する値であり、前記独自SIPヘッダにある変換後のIPアドレスおよびメディア受信用ポート番号は前記プライベート網の端末に対する値である。そのため、前記ステップ508c、ステップ508dにおいて一致しないと判定される。そのため、前記SDPフィールド変換手段40103aによるcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号の変換は行われず、前記受信したSIP信号がそのまま前記SIPヘッダ変換手段40104に渡され、前記ステップ506およびステップ507の処理が行われる。
このように、本実施例のSIP信号変換方法では、プライベート網の端末(送信端末)からNAT装置およびSIP-ALG装置を経由してグローバル網のSIPサーバにSIP信号が送信されるときに、前記NAT装置(送信端末)の網識別情報、前記SIP信号のSDPの変換前のcフィールドのIPアドレスおよびmフィールドのポート番号、変換後のcフィールドのIPアドレスおよびmフィールドのポート番号の5つの情報を持つ独自SIPヘッダが設定される。そのため、前記SIPサーバからNAT装置およびSIP-ALG装置を経由してプライベート網の端末(受信端末)にSIP信号が送信されるとき、前記SIP-ALG装置は、単独で、前記SIP信号を最初に送信した端末(送信端末)が、前記受信端末と同じプライベート網に収容されているか、または前記受信端末と異なるプライベート網あるいはグローバル網に収容されているかを識別することができる。そのため、図1に示したように複数のSIP-ALG装置が設けられたネットワークにおいて、従来のように他のSIP-ALG装置に通信経路を問い合わせる必要が無く、SIP通信における処理遅延を少なくすることができる。
以下、図1に示したネットワークにおいて、同一プライベート網の端末間でSIP通信を行う場合、異なるプライベート網の端末間でSIP通信を行う場合、プライベート網の端末とグローバル網の端末の間でSIP通信を行う場合について、SIP信号の変換例等を含めた具体的な通信手順の説明をする。
図7乃至図17は、本実施例のSIP信号変換方法を具体的に説明するための模式図であり、図7は同一プライベート網の端末間でのSIP通信の経路を示す図、図8は第1端末から第2端末にSIP信号(INVITEリクエスト)を送信する際のシーケンス図、図9は第1端末が送信するSIP信号の一例を示す図、図10は第1SIP-ALG装置で変換されたSIP信号の一例を示す図、図11はSIPサーバで編集されたSIP信号の一例を示す図、図12は第2SIP-ALG装置で変換されたSIP信号の一例を示す図である。また、図13は第2端末から第1端末にSIP信号(200 OKレスポンス)を送信する際のシーケンス図、図14は第2端末が送信するSIP信号の一例を示す図、図15は第2SIP-ALG装置で変換されたSIP信号の一例を示す図、図16はSIPサーバで編集されたSIP信号の一例を示す図、図17は第1SIP-ALG装置で変換されたSIP信号の一例を示す図である。
本実施例のSIP信号変換方法の具体例として、まず、図7に示すように、同じ第1プライベート網1に収容されている第1端末103と第2端末104の間でSIP通信を行い、セッションを確立する場合の変換方法について説明する。このとき、前記第1端末103と第2端末104の間で送受信するSIP信号は、図7に示したように、前記第1NAT装置101および前記第1SIP-ALG装置401、前記SIPサーバ302、前記第2NAT装置102および前記第2SIP-ALG装置402を経由する。
このとき、前記第1端末103から第2端末104に対してセッションの確立を要求するSIP信号(INVITEリクエスト)を送信したとすると、前記SIP信号は、図8に示すように、まず、前記第1NAT装置101で受信される(S601)。このとき、前記第1端末103から送信されるSIP信号(INVITE)は、たとえば、図9に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第1プライベート網1のアドレス体系で割り当てられたIPアドレス192.168.0.1になっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第1端末で設定した番号5060番および10001番になっている。
前記第1NAT装置101は、前記第1端末103からのSIP信号を受信すると、前記SIP信号を前記第1SIP-ALG装置401に転送し、前記SIP信号のSDPおよびSIPヘッダを変換させる(S602)。
前記第1SIP-ALG装置401は、前記第1NAT装置101から転送された前記SIP信号を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第1SIP-ALG装置401では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S603)。このとき、前記第1SIP-ALG装置401では、前記第1NAT装置101が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号のSDPのcフィールドおよびmフィールドから、前記第1プライベート網側のIPアドレス192.168.0.1、およびメディア受信用ポート番号10001を取得する。また、前記第1NAT装置と連携してグローバル網用のIPアドレス130.0.0.1およびメディア受信用ポート番号20001、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第1SIP-ALG装置401は、図10に示すように変換されたSIP信号を前記第1NAT装置101に返送する(S604)。なお、図10に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN1)、変換前のcフィールドのIPアドレス(192.168.0.1)およびmフィールドのポート番号(10001)、変換後のcフィールドのIPアドレス(130.0.0.1)およびmフィールドのポート番号(20001)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN1-192.168.0.1-10001-130.0.0.1-20001)を設定している。
前記第1NAT装置101は、前記第1SIP-ALG装置401から返送された、図10に示したようなSIP信号を受信すると、本来のSIP信号(INVITE)の送信先であるSIPサーバ302に前記SIP信号を送信する(S605)。
前記SIPサーバ302は、前記第1NAT装置101から送信された、図10に示したようなSIP信号を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)を返信する一方で、前記受信したSIP信号(INVITE)の送信先の特定、前記Viaヘッダの設定などを行い、図11に示したような編集をしたSIP信号(INVITE)を前記第2端末104に向けて送信する。このとき、前記SIPサーバ302から送信されたSIP信号(INVITE)は、前記第2NAT装置102で受信され、前記第2SIP-ALG装置402に転送される(S606、S607)。
前記第2SIP-ALG装置402は、前記SIPサーバ302から送信された前記SIP信号を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S608)。このとき、前記第2SIP-ALG装置402では、前記SIP信号に独自SIPヘッダが設定されているので、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号の独自SIPヘッダの変換後のcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号と、前記SDPのcフィールドおよびmフィールドは一致する。また、前記独自SIPヘッダの網識別情報(PN1)と取得した第2NAT装置102の網識別情報(PN1)も一致する。そのため、前記第2SIP-ALG装置402のSDP変換判定手段40103cは、同一プライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させる。このとき、前記SDPフィールド変換手段40103aは、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を、前記独自SIPヘッダにある変換前のIPアドレス(192.168.0.1)およびポート番号(10001)に変換する。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第2SIP-ALG装置402は、図12に示すように変換されたSIP信号(INVITE)を前記第2NAT装置に返送する(S609)。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図12に示したようなSIP信号を受信すると、本来のSIP信号(INVITE)の送信先である第2端末104に前記SIP信号を送信する(S610)。
この結果、前記第2端末104では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、前記第1端末103のプライベート網側のIPアドレスおよびポート番号に設定されたSIP信号を受信することができる。またこのとき、前記第2端末104は、図12に示したようなSIP信号を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)や、呼出中であることを示すSIP信号(180 Ringing)を返信する。
その後、前記第2端末104側で、図12に示したようなSIP信号(INVITE)に対して応答すると、前記第2端末104からSIPサーバ302に対して応答を示すSIP信号(200 OKレスポンス)が送信される。このとき、前記SIP信号(200 OK)は、図13に示すように、まず、前記第2NAT装置102で受信される(S612)。このとき、前記第2端末104から送信されるSIP信号(200 OK)は、たとえば、図14に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第1プライベート網1のアドレス体系で割り当てられたIPアドレス192.168.0.2になっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第2端末104で設定した番号5060番および10002番になっている。
前記第2NAT装置102は、前記第2端末104からのSIP信号(200 OK)を受信すると、前記SIP信号を前記第2SIP-ALG装置402に転送し、前記SIP信号のSDPおよびSIPヘッダを変換させる(S613)。
前記第2SIP-ALG装置402は、前記第2NAT装置102から転送された前記SIP信号を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S614)。このとき、前記第2SIP-ALG装置402では、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号のSDPによるセッション記述のcフィールドおよびmフィールドから、前記第1プライベート網側のIPアドレス192.168.0.2、およびメディア受信用ポート番号10002を取得する。また、前記第2NAT装置と連携してグローバル網用のIPアドレス131.0.0.2およびメディア受信用ポート番号20002、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第2SIP-ALG装置402は、図15に示すように変換されたSIP信号を前記第2NAT装置102に返送する(S615)。なお、図15に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN1)、変換前のcフィールドのIPアドレス(192.168.0.2)およびmフィールドのポート番号(10002)、変換後のcフィールドのIPアドレス(131.0.0.2)およびmフィールドのポート番号(20002)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN1-192.168.0.2-10002-131.0.0.2-20002)を設定している。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図15に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先であるSIPサーバ302に前記SIP信号を送信する(S616)。
前記SIPサーバ302は、前記第2NAT装置102から送信された、図15に示したようなSIP信号(200 OK)を受信すると、前記Viaヘッダから前記SIP信号の送信先を特定し、図16に示したような編集をしたSIP信号(200 OK)を前記第1端末103に向けて送信する。このとき、前記SIPサーバ302から送信されたSIP信号は、前記第1NAT装置101で受信され、前記第1SIP-ALG装置401に転送される(S617、S618)。
前記第1SIP-ALG装置401は、前記SIPサーバ302から送信された前記SIP信号を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第1SIP-ALG装置401では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S619)。このとき、前記第1SIP-ALG装置401では、前記SIP信号に独自SIPヘッダが設定されているので、前記第1NAT装置101が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号の独自SIPヘッダの変換後のcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号と、前記SDPのcフィールドおよびmフィールドは一致する。また、前記独自SIPヘッダの網識別情報(PN1)と取得した第1NAT装置101の網識別情報(PN1)も一致する。そのため、前記第1SIP-ALG装置401のSDP変換判定手段40103cは、同一プライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させる。このとき、前記SDPフィールド変換手段40103aは、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を、前記独自SIPヘッダにある変換前のIPアドレス(192.168.0.2)およびポート番号(10002)に変換する。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第1SIP-ALG装置401は、図17に示すように変換されたSIP信号(200 OK)を前記第1NAT装置101に返送する(S620)。
前記第1NAT装置101は、前記第1SIP-ALG装置401から返送された、図17に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先である第1端末103に前記SIP信号を送信する(S621)。
この結果、前記第1端末103では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、前記第2端末104のプライベート網側のIPアドレスおよびポート番号に設定されたSIP信号を受信することができる。またこのとき、前記第1端末103は、図17に示したようなSIP信号を受信すると、たとえば、最終レスポンスを受信したことを知らせるSIP信号(ACK)を返信する。そして、図示は省略するが、前記第2端末104が前記SIP信号(ACK)を受信すると、前記第1端末103と第2端末104の間のセッションが確立し、音声や映像等のメディア信号の送受信をすることができる。
このように、前記INVITEリクエストおよび前記200 OKレスポンスについて、前記第1SIP-ALG装置401および第2SIP-ALG装置402で、前記SDPのIPアドレスおよびポート番号を変換、制御することで、前記第1端末103と第2端末104は、お互いに第1プライベート網1側のIPアドレスを前記SDPで交換することができる。そのため、前記第1端末103と第2端末104の間で音声や映像等のメディア信号を送受信するときには、前記第1プライベート網1内で前記各NAT装置401,402を介さない径路を設定し、送受信することが可能となる。
また、本実施例では、前記第1端末103から第2端末104に対して前記INVITEリクエストを送信する場合について説明したが、前記第2端末104から第1端末103に対して前記INVITEリクエストを送信する場合も同様の手順でセッションを確立することができることは言うまでもない。
図18乃至図28は、本実施例のSIP信号変換方法を具体的に説明するための模式図であり、図18は異なるプライベート網の端末間でのSIP通信の経路を示す図、図19は第4端末から第2端末にSIP信号(INVITEリクエスト)を送信する際のシーケンス図、図20は第4端末が送信するSIP信号の一例を示す図、図21は第3SIP-ALG装置で変換されたSIP信号の一例を示す図、図22はSIPサーバで編集されたSIP信号の一例を示す図、図23は第2SIP-ALG装置で変換されたSIP信号の一例を示す図である。また、図24は第2端末から第4端末にSIP信号(200 OKレスポンス)を送信する際のシーケンス図、図25は第2端末が送信するSIP信号の一例を示す図、図26は第2SIP-ALG装置で変換されたSIP信号の一例を示す図、図27はSIPサーバで編集されたSIP信号の一例を示す図、図28は第3SIP-ALG装置で変換されたSIP信号の一例を示す図である。
本実施例のSIP信号変換方法の具体例として、次に、図18に示すように、第1プライベート網1に収容されている第2端末104と第2プライベート網2に収容されている第4端末202の間でSIP通信を行い、セッションを確立する手順について説明する。このとき、前記第2端末104と第4端末202の間で送受信するSIP信号は、図18に示したように、前記第2NAT装置102および前記第2SIP-ALG装置402、前記SIPサーバ302、前記第3NAT装置201および前記第3SIP-ALG装置403を経由する。
このとき、前記第4端末202から第2端末104に対してセッションの確立を要求するSIP信号(INVITEリクエスト)を送信したとすると、前記SIP信号は、図19に示すように、まず、前記第3NAT装置201で受信される(S701)。このとき、前記第4端末202から送信されるSIP信号(INVITE)は、たとえば、図20に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第2プライベート網2のアドレス体系で割り当てられたIPアドレス192.168.1.4になっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第4端末202で設定した番号5060番および10004番になっている。
前記第3NAT装置201は、前記第4端末202からのSIP信号を受信すると、前記SIP信号を前記第3SIP-ALG装置403に転送し、前記SIP信号のSDPおよびSIPヘッダを変換させる(S702)。
前記第3SIP-ALG装置403は、前記第3NAT装置201から転送された前記SIP信号(INVITE)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第3SIP-ALG装置403では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S703)。このとき、前記第3SIP-ALG装置403では、前記第3NAT装置201が収容されているプライベート網(第2プライベート網)の網識別情報としてPN2を取得する。また、前記受信したSIP信号のSDPのcフィールドおよびmフィールドから、前記第2プライベート網側のIPアドレス192.168.1.4、およびメディア受信用ポート番号10004を取得する。また、前記第3NAT装置201と連携してグローバル網用のIPアドレス132.0.1.4およびメディア受信用ポート番号20004、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第3SIP-ALG装置403は、図21に示すように変換されたSIP信号(INVITE)を前記第3NAT装置201に返送する(S704)。なお、図21に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN2)、変換前のcフィールドのIPアドレス(192.168.1.4)およびmフィールドのポート番号(10004)、変換後のcフィールドのIPアドレス(132.0.1.4)およびmフィールドのポート番号(20004)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN2-192.168.1.4-10004-132.0.1.4- 20004)を設定している。
前記第3NAT装置201は、前記第3SIP-ALG装置403から返送された、図21に示したようなSIP信号を受信すると、本来のSIP信号(INVITE)の送信先であるSIPサーバ302に前記SIP信号を送信する(S705)。
前記SIPサーバ302は、前記第3NAT装置201から送信された、図21に示したようなSIP信号(INVITE)を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)を返信する一方で、前記受信したSIP信号(INVITE)の送信先の特定、前記Viaヘッダの設定などを行い、図22に示したような編集をしたSIP信号(INVITE)を前記第2端末104に向けて送信する。このとき、前記SIPサーバ302から送信されたSIP信号(INVITE)は、前記第2NAT装置102で受信され、前記第2SIP-ALG装置402に転送される(S706、S707)。
前記第2SIP-ALG装置402は、前記SIPサーバ302から送信された前記SIP信号(INVITE)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S708)。このとき、前記第2SIP-ALG装置402では、前記SIP信号に独自SIPヘッダが設定されているので、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号の独自SIPヘッダの変換後のcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号と、前記SDPのcフィールドおよびmフィールドは一致する。しかしながら、前記独自SIPヘッダの網識別情報(PN2)と取得した第2NAT装置102の網識別情報(PN1)は一致しない。そのため、前記第2SIP-ALG装置402のSDP変換判定手段40103cは、異なるプライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させない。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第2SIP-ALG装置402は、図23に示すように変換されたSIP信号(INVITE)を前記第2NAT装置102に返送する(S709)。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図23に示したようなSIP信号を受信すると、本来のSIP信号(INVITE)の送信先である第2端末104に前記SIP信号を送信する(S710)。
この結果、前記第2端末104では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、グローバル網のアドレス体系に沿ったIPアドレスおよびポート番号に設定されたSIP信号(INVITE)を受信する。またこのとき、前記第2端末104は、図23に示したようなSIP信号を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)や、呼出中であることを示すSIP信号(180 Ringing)を返信する。
その後、前記第2端末104側で、図23に示したようなSIP信号(INVITE)に対して応答すると、前記第2端末104からSIPサーバ302に対して応答を示すSIP信号(200 OKレスポンス)が送信される。このとき、前記SIP信号(200 OK)は、図24に示すように、まず、前記第2NAT装置102で受信される(S712)。このとき、前記第2端末104から送信されるSIP信号(200 OK)は、たとえば、図25に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第1プライベート網1のアドレス体系で割り当てられたIPアドレス192.168.0.2になっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第2端末104で設定した番号5060番および10002番になっている。
前記第2NAT装置102は、前記第2端末104からのSIP信号(200 OK)を受信すると、前記SIP信号を前記第2SIP-ALG装置402に転送し、前記受信したSIP信号のSDPおよびSIPヘッダを変換させる(S713)。
前記第2SIP-ALG装置402は、前記第2NAT装置102から転送された前記SIP信号(200 OK)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S714)。このとき、前記第2SIP-ALG装置402では、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号のcフィールドおよびmフィールドから、前記第1プライベート網側のIPアドレス192.168.0.2、およびメディア受信用ポート番号10002を取得する。また、前記第2NAT装置102と連携してグローバル網用のIPアドレス131.0.0.2およびメディア受信用ポート番号20002、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第2SIP-ALG装置402は、図26に示すように変換されたSIP信号(200 OK)を前記第2NAT装置102に返送する(S615)。なお、図26に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN1)、変換前のcフィールドのIPアドレス(192.168.0.2)およびmフィールドのポート番号(10002)、変換後のcフィールドのIPアドレス(131.0.0.2)およびmフィールドのポート番号(20002)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN1-192.168.0.2-10002-131.0.0.2-20002)を設定している。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図26に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先であるSIPサーバ302に前記SIP信号を送信する(S716)。
前記SIPサーバ302は、前記第2NAT装置102から送信された、図26に示したようなSIP信号を受信すると、前記Viaヘッダから前記SIP信号の送信先を特定し、図27に示したような編集をしたSIP信号(200 OK)を前記第4端末202に向けて送信する。このとき、前記SIPサーバ302から送信されたSIP信号は、前記第3NAT装置201で受信され、前記第3SIP-ALG装置403に転送される(S717、S718)。
前記第3SIP-ALG装置403は、前記SIPサーバ302から送信された前記SIP信号(200 OK)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第3SIP-ALG装置403では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S719)。このとき、前記第3SIP-ALG装置403では、前記SIP信号に独自SIPヘッダが設定されているので、前記第3NAT装置201が収容されているプライベート網(第2プライベート網)の網識別情報としてPN2を取得する。また、前記受信したSIP信号の独自SIPヘッダの変換後のcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号と、前記SDPのcフィールドおよびmフィールドは一致する。しかしながら、前記独自SIPヘッダの網識別情報(PN1)と取得した第3NAT装置201の網識別情報(PN2)は一致しない。そのため、前記第3SIP-ALG装置403のSDP変換判定手段40103cは、異なるプライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させない。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第3SIP-ALG装置403は、図28に示すように変換されたSIP信号(200 OK)を前記第3NAT装置201に返送する(S720)。
前記第3NAT装置201は、前記第3SIP-ALG装置403から返送された、図28に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先である第4端末202に前記SIP信号を送信する(S721)。
この結果、前記第4端末202では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、グローバル網のアドレス体系に沿ったIPアドレスおよびポート番号に設定されたSIP信号を受信する。またこのとき、前記第4端末202は、図28に示したようなSIP信号を受信すると、たとえば、最終レスポンスを受信したことを知らせるSIP信号(ACK)を返信する。そして、図示は省略するが、前記第2端末104が前記SIP信号(ACK)を受信すると、前記第4端末202と第2端末104の間のセッションが確立し、音声や映像等のメディア信号の送受信をすることができる。
このように、前記INVITEリクエストおよび前記200 OKレスポンスについて、前記第3SIP-ALG装置403および第2SIP-ALG装置402で、前記SDPのIPアドレスおよびポート番号を変換し制御することで、前記第4端末202と前記第2端末104は、お互いに変換後のグローバル網側のIPアドレスおよびポート番号の設定されたSDPを交換できる。そのため、前記第4端末202と前記第2端末104の間で音声や映像等のメディア信号を送受信するときには、前記第3NAT装置201と第2NAT装置102を介して送受信することが可能となる。
また、本実施例では、前記第4端末202から第2端末104に対して前記INVITEリクエストを送信する場合について説明したが、前記第2端末104から第4端末202に対して前記INVITEリクエストを送信する場合も同様の手順でセッションを確立することができることは言うまでもない。また、前記第4端末202から第1端末103に対して前記INVITEリクエストを送信する場合、前記第1端末103から第4端末202に対して前記INVITEリクエストを送信した場合も、同様の手順でセッションを確立することができることも言うまでもない。
図29乃至図39は、本実施例のSIP信号変換方法を具体的に説明するための模式図であり、図29はグローバル網の端末とプライベート網の端末間でのSIP通信の経路を示す図、図30は第3端末から第2端末にSIP信号(INVITEリクエスト)を送信する際のシーケンス図、図31はSIPサーバで編集されたSIP信号の一例を示す図、図32は第2SIP-ALGで変換されたSIP信号の一例を示す図、図33は第2端末が送信するSIP信号(200 OKレスポンス)の一例を示す図、図34は第2SIP-ALGで変換されたSIP信号の一例を示す図である。また、図35は第2端末から第3端末にSIP信号(INVITEリクエスト)を送信する際のシーケンス図、図36は第2端末が送信するSIP信号の一例を示す図、図37は第2SIP-ALGで変換されたSIP信号の一例を示す図、図38は第3端末が送信するSIP信号(200 OK)の一例を示す図、図39は第2SIP-ALGで変換されたSIP信号の一例を示す図である。
本実施例のSIP信号変換方法の具体例として、最後に、図29に示すように、第1プライベート網1に収容されている第2端末104とグローバル網3に収容されている第3端末301の間でSIP通信を行い、セッションを確立する手順について説明する。このとき、前記第2端末104と第3端末301の間で送受信するSIP信号は、図29に示したように、前記第2NAT装置102および前記第2SIP-ALG装置402、前記SIPサーバ302を経由する。またこのとき、前記SIP通信によるセッションの確立を要求するINVITEリクエストを送信する端末が第2端末104の場合と第3端末301の場合で、変換方法が異なるため、まず、前記第3端末301から前記SIP信号(INVITEリクエスト)を送信した場合について説明する。
前記第3端末301から第2端末104に対してセッションの確立を要求するSIP信号(INVITEリクエスト)を送信した場合、前記SIP信号は、図30に示すように、まず、前記SIPサーバ302で受信される(S801)。このとき、前記第3端末301から送信されるSIP信号(INVITE)は、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記グローバル網のアドレス体系で割り当てられたIPアドレスになっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号は前記第3端末301で設定した番号になっている。
前記SIPサーバ302は、前記第3端末301から送信されたSIP信号(INVITE)を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)を返信する一方で、前記受信したSIP信号(INVITE)の送信先の特定、前記Viaヘッダの設定などを行い、図31に示したような編集をしたSIP信号(INVITE)を前記第2端末104に向けて送信する。このとき、前記SIPサーバ302から送信されたSIP信号は、前記第2NAT装置102で受信され、前記第2SIP-ALG装置402に転送される(S802、S803)。
前記第2SIP-ALG装置402は、前記SIPサーバ302から送信された前記SIP信号(INVITE)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S804)。このとき、前記第2SIP-ALG装置402では、前記SIP信号に独自SIPヘッダが設定されていないので、グローバル網の端末とプライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させない。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第2SIP-ALG装置402は、図32に示すように変換されたSIP信号(INVITE)を前記第2NAT装置102に返送する(S805)。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図32に示したようなSIP信号を受信すると、本来のSIP信号(INVITEリクエスト)の送信先である第2端末104に前記SIP信号を送信する(S806)。
この結果、前記第2端末104では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、グローバル網のアドレス体系に沿ったIPアドレスおよびポート番号に設定されたSIP信号を受信する。またこのとき、前記第2端末104は、図32に示したようなSIP信号を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)や、呼出中であることを示すSIP信号(180 Ringing)を返信する。
その後、前記第2端末104側で、図32に示したようなSIP信号(INVITE)に対して応答すると、前記第2端末104からSIPサーバに対して応答を示すSIP信号(200 OKレスポンス)が送信される。このとき、前記SIP信号(200 OK)は、図30に示すように、まず、前記第2NAT装置102で受信される(S807)。このとき、前記第2端末104から送信されるSIP信号(200 OK)は、たとえば、図33に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第1プライベート網1のアドレス体系で割り当てられたIPアドレスになっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第2端末104で設定した番号になっている。
前記第2NAT装置102は、前記第2端末104からのSIP信号(200 OK)を受信すると、前記SIP信号を前記第2SIP-ALG装置402に転送し、前記受信したSIP信号のSDPおよびSIPヘッダを変換させる(S808)。
前記第2SIP-ALG装置402は、前記第2NAT装置102から転送された前記SIP信号(200 OK)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S809)。このとき、前記第2SIP-ALG装置402では、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号のSDPのcフィールドおよびmフィールドから、前記第1プライベート網側のIPアドレス192.168.0.2、およびメディア受信用ポート番号10002を取得する。また、前記第2NAT装置と連携してグローバル網用のIPアドレス131.0.0.2およびメディア受信用ポート番号20002、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第2SIP-ALG装置402は、図34に示すように変換されたSIP信号(200 OK)を前記第2NAT装置102に返送する(S810)。なお、図34に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN1)、変換前のcフィールドのIPアドレス(192.168.0.2)およびmフィールドのポート番号(10002)、変換後のcフィールドのIPアドレス(131.0.0.2)およびmフィールドのポート番号(20002)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN1-192.168.0.2-10002-131.0.0.2-20002)を設定している。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図34に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先であるSIPサーバ302に前記SIP信号を送信する(S811)。
前記SIPサーバ302は、前記第2NAT装置102から送信された、図34に示したようなSIP信号を受信すると、前記Viaヘッダから前記SIP信号の送信先を特定し、編集をしたSIP信号(200 OK)を前記第3端末301に向けて送信する(S812)。
この結果、前記第3端末301では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、グローバル網のアドレス体系に沿ったIPアドレスおよびポート番号に設定されたSIP信号を受信する。またこのとき、前記第3端末301は、前記SIP信号(200 OK)を受信すると、たとえば、最終レスポンスを受信したことを知らせるSIP信号(ACK)を返信する。そして、図示は省略するが、前記第2端末104が前記SIP信号(ACK)を受信すると、前記第3端末301と第2端末104の間のセッションが確立し、音声や映像等のメディア信号の送受信をすることができる。
このように、前記INVITEリクエストおよび前記200 OKレスポンスについて、前記第2SIP-ALG装置402で、前記SDPのIPアドレスおよびポート番号を変換し制御することで、前記第3端末301は前記第2端末104の変換後のグローバル網側のIPアドレスおよびポート番号の設定されたSDPを取得し、前記第2端末104は前記第3端末301の実際のグローバル網側のIPアドレスおよびポート番号の設定されたSDPを取得できる。そのため、前記第3端末301と前記第2端末104の間で音声や映像等のメディア信号を送受信するときには、前記第2NAT装置102を介して送受信することが可能となる。
次に、前記第2端末104から第3端末301に対してセッションの確立を要求するSIP信号(INVITEリクエスト)を送信した場合について説明する。このとき、前記SIP信号は、図35に示すように、まず、前記第2NAT装置102で受信される(S813)。このとき、前記第2端末104から送信されるSIP信号(INVITE)は、たとえば、図36に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記第1プライベート網1のアドレス体系で割り当てられたIPアドレスになっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第2端末104で設定した番号になっている。
前記第2NAT装置102は、前記第2端末104からのSIP信号(INVITE)を受信すると、前記SIP信号を前記第2SIP-ALG装置402に転送し、前記受信したSIP信号のSDPおよびSIPヘッダを変換させる(S814)。
前記第2SIP-ALG装置402は、前記第2NAT装置102から転送された前記SIP信号を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がプライベート網からグローバル網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ503、ステップ504、ステップ505、ステップ506、ステップ507の順に変換処理が行われる(S815)。このとき、前記第2SIP-ALG装置402では、前記第2NAT装置102が収容されているプライベート網(第1プライベート網)の網識別情報としてPN1を取得する。また、前記受信したSIP信号のSDPのcフィールドおよびmフィールドから、前記第1プライベート網側のIPアドレス192.168.0.2、およびメディア受信用ポート番号10002を取得する。また、前記第2NAT装置102と連携してグローバル網用のIPアドレス131.0.0.2およびメディア受信用ポート番号20002、ならびにSIP信号受信用ポート番号15060を取得する。その結果、前記第2SIP-ALG装置402は、図37に示すように変換されたSIP信号(INVITE)を前記第2NAT装置102に返送する(S816)。なお、図37に示した例では、ヘッダ名をP-ALG-INFとし、前記網識別情報(PN1)、変換前のcフィールドのIPアドレス(192.168.0.2)およびmフィールドのポート番号(10002)、変換後のcフィールドのIPアドレス(131.0.0.2)およびmフィールドのポート番号(20002)の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダ(P-ALG-INF:PN1-192.168.0.2-10002-131.0.0.2-20002)を設定している。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図37に示したようなSIP信号を受信すると、本来のSIP信号(INVITE)の送信先であるSIPサーバ302に前記SIP信号を送信する(S817)。
前記SIPサーバ302は、前記第2NAT装置102から送信された、図37に示したようなSIP信号を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)を返信する一方で、前記Viaヘッダから前記SIP信号の送信先を特定し、編集をしたSIP信号(INVITE)を前記第3端末301に向けて送信する(S818)。その結果、前記第3端末301では、前記第2端末104の変換後のグローバル網のアドレス体系に沿ったIPアドレスおよびメディア受信用ポート番号が設定されたSIP信号を受信する。またこのとき、前記第3端末301は、前記SIP信号(INVITE)を受信すると、たとえば、信号処理中であることを示すSIP信号(100 Trying)や、呼出中であることを示すSIP信号(180 Ringing)を返信する。
その後、前記第3端末301側で、前記SIP信号(INVITE)に対して応答すると、前記第3端末301からSIPサーバ302に対して応答を示すSIP信号(200 OKレスポンス)が送信される(S819)。このとき、前記第3端末301から送信されるSIP信号(200 OK)は、たとえば、図38に示すようになっており、前記SIPヘッダのIPアドレスおよびSDPのcフィールドのIPアドレスはそれぞれ、前記グローバル網3のアドレス体系で割り当てられたIPアドレスになっている。また、前記SIP信号受信用のポート番号および前記メディア受信用のポート番号も前記第3端末301で設定した番号になっている。また、本実施例では、前記SIP信号(200 OK)は、図38に示したように、前記第3端末301が受信したSIP信号(INVITE)に設定されていた独自SIPヘッダを引き継いでいるとする。
前記SIPサーバ302は、前記第3端末301から送信された、図38に示したようなSIP信号を受信すると、前記Viaヘッダから前記SIP信号の送信先を特定し、編集をしたSIP信号(200 OK)を前記第2端末104に向けて送信する。このとき、前記SIPサーバから送信されたSIP信号(200 OK)は、前記第2NAT装置102で受信され、前記第2SIP-ALG装置402に転送される(S820、S821)。
前記第2SIP-ALG装置402は、前記SIPサーバ302から送信された前記SIP信号(200 OK)を受信すると、図5に示した前記ステップ502において、前記SIP信号の送信方向がグローバル網からプライベート網であると判定する。そのため、前記第2SIP-ALG装置402では、前記ステップ508、ステップ506、ステップ507の順に変換処理が行われる(S822)。このとき、前記第2SIP-ALG装置402では、前記SIP信号に独自SIPヘッダが設定されているが、図6に示した前記ステップ508cおよびステップ508dの処理を行うと、前記独自SIPヘッダにある変換後のIPアドレスおよびメディア受信用ポート番号と、前記SDPのcフィールドのIPアドレスおよびmフィールドのポート番号は一致しない。そのため、前記第2SIP-ALG装置402は、グローバル網の端末とプライベート網の端末間でのSIP通信と判断し、前記SDPフィールド変換手段40103aに前記cフィールドおよびmフィールドを変換させない。そしてその後、前記SIPヘッダ変換手段40104において前記ステップ507の処理を行う。その結果、前記第2SIP-ALG装置402は、図39に示すように変換されたSIP信号(200 OK)を前記第2NAT装置102に返送する(S823)。
前記第2NAT装置102は、前記第2SIP-ALG装置402から返送された、図39に示したようなSIP信号を受信すると、本来のSIP信号(200 OK)の送信先である第2端末104に前記SIP信号を送信する(S824)。
この結果、前記第2端末104では、前記SDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号が、グローバル網のアドレス体系に沿ったIPアドレスおよびポート番号に設定されたSIP信号を受信する。またこのとき、前記第2端末104は、図39に示したようなSIP信号を受信すると、たとえば、最終レスポンスを受信したことを知らせるSIP信号(ACK)を返信する。そして、図示は省略するが、前記第3端末301が前記SIP信号(ACK)を受信すると、前記第3端末301と第2端末104の間のセッションが確立し、音声や映像等のメディア信号の送受信をすることができる。
このように、前記INVITEリクエストおよび前記200 OKレスポンスについて、前記第2SIP-ALG装置402で、前記SDPのIPアドレスおよびポート番号を変換し制御することで、前記第3端末301は前記第2端末104の変換後のグローバル網側のIPアドレスおよびポート番号の設定されたSDPを取得し、前記第2端末104は前記第3端末301の実際のグローバル網側のIPアドレスおよびポート番号の設定されたSDPを取得できる。そのため、前記第3端末301と前記第2端末104の間で音声や映像等のメディア信号を送受信するときには、前記第2NAT装置102を介して送受信することが可能となる。
また、本実施例では、前記第3端末301と第2端末104の間でSIP通信を行う場合について説明したが、前記第3端末301と第1端末103の間、前記第3端末301と第4端末202の間でSIP通信を行う場合も、同様の手順でセッションを確立することができることも言うまでもない。
以上説明したように、本実施例のSIP信号変換方法によれば、端末間でSIP信号の送受信を行う際に、プライベート網からグローバル網に送信されるSIP信号が経由するSIP-ALG装置と、前記グローバル網から前記プライベート網に送信されるSIP信号が経由するSIP-ALG装置が異なる場合でも、前記グローバル網から前記プライベート網に送信されるSIP信号が経由するSIP-ALG装置が単独で、前記SIP信号を送信した端末と受信する端末が同じプライベート網に収容されているか否かを判別することができる。そのため、従来のように他のSIP-ALGに問い合わせる必要が無く、SIP通信における処理遅延を少なくすることができる。
また、本実施例のSIP信号変換方法では、前記独自SIPヘッダを設定することで、前記グローバル網から前記プライベート網に送信されるSIP信号が経由するSIP-ALG装置は、前記SIP信号を送信した端末が、前記SIP信号を受信する端末と同じプライベート網に収容されている場合、前記独自SIPヘッダを参照してSDPのcフィールドのIPアドレスおよびmフィールドのメディア受信用ポート番号を変換前、すなわちプライベート網のアドレス体系に沿ったIPアドレスおよびポート番号に変換することができる。そのため、同じプライベート網に収容されている端末間でSIP通信を行い、セッションを確立した場合、セッション確立後の音声や映像等のメディア信号の送受信は、前記プライベート網内でNAT装置を介さない径路を設定し、送受信することが可能となる。
以上、本発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において、種々変更可能であることはもちろんである。
たとえば、前記実施例では、前記SIP-ALG装置で、図5および図6に示したような手順の処理を行い、前記SIP信号のSIPレイヤのIPアドレスおよびポート番号を変換する例を説明したが、変換した結果が最終的に前記実施例で説明したような変換方法であれば、たとえば、図5および図6に示した各ステップの順番が入れ替わっていてもよい。
また、前記実施例では、図2に示したような構成の前記SIP-ALG装置を例に挙げたが、これに限らず、図2に示した各手段のうちのいくつかの機能がまとめられた手段で構成されていてもよい。
また、前記実施例では、図10、図15、図21、図26、図34、および図37に示したように、ヘッダ名をP-ALG-INFとし、前記網識別情報、変換前のcフィールドのIPアドレスおよびmフィールドのポート番号、変換後のcフィールドのIPアドレスおよびmフィールドのポート番号の5つの情報をハイフン(-)でつないだ文字列をヘッダ値とした独自SIPヘッダを設定したが、前記5つの情報が識別できる設定であれば、たとえば、前記網識別情報を設定するヘッダ、変換前のIPアドレスおよびメディア受信用ポート番号を設定するヘッダ、変換後のIPアドレスおよびメディア受信用ポート番号を設定するヘッダのように複数個のヘッダを設定してもよい。
また、前記実施例ではプライベート網とグローバル網が接続されたネットワーク構成を例に挙げて説明したが、これに限らず、たとえば、IPv4網とIPv6網のように、アドレス体系が異なる網がNAT装置で接続されており、SIP通信の際に前記SIP-ALG装置でSIP信号のSIPレイヤのIPアドレスおよびポート番号を書き換えるようなネットワーク構成の場合にも、本発明のSIP信号変換方法を適用できる。
また、前記実施例では、図2に示したような構成の前記SIP-ALG装置において、各手段が連携して変換処理を行う場合を例に挙げて説明したが、これに限らず、たとえば、図5および図6に示したような処理をコンピュータに実行させてもよい。この場合、図5および図6に示したような各ステップの処理を前記コンピュータに実行させるプログラムを用意し、前記コンピュータに実行させればよい。このとき、前記プログラムは、磁気的または電気的、あるいは光学的な記録媒体に記録して提供してもよいし、インターネット等のネットワークを通して提供してもよい。