JP5091887B2 - Terminal device, communication processing method, and program - Google Patents
Terminal device, communication processing method, and program Download PDFInfo
- Publication number
- JP5091887B2 JP5091887B2 JP2009040035A JP2009040035A JP5091887B2 JP 5091887 B2 JP5091887 B2 JP 5091887B2 JP 2009040035 A JP2009040035 A JP 2009040035A JP 2009040035 A JP2009040035 A JP 2009040035A JP 5091887 B2 JP5091887 B2 JP 5091887B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- terminal device
- control
- media
- control message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 369
- 238000003672 processing method Methods 0.000 title claims 3
- 238000012545 processing Methods 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 64
- 230000005641 tunneling Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 16
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 235000009508 confectionery Nutrition 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Description
本発明は、VoIP(Voice over IP)等のメディア通信技術に関するものであり、特に、IP通信を行う端末装置において、既存の制御通信機能及びメディア通信機能をほとんど変更することなく、NAT越え機能や通信暗号化の機能を実現するための技術に関するものである。 The present invention relates to a media communication technology such as VoIP (Voice over IP), and in particular, in a terminal device that performs IP communication, a NAT traversal function or the like without changing the existing control communication function and media communication function. The present invention relates to a technique for realizing a communication encryption function.
近年、VoIP技術等を利用したメディア通信サービスが普及しているが、家庭内網や社内網等のプライベートネットワークの中にある端末装置は一般にNAT装置の配下にあるため、そのような端末装置はNAT装置を介して外部の端末装置と通信を行うことになる。 In recent years, media communication services using VoIP technology and the like have become widespread, but since terminal devices in private networks such as home networks and in-house networks are generally under NAT devices, such terminal devices are Communication with an external terminal device is performed via the NAT device.
現在普及しているVoIP技術を利用したメディア通信サービスでは一般的に制御通信プロトコルとしてSIP(Session Initiation Protocol)が使われる。しかし、SIPでは、SIPメッセージ送受信に使用するアドレスや、メディア通信に使用するアドレスをSIPメッセージの内部に書き込んでいるため、IPパケットのアドレスがNAT装置により変換されても、SIPメッセージ内部のアドレスが変換されないことから、NAT装置を介して端末装置同士でSIPに基づくメディア通信を行うことは通常は困難である。 In a media communication service using VoIP technology that is currently popular, SIP (Session Initiation Protocol) is generally used as a control communication protocol. However, in SIP, the address used for SIP message transmission and reception and the address used for media communication are written inside the SIP message, so even if the IP packet address is converted by the NAT device, the address inside the SIP message is Since it is not converted, it is usually difficult to perform media communication based on SIP between terminal devices via a NAT device.
このようなことから、SIPを用いた通信においてNAT越えを行うための種々の技術が提案されている(例えば、非特許文献1(ICE: Interactive Connectivity Establishment)、非特許文献2、非特許文献3)。
For this reason, various techniques for performing NAT traversal in communication using SIP have been proposed (for example, Non-Patent Document 1 (ICE: Interactive Connectivity Establishment), Non-Patent
また、不特定多数の利用者がアクセスするネットワーク上で制御通信やメディア通信をセキュアに行うためには通信の暗号化が必要である。通信の暗号化のためには、例えばSIP over TLS(Transport Layer Security)、SRTP(Secure RTP)、SRTCP(Secure RTCP)等が使われる。 Further, in order to securely perform control communication and media communication on a network accessed by an unspecified number of users, communication encryption is required. For communication encryption, for example, SIP over TLS (Transport Layer Security), SRTP (Secure RTP), SRTCP (Secure RTCP) or the like is used.
しかしながら、ICE等のNAT越え機能や通信暗号化機能を端末装置において実現するには、既存のSIP通信モジュール及びメディア通信モジュールに大幅な機能追加を行う必要がある。そのため、上記機能の実現のために多大な開発コストがかかってしまい、結果としてユーザに提供する製品やサービスが高価なものとなり、メディア通信のシームレスコネクションの普及のために好ましくない。また、SIP通信モジュール及びメディア通信モジュールに機能追加を行う上記の方式では、NAT越え方式や暗号化方式の変更に柔軟に対応することが困難であるという問題もある。 However, in order to realize the NAT traversal function such as ICE and the communication encryption function in the terminal device, it is necessary to add a significant function to the existing SIP communication module and media communication module. Therefore, enormous development costs are required to realize the above functions, and as a result, products and services provided to users become expensive, which is not preferable for the spread of seamless connection of media communication. In addition, the above-described method for adding functions to the SIP communication module and the media communication module has a problem that it is difficult to flexibly cope with changes in the NAT traversal method and the encryption method.
本発明は上記の問題点に鑑みてなされたものであり、制御通信及びメディア通信を行う端末装置において、既存の制御通信モジュール及びメディア通信モジュールに対してほとんど変更を加えることなく、NAT越え機能や通信暗号化機能を実現するための技術を提供することを目的とする。 The present invention has been made in view of the above problems, and in a terminal device that performs control communication and media communication, the NAT traversal function and the existing control communication module and the media communication module are hardly changed. It aims at providing the technique for implement | achieving a communication encryption function.
上記の課題を解決するために、本発明は、相手端末装置と通信ネットワークを介してメディア通信を行う端末装置であって、前記相手端末装置と前記端末装置間をメディア通信用に接続するための接続制御通信を行う制御通信手段と、前記相手端末装置とメディア通信を行うメディア通信手段と、前記制御通信手段から出力される制御メッセージを取得し、当該制御メッセージ内に記述された制御メッセージ転送用の通信プロトコルを暗号化通信プロトコルに変換するとともに、当該変換後の制御メッセージを前記暗号化通信プロトコルを用いて前記通信ネットワークに送出する通信処理手段とを備えることを特徴とする端末装置として構成される。 In order to solve the above-described problem, the present invention provides a terminal device that performs media communication with a counterpart terminal device via a communication network, for connecting the counterpart terminal device and the terminal device for media communication. A control communication means for performing connection control communication, a media communication means for performing media communication with the counterpart terminal apparatus, a control message output from the control communication means, and for transferring a control message described in the control message And a communication processing means for transmitting the converted control message to the communication network using the encrypted communication protocol. The
この構成によれば、制御通信手段に制御メッセージ転送のための暗号化機能を備えることなく制御メッセージ転送のための暗号化機能を実現することが可能となる。 According to this configuration, it is possible to realize the encryption function for transferring the control message without providing the control communication means with the encryption function for transferring the control message.
前記の構成において、前記端末装置は、NAT装置の配下に備えられ、前記通信ネットワークには、前記メディア通信又は前記接続制御通信を中継するための中継サーバが備えられ、前記通信処理手段は、前記NAT装置の外側のアドレス情報を取得し、更に前記中継サーバにより割り当てられた外部通信用アドレスを取得し、前記端末装置のアドレス情報、前記NAT装置の外側のアドレス情報、及び前記中継サーバにより割り当てられた外部通信用アドレス情報を、前記制御通信手段から出力される制御メッセージにICEの規定に基づき付加する手段と、ICEの規定に基づくアドレス情報が付加された制御メッセージを前記相手端末装置から受信した場合に、ICEの規定に基づくメディア通信経路選択処理を実行するとともに、当該アドレス情報を前記制御メッセージから削除した制御メッセージを前記制御通信手段に渡す手段とを備えてもよい。 In the above configuration, the terminal device is provided under a NAT device, the communication network is provided with a relay server for relaying the media communication or the connection control communication, and the communication processing means includes Obtaining address information outside the NAT device, further obtaining an address for external communication assigned by the relay server, address information of the terminal device, address information outside the NAT device, and assigning by the relay server The external communication address information is added to the control message output from the control communication means based on the ICE rules, and the control message with the address information based on the ICE rules is received from the counterpart terminal device. In this case, the media communication route selection process based on the ICE regulations is executed and the address information is controlled by the control. A control message has been deleted from the message may be a means to pass to the control communication means.
この構成によれば、制御通信手段に対してICEに基づくNAT越え処理が隠蔽され、制御通信手段がICEに基づくNAT越え処理機能を備えることなく端末装置においてICEに基づくNAT越え処理を実現することが可能となる。 According to this configuration, NAT traversal processing based on ICE is concealed from the control communication means, and the control communication means realizes NAT traversal processing based on ICE in the terminal device without having the NAT traversal processing function based on ICE. Is possible.
また、前記通信処理手段は、メディア通信の暗号化に関する情報であるメディア通信暗号化情報を前記制御通信手段から出力される制御メッセージに付加する手段と、メディア通信暗号化情報が付加された制御メッセージを前記相手通信端末から受信した場合に、当該制御メッセージから当該メディア通信暗号化情報を削除した制御メッセージを前記制御通信手段に渡す手段と、前記付加されるメディア通信暗号化情報と前記相手通信端末から受信したメディア通信暗号化情報とを用いて、前記メディア通信手段との間で送受信されるメディア通信情報の暗号化及び復号を行う手段とを備えることとしてもよい。 The communication processing means includes means for adding media communication encryption information, which is information relating to encryption of media communication, to a control message output from the control communication means, and a control message to which the media communication encryption information is added. , A means for passing a control message obtained by deleting the media communication encryption information from the control message to the control communication means, and the added media communication encryption information and the counterpart communication terminal. And means for encrypting and decrypting the media communication information transmitted / received to / from the media communication means using the media communication encryption information received from.
この構成によれば、制御通信手段及びメディア通信手段に対してメディア通信暗号化処理が隠蔽され、制御通信手段及びメディア通信手段がメディア通信暗号化機能を備えることなく端末装置においてメディア通信暗号化処理を実現することが可能となる。 According to this configuration, the media communication encryption process is concealed from the control communication unit and the media communication unit, and the media communication encryption process is performed in the terminal device without the control communication unit and the media communication unit having a media communication encryption function. Can be realized.
本発明によれば、制御通信及びメディア通信を行う端末装置において、既存の制御通信モジュール及びメディア通信モジュールに対してほとんど変更を加えることなく、NAT越え機能や通信暗号化機能を実現するための技術を提供できる。 According to the present invention, in a terminal device that performs control communication and media communication, a technique for realizing a NAT traversal function and a communication encryption function with almost no change to an existing control communication module and media communication module. Can provide.
以下、図面を参照して本発明の実施の形態を説明する。
(システム構成)
図1に、本実施の形態におけるシステムの全体構成を示す。図1に示すように、本実施の形態のシステムは、NAT装置N1、NAT装置N1配下にある端末装置T1、NAT装置N2、NAT装置N2配下にある端末装置T2、SIPサーバSI1、STUNサーバST1、HTTPトンネリングサーバHP1(TURNサーバを兼ねる)、及びHTTPトンネリングサーバHP2(TURNサーバを兼ねる)を有する。SIPサーバSI1とSTUNサーバST1は同一装置内に設けることとしてもよい。
Embodiments of the present invention will be described below with reference to the drawings.
(System configuration)
FIG. 1 shows the overall configuration of the system in the present embodiment. As shown in FIG. 1, the system according to the present embodiment includes a NAT device N1, a terminal device T1 under the NAT device N1, a NAT device N2, a terminal device T2 under the NAT device N2, a SIP server SI1, and a STUN server ST1. HTTP tunneling server HP1 (also serving as a TURN server) and HTTP tunneling server HP2 (also serving as a TURN server). SIP server SI1 and STUN server ST1 may be provided in the same apparatus.
本システムにおいて、NAT装置N1は、グローバルネットワークであるインターネット6に接続されるとともに、プライベートネットワーク7に接続される。また、端末装置T1はプライベートネットワーク7に接続される。NAT装置N2は、インターネット6に接続されるとともに、プライベートネットワーク8に接続される。また、端末装置T2はプライベートネットワーク8に接続される。 In this system, the NAT device N1 is connected to the Internet 6 which is a global network and to a private network 7. The terminal device T1 is connected to the private network 7. The NAT device N2 is connected to the Internet 6 and to the private network 8. The terminal device T2 is connected to the private network 8.
HTTPトンネリングサーバHP1は、端末装置T1側にサービスを提供するものとし、HTTPトンネリングサーバHP2は、端末装置T2側にサービスを提供するものとする。 It is assumed that the HTTP tunneling server HP1 provides a service to the terminal device T1 side, and the HTTP tunneling server HP2 provides a service to the terminal device T2 side.
本システムにおけるSIPサーバSI1は、SIPの中継処理を行うサーバである。STUNサーバST1は、STUNの仕様に準拠した機能を有するサーバであり、端末装置からの要求に基づき、NAT装置外部のアドレス情報を返す機能等を有するサーバである。HTTPトンネリングサーバHP1は、端末装置T1との間でHTTPSトンネルを形成する機能と、TURNの仕様に準拠して、端末装置からの要求に基づき、データ中継用のアドレス情報を割り当て、それを端末装置に返す機能、アドレスのバインディング情報を保持し、データの中継を行う機能等を有するサーバである。HTTPトンネリングサーバHP2もHTTPトンネリングサーバH1と同様の機能を有する。つまり、HTTPトンネリングサーバHP1、HP2はそれぞれ、HTTPトンネリングサーバ機能とTURNサーバ機能を有している。 The SIP server SI1 in this system is a server that performs SIP relay processing. The STUN server ST1 is a server having a function conforming to the STUN specification, and is a server having a function of returning address information outside the NAT device based on a request from the terminal device. The HTTP tunneling server HP1 assigns address information for data relay based on a request from a terminal device in accordance with the function of forming an HTTPS tunnel with the terminal device T1 and the specification of TURN, and assigns it to the terminal device. This is a server having a function of returning to, a function of holding address binding information and relaying data. The HTTP tunneling server HP2 has the same function as the HTTP tunneling server H1. That is, the HTTP tunneling servers HP1 and HP2 each have an HTTP tunneling server function and a TURN server function.
図2に、端末装置T1の機能構成図を示す。なお、特に断らない限り端末装置T2も端末装置T1と全く同じ構成であるため、端末装置T1のみについて説明する。 FIG. 2 shows a functional configuration diagram of the terminal device T1. Note that the terminal device T2 has the same configuration as the terminal device T1 unless otherwise specified, so only the terminal device T1 will be described.
図2に示すように、端末装置T1は、データ通信部11、シームレス接続部12、制御通信部13、メディア通信部14、通信アプリケーション部15を有する。
As illustrated in FIG. 2, the terminal device T1 includes a
データ通信部11は、通信ネットワーク上で他の装置とデータ通信を行うための機能部である。通信アプリケーション部15は、メディア通信(本実施の形態では音声通信)を実施するためのアプリケーションサービスをユーザに提供する機能部である。
The
制御通信部13は、メディア通信のための接続を行うために必要な制御通信を行う機能部であり、本実施の形態では、一般的なSIP/SDP(Session Description protocol)を用いた制御通信を行う機能を有する。メディア通信部14は、メディア通信を行うための機能部であり、本実施の形態では、RTP/RTCPに基づく音声通信を行う機能を有する。
The
上記のデータ通信部11、制御通信部13、メディア通信部14、通信アプリケーション部15を備えることにより、NAT越えや暗号化を行わないメディア通信を行うことは可能である。しかし、これらの機能部だけではNAT越えや暗号化を行うことはできない。そこで、本実施の形態ではシームレス接続部12が備えられている。
By providing the
シームレス接続部12は、制御通信及びメディア通信に係るNAT越え及び暗号化を行うための機能部であるが、シームレス接続部12は、制御通信部13及びメディア通信部14に対してNAT越え及び暗号化に係る処理内容を隠蔽している。
The
つまり、シームレス接続部12は、シームレス接続部12がない通常の構成(データ通信部11、制御通信部13、メディア通信部14、通信アプリケーション部15からなる構成)で制御通信部13及びメディア通信部14がデータ通信部11に出力する制御通信用メッセージ及びメディア通信データと同様の制御通信用メッセージ及びメディア通信データを制御通信部13及びメディア通信部14から受信する。また、シームレス接続部12は、シームレス接続部12がない通常の構成で制御通信部13及びメディア通信部14がデータ通信部11から受信する制御通信用メッセージ及びメディア通信データと同様の制御通信用メッセージ及びメディア通信データを制御通信部13及びメディア通信部14に対して出力する。
このようなシームレス接続部12を備えたため、制御通信部13及びメディア通信部14が、NAT越え及び暗号化に係る処理を意識せずに、シームレス接続部12がない場合と同様の処理を行うだけでNAT越え及び暗号化を実現できる。
That is, the
Since such a
図3に示すように、シームレス接続部12は、制御通信メッセージ編集部21、メディア暗号化部22、通信経路制御部23、及び制御通信暗号化部24を有する。
As illustrated in FIG. 3, the
制御通信メッセージ編集部21は、SIPメッセージのヘッダ内情報を変換する機能、ICEに関わる情報をSDPに付加する機能、SDP内のIPアドレス及びポート番号情報を変換する機能、SDPへの暗号関連情報の追加・削除を行う機能等を有する。
The control communication
通信経路制御部23は、HTTPSトンネル通信を行うための機能、ICEに関わる処理を行うための各種情報を収集する機能、ICEに基づく処理を行って通信経路(NAT越え方式)を決定する機能等を有する。また、通信経路制御部23は、SIP over TLS(SIP/TLSと記述する)のキープアライブのためのPing送信/Pong受信機能を備える。
The communication path control
メディア暗号化部22は、RFC4568、RFC3711等に基づいて、メディア通信のための暗号鍵・暗号スイーツを確定する機能、メディア通信の暗号化・復号を行う機能等を有する。制御通信暗号化部24は、制御通信のための暗号鍵・暗号スイーツを確定する機能、制御通信の暗号化・復号を行う機能等を有する。
The
端末装置T1は、CPU、記憶装置等を有するコンピュータに上記の各機能を実現するためのプログラムを実行させることにより実現できる。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールすることとしてもよいし、ネットワーク上のサーバからダウンロードすることとしてもよい。 The terminal device T1 can be realized by causing a computer having a CPU, a storage device, and the like to execute programs for realizing the above functions. The program may be installed in a computer from a recording medium such as a portable memory, or may be downloaded from a server on the network.
図4は、上記各機能部の集合をソフトウェア(プログラムモジュール)のスタックイメージで表記した図である。図4において、図2との対応を分かりやすくするために、図2において対応する機能部に付された参照符号を付している。また、データ通信部11を表すために、OS(TCP/IPソフト等を含む)の下位にネットワークインターフェースを示している。
FIG. 4 is a diagram in which a set of the above functional units is represented by a stack image of software (program module). 4, in order to make it easy to understand the correspondence with FIG. 2, the reference numerals assigned to the corresponding functional units in FIG. In order to represent the
図4に示す構成において、制御通信モジュール13とメディア通信モジュール14は、それぞれシームレス接続モジュール12に備えられる入出力APIを使用して外部と通信を行う。この入出力APIは、制御通信モジュール13とメディア通信モジュール14から見て、OSのソケットAPIに相当するものであり、制御通信モジュール13とメディア通信モジュール14では、それぞれ、OSのソケットAPIの名前をシームレス接続モジュールの入出力APIの名前に置換するだけでシームレス接続モジュール12と接続できる。
In the configuration shown in FIG. 4, the
端末装置T1は、図2に示す構成に代えて、図5に示す構成により実現することも可能である。 The terminal device T1 can be realized by the configuration shown in FIG. 5 instead of the configuration shown in FIG.
図5に示す構成では、図2に示す構成に対して、通信情報監視取得部16が追加されている。また、メディア通信部14と制御通信部13は直接データ通信部11に接続されている。図5に示す構成において、通信アプリケーション部15、メディア通信部14、制御通信部13、及びデータ通信部11からなる構成は、制御通信を行ってメディア通信接続を行う一般的な端末装置と同じ構成である。図5に示す構成は、その一般的な端末装置に、通信情報監視取得部16とシームレス接続部12とが追加された構成に相当する。
In the configuration shown in FIG. 5, a communication information
図5において、通信情報監視取得部16は、データ通信部11を流れるシームレス接続部12で指定した特定のIPアドレス、ポート番号の通信情報を監視し、当該特定のIPアドレス、ポート番号の通信情報を検知した場合には、当該通信情報を取得し、シームレス接続部12に渡す機能を有する。シームレス接続部12で処理された通信情報は、データ通信部11に戻され、通信情報の種類・宛先等に応じてメディア通信部14・制御通信部13に渡されたり、外部に送出される。図5に示すシームレス接続部12内で行われるNAT越え・暗号化に係る処理自体は、図2に示すシームレス接続部12内で行われるNAT越え・暗号化に係る処理と同じである。
In FIG. 5, the communication information
図6は、図5に示す構成をソフトウェア(プログラムモジュール)のスタックイメージで表記した図である。図6に示すように、通信情報監視取得部16は、シームレス接続ドライバにより実現される。
FIG. 6 is a diagram representing the configuration shown in FIG. 5 as a stack image of software (program module). As shown in FIG. 6, the communication information
図4の構成では、メディア通信モジュール14及び制御通信モジュール13において、OSのソケットAPIの名前に代えてシームレス接続モジュール12の入出力APIの名前を使用していたが、図6の構成では、メディア通信モジュール14及び制御通信モジュール13において、OSのソケットAPIの名前をそのまま使用できる。
In the configuration of FIG. 4, the
(システムの動作)
以下、SIPに基づき制御通信を行って、メディア通信接続を実施するため実行される代表的なシーケンスを例に挙げて、本発明の実施の形態に係る端末装置の動作を説明する。 以下の各処理において、端末装置T1、端末装置T2のSIP通信用のローカルのIPアドレス及びポート番号(IPアドレス:ポート番号で表記)は、それぞれT1:TP(SIP)1、 T2:TP(SIP)2である。端末装置T1、端末装置T2のメディア通信用(本実施形態では音声通信)のローカルのIPアドレス及びポート番号は、それぞれT1:TP(音声)1、 T2:TP(音声)2である。
(System operation)
Hereinafter, the operation of the terminal apparatus according to the embodiment of the present invention will be described with reference to an example of a typical sequence executed for performing media communication connection by performing control communication based on SIP. In the following processes, the local IP address and port number (indicated by IP address: port number) for SIP communication of the terminal device T1 and the terminal device T2 are T1: TP (SIP) 1, T2: TP (SIP ) 2. The local IP addresses and port numbers for media communication (voice communication in this embodiment) of the terminal device T1 and the terminal device T2 are T1: TP (voice) 1 and T2: TP (voice) 2, respectively.
また、NAT装置N1、NAT装置N2の外側のSIP通信用のIPアドレス及びポート番号(IPアドレス:ポート番号で表記)は、それぞれN1:NP(SIP)1、 N2:NP(SIP)2である。NAT装置N1、NAT装置N2のメディア通信用(本実施形態では音声通信)の外側のIPアドレス及びポート番号は、それぞれN1:NP(音声)1、 N2:NP(音声)2である。 The IP address and port number (IP address: port number) for SIP communication outside the NAT device N1 and NAT device N2 are N1: NP (SIP) 1 and N2: NP (SIP) 2, respectively. . The outside IP addresses and port numbers for media communication (voice communication in this embodiment) of the NAT device N1 and NAT device N2 are N1: NP (voice) 1 and N2: NP (voice) 2, respectively.
また、中継サーバであるHTTPトンネリングサーバHP1、HTTPトンネリングサーバHP2において外部通信用に端末装置T1、端末装置T2に割り当てられるSIP通信用のIPアドレス及びポート番号は、それぞれAT(SIP)1:ATP(SIP)1、AT(SIP)2:ATP(SIP)2である。HTTPトンネリングサーバHP1、HTTPトンネリングサーバHP2において外部通信用に端末装置T1、端末装置T2に割り当てられるメディア通信用のIPアドレス及びポート番号は、それぞれAT(音声)1:ATP(音声)1、AT(音声)2:ATP(音声)2である。 In addition, the IP address and port number for SIP communication assigned to the terminal device T1 and the terminal device T2 for external communication in the HTTP tunneling server HP1 and the HTTP tunneling server HP2 that are relay servers are AT (SIP) 1: ATP ( SIP) 1, AT (SIP) 2: ATP (SIP) 2. In the HTTP tunneling server HP1 and HTTP tunneling server HP2, the IP address and port number for media communication assigned to the terminal device T1 and terminal device T2 for external communication are AT (voice) 1: ATP (voice) 1, AT ( Voice) 2: ATP (voice) 2.
また、以下で説明する各図のシーケンス上にはそこで転送されるSIPメッセージ内の情報を示すが、そこで示される情報は、シーケンス接続部12における処理(変換・追加・削除)に関する主要な情報のみを示すものである。また、端末装置とSIPサーバ間にはNAT装置が存在するが、シーケンス図には示していない。更に、以下のシーケンスにおいて、SIP通信用アドレス情報に関しては、ViaヘッダとContactヘッダのアドレス情報が同様に変換等される場合には、ViaとContactを区別せずに記載してあり、Via又はContactの別が記載されている場合には、記載されているヘッダ(Via又はContact)が変換されている。
In addition, the information in the SIP message transferred there is shown on the sequence of each figure described below, but the information shown there is only main information regarding processing (conversion / addition / deletion) in the
まず、図7を参照して、端末装置T1からSIPサーバSI1に対してREGISTERを行う処理を説明する。図7の例は、NAT装置N1がSIP/TLSを透過させる場合の例である。 First, with reference to FIG. 7, a process of performing REGISTER from the terminal device T1 to the SIP server SI1 will be described. The example of FIG. 7 is an example where the NAT device N1 transmits SIP / TLS.
図7に示すように、端末装置T1の制御通信部13からREGISTERメッセージがシームレス接続部12に送られる(ステップ1)。図7に示すように、REGISTERメッセージのヘッダ(Viaヘッダ等)にはSIP通信プロトコル情報(SP)としてSIP/TCPが含まれ、REGISTERの送信元を示すSIP通信アドレス情報(SA)として端末装置T1のSIP通信用のローカルIPアドレスとポート番号が含まれる(ステップ2)。
As shown in FIG. 7, a REGISTER message is sent from the
REGISTERメッセージを受信したシームレス接続部12においてメッセージ変換が行われ、変換後のREGISTERメッセージがSIPサーバSI1に送信される(ステップ2)。より詳細には、制御通信メッセージ編集部21が、REGISTERメッセージにおけるSIP通信プロトコル情報をSIP/TCPからSIP/TLSに変換するとともに、制御通信暗号化部24がSIP/TLSに基づく暗号化処理を行ってREGISTERメッセージを送出する。また、シームレス接続部12は、T1:TP(SIP)1を記憶手段に格納しておく。
その後、SIPサーバSI1から、応答メッセージが端末装置T1に返される(ステップ3)。図7に示すとおり、SIPサーバSI1から返される応答メッセージには、rportの値としてNAT装置N1の外側のポート番号(NP(SIP)1)が含まれ、receivedの値としてNAT装置N1の外側のIPアドレス(N1)が含まれている。
The
Thereafter, a response message is returned from the SIP server SI1 to the terminal device T1 (step 3). As shown in FIG. 7, the response message returned from the SIP server SI1 includes the port number outside the NAT device N1 (NP (SIP) 1) as the rport value, and the outside value of the NAT device N1 as the received value. IP address (N1) is included.
端末装置T1のシームレス接続部12において、制御通信暗号化部24が応答メッセージの復号を行うとともに、制御通信メッセージ編集部21が、応答メッセージ中のTLSをTCPに変換し、変換後の応答メッセージを制御通信部13に渡す(ステップ4)。また、シームレス接続部12は、T1:TP(SIP)1とN1:NP(SIP)1とを対応付けて記憶手段に格納しておく。これにより、これ以降のSIPメッセージ内でT1:TP(SIP)1とN1:NP(SIP)1との間の情報変換を行うことができる。
In the
また、SIP/TLSによりSIP通信を行う場合、通信経路制御部23は、SIP/TLSリンクのキープアライブのために一定時間毎にSIPサーバSI1に対してPingを送信し、Pongを受信している。
In addition, when performing SIP communication by SIP / TLS, the communication path control
上記の例は、NAT装置N1がSIP/TLSを透過させる場合であったが、NAT装置N1の種類や設定によってはSIP/TLSを透過させない場合がある。また、NAT装置N1に代えてWebプロキシが設置される場合があるが、その場合も、SIP/TLSは透過されない。 In the above example, the NAT device N1 transmits SIP / TLS. However, depending on the type and setting of the NAT device N1, SIP / TLS may not be transmitted. In some cases, a Web proxy is installed instead of the NAT device N1, but in this case, SIP / TLS is not transmitted.
このようにNAT装置N1等においてSIP/TLSが透過されない場合、HTTPSトンネルを経由して通信を行う。このシーケンス例を図8に示す。以下の処理は、例えば、端末装置T1がREGISTERメッセージを送信したが、一定時間内にそれに対する応答がなかったことを通信経路制御部23が検知した場合に実施されるものである。
In this way, when SIP / TLS is not transmitted through the NAT device N1 or the like, communication is performed via an HTTPS tunnel. An example of this sequence is shown in FIG. The following processing is performed, for example, when the communication path control
まず、端末装置T1における通信経路制御部が、HTTPトンネリングサーバHP1にトンネル接続要求を送り(ステップ11)、HTTPトンネリングサーバHP1においてHTTPSトンネル通信に必要な設定がなされ、トンネル接続応答が返される(ステップ12)。その後は、端末装置T1とHTTPトンネリングサーバHP1間でHTTPSトンネルを介した通信が可能になる。 First, the communication path control unit in the terminal device T1 sends a tunnel connection request to the HTTP tunneling server HP1 (step 11), the HTTP tunneling server HP1 makes settings necessary for HTTPS tunnel communication, and a tunnel connection response is returned (step). 12). Thereafter, communication via the HTTPS tunnel becomes possible between the terminal device T1 and the HTTP tunneling server HP1.
その後、通信経路制御部23は、HTTPトンネリングサーバHP1を経由してSIPサーバ等の他の装置とSIP通信を行うことを可能とするために、HTTPトンネリングサーバHP1に対してアドレス割り当て要求を送信し(ステップ13)、応答を受ける(ステップ14)。このアドレス割り当て要求を行い、アドレスの割り当てを受けることは、TURNにおいてTURNサーバにアドレス割当要求を行い、アドレスの割り当てを受けることと同様である。
Thereafter, the communication path control
図8のステップ14においてHTTPトンネリングサーバHP1から返される応答メッセージの内部には、SIP通信用にHTTPトンネリングサーバHP1において割り当てられた端末装置T1の外部通信用のIPアドレス(AT(SIP)1)と、ポート番号(ATP(SIP)1)が含まれる。
In the response message returned from the HTTP tunneling server HP1 in
このアドレス割り当ての概念を図9に示す。図9に示すように、HTTPトンネリングサーバHP1にAT(SIP)1、ATP(SIP)1が割り当てられるとともに、外部装置(SIPサーバ等)は、端末装置T1と通信を行う際には、送信先アドレスとしてAT(SIP)1、ATP(SIP)1を指定する。また、HTTPトンネルサーバHP1内には、少なくとも割り当てたIPアドレス/ポート番号(AT(SIP)1:ATP(SIP)1)と、HTTPS通信におけるNAT装置N1の外側のIPアドレス/ポート番号(N1:NP(HTTPS)1)とが対応付けられ、記憶装置に保持される。また、シーケンス接続部12において、端末装置T1のT1:TP(SIP)1と、AT(SIP)1:ATP(SIP)1とが対応付けて記憶手段に格納される。
The concept of this address assignment is shown in FIG. As shown in FIG. 9, AT (SIP) 1 and ATP (SIP) 1 are assigned to the HTTP tunneling server HP1, and when an external device (SIP server or the like) communicates with the terminal device T1, the transmission destination Specify AT (SIP) 1 and ATP (SIP) 1 as addresses. Also, in the HTTP tunnel server HP1, at least the assigned IP address / port number (AT (SIP) 1: ATP (SIP) 1) and the IP address / port number outside the NAT device N1 in HTTPS communication (N1: NP (HTTPS) 1) is associated with and stored in the storage device. Further, in the
図8に示すこれ以降のREGISTER処理(ステップ15〜)の流れは図7に示した処理と基本的に同様であるが、図8では、制御通信暗号化部24がSIP/TLSをHTTPSでカプセリングすることにより、端末装置T1とHTTPトンネリングサーバHP1間でHTTPSトンネル通信を行っている。
また、HTTPSトンネルを用いてSIP通信を行う場合、シームレス接続12は、T1:TP(SIP)1とAT(SIP)1:ATP(SIP)1とを対応付けて記憶手段に格納しておき、SIP通信において、制御通信メッセージ編集部21はローカルのアドレス情報(T1:TP(SIP)1)との間で変換を行うグローバルなアドレス情報として、N1:NP(SIP)1ではなくAT(SIP)1:ATP(SIP)1を用いる。
The flow of the subsequent REGISTER processing shown in FIG. 8 (from step 15) is basically the same as the processing shown in FIG. 7, but in FIG. 8, the control
Also, when performing SIP communication using an HTTPS tunnel, the
次に、INVITEを行って、メディア通信を実施するまでの端末装置の処理について説明する。なお、以下の例は、NAT装置N1、N2がSIP/TLSを透過させる場合の例である。SIP/TLSを透過させない場合は、HTTPSトンネリングサーバにおいて外部通信用のアドレス/ポートが割り当てられてHTTPSトンネルを介して制御通信が行われるだけであり、実質的な処理は下記の処理と同じである。 Next, processing of the terminal device from when INVITE is performed until media communication is performed will be described. The following example is an example where the NAT devices N1 and N2 transmit SIP / TLS. When SIP / TLS is not transparent, the address / port for external communication is assigned to the HTTPS tunneling server and control communication is performed via the HTTPS tunnel. The actual processing is the same as the following processing. .
以下のINVITEに係る処理では、ICEに基づく通信経路決定処理が行われるので、まず、ICEの機能について図10を参照して説明しておく。なお、一般的なICEでは中継サーバとしてTURNサーバを使用するが、本実施の形態では、TURNサーバの代わりにHTTPトンネリングサーバを使用している。 In the following processing related to INVITE, communication path determination processing based on ICE is performed. First, the function of ICE will be described with reference to FIG. In general ICE, a TURN server is used as a relay server, but in this embodiment, an HTTP tunneling server is used instead of a TURN server.
図10に示す構成において、ICE機能をサポートする端末装置100は端末装置100自身のIPアドレス/ポート番号、NAT装置300の外側のIPアドレス/ポート番号(STUNを使用して取得)、TURNサーバ500において割り当てられる外部通信用のIPアドレス/ポート番号を取得し、それを相手側の端末装置200にINVITEメッセージ等を用いて通知する。ICE機能をサポートする端末装置200も端末装置200自身のIPアドレス/ポート番号、NAT装置400の外側のIPアドレス/ポート番号(STUNを使用して取得)、TURNサーバ500において割り当てられる外部通信用のIPアドレス/ポート番号を取得し、INVITEメッセージの応答等でそれを相手側の端末装置100に通知する。そして、相手側についてのアドレス情報を受け取った各端末装置は、受け取ったアドレスに対する通信を試み、通信が可能であるアドレスのうち優先度の高いアドレスに対してメディア通信を行うこととしている。ここで、端末装置自身のアドレスをHost Candidateと呼び、NAT装置の外側のアドレスをServer Reflexive candidate と呼び、TURNサーバで割り当てられた外部通信用のアドレスをRelayed Candidateと呼んでいる。
In the configuration shown in FIG. 10, the
以下、INVITEの処理のシーケンスを図11を参照して説明する。図11に示すように、端末装置T1における制御通信部13が、所望の接続先(端末装置T2の電話番号等)を宛先とするINVITEメッセージを送出する(ステップ21)。このINVITEメッセージには図11に示す情報が含まれている。
The INVITE processing sequence will be described below with reference to FIG. As shown in FIG. 11, the
当該INVITEメッセージを受信したシームレス接続部12では、まず通信経路制御部23が、メディア通信用の Candidate情報を取得する処理を行う(ステップ22)。つまり、通信経路制御部23がSTUNサーバST1にアクセスしてNAT装置N1の外側のアドレス情報であるN1:NP(音声)1を取得し、HTTPトンネリングサーバHP1にアクセスして外部通信用アドレス情報であるAT(音声)1:ATP(音声)1を取得し、それらを制御通信メッセージ編集部21に渡す。また、メディア暗号化部22が、メディア通信用の暗号鍵を生成し、当該暗号鍵を制御通信メッセージ編集部21に渡す。更に、この時点で、メディア暗号化部23により、HTTPトンネリングサーバHP1との間にメディア通信用のHTTPSトンネルを形成しておいてよい。このHTTPSトンネルは、ICE処理で使用されないことが決定された場合は、解除される。もちろん、NAT装置N1がUDPを透過させない場合、NAT装置N1を越えてメディア通信をするにはHTTPSトンネルを介した通信が必要になる。
In the
制御通信メッセージ編集部21は、REGISTERの場合の同様にしてSIP通信用プロトコル情報(SP)におけるTCPをTLSに変換する。また、制御通信メッセージ編集部21は、SIP用アドレス情報(SA)を、REGISTERを行ったときに取得したNAT装置N1の外側のアドレス情報であるN1:NP(SIP)1に変換する。更に、制御通信メッセージ編集部21は、メディア通信用プロトコル情報(MP)を非暗号化音声から暗号化音声に変換し、メディア通信用アドレス情報(MA)を中継サーバの外部通信用アドレス情報(AT(音声)1:ATP(音声)1)に変換し、ICE candidate情報と暗号属性情報をINVITEメッセージに追加する。ICE candidate情報としては、T1:TP(音声)1、N1:NP(音声)1、AT(音声)1:ATP(音声)1が含まれ、暗号属性情報としては、ステップ23で取得した暗号鍵と、決定された暗号方式が含まれる。ここで、メディア通信用プロトコル情報(MP)は、端末装置T1が使用するメディア通信用プロトコルの情報であり、メディア通信用アドレス情報(MA)は、端末装置T1が相手端末からメディア情報を受信する場合の宛先となるアドレス情報である。
The control communication
上記のようにして変換されたINVITEメッセージは、制御通信暗号化部24でSIP/TLSに基づき暗号化されてSIPサーバSI1に送信される(ステップ24)。
The INVITE message converted as described above is encrypted based on SIP / TLS by the control
なお、本実施の形態におけるメディア通信のための暗号化処理は例えばRFC4568等に基づくものであり、SDPの中にa=cryptoが記述され、上述した暗号属性情報の内容はa=cryptoの後に記述される。また、この記述内容により、SRTP、SRTCPのセキュリティレベルを制御可能である。 Note that the encryption processing for media communication in the present embodiment is based on, for example, RFC4568 and the like, a = crypto is described in the SDP, and the content of the encryption attribute information described above is described after a = crypto Is done. In addition, the security level of SRTP and SRTCP can be controlled by this description.
既にREGISTERが済んでいる宛先の端末装置T2がSIPサーバSI1からINVITEメッセージを受信する(ステップ25)。端末装置T2のシームレス接続部12は、図11に示すように、INVITEメッセージにおける宛先をNAT装置N2の外側のアドレスから、端末装置T2のローカルのアドレスに変換するとともに、メディア通信用プロトコル情報(MP)が変換され、ICE candidate情報、暗号属性情報が削除される。そして、このように変換・削除されたINVITEメッセージが制御通信部13に渡される(ステップ26)。
The destination terminal device T2 that has already undergone REGISTER receives the INVITE message from the SIP server SI1 (step 25). As shown in FIG. 11, the
その後、制御通信部13から200 OKメッセージが送信され、シームレス接続部12に渡される(図12のステップ27)。端末装置N2のシームレス接続部12において、端末装置T1と同様の処理を行って、ICE candidate情報の取得、暗号鍵の取得が行われる。また、アドレス情報の変換が行われ、その結果、図12に示す200 OKメッセージが送出される(ステップ28)。ここで、200 OKメッセージのICE candidate情報には、host candidate (T2:TP(音声)2)、Server Reflexive candidate(N2:NP(音声)2)、Relayed Candidate(AT(音声)2:ATP(音声)2)が含まれる。
Thereafter, a 200 OK message is transmitted from the
端末装置T1が200 OKメッセージを受信する(ステップ29)。200 OKメッセージを受信した端末装置T1のシームレス接続部12では、制御通信暗号化部24にて200 OKメッセージの復号が行われる。そして、通信経路制御部23が、200 OKメッセージのSDPに記述されたICE candidate情報を用いてコネクティビティチェックを行って、メディア通信用の通信経路を決定し、決定した通信経路に該当するアドレス情報を記憶手段に記憶しておく。例えば、NAT装置N2を宛先とする通信経路が使用経路として決定された場合には、N2:NP(音声)2が記憶手段に記憶される。SDPに記述された暗号属性情報2を記憶手段に格納しておく。もちろん、端末装置T1が送信した暗号属性情報1も記憶手段に格納されている。これらの暗号属性情報は、メディアの暗号化・復号に使用される。
The terminal device T1 receives the 200 OK message (step 29). In the
そして、制御通信メッセージ編集部12は、図12に示すように、200 OKメッセージにおけるSIP通信用プロトコル情報、SIP用アドレス情報を変換するとともに、メディア通信用プロトコル情報を変換し、ICE candidate情報と暗号属性情報を削除する。そして、このような変換・削除を行った200 OKメッセージが制御通信部13に送られる(ステップ30)。
Then, as shown in FIG. 12, the control communication
その後、ACKメッセージの送受信を経て、メディア通信部14から音声データが出力され、メディア暗号化部22により暗号化され、通信経路制御部23により、ICE処理で決定された宛先に送出される。
Thereafter, through transmission / reception of an ACK message, audio data is output from the
(暗号化に関する処理例)
上記の例では、端末装置T1、端末装置T2ともにメディアの暗号化通信を行う機能を備えているが、一方が本実施の形態に係る暗号化機能を持つが、他方が暗号化機能を持たない場合もある。このような場合の処理例について、端末装置T1から端末装置T2にINVITEを送る場合、つまり、端末装置T1がUACとして機能し、端末装置T2がUASとして機能する場合について説明する。
(Example of processing related to encryption)
In the above example, both the terminal device T1 and the terminal device T2 have the function of performing encrypted communication of media, but one has the encryption function according to the present embodiment, but the other does not have the encryption function. In some cases. A processing example in such a case will be described when INVITE is transmitted from the terminal device T1 to the terminal device T2, that is, when the terminal device T1 functions as a UAC and the terminal device T2 functions as a UAS.
まず、端末装置T1が本実施の形態に係る暗号化機能を持たず、端末装置T2が本実施の形態に係る暗号化機能を持つ場合、図13に示すように、端末装置T1から送られるINVITEメッセージはメディア通信用プロトコル情報(MP)として"非暗号化音声"を含むが、暗号属性情報(a=crypto)を含まない(ステップ41、42)。端末装置T2のシームレス接続部12におけるメディア暗号化部22は、端末装置T1から受信するINVITEメッセージに暗号属性情報が含まれていないことを識別し、端末装置T1は暗号化機能を持たないことを認識し、暗号鍵の生成等を行わない。また、メディア暗号化部22は、端末装置T1が暗号化機能を持たないことを制御通信メッセージ編集部21に通知する。
First, when the terminal device T1 does not have the encryption function according to the present embodiment and the terminal device T2 has the encryption function according to the present embodiment, as shown in FIG. 13, the INVITE sent from the terminal device T1 The message includes “unencrypted voice” as protocol information (MP) for media communication, but does not include encryption attribute information (a = crypto) (
その結果、端末装置T2において、シームレス接続部12が制御通信部13から200 OKメッセージを受信した場合に、制御通信メッセージ編集部12は、メディア通信プロトコル情報の変換を行わず、また、暗号属性情報の追加を行わずに200 OKメッセージを端末装置T1に送出する(ステップ43、44)。
As a result, in the terminal device T2, when the
次に、端末装置T1が本実施の形態に係る暗号化機能を有し、端末装置T2が暗号化機能を持たない場合について説明する。 Next, a case where the terminal device T1 has the encryption function according to the present embodiment and the terminal device T2 does not have the encryption function will be described.
図14は、端末装置T1が、メディア通信プロトコル情報(MP)として"暗号化音声"と暗号属性情報(a=crypto)を含むINVITEメッセージを送信したが(ステップ51、52)、端末装置T2が暗号化に係る情報を認識せずに、メディア通信プロトコル情報(MP)として"非暗号化音声"を含み、暗号属性情報(a=crypto)を含まない200 OKを返す場合を示すものである(ステップ53、54)。 In FIG. 14, the terminal device T1 transmits an INVITE message including “encrypted voice” and encryption attribute information (a = crypto) as media communication protocol information (MP) (steps 51 and 52). It shows a case where 200 OK is returned without including information related to encryption, including “unencrypted voice” as media communication protocol information (MP) and not including encryption attribute information (a = crypto) ( Steps 53 and 54).
この場合、200 OKメッセージを受信した端末装置T1では、シームレス接続部12におけるメディア暗号化部22が、端末装置T2は暗号化機能を持たないことを認識するので、音声データを暗号化せずに送信することになる。
In this case, in the terminal device T1 that has received the 200 OK message, the
なお、相手の端末装置T2の機能によっては、メディア通信プロトコル情報(MP)として"非暗号化音声"が記述されたINVITEメッセージを受信しない場合に正常に動作しない場合があり得るので、図15に示すように、端末装置T1は、メディア通信プロトコル情報として"暗号化音声"と"非暗号化音声"の両方を含むINVITEメッセージを送出してもよい(ステップ61、62)。この場合、端末装置T2は、"非暗号化音声"のみを認識し、"非暗号化音声"を記述した応答を返す(ステップ63、64)。 Depending on the function of the partner terminal device T2, there may be a case where an INVITE message in which "unencrypted voice" is described as media communication protocol information (MP) is not received, so that it may not operate normally. As shown, the terminal apparatus T1 may send out an INVITE message including both “encrypted voice” and “unencrypted voice” as media communication protocol information (steps 61 and 62). In this case, the terminal device T2 recognizes only “unencrypted speech” and returns a response describing “unencrypted speech” (steps 63 and 64).
また、端末装置T1が図14に示すINVITEメッセージを端末装置T2に送信した場合、端末装置T2がエラーを返すことも考えられる。その場合の処理例を図16に示す。 Further, when the terminal device T1 transmits the INVITE message shown in FIG. 14 to the terminal device T2, the terminal device T2 may return an error. An example of processing in that case is shown in FIG.
図16に示すように、ステップ73でエラーを受信した端末装置T1のシーケンス接続部12では、メディア暗号化部22が端末装置T2にメディア暗号化機能がないことを認識し、その旨を制御通信メッセージ編集部21に通知する。当該通知を受けた制御通信メッセージ編集部21は、ステップ12で送信したINVITEメッセージの内容の中のメディア通信プロトコル情報(MP)を"非暗号化音声"に変換し、暗号属性情報を削除し、変換・削除後のINVITEメッセージを端末装置T2に送信する(ステップ74)。これにより、端末装置T2は"非暗号化音声"を含む200 OKメッセージを端末装置T1に返し(ステップ75、76)、その後は非暗号化音声通信が行われる。
As shown in FIG. 16, in the
(実施の形態の効果について)
上述したように、本実施の形態に係る技術を用いることにより、制御通信部13に対してICEに基づくNAT越え処理が隠蔽され、制御通信部13がICEに基づくNAT越え処理機能を備えることなく端末装置においてICEに基づくNAT越え処理を実現することが可能となる。また、制御通信部13及びメディア通信部14に対してメディア通信暗号化処理が隠蔽され、制御通信部13及びメディア通信部14がメディア通信暗号化機能を備えることなく端末装置においてメディア通信暗号化処理を実現することが可能となる。
(Effects of the embodiment)
As described above, by using the technology according to the present embodiment, the NAT communication processing based on ICE is concealed from the
また、NAT越え機能や暗号化通信機能に関して、基本的にシームレス接続部12のみを開発・実装すればよいため、制御通信部及びメディア通信部内にNAT越え機能や暗号化通信機能を追加する場合に比べて容易に開発・実装を行うことができるとともに、NAT越え方式や暗号化通信方式に変更があった場合でも迅速に対応することが可能となる。
In addition, regarding the NAT traversal function and the encrypted communication function, basically only the
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
N1、N2、300、400 NAT装置
T1、T2、100、200 端末装置
SI1 SIPサーバ
ST1 STUNサーバ
HP1、HP2 HTTPトンネリングサーバ
6 インターネット
7、8 プライベートネットワーク
11 データ通信部
12 シームレス接続部
13 制御通信部
14 メディア通信部
15 通信アプリケーション部
16 通信情報監視取得部
21 制御通信メッセージ編集部
22 メディア暗号化部
23 通信経路制御部
24 制御通信暗号化部
N1, N2, 300, 400 NAT device
T1, T2, 100, 200 Terminal equipment
SI1 SIP server
ST1 STUN server
HP1, HP2 HTTP tunneling server 6 Internet 7, 8
Claims (8)
前記相手端末装置と前記端末装置間をメディア通信用に接続するための接続制御通信を行う制御通信手段と、
前記相手端末装置とメディア通信を行うメディア通信手段と、
前記制御通信手段から出力される制御メッセージを取得し、当該制御メッセージ内に記述された制御メッセージ転送用の通信プロトコルを暗号化通信プロトコルに変換するとともに、当該変換後の制御メッセージを前記暗号化通信プロトコルを用いて前記通信ネットワークに送出する通信処理手段と
を備えることを特徴とする端末装置。 A terminal device that performs media communication with a counterpart terminal device via a communication network,
Control communication means for performing connection control communication for connecting the counterpart terminal device and the terminal device for media communication;
Media communication means for performing media communication with the counterpart terminal device;
The control message output from the control communication means is acquired, the control message transfer communication protocol described in the control message is converted into an encrypted communication protocol, and the converted control message is converted into the encrypted communication. And a communication processing means for transmitting to the communication network using a protocol.
前記通信処理手段は、
前記NAT装置の外側のアドレス情報を取得し、更に前記中継サーバにより割り当てられた外部通信用アドレスを取得し、前記端末装置のアドレス情報、前記NAT装置の外側のアドレス情報、及び前記中継サーバにより割り当てられた外部通信用アドレス情報を、前記制御通信手段から出力される制御メッセージにICEの規定に基づき付加する手段と、
ICEの規定に基づくアドレス情報が付加された制御メッセージを前記相手端末装置から受信した場合に、ICEの規定に基づくメディア通信経路選択処理を実行するとともに、当該アドレス情報を前記制御メッセージから削除した制御メッセージを前記制御通信手段に渡す手段と
を備えることを特徴とする請求項1に記載の端末装置。 The terminal device is provided under a NAT device, and the communication network is provided with a relay server for relaying the media communication or the connection control communication,
The communication processing means includes
Obtaining address information outside the NAT device, further obtaining an external communication address assigned by the relay server, assigning the address information of the terminal device, address information outside the NAT device, and the relay server Means for adding the address information for external communication provided to the control message output from the control communication means based on the ICE regulations;
When a control message to which address information based on ICE rules is added is received from the counterpart terminal device, a media communication route selection process based on ICE rules is executed, and the address information is deleted from the control messages. The terminal device according to claim 1, further comprising: means for passing a message to the control communication means.
メディア通信の暗号化に関する情報であるメディア通信暗号化情報を前記制御通信手段から出力される制御メッセージに付加する手段と、
メディア通信暗号化情報が付加された制御メッセージを前記相手通信端末から受信した場合に、当該制御メッセージから当該メディア通信暗号化情報を削除した制御メッセージを前記制御通信手段に渡す手段と、
前記付加されるメディア通信暗号化情報と前記相手通信端末から受信したメディア通信暗号化情報とを用いて、前記メディア通信手段との間で送受信されるメディア通信情報の暗号化及び復号を行う手段と
を備えることを特徴とする請求項1ないし3のうちいずれか1項に記載の端末装置。 The communication processing means includes
Means for adding media communication encryption information, which is information relating to encryption of media communication, to a control message output from the control communication means;
Means for passing a control message in which the media communication encryption information is deleted from the control message to the control communication means when a control message to which media communication encryption information is added is received from the counterpart communication terminal;
Means for encrypting and decrypting the media communication information transmitted to and received from the media communication means using the added media communication encrypted information and the media communication encrypted information received from the counterpart communication terminal; The terminal device according to any one of claims 1 to 3, further comprising:
前記相手端末装置と前記端末装置間をメディア通信用に接続するための接続制御通信を行う制御通信手段が、接続制御通信のための制御メッセージを生成し、出力するステップと、
通信処理手段が、前記制御通信手段から出力される制御メッセージを取得し、当該制御メッセージ内に記述された制御メッセージ転送用の通信プロトコルを暗号化通信プロトコルに変換するとともに、当該変換後の制御メッセージを前記暗号化通信プロトコルを用いて前記通信ネットワークに送出するステップと
を備えることを特徴とする通信処理方法。 A communication processing method in a terminal device that performs media communication with a counterpart terminal device via a communication network,
Control communication means for performing connection control communication for connecting the counterpart terminal device and the terminal device for media communication, generating and outputting a control message for connection control communication;
The communication processing means obtains a control message output from the control communication means, converts the control message transfer communication protocol described in the control message into an encrypted communication protocol, and the converted control message. Transmitting to the communication network using the encrypted communication protocol. A communication processing method comprising:
前記相手端末装置と前記端末装置間をメディア通信用に接続するための接続制御通信を行う制御通信手段、
前記相手端末装置とメディア通信を行うメディア通信手段、
前記制御通信手段から出力される制御メッセージを取得し、当該制御メッセージ内に記述された制御メッセージ転送用の通信プロトコルを暗号化通信プロトコルに変換するとともに、当該変換後の制御メッセージを前記暗号化通信プロトコルを用いて前記通信ネットワークに送出する通信処理手段、
として機能させるためのプログラム。 A computer used as a terminal device that performs media communication with a partner terminal device via a communication network,
Control communication means for performing connection control communication for connecting the counterpart terminal device and the terminal device for media communication;
Media communication means for performing media communication with the counterpart terminal device,
The control message output from the control communication means is acquired, the control message transfer communication protocol described in the control message is converted into an encrypted communication protocol, and the converted control message is converted into the encrypted communication. Communication processing means for transmitting to the communication network using a protocol;
Program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040035A JP5091887B2 (en) | 2009-02-23 | 2009-02-23 | Terminal device, communication processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009040035A JP5091887B2 (en) | 2009-02-23 | 2009-02-23 | Terminal device, communication processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010199761A JP2010199761A (en) | 2010-09-09 |
JP5091887B2 true JP5091887B2 (en) | 2012-12-05 |
Family
ID=42824055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009040035A Active JP5091887B2 (en) | 2009-02-23 | 2009-02-23 | Terminal device, communication processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5091887B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5303403B2 (en) * | 2009-08-28 | 2013-10-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Terminal device, communication method, and program |
JP2013021523A (en) * | 2011-07-12 | 2013-01-31 | Saxa Inc | Communication terminal and communication control method |
JP5768550B2 (en) * | 2011-07-12 | 2015-08-26 | サクサ株式会社 | Communication terminal and communication control method |
JP5803525B2 (en) * | 2011-09-30 | 2015-11-04 | ブラザー工業株式会社 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
US9432330B2 (en) | 2013-05-29 | 2016-08-30 | Huawei Technologies Co., Ltd. | Data interaction method, apparatus, and system |
CN103347099B (en) | 2013-05-29 | 2016-08-10 | 华为技术有限公司 | A kind of method of data interaction, Apparatus and system |
CN104320479B (en) * | 2014-10-31 | 2018-04-10 | 东莞宇龙通信科技有限公司 | The control method of controlled plant and the control system of controlled plant |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4260659B2 (en) * | 2004-03-12 | 2009-04-30 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Terminal apparatus having NAT function of packet and program thereof |
JP2007006306A (en) * | 2005-06-27 | 2007-01-11 | Hitachi Ltd | Session repeating apparatus, terminal device and session establishing method |
JP2007019633A (en) * | 2005-07-05 | 2007-01-25 | Ttt Kk | Relay connector device and semiconductor circuit device |
JP4489008B2 (en) * | 2005-11-16 | 2010-06-23 | 株式会社東芝 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
FR2905812B1 (en) * | 2006-09-08 | 2008-10-24 | Alcatel Sa | TRAVERSSEE OF NAT NAT ADDRESS TRANSLATION EQUIPMENT FOR SIP PROTOCOL SIGNALING MESSAGES |
JP5070568B2 (en) * | 2007-06-08 | 2012-11-14 | ソフトバンクモバイル株式会社 | COMMUNICATION MODULE, COMMUNICATION METHOD, COMMUNICATION PROGRAM, COMMUNICATION TERMINAL, AND COMMUNICATION CONTROL DEVICE |
-
2009
- 2009-02-23 JP JP2009040035A patent/JP5091887B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010199761A (en) | 2010-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5091887B2 (en) | Terminal device, communication processing method, and program | |
KR102475020B1 (en) | Media path setup for real-time communication | |
US11178184B2 (en) | Connecting a cloud network to the internet | |
TWI434595B (en) | Connection establishing management methods for use in a network system and systems thereof | |
JP4764368B2 (en) | Apparatus for establishing communication and relaying message, method and program for establishing communication | |
JP4961368B2 (en) | Terminal device, NAT traversal method, and program | |
TWI484804B (en) | Data management methods for use in a network system and systems thereof | |
JP4260659B2 (en) | Terminal apparatus having NAT function of packet and program thereof | |
Castellani et al. | Guidelines for mapping implementations: http to the constrained application protocol (coap) | |
US20150381716A1 (en) | Method and system for sharing files over p2p | |
WO2016177121A1 (en) | File transmission method and device, and application server | |
JP2011124770A (en) | Vpn device, vpn networking method, program, and storage medium | |
JP2008288757A (en) | Method for transferring encrypted packet, repeater, its program, and communication system | |
WO2019206254A1 (en) | Penetration method, device, server and medium for devices under different nat nodes | |
JP6393475B2 (en) | Communication adapter device, communication system, tunnel communication method, and program | |
JP5214318B2 (en) | Gateway device, VoIP network interconnection system, communication method, and program | |
JP5303403B2 (en) | Terminal device, communication method, and program | |
Emmanuel et al. | A peer-to-peer architecture for real-time communication using Webrtc | |
JP2010154097A (en) | Communication controller, communication control method and communication control program | |
JP4078594B2 (en) | Information processing apparatus and method, and program | |
Burgstaller et al. | Anonymous communication in the browser via onion-routing | |
JP5289345B2 (en) | Address translation device, communication system, message communication method, and program | |
JP4648436B2 (en) | Packet distribution device, communication system, packet processing method, and program | |
JP5103031B2 (en) | Network communication method and system | |
JP4793477B2 (en) | Address translation apparatus, message processing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120816 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120914 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5091887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |