JP4784667B2 - 端末装置とコンピュータプログラム - Google Patents

端末装置とコンピュータプログラム Download PDF

Info

Publication number
JP4784667B2
JP4784667B2 JP2009054010A JP2009054010A JP4784667B2 JP 4784667 B2 JP4784667 B2 JP 4784667B2 JP 2009054010 A JP2009054010 A JP 2009054010A JP 2009054010 A JP2009054010 A JP 2009054010A JP 4784667 B2 JP4784667 B2 JP 4784667B2
Authority
JP
Japan
Prior art keywords
terminal device
address
local
data
global
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.)
Expired - Fee Related
Application number
JP2009054010A
Other languages
English (en)
Other versions
JP2010212792A (ja
Inventor
康博 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2009054010A priority Critical patent/JP4784667B2/ja
Priority to US12/713,240 priority patent/US8874911B2/en
Priority to EP10250386.9A priority patent/EP2226987B1/en
Priority to CN201010129655.0A priority patent/CN101867624B/zh
Publication of JP2010212792A publication Critical patent/JP2010212792A/ja
Application granted granted Critical
Publication of JP4784667B2 publication Critical patent/JP4784667B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、別の端末装置と通信する端末装置に関する。
NAT(Network Address Translation)ルータが広く知られている。NATルータは、インターネットとローカルネットワークとの間に配置される。NATルータは、グローバルアドレス(グローバルIPアドレスとポート番号)とローカルアドレス(ローカルIPアドレスとポート番号)との間でアドレスを変換する処理を実行する。例えば、第1ローカルネットワークに存在する第1端末装置と第2ローカルネットワークに存在する第2端末装置との間でデータを通信するためには、通常、第1端末装置と第2端末装置のそれぞれのグローバルアドレスが用いられる。この場合、第1ローカルネットワークに対応する第1NATルータは、第1端末装置とインターネット側(即ち第2端末装置)との間で通信されるデータのアドレス変換処理を実行する。また、第2ローカルネットワークに対応する第2NATルータは、第2端末装置とインターネット側(即ち第1端末装置)との間で通信されるデータのアドレス変換処理を実行する。なお、例えば、下記の特許文献1には、一対の端末装置の間でデータを通信することが開示されている。
特開2004−304711号公報 特開2006−140903号公報 特開2008−16932号公報
ローカルネットワークに存在する端末装置の数が多くなれば、NATルータの処理負荷が大きくなる。本明細書では、NATルータの処理負荷を低減させることができる技術を提供する。
ところで、一対の端末装置の一方のグローバルIPアドレスと他方のグローバルIPアドレスとが一致する場合がある。この場合には、上記の一対の端末装置が同一のローカルネットワーク内に存在し得る。同一のネットワーク内に存在する一対の端末装置は、グローバルアドレスを用いて目的のデータ(換言すれば、通信対象のデータ)を通信することもできるし、ローカルアドレスを用いて目的のデータを通信することもできる。前者の場合、NATルータがアドレス変換処理を実行する必要がある。一方において、後者の場合、アドレス変換処理の必要がないことから、NATルータを経由せずに目的のデータを通信することができる。本明細書では、一対の端末装置が同一のローカルネットワーク内に存在する場合に、NATルータを経由せずに目的のデータを通信することを実現することによって、NATルータの処理負荷を低減させる。
本明細書で開示される一つの技術は、接続管理サーバと第1端末装置と第2端末装置とを含むシステムで利用される第2端末装置である。この第2端末装置は、ローカルアドレス取得部と判断部と目的データ通信部とを備える。ローカルアドレス取得部は、第1端末装置の第1グローバルIPアドレスと第2端末装置の第2グローバルIPアドレスとが一致する場合に、第1端末装置の第1ローカルIPアドレスと第1認証情報とが登録されている接続管理サーバから、第1ローカルIPアドレスと第1認証情報とを取得する。なお、第1グローバルIPアドレスと第2グローバルIPアドレスとの一致判断の主体は、第2端末装置であってもよいし、他のデバイス(例えば接続管理サーバ)であってもよい。
判断部は、取得済みの第1ローカルIPアドレスを用いて第2端末装置が通信可能である第1の特定の端末装置が、目的の第1端末装置であるのか否かを、取得済みの第1認証情報を利用して判断する。目的データ通信部は、第1の特定の端末装置が目的の第1端末装置であると判断部によって判断される場合に、第1ローカルIPアドレスを用いて、第1端末装置と目的の第1データを通信する。上記の「通信」は、受信及び/又は送信を意味する。なお、上記の「第1ローカルIPアドレスを用いて、第1端末装置と第1データを通信する」という文章は、「第1ローカルIPアドレスを用いて、第1端末装置と第2端末装置との間に通信セッションを確立する」と言い換えてもよい。また、「通信セッションを確立する」という文章は、「目的のデータを通信するために必要である少なくとも1つのコマンドを通信(送信及び/又は受信)する」と言い換えてもよい。
上記の構成によると、第2端末装置は、第1端末装置の第1グローバルIPアドレスと第2端末装置の第2グローバルIPアドレスとが一致する場合に、第1端末装置の第1ローカルIPアドレスと第1認証情報とを接続管理サーバから取得する。第2端末装置が取得済みの第1ローカルIPアドレスを用いて通信しても、目的の第1端末装置と通信することができない可能性がある。例えば、過去に第1端末装置に第1ローカルIPアドレスが割り当てられており、その第1ローカルIPアドレスが接続管理サーバに登録されているが、現在は第1端末装置に別のローカルIPアドレスが割り当てられている可能性がある。このような可能性があることに鑑みて、第2端末装置は、第1ローカルIPアドレスを用いて第1端末装置と実際に通信することができるのか否かを、第1認証情報を利用して判断する。ここで肯定的な判断結果が得られた場合に、第2端末装置は、第1ローカルIPアドレスを用いて、第1端末装置と第1データを通信する。この技術によると、第1端末装置と第2端末装置が同一のローカルネットワーク内に存在する場合に、第2端末装置は、NATルータを経由せずに、目的のデータ(上記の第1データ)を第1端末装置と通信することができる。NATルータの処理負荷を低減させることができる。
第2端末装置は、第1端末装置の第1グローバルIPアドレスとポート番号との組合せを取得するグローバルアドレス取得部をさらに備えていてもよい。この場合、目的データ通信部は、第1の特定の端末装置が目的の第1端末装置でないと判断部によって判断される場合に、第1グローバルIPアドレスとポート番号との組合せを用いて、第1端末装置と第2データを通信してもよい。この構成によると、第1ローカルIPアドレスを用いて第1端末装置と通信することができない場合に、第1端末装置の第1グローバルIPアドレスとポート番号との組合せを用いて第1端末装置と通信することができる。
第2端末装置は、第1の特定の端末装置に第1チャレンジデータを送信し、第1の特定の端末装置が第1チャレンジデータに応じて送信する第1レスポンスデータであって、第1チャレンジデータが暗号化された第1レスポンスデータを受信する第1チャレンジデータ通信部をさらに備えていてもよい。また、上記の第1認証情報は、第1端末装置の第1公開鍵を含んでいてもよい。この場合、判断部は、第1レスポンスデータを第1公開鍵で復号化することによって、第1復号化データを生成し、第1復号化データと第1チャレンジデータとが一致する場合に、第1の特定の端末装置が目的の第1端末装置であると判断してもよい。この構成によると、第1の特定の端末装置が目的の第1端末装置であるのか否かを確実に判断することができる。
判断部は、さらに、第1レスポンスデータが第1チャレンジデータ通信部によって受信されない場合に、第1の特定の端末装置が目的の第1端末装置でないと判断してもよい。
第2端末装置は、第1データの通信が終了した後に記憶部に第1ローカルIPアドレスを保持させる記憶制御部をさらに備えていてもよい。なお、上記の「第1データの通信が終了した後に・・・保持させる」という文章は、第1データの通信の終了後の期間に少なくとも保持させることを意味している。従って、上記の文章は、第1データの通信の終了前から終了後の期間に亘って継続して保持させることを含む。なお、上記の文章は、「第1データの通信が終了した直後に記憶部に第1ローカルIPアドレスを保持させる」と言い換えてもよい。また、上記の「第1データの通信が終了した後」という文章は、「第1データを通信するための通信セッションが切断された後」と言い換えてもよい。目的データ通信部は、第1データの通信が終了した後に第1端末装置と第3データを通信すべき際に、記憶部に保持されている第1ローカルIPアドレスを再度用いて、第1端末装置と第3データを通信してもよい。この構成によると、第2端末装置は、NATルータを経由せずに、目的のデータ(上記の第3データ)を第1端末装置と通信することができる。なお、記憶制御部は、例えば、第1データの通信が終了してから所定期間が経過するまで第1ローカルIPアドレスを保持させてもよいし、第1データの通信が終了してから第1端末装置以外の端末装置と別のデータの通信が開始されるまで第1ローカルIPアドレスを保持させてもよい。
例えば、第1データの通信が終了した後に、第1端末装置に第1ローカルIPアドレスに代えて別のローカルIPアドレスが割り当てられる可能性がある。このような可能性があることに鑑みて、以下の構成を採用してもよい。即ち、記憶制御部は、さらに、記憶部に第1認証情報を保持させてもよい。判断部は、第1データの通信が終了した後に第1端末装置と第3データを通信すべき際に、記憶部に保持されている第1ローカルIPアドレスを用いて第2端末装置が通信可能である第2の特定の端末装置が、目的の第1端末装置であるのか否かを、記憶部に保持されている第1認証情報を利用して判断してもよい。目的データ通信部は、第2の特定の端末装置が目的の第1端末装置であると判断部によって判断される場合に、記憶部に保持されている第1ローカルIPアドレスを再度用いて、第1端末装置と第3データを通信してもよい。この構成によると、第2端末装置は、第3データを通信すべき際に、第1ローカルIPアドレスを用いて第1端末装置と実際に通信することができるのか否かを、第1認証情報を利用して判断することができる。ここで肯定的な判断結果が得られた場合には、NATルータを経由せずに、第1端末装置と第2端末装置との間で第3データを通信することができる。
記憶制御部は、第1ローカルIPアドレスを所定期間継続して記憶部に保持させてもよい。即ち、記憶制御部は、上記の所定期間が経過すると、第1ローカルIPアドレスを削除することを許容してもよい。目的データ通信部は、第1端末装置と第3データを通信すべき際に、第1ローカルIPアドレスが記憶部に保持されている場合に、記憶部に保持されている第1ローカルIPアドレスを再度用いて、第1端末装置と第3データを通信してもよい。
第1データの通信が終了した後に、第1端末装置からの要求によって、第1端末装置と第2端末装置との間でデータを再度通信すべきことがあり得る。この場合も、第1端末装置と第2端末装置との間でローカルIPアドレスを用いて通信することができれば、NATルータの処理負荷をより低減させることができる。これを実現するために、以下の構成を採用してもよい。即ち、第2端末装置は、公開鍵送信部と第2チャレンジデータ通信部とをさらに備えていてもよい。公開鍵送信部は、第1の特定の端末装置が目的の第1端末装置であると判断部によって判断される場合に、第2端末装置の第2公開鍵を第1端末装置に送信してもよい。第2チャレンジデータ通信部は、第1端末装置が第2端末装置の第2ローカルIPアドレスを送信先として送信する第2チャレンジデータを受信し、第2端末装置の秘密鍵を利用して第2チャレンジデータを暗号化することによって、第2レスポンスデータを生成し、第2レスポンスデータを第1端末装置に送信してもよい。目的データ通信部は、第1端末装置が第2公開鍵を利用して第2レスポンスデータを復号化することによって生成する第2復号化データと、第2チャレンジデータと、が一致する場合に、第2ローカルIPアドレスを用いて、第1端末装置と第4データを通信してもよい。この構成によると、第1端末装置は、第4データを通信すべき際に、第2ローカルIPアドレスを用いて第2端末装置と実際に通信することができるのか否かを、第2公開鍵を利用して判断することができる。ここで肯定的な判断結果が得られた場合には、NATルータを経由せずに、第1端末装置と第2端末装置との間で第4データを通信することができる。
上記の接続管理サーバと上記の第1端末装置と上記の第2端末装置とを備えるシステムも、新規で有用である。また、上記の第2端末装置を実現するための制御方法及びコンピュータプログラムも新規で有用である。
なお、上記の接続管理サーバも、新規で有用である。上記の接続管理サーバは、以下のように表現することができる。接続管理サーバは、サーバ側記憶制御部とサーバ側受信部とサーバ側判断部とサーバ側送信部とを備える。サーバ側記憶制御部は、第1端末装置の第1グローバルIPアドレスと第1ローカルIPアドレスと第1認証情報とを対応づけてサーバ側記憶部に保持させる。サーバ側受信部は、第2端末装置が第1端末装置を送信先として送信する接続要求であって、第2端末装置の第2グローバルIPアドレスを含む接続要求を受信する。サーバ側判断部は、サーバ側記憶部に保持されている第1端末装置の第1グローバルIPアドレスと、接続要求に含まれる第2端末装置の第2グローバルIPアドレスと、が一致するのか否かを判断する。サーバ側送信部は、第1グローバルIPアドレスと第2グローバルIPアドレスとが一致するとサーバ側判断部によって判断される場合に、サーバ側記憶部に保持されている第1端末装置の第1ローカルIPアドレスと第1認証情報とを第2端末装置に送信する。この接続管理サーバを用いると、上記のシステムを実現することができる。
なお、サーバ側記憶制御部は、予め第2端末装置の第2グローバルIPアドレスをサーバ側記憶部に保持させてもよい。この場合、第2端末装置から送信される接続要求に含まれる第2端末装置の第2グローバルIPアドレスは、サーバ側記憶部に保持されている第2端末装置の第2グローバルIPアドレスと一致するはずである。従って、サーバ側判断部は、第1端末装置の第1グローバルIPアドレスと、サーバ側記憶部に保持されている第2端末装置の第2グローバルIPアドレスと、が一致するのか否かを判断してもよい。この場合も「サーバ側記憶部に保持されている第1端末装置の第1グローバルIPアドレスと、接続要求に含まれる第2端末装置の第2グローバルIPアドレスと、が一致するのか否かを判断する」ことに等しい。
接続管理サーバは、第1グローバルIPアドレスと第2グローバルIPアドレスとが一致しないとサーバ側判断部によって判断される場合に、接続要求を第1端末装置に転送するサーバ側転送部をさらに備えていてもよい。この構成によると、第1端末装置と第2端末装置は、グローバルIPアドレスを用いて、目的のデータを通信することができる。
なお、本明細書によって開示される技術は、以下の第2端末装置として表現することもできる。この第2端末装置も、第1端末装置と第2端末装置が同一のローカルネットワーク内に存在する場合に、NATルータを経由せずに目的のデータを通信するという技術的特徴を有する。この第2端末装置は、ローカルアドレス取得部と第1目的データ通信部と第2目的データ通信部とを備える。ローカルアドレス取得部は、第1端末装置の第1ローカルIPアドレスが登録されている接続管理サーバから、第1ローカルIPアドレスを取得する。第1目的データ通信部は、第1端末装置の第1グローバルIPアドレスと第2端末装置の第2グローバルIPアドレスとが一致する場合に、取得済みの第1ローカルIPアドレスを用いて、第1端末装置と目的の第1データを通信する。第2目的データ通信部は、第1端末装置の第1グローバルIPアドレスと第2端末装置の第2グローバルIPアドレスとが一致しない場合に、第1端末装置の第1グローバルIPアドレスを用いて、第1端末装置と目的の第2データを通信する。なお、この第2端末装置を実現するための制御方法及びコンピュータプログラムも新規で有用である。
電話ネットワークシステムの構成の一例を示す。 SIPサーバの構成の一例を示す。 第1端末装置の構成の一例を示す。 第2端末装置の構成の一例を示す。 SIPサーバに情報を登録する処理のシーケンス図を示す。 ローカルアドレスを用いて通信する処理のシーケンス図を示す。 ローカルアドレスを用いて再度通信する処理のシーケンス図を示す。 SIPサーバのINVITE受信処理のフローチャートを示す。 端末装置のINVITE送信処理のフローチャートを示す。 図9の続きのフローチャートを示す。 図9の続きのフローチャートを示す。 端末装置のINVITE受信処理のフローチャートを示す。
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
(形態1)目的データ通信部は、第1端末装置の第1グローバルIPアドレスと第2端末装置の第2グローバルIPアドレスとが一致しない場合に、第1端末装置の第1グローバルIPアドレスとポート番号との組合せを用いて、第1端末装置とデータを通信してもよい。
(形態2)目的データ通信部は、第2の特定の端末装置が目的の第1端末装置でないと判断部によって判断される場合に、第1端末装置の第1グローバルIPアドレスとポート番号との組合せを用いて、第1端末装置と上記の第3データを通信してもよい。
(形態3)目的データ通信部は、第1端末装置と上記の第3データを通信すべき際に、第1ローカルIPアドレスが記憶部に保持されていない場合に、第1端末装置の第1グローバルIPアドレスとポート番号との組合せを用いて、第1端末装置と上記の第3データを通信してもよい。
(形態4)サーバ側記憶制御部は、複数の端末装置のそれぞれについて、識別情報(例えばSIPURI)と、グローバルIPアドレスと、ローカルIPアドレスと、認証情報とを対応づけてサーバ側記憶部に保持させてもよい。サーバ側判断部は、送信元のグローバルIPアドレスと送信先の識別情報とを含む接続要求が受信された場合に、当該接続要求に含まれる送信元のグローバルIPアドレスと、当該接続要求に含まれる送信先の識別情報に対応づけられているグローバルIPアドレスと、が一致するのか否かを判断してもよい。
(システムの構成)
図面を参照して実施例を説明する。図1は、本実施例の電話ネットワークシステム2の概略図を示す。電話ネットワークシステム2は、インターネット4とSIPサーバ10とSTUNサーバ40と複数のローカルネットワーク50,150等を有する。インターネット4には、SIP(Session Initiation Protocol)サーバ10とSTUN(Simple Traversal of UDP through NATs)サーバ40と複数のローカルネットワーク50,150とが接続されている。
(SIPサーバ10の構成)
図2は、SIPサーバ10の構成の一例を示す。SIPサーバ10は、制御部12とネットワークインターフェイス14とプログラム記憶領域16と登録データ記憶領域18とを備える。制御部12は、プログラム記憶領域16に記憶されているプログラムに従って処理を実行する。ネットワークインターフェイス14は、インターネット4に接続されている。プログラム記憶領域16は、制御部12によって実行されるべきプログラムを記憶する。プログラム記憶領域16は、プログラム記憶媒体からインストールされたプログラムを記憶してもよいし、インターネット4等からダウンロードされたプログラムを記憶してもよい。
登録データ記憶領域18は、登録データ20,22,24を記憶する。登録データ20は第1端末装置60に関するデータであり、登録データ22は第2端末装置100に関するデータであり、登録データ24は第3端末装置160に関するデータである。各登録データ20,22,24は、SIPURI30と、グローバルIP+ポート32と、ローカルIP+ポート34と、公開鍵36と、フラグ38とが対応づけられたものである。SIPURI30は、SIPを利用する個々の端末装置に割り当てられるユニークなURIである。本実施例では、例えば、第1端末装置60にSIPURI「sip:t1@server.com」が割り当てられている。第1端末装置60と同様に、第2端末装置100と第3端末装置160のそれぞれにも、SIPURIが割り当てられている。
グローバルIP+ポート32は、グローバルIPアドレスとグローバルポート番号との組合せである。例えば、第1端末装置60には、グローバルIPアドレスG1とグローバルポート番号GP1との組合せが割り当てられている。なお、以下では、グローバルIPアドレスとグローバルポート番号との組合せのことを「グローバルアドレス」と呼ぶことがある。後で詳しく説明するが、第2端末装置100は、第1端末装置60と同じローカルネットワーク50内に存在する。従って、第2端末装置100のグローバルIPアドレスG1は、第1端末装置60のグローバルIPアドレスG1と同じである。ただし、第2端末装置100のグローバルポート番号GP2は、第1端末装置60のグローバルポート番号GP1と異なる。一方において、第3端末装置160は、ローカルネットワーク50とは別のローカルネットワーク150内に存在する。従って、第3端末装置160のグローバルIPアドレスG2は、第1及び第2端末装置60,100のグローバルIPアドレスG1と異なる。第3端末装置160には、グローバルポート番号GP3が割り当てられている。
ローカルIP+ポート34は、ローカルIPアドレスとローカルポート番号との組合せである。例えば、第1端末装置60には、ローカルIPアドレスL1とローカルポート番号LP1との組合せが割り当てられている。なお、以下では、ローカルIPアドレスとローカルポート番号との組合せのことを「ローカルアドレス」と呼ぶことがある。第2端末装置100と第3端末装置160のそれぞれにも、ローカルアドレスが割り当てられている。なお、グローバルIPアドレスの場合と異なり、複数の端末装置が同じローカルネットワーク内に存在していても、それらの端末装置のローカルIPアドレスは、互いに異なる。従って、第1端末装置60のローカルIPアドレスL1は、第2端末装置100のローカルIPアドレスL2と異なる。
公開鍵36は、後述する暗号化されたレスポンスコードを復号化するために利用されるものである。各端末装置60,100,160は、互いに異なる公開鍵K1,K2,K3を有する。また、フラグ38は、ローカルアドレスを用いてRTP(Real−time Transport Protocol)通信セッションを確立する機能を有するのか否かを示すものである。なお、以下では、上記の機能のことを「ローカル通信機能」と呼ぶ。フラグ38が「ON」の場合、ローカル通信機能を有することを意味する。本実施例では、各端末装置60,100,160は、ローカル通信機能を有する。
(STUNサーバ40の構成)
STUNサーバ40は、ローカルネットワーク50,150内の端末装置から送信される問い合わせコマンドを受信する。STUNサーバ40は、上記の問い合わせコマンドを解析することによって、上記の問い合わせコマンドの送信元(例えば第1端末装置60)のグローバルIPアドレスとグローバルポート番号との組合せ(即ちグローバルアドレス)を取得する。STUNサーバ40は、グローバルアドレスを上記の問い合わせコマンドの送信元に送信する。これにより、上記の問い合わせコマンドの送信元は、自身に割り当てられているグローバルアドレスを知ることができる。
(ローカルネットワーク50の構成)
図1に示されるように、ローカルネットワーク50は、第1NATルータ52を介してインターネット4に接続されている。第1NATルータ52は、インターネット4に接続されているとともに、LAN54に接続されている。ローカルネットワーク50は、LAN54に接続されている各端末装置によって構成されている。本実施例では、第1及び第2端末装置60,100がLAN54に接続されている。
第1NATルータ52は、NATと呼ばれるアドレス変換処理を実行する。第1NATルータ52は、ローカルIPアドレスとローカルポート番号との第1の組合せを送信元としてローカルネットワーク50から送信されてくるデータをインターネット4に送信する。この際に、第1NATルータ52は、送信元である上記の第1の組合せを、グローバルIPアドレスとグローバルポート番号との第2の組合せに変換する。逆に、上記の第2の組合せを送信先としてインターネット4から送信されてくるデータが存在する場合、第1NATルータ52は、送信先である上記の第2の組合せを上記の第1の組合せに変換する。
(第1端末装置60の構成)
図3は、第1端末装置60の構成の一例を示す。第1端末装置60は、制御部62とネットワークインターフェイス64とマイク66とスピーカ68と記憶部70等を備える。なお、図示省略しているが、第1端末装置60は、表示部や操作部等も備える。制御部62は、記憶部70に記憶されているプログラムに従って処理を実行する。ネットワークインターフェイス64は、LAN54に接続されている。また、第1端末装置60のユーザは、マイク66とスピーカ68を利用して電話通信(音声データの通信)を実行することができる。
記憶部70は、複数の記憶領域72〜92を備える。グローバルIP+ポート記憶領域72は、第1端末装置60に割り当てられているグローバルアドレス(G1+GP1)を記憶する。ローカルIP+ポート記憶領域74は、第1端末装置60に割り当てられているローカルアドレス(L1+LP1)を記憶する。鍵記憶領域76は、第1端末装置60の秘密鍵J1と公開鍵K1とを記憶する。SIPURI記憶領域78は、第1端末装置60に割り当てられているSIPURI(sip:t1@server.com)を記憶する。通信情報記憶領域80は、通信情報82を記憶する。通信情報82は、ローカル通信機能が実行された通信相手に関する情報である。通信情報82は、SIPURI84とローカルIP+ポート86と公開鍵88とが対応づけられたものである。図3の例では、通信情報82は、第2端末装置100に関する情報である。これは、第1端末装置60は、第2端末装置100を通信相手としてローカル通信機能が過去に実行されたことを意味する。プログラム記憶領域90は、制御部62によって実行されるべきプログラムを記憶する。プログラム記憶領域90は、プログラム記憶媒体からインストールされたプログラムを記憶してもよいし、インターネット4等からダウンロードされたプログラムを記憶してもよい。記憶領域92は、上記の記憶領域72〜90に記憶されるべき情報以外の情報を記憶する。記憶領域92に記憶されるべき情報の内容については、必要に応じて後で説明する。
(第2端末装置100の構成)
図4は、第2端末装置100の構成の一例を示す。第2端末装置100は、第1端末装置60と同様の構成102,104,106,108,110を有する。記憶部110の記憶領域112〜132も、第1端末装置60と同様である。各記憶領域112,114,116,118には、第2端末装置100に関する情報が記憶される。例えば、鍵記憶領域116のJ2は、第2端末装置100の秘密鍵である。図4の例では、通信情報記憶領域120の通信情報122は、第1端末装置60に関する情報124,126,128である。
(ローカルネットワーク150の構成)
図1に示されるように、ローカルネットワーク150は、第2NATルータ152を介してインターネット4に接続されている。第2NATルータ152は、インターネット4に接続されているとともに、LAN154に接続されている。ローカルネットワーク150は、LAN154に接続されている各端末装置によって構成されている。本実施例では、第3端末装置160がLAN154に接続されている。第3端末装置160は、第1及び第2端末装置60,160と同様の構成を有する。
(登録処理の概要)
続いて、各デバイス10,40,60,100等が実行する処理の内容について説明する。まず、第1端末装置60がSIPサーバ10に情報を登録する処理の内容について説明する。図5は、この処理のシーケンス図を示す。
第1端末装置60の記憶領域92(図3参照)は、STUNサーバ40のアドレスを記憶している。第1端末装置60は、STUNサーバ40のアドレスを送信先として、問い合わせコマンド200を送信する。問い合わせコマンド200は、第1端末装置60のローカルアドレスL1+LP1を含んでいる。問い合わせコマンド200は、図5では図示省略されている第1NATルータ52を経由して、STUNサーバ40に送信される。第1NATルータ52は、問い合わせコマンド200に含まれるローカルアドレスL1+LP1をグローバルアドレスG1+GP1に変換する。
STUNサーバ40は、問い合わせコマンド200を受信する。STUNサーバ40は、問い合わせコマンド200を解析することによって、問い合わせコマンド200に含まれるグローバルアドレスG1+GP1を特定する。STUNサーバ40は、グローバルアドレスG1+GP1を含むレスポンス202を第1端末装置60に送信する。
第1端末装置60は、レスポンス202を受信する。第1端末装置60は、レスポンス202に含まれるグローバルアドレスG1+GP1をグローバルIP+ポート記憶領域72(図3参照)に記憶させる(記憶領域72の記憶内容を更新する)。第1端末装置60の記憶領域92は、SIPサーバ10のアドレスを記憶している。第1端末装置60は、SIPサーバ10のアドレスを送信先として、REGISTERコマンド210を送信する。REGISTERコマンド210は、第1端末装置60のSIPURIと、グローバルアドレスG1+GP1と、ローカルアドレスL1+LP1と、公開鍵K1と、ローカル通信機能に対応していることを示すフラグ212とを含む。
SIPサーバ10は、REGISTERコマンド210を受信する。SIPサーバ10は、“200 OK”214を第1端末装置60に送信する。SIPサーバ10は、REGISTERコマンド210に含まれる各情報を登録データ記憶領域18(図2参照)に記憶する。これにより、図2に示される登録データ20が登録される。
第1端末装置60は、図5に示される処理を定期的に実行する。この結果、第1端末装置60は、自身に割り当てられている最新のグローバルアドレスを取得することができる。また、SIPサーバ10は、第1端末装置60の最新の登録データ20を取得することができる。なお、第2及び第3端末装置100,160も、第1端末装置60と同様に、図5に示される処理を定期的に実行する。この結果、SIPサーバ10は、第2及び第3端末装置100,160の最新の登録データ22,24も取得することができる。
(INVITE送信処理の概要)
続いて、第2端末装置100が第1端末装置60にINVITEを送信する処理について説明する。図6は、この処理のシーケンス図を示す。第2端末装置100のユーザは、第2端末装置100の操作部(図示省略)を操作することによって、第1端末装置60のSIPURIを入力することができる。これにより、第2端末装置100は、図6に示される処理を開始する。
第2端末装置100の記憶領域132(図4参照)は、SIPサーバ10のアドレスを記憶している。第2端末装置100は、SIPサーバ10のアドレスを送信先として、INVITE220を送信する。INVITE220は、送信先である第1端末装置60のSIPURIと、送信元である第2端末装置100のSIPURIと、第2端末装置100のグローバルアドレスG1+GP2と、ローカル通信機能に対応していることを示すフラグ222とを含む。
SIPサーバ10は、INVITE220を受信する。SIPサーバ10は、登録データ記憶領域18(図2参照)を参照することによって、INVITE220に含まれる送信先のSIPURI(第1端末装置60のSIPURI)に対応づけられているグローバルIPアドレスG1を特定する。次いで、SIPサーバ10は、特定されたグローバルIPアドレスG1と、INVITE220に含まれる送信元のグローバルIPアドレスG1と、が一致するのか否かを判断する判断処理を実行する(S4)。2つのグローバルIPアドレスが一致する場合、SIPサーバ10は、登録データ記憶領域18(図2参照)を参照することによって、第1端末装置60のSIPURIに対応づけられているローカルアドレスL1+LP1と公開鍵K1とを特定する。次いで、SIPサーバ10は、特定されたローカルアドレスL1+LP1と公開鍵K1とを含む特定レスポンス224を第2端末装置100に送信する。特定レスポンス224は、ローカル通信機能に対応するレスポンスであることを示すフラグ226も含む。一方において、2つのグローバルIPアドレスが一致しない場合、SIPサーバ10は、INVITE228を第1端末装置60に転送する。INVITE228は、INVITE220と同様の内容を含む。
第2端末装置100は、特定レスポンス224を受信する。第2端末装置100は、特定レスポンス224に含まれる第1端末装置60のローカルアドレスL1+LP1を送信先として、INVITE230を送信する。INVITE230は、ローカルアドレスL1+LP1が送信先であるために、第1NATルータ52を経由しない。INVITE230は、第2端末装置100のSIPURIと、第2端末装置100のローカルアドレスL2+LP2と、ローカル通信機能に対応するINVITEであることを示すフラグ232と、チャレンジコード234とを含む。
第1端末装置60は、INVITE230を受信する。これにより、第1端末装置60は、自身宛に電話がかけられたことを知ることができる。第1端末装置60は、例えば、所定の音を出力させたり、所定の光を発光させたりする。以下では、これらの動作のことを通話要求通知と呼ぶ。通話要求通知が実行されることによって、ユーザは、電話がかけられたことを知ることができる。通話要求通知が実行されている間に、ユーザによって通話開始操作(例えばフックキーの操作)が実行された場合に、第1端末装置60は、レスポンスコード生成処理を実行する(S6)。即ち、第1端末装置60は、自身の秘密鍵J1(図3の鍵記憶領域76参照)を利用して、INVITE230に含まれるチャレンジコード234を暗号化することによって、レスポンスコード240を生成する。次いで、第1端末装置60は、INVITE230に含まれるローカルアドレスL2+LP2を送信先として、200 OK236を送信する。200 OK236は、ローカルアドレスL2+LP2が送信先であるために、第1NATルータ52を経由しない。200 OK236は、ローカル通信機能に対応する200 OKであることを示すフラグ238と、レスポンスコード240とを含む。
第2端末装置100は、200 OK236を受信する。第2端末装置100は、上記の特定レスポンス224に含まれる公開鍵K1を利用して、200 OK236に含まれるレスポンスコード240を復号化することによって、復号化データを生成する。次いで、第2端末装置100は、上記のチャレンジコード234と復号化データとが一致するのか否かを判断する判断処理を実行する(S8)。2つのデータが一致する場合、第2端末装置100は、ローカルアドレスL1+LP1を送信先として、ACK242を送信する。ACK242は、ローカルアドレスL1+LP1が送信先であるために、第1NATルータ52を経由しない。ACK242は、ローカル通信機能に対応するACKであることを示すフラグ244と、第2端末装置100の公開鍵K2(図4の鍵記憶領域116参照)とを含む。
第1端末装置60は、ACK242を受信する。第1端末装置60は、第2端末装置100のSIPURIと、ローカルアドレスL2+LP2と、公開鍵K2とが対応づけられている通信情報82(図3参照)を通信情報記憶領域80に記憶する記憶処理を実行する(S10)。第1端末装置60がACK242を受信すると、第1端末装置60と第2端末装置100との間でRTP通信セッションが確立される。このようにして確立されたRTP通信セッションでは、ローカルアドレスL1+LP1,L2+LP2を送信先又は送信元としてデータが通信される。即ち、第1NATルータ52を経由せずにデータが通信される。第1端末装置60は、音声データ通信処理を実行する(S12)。即ち、第1端末装置60は、マイク66に入力された音声データを第2端末装置100に送信するととともに、第2端末装置100からの音声データをスピーカ68から出力する。同様に、第2端末装置100も、音声データ通信処理を実行する(S14)。
RTP通信セッションが確立されることによって、第1端末装置60と第2端末装置100との間で電話通信を実行することができる。なお、図6では、第2端末装置100が第1端末装置60にINVITEを送信する例を示している。第1端末装置60が第2端末装置100にINVITEを送信する場合でも、図6の例と同様に、ローカルアドレスL1+LP1,L2+LP2を送信先又は送信元としてデータが通信されるRTP通信セッションが確立される。なお、第2端末装置100(又は第1端末装置60)が第3端末装置160にINVITEを送信する場合には、SIPサーバ10は、S4の判断処理において否定的に判断する。第3端末装置160は、第2端末装置100と異なるグローバルIPアドレスG2が割り当てられているからである。この場合、第2端末装置100と第3端末装置160との間には、グローバルアドレスG1+GP2,G2+GP3を送信先又は送信元としてデータが通信されるRTP通信セッションが確立される。
続いて、図6で確立されたRTP通信セッションが切断された後(即ち電話通信が終了した後)に、第1端末装置60が第2端末装置100にINVITEを送信する処理について説明する。図7は、この処理のシーケンス図を示す。第1端末装置60のユーザは、第1端末装置60の操作部(図示省略)を操作することによって、第2端末装置100のSIPURIを入力することができる。これにより、第1端末装置60は、図7に示される処理を開始する。
第1端末装置60は、ユーザによって入力された第2端末装置100のSIPURIを含む通信情報82(図3参照)が通信情報記憶領域80に記憶されているのか否かを判断する。ここで肯定的に判断された場合、第1端末装置60は、通信情報82に含まれるローカルアドレスL2+LP2を送信先として、INVITE250を送信する。INVITE250は、第1NATルータ52を経由しない。INVITE250は、第2端末装置100のSIPURIと、第1端末装置60のローカルアドレスL1+LP1と、ローカル通信機能に対応することを示すフラグ252と、チャレンジコード254とを含む。
第2端末装置100は、INVITE250を受信する。第2端末装置100は、通話要求通知(例えば所定の音の出力)を実行する。通話要求通知が実行されている間に、ユーザによって通話開始操作が実行された場合に、第2端末装置100は、レスポンスコード生成処理を実行する(S16)。即ち、第2端末装置100は、自身の秘密鍵J2(図4参照)を利用して、INVITE250に含まれるチャレンジコード254を暗号化することによって、レスポンスコード260を生成する。次いで、第2端末装置100は、INVITE250に含まれるローカルアドレスL1+LP1を送信先として、200 OK256を送信する。200 OK256は、第1NATルータ52を経由しない。200 OK256は、ローカル通信機能に対応することを示すフラグ258と、レスポンスコード260とを含む。
第1端末装置60は、200 OK256を受信する。第1端末装置60は、通信情報82に含まれる公開鍵K2を利用して、200 OK256に含まれるレスポンスコード260を復号化することによって、復号化データを生成する。次いで、第1端末装置60は、上記のチャレンジコード254と復号化データとが一致するのか否かを判断する判断処理を実行する(S18)。2つのデータが一致する場合、第1端末装置60は、ローカルアドレスL2+LP2を送信先として、ACK262を送信する。ACK262は、第1NATルータ52を経由しない。ACK262は、ローカル通信機能に対応することを示すフラグ264と、第1端末装置60の公開鍵K1とを含む。
第2端末装置100は、ACK262を受信する。第2端末装置100は、第1端末装置60のSIPURIと、ローカルアドレスL1+LP1と、公開鍵K1とが対応づけられている通信情報122(図4参照)を通信情報記憶領域120に記憶する記憶処理を実行する(S20)。なお、第2端末装置100は、上記の図6のACK242を送信した後に、通信情報122を通信情報記憶領域120に記憶してもよい。第2端末装置100がACK262を受信すると、第1端末装置60と第2端末装置100との間でRTP通信セッションが確立される。このRTP通信セッションも、ローカルアドレスL1+LP1,L2+LP2を送信先又は送信元としてデータが通信される。即ち、第1NATルータ52を経由せずにデータが通信される。第1端末装置60と第2端末装置100は、音声データ通信処理を実行する(S22,S24)。
(SIPサーバのINVITE受信処理)
続いて、SIPサーバ10の制御部12(図2参照)が実行する処理について、詳しく説明する。図8は、制御部12が実行するINVITE受信処理のフローチャートを示す。図8の処理は、INVITE(例えば図6のINVITE220)が受信されたことをトリガとして開始される。
制御部12は、受信されたINVITEに含まれる送信先のSIPURI(例えば図6のINVITE220に含まれる「sip:t1@server.com」)が登録データ記憶領域18(図2参照)に登録されているのか否かを判断する(S30)。ここでNOの場合、制御部12は、受信されたINVITEの送信元にエラーレスポンスを送信する(S32)。この場合、INVITE受信処理が終了する。
一方において、S30でYESの場合、制御部12は、受信されたINVITEに、ローカル通信機能に対応していることを示すフラグ(例えば図6のフラグ222)が含まれているのか否かを判断する(S34)。ここでNOの場合、S42に進み、YESの場合、S36に進む。S36では、制御部12は、登録データ記憶領域18を参照することによって、受信されたINVITEに含まれる送信先のSIPURIに対応づけられているフラグ38(図2参照)がONであるのか否かを判断する。ここでNOの場合、S42に進み、YESの場合、S38に進む。
S38では、制御部12は、登録データ記憶領域18を参照することによって、受信されたINVITEに含まれる送信先のSIPURIに対応づけられているグローバルIPアドレス(例えばG1)を特定する。次いで、制御部12は、特定されたグローバルIPアドレスと、受信されたINVITEに含まれる送信元のグローバルアドレス(例えば図6のINVITE220に含まれるG1)とが一致するのか否かを判断する。ここでNOの場合、S42に進み、YESの場合、S40に進む。
S40では、制御部12は、登録データ記憶領域18を参照することによって、受信されたINVITEに含まれる送信先のSIPURIに対応づけられているローカルアドレス(例えばL1+LP1)と公開鍵(例えばK1)とを特定する。次いで、制御部12は、受信されたINVITEの送信元に、特定されたローカルアドレスと公開鍵とを含む特定レスポンス(例えば図6の特定レスポンス224)を送信する。この場合、INVITE受信処理が終了する。
S42では、制御部12は、登録データ記憶領域18を参照することによって、受信されたINVITEに含まれる送信先のSIPURIに対応づけられているグローバルアドレス(例えばG1+GP1)を特定する。続いて、制御部12は、特定されたグローバルアドレスを送信先としてINVITEを転送する。図8では、この後の処理については図示省略しているが、制御部12は、転送されたINVITEに対するレスポンスである200 OKが受信された場合には、200 OKをINVITEの送信元に転送する。また、制御部12は、転送された200 OKに対するレスポンスであるACKが受信された場合には、ACKをINVITEの送信先に転送する。ここでの200 OK及びACKは、グローバルアドレスを送信先として送信(転送)される。
(端末装置のINVITE送信処理)
続いて、第2端末装置100の制御部102(図4参照)が実行する処理について、詳しく説明する。なお、第1端末装置60の制御部62と第3端末装置の制御部(図示省略)は、第2端末装置100の制御部102と同様の処理を実行する。まず、制御部102が実行するINVITE送信処理について説明する。図9〜11は、INVITE送信処理のフローチャートを示す。図9〜11の処理は、INVITEの送信先のSIPURIがユーザによって入力されたことをトリガとして開始される。
制御部102は、ユーザによって入力された送信先のSIPURIを含む通信情報が通信情報記憶領域120(図4参照)に記憶されているのか否かを判断する(S60)。ここでYESの場合、図11のS120に進み、NOの場合、S62に進む。S62では、制御部102は、ローカル通信機能に対応していることを示すフラグ(例えば図6のフラグ222参照)を含むINVITEをSIPサーバ10に送信する。
制御部102は、S62で送信されたINVITEに対するレスポンスとしてエラーレスポンスが受信されることを監視している(S64)。ここでYESの場合、制御部102は、図示省略の表示部にエラーを表示させる(S66)。この場合、INVITE送信処理が終了する。
制御部102は、S62で送信されたINVITEに対するレスポンスとして200 OKが受信されることを監視している(S68)。ここでYESの場合、制御部102は、ACKをSIPサーバ10に送信する(S70)。この結果、INVITEの送信先と第2端末装置100との間でRTP通信セッションが確立される。上述したように、このRTP通信セッションを確立するために通信される各コマンド(INVITE、200 OK、及び、ACK)は、SIPサーバ10を経由して通信される。この場合、これらのコマンドは、INVITEの送信先と第2端末装置100のそれぞれのグローバルアドレスを用いて通信される。この結果、INVITEの送信先と第2端末装置100のそれぞれのグローバルアドレスを送信先又は送信元としてデータが通信されるRTP通信セッションが確立される。制御部102は、確立されたRTP通信セッションを利用して、音声データを通信する(S72)。この場合、音声データは、第1NATルータ52を経由して通信される。
制御部102は、S62で送信されたINVITEに対するレスポンスとして特定レスポンスが受信されることを監視している(S74)。ここでYESの場合、制御部102は、ランダムに数値を取得することによって、チャレンジコードを生成する。次いで、制御部102は、特定レスポンスに含まれるローカルアドレスを送信先として、INVITEを送信する(S76)。このINVITEは、第2端末装置100のSIPURIと、ローカル通信機能に対応していることを示すフラグ(例えば図6のフラグ232参照)と、チャレンジコードと、第2端末装置100のローカルアドレスL2+LP2とを含む。S76を終えると、図10のS90に進む。
制御部102は、図9のS76で送信されたINVITEに対するレスポンスとしてエラーレスポンスが受信されることを監視している(S90)。また、S90では、制御部102は、S76でINVITEが送信されてから所定時間が経過することを監視している。S90でYESの場合、S92に進む。
S92では、制御部102は、ローカル通信機能に対応していることを示すフラグを含まないINVITE(フラグ以外については図9のS62で送信されるINVITEと同様の内容を含む)をSIPサーバ10に送信する(S92)。制御部102は、S92で送信されたINVITEに対するレスポンスとしてエラーレスポンスが受信されることを監視している(S94)。ここでYESの場合、制御部102は、図9のS66に進み、エラーを表示部に表示させる。また、制御部102は、S92で送信されたINVITEに対するレスポンスとして200 OKが受信されることを監視している(S96)。ここでYESの場合、制御部102は、図9のS70に進み、ACKをSIPサーバ10に送信する。
制御部102は、図9のS76で送信されたINVITEに対するレスポンスとして200 OKが受信されることを監視している(S98)。ここでYESの場合、制御部102は、図9のS74で受信された特定レスポンスに含まれる公開鍵を利用して、S98で受信された200 OKに含まれるレスポンスコードを復号化することによって、復号化データを生成する(S100)。次いで、制御部102は、復号化データと、図9のS76で送信されたチャレンジコードとが一致するのか否かを判断する(S102)。ここでNOの場合、制御部102は、S92に進み、ローカル通信機能に対応していることを示すフラグを含まないINVITEをSIPサーバ10に送信する。
一方において、S102でYESの場合、制御部102は、図9のS74で受信された特定レスポンスに含まれるローカルアドレスを送信先として、第2端末装置100の公開鍵K2を含むACKを送信する(S104)。次いで、制御部102は、ユーザによって入力された送信先のSIPURIと、図9のS74で受信された特定レスポンスに含まれるローカルアドレスと、その特定レスポンスに含まれる公開鍵とを含む通信情報を通信情報記憶領域120(図4参照)に記憶する(S106)。S104でACKを送信することによって、INVITEの送信先と第2端末装置100との間でRTP通信セッションが確立される。INVITE、200 OK、及び、ACKが、ローカルアドレスを用いて通信された場合、INVITEの送信先と第2端末装置100のそれぞれのローカルアドレスを送信先又は送信元としてデータが通信されるRTP通信セッションが確立される。制御部102は、確立されたRTP通信セッションを利用して、音声データを通信する(S108)。この場合、音声データは、第1NATルータ52を経由せずに通信される。
上述したように、図9のS60でYESの場合(ユーザによって入力された送信先のSIPURIが通信情報記憶領域120(図4参照)に記憶されている場合)、図11のS120に進む。S120では、制御部102は、通信情報記憶領域120を参照することによって、ユーザによって入力された送信先のSIPURIに対応づけられているローカルアドレスを特定する。また、制御部102は、チャレンジコードを生成する。次いで、制御部102は、特定されたローカルアドレスを送信先として、INVITEを送信する。このINVITEは、第2端末装置100のSIPURIと、ローカル通信機能に対応していることを示すフラグと、チャレンジコードと、第2端末装置100のローカルアドレスL2+LP2とを含む。
制御部102は、S120で送信されたINVITEに対するレスポンスとしてエラーレスポンスが受信されることを監視している(S122)。また、S122では、制御部102は、S120でINVITEが送信されてから所定時間が経過することを監視している。S122でYESの場合、制御部102は、図9のS62に進み、ローカル通信機能に対応していることを示すフラグを含むINVITEをSIPサーバ10に送信する。
制御部102は、S120で送信されたINVITEに対するレスポンスとして200 OKが受信されることを監視している(S124)。ここでYESの場合、制御部102は、ユーザによって入力された送信先のSIPURIを含む通信情報の公開鍵(例えばK1)を利用して、S124で受信された200 OKに含まれるレスポンスコードを復号化することによって、復号化データを生成する(S126)。制御部102は、復号化データと、S120で送信されたチャレンジコードとが一致するのか否かを判断する(S128)。ここでNOの場合、制御部102は、図9のS62に進み、ローカル通信機能に対応していることを示すフラグを含むINVITEをSIPサーバ10に送信する。
一方において、S128でYESの場合、制御部102は、S120で特定されたローカルアドレス(ユーザによって入力された送信先のSIPURIに対応づけられているローカルアドレス)を送信先として、第2端末装置100の公開鍵K2を含むACKを送信する(S130)。S130でACKを送信することによって、INVITEの送信先と第2端末装置100との間でRTP通信セッションが確立される。このRTP通信セッションでは、INVITEの送信先と第2端末装置100のそれぞれのローカルアドレスを送信先又は送信元としてデータが通信される。制御部102は、確立されたRTP通信セッションを利用して、音声データを通信する(S132)。この場合、音声データは、第1NATルータ52を経由せずに通信される。
(端末装置のINVITE受信処理)
続いて、第2端末装置100の制御部102が実行するINVITE受信処理について説明する。図12は、INVITE受信処理のフローチャートを示す。図12の処理は、INVITEが受信されたことをトリガとして開始される。
制御部102は、受信されたINVITEに、ローカル通信機能に対応していることを示すフラグとチャレンジコードとが含まれるのか否かを判断する(S150)。即ち、制御部102は、例えば、第1端末装置60が図9のS76又は図11のS120の処理を実行することによって、第2端末装置100のローカルアドレスL2+LP2を送信先として送信したINVITEが受信されたのか否かを判断する。ここでYESの場合、S162に進み、NOの場合、S152に進む。
S152では、制御部102は、受信されたINVITEが、SIPサーバ10から送信されたものであるのか否かを判断する。ここでNOの場合、制御部102は、受信されたINVITEの送信元にエラーレスポンスを送信する(S154)。この場合、INVITE受信処理が終了する。
フローチャートには示していないが、S152でYESの場合、制御部102は、通話要求通知を実行する。ユーザによって通話開始操作が実行された場合、制御部102は、200 OKをSIPサーバ10に送信する(S156)。ここで送信された200 OKは、SIPサーバ10によってINVITEの送信元(例えば第3端末装置160)に転送される。INVITEの送信元は、ACKをSIPサーバ10に送信する(図9のS70参照)。ここで送信されたACKは、SIPサーバ10によって第2端末装置100に転送される。第2端末装置100は、ACKを受信する(S158)。この結果、INVITEの送信元と第2端末装置100との間でRTP通信セッションが確立される。このRTP通信セッションでは、INVITEの送信元と第2端末装置100のそれぞれのグローバルアドレスを送信先又は送信元としてデータが通信される。制御部102は、確立されたRTP通信セッションを利用して、音声データを通信する(S160)。この場合、音声データは、第1NATルータ52を経由して通信される。
フローチャートには示していないが、S150でYESの場合、制御部102は、通話要求通知を実行する。ユーザによって通話開始操作が実行された場合、制御部102は、秘密鍵J2(図4参照)を利用して、受信されたINVITEに含まれるチャレンジコードを暗号化することによって、レスポンスコードを生成する(S162)。受信されたINVITEには、INVITEの送信元(例えば第1端末装置60)のローカルアドレスが含まれている。制御部102は、INVITEの送信元のローカルアドレスを送信先として、S162で生成されたレスポンスコードを含む200 OKを送信する(S164)。この結果、INVITEの送信元は、自身の公開鍵を含むACKを第2端末装置100に送信する(図10のS104、図11のS130参照)。第2端末装置100は、ACKを受信する(S166)。
次いで、制御部102は、INVITEの送信元(例えば第1端末装置60)のSIPURIと、INVITEの送信元のローカルアドレスと、S166で受信されたACKに含まれる公開鍵とが対応づけられている通信情報を通信情報記憶領域120に記憶する(S168)。S166でACKが受信されると、INVITEの送信元と第2端末装置100との間でRTP通信セッションが確立される。このRTP通信セッションでは、INVITEの送信元と第2端末装置100のそれぞれのローカルアドレスを送信先又は送信元としてデータが通信される。制御部102は、確立されたRTP通信セッションを利用して、音声データを通信する(S170)。この場合、音声データは、第1NATルータ52を経由せずに通信される。
(端末装置の通信情報管理処理)
続いて、制御部102が実行する通信情報管理処理(フローチャートは図示省略している)について説明する。制御部102は、通信情報記憶領域120に記憶されている各通信情報(例えば通信情報122)について、当該通信情報が記憶されてからの経過時間を管理している。制御部102は、経過時間が予め決められている所定時間に達した通信情報が存在する場合に、その通信情報を通信情報記憶領域120から削除する。これにより、多数の通信情報が通信情報記憶領域120に記憶され続けて、記憶部110の残存メモリ量を圧迫することを抑制することができる。
本実施例の電話ネットワークシステム2について詳しく説明した。本実施例によると、第2端末装置100は、第1端末装置60のグローバルIPアドレスG1と第2端末装置100のグローバルIPアドレスG1とが一致する場合に、第1端末装置60のローカルアドレスL1+LP1と公開鍵K1とをSIPサーバ10から取得する。第2端末装置100は、取得されたローカルアドレスL1+LP1を利用して通信すると、実際に第1端末装置60と通信することができるのか否かを判断するために、取得された公開鍵K1を利用してチャレンジ認証を実行する(図10のS102)。チャレンジ認証が成功した場合に、第2端末装置100は、取得されたローカルアドレスL1+LP1を送信先としてACKを送信する(図10のS104)。この結果、RTP通信セッションが確立される。ここで確立されたRTP通信セッションでは、第1端末装置60と第2端末装置100は、それぞれのローカルアドレスL1+LP1,L2+LP2を用いて、音声データを通信することができる。第1NATルータ52を経由せずに音声データを通信することができる。第1NATルータ52の処理負荷を低減させることができる。また、第1NATルータ52を介在させずに通信することができるために、第1端末装置60と第2端末装置100との間の通信の遅延を低減することができる(換言すると端末間の通信を高速化することができる)。
また、本実施例によると、第1端末装置60のグローバルIPアドレスG1と第2端末装置100のグローバルIPアドレスG1とが一致する場合、SIPサーバ10は、200 OK及びACKを転送する処理を実行する必要がない。SIPサーバ10の処理負荷も低減させることができる。
また、仮に、第1端末装置60のグローバルIPアドレスと第2端末装置100の第2グローバルIPアドレスとが一致しない場合に、SIPサーバ10は、第2端末装置100から送信されるINVITEを第1端末装置60に転送する。この結果、第1端末装置60と第2端末装置100との間では、200 OK及びACKがSIPサーバ10を介して通信される(図9のS68,S70)。また、チャレンジ認証に失敗した場合も、INVITE、200 OK、及びACKがSIPサーバ10を介して通信される(図10のS92,S96,図9のS70)。この結果、RTP通信セッションが確立される。ここで確立されたRTP通信セッションでは、第1端末装置60と第2端末装置100は、それぞれのグローバルアドレスを用いて、音声データを通信することができる。
また、第1端末装置60と第2端末装置100は、それぞれのローカルアドレスL1+LP1,L2+LP2を利用して通信した場合に、相手の通信情報82,122(図3及び図4参照)を記憶する。通信情報82,122は、所定期間継続して記憶される。例えば、第2端末装置100は、第1端末装置60と再度通信することがユーザによって指示された際に、通信情報122を利用して(ローカルアドレスL1+LP1を利用して)、第1端末装置60と通信することができる。同様に、第1端末装置60は、第2端末装置100と再度通信することがユーザによって指示された際に、通信情報82を利用して(ローカルアドレスL2+LP2を利用して)、第2端末装置100と通信することができる。第1NATルータ52の処理負荷をより低減させることができる。なお、この場合は、SIPサーバ10を全く介さないことから(INVITEすらSIPサーバに送信されない)、SIPサーバ10は処理を実行する必要がない。
なお、第2端末装置100は、チャレンジ認証が成功した場合に、自身の公開鍵K2を含むACKを第1端末装置60に送信する(図10のS104)。このために、第1端末装置60は、第2端末装置100と再度通信することをユーザによって指示された際に、公開鍵K2を利用してチャレンジ認証を実行することができる。
以上の説明から分かるように、本実施例の第1端末装置60、第2端末装置100、SIPサーバ10が、それぞれ、本発明の第1端末装置、第2端末装置、接続管理サーバに対応する。図9のS74において特定レスポンスを受信する処理が、本発明のローカルアドレス取得部が実行する処理に対応する。図10のS90、S98、図11のS120、S124においてレスポンスの受信を監視する処理、図10のS100、図11のS126においてレスポンスコードを復号化する処理、及び、図10のS102、図11のS128において復号化データとチャレンジデータとを比較する処理が、本発明の判断部が実行する処理に対応する。図10のS108においてローカルアドレスを用いて音声データを通信する処理が、本発明の目的データ通信部(第1目的データ通信部)が第1ローカルIPアドレスを用いて第1データを通信する処理に対応する。
また、図10のS96においてSIPサーバ10から200 OKを受信する処理が、本発明のグローバルアドレス取得部が実行する処理に対応する。図9のS72においてグローバルアドレスを用いて音声データを通信する処理が、本発明の目的データ通信部(第2目的データ通信部)が第1グローバルIPアドレスを用いて第2データを通信する処理に対応する。さらに、図9のS76においてチャレンジコードを送信し、図10のS98において200 OKを受信する処理が、本発明の第1チャレンジデータ通信部が実行する処理に対応する。また、図10のS106において通信情報を記憶する処理が、本発明の記憶制御部が実行する処理に対応する。図10のS132においてローカルアドレスを用いて音声データを通信する処理が、本発明の目的データ通信部が第1ローカルIPアドレスを再度用いて第3データを通信する処理に対応する。
また、図10のS104において公開鍵を含むACKを送信する処理が、本発明の公開鍵送信部が実行する処理に対応する。図12のS150においてチャレンジコードを受信する処理、S162においてレスポンスコードを生成する処理、及び、S164においてレスポンスコードを送信する処理が、本発明の第2チャレンジデータ通信部が実行する処理に対応する。また、図12のS170においてローカルアドレスを用いて音声データを通信する処理が、本発明の目的データ通信部が第2ローカルIPアドレスを用いて第4データを通信する処理に対応する。また、図2の制御部12が本発明のサーバ側記憶制御部とサーバ側判断部とサーバ側送信部とサーバ側転送部に対応し、登録データ記憶領域18がサーバ側記憶部に対応する。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(1)上記の実施例の技術は、電話通信以外の通信システムにも適用することができる。例えば、FAXデータの通信システム、映像データ及び音声データの通信システムにも適用することができる。
(2)SIPサーバ10とSTUNサーバ40は、一体に構成されていてもよい。また、実施例に記載された他の2以上のデバイス(例えば第1NATルータ52とSTUNサーバ40)が一体に構成されてもよい。
(3)上記の実施例では、第2端末装置100から第3端末装置160にINVITEを送信する場合に、SIPサーバ10が、第2端末装置100のグローバルIPアドレスG1と、第3端末装置160のグローバルIPアドレスG2とが一致しないと判断する。この場合、SIPサーバ10は、INVITEを転送する。200 OK及びACKもSIPサーバ10を経由して通信される。この形態に代えて、SIPサーバ10は、第3端末装置160のグローバルアドレスG2+GP3を第2端末装置100に送信してもよい。この場合、第2端末装置100は、第3端末装置160のグローバルアドレスG2+GP3を送信先として、INVITEを送信してもよい。即ち、第2端末装置100は、SIPサーバ10を経由せずに、第3端末装置160にINVITEを送信してもよい。この場合、200 OK及びACKもSIPサーバ10を経由せずに通信されてもよい。本変形例によると、SIPサーバ10の処理負荷を低減させることができる。
(4)上記の実施例では、各端末装置60,100,160は、自身のグローバルアドレスをSTUNサーバ40に問い合わせする。しかしながら、各端末装置60,100,160は、UPnPを利用して、自身のグローバルアドレスをNATルータ52,152に問い合わせてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
10:SIPサーバ、40:STUNサーバ、52:第1NATルータ、60:第1端末装置、100:第2端末装置、G1,G2:グローバルIPアドレス、GP1〜GP3:グローバルポート番号、L1〜L3:ローカルIPアドレス、LP1〜LP3:ローカルポート番号、J1,J2:秘密鍵、K1〜K3:公開鍵

Claims (11)

  1. 接続管理サーバと第1端末装置と第2端末装置とを含むシステムで利用される前記第2端末装置であって、
    前記第1端末装置の第1グローバルIPアドレスと前記第2端末装置の第2グローバルIPアドレスとが一致する場合に、前記第1端末装置の第1ローカルIPアドレスと第1認証情報とが登録されている前記接続管理サーバから、前記第1ローカルIPアドレスと前記第1認証情報とを取得するローカルアドレス取得部と、
    取得済みの前記第1ローカルIPアドレスを用いて前記第2端末装置が通信可能である第1の特定の端末装置が、目的の前記第1端末装置であるのか否かを、取得済みの前記第1認証情報を利用して判断する判断部と、
    前記第1の特定の端末装置が目的の前記第1端末装置であると前記判断部によって判断される場合に、前記第1ローカルIPアドレスを用いて、前記第1端末装置と目的の第1データを通信する目的データ通信部と、
    を備える第2端末装置。
  2. 前記第1端末装置の前記第1グローバルIPアドレスとポート番号との組合せを取得するグローバルアドレス取得部をさらに備え、
    前記目的データ通信部は、前記第1の特定の端末装置が目的の前記第1端末装置でないと前記判断部によって判断される場合に、前記第1グローバルIPアドレスと前記ポート番号との前記組合せを用いて、前記第1端末装置と第2データを通信する
    ことを特徴とする請求項1に記載の第2端末装置。
  3. 前記第1の特定の端末装置に第1チャレンジデータを送信し、前記第1の特定の端末装置が前記第1チャレンジデータに応じて送信する第1レスポンスデータであって、前記第1チャレンジデータが暗号化された前記第1レスポンスデータを受信する第1チャレンジデータ通信部をさらに備え、
    前記第1認証情報は、前記第1端末装置の第1公開鍵を含み、
    前記判断部は、前記第1レスポンスデータを前記第1公開鍵で復号化することによって、第1復号化データを生成し、前記第1復号化データと前記第1チャレンジデータとが一致する場合に、前記第1の特定の端末装置が目的の前記第1端末装置であると判断する
    ことを特徴とする請求項1又は2に記載の第2端末装置。
  4. 前記判断部は、さらに、前記第1レスポンスデータが前記第1チャレンジデータ通信部によって受信されない場合に、前記第1の特定の端末装置が目的の前記第1端末装置でないと判断する
    ことを特徴とする請求項3に記載の第2端末装置。
  5. 記憶部に前記第1ローカルIPアドレスを保持させる記憶制御部をさらに備え、
    前記目的データ通信部は、前記第1データの通信が終了した後に前記第1端末装置と第3データを通信すべき際に、前記記憶部に保持されている前記第1ローカルIPアドレスを再度用いて、前記第1端末装置と前記第3データを通信する
    ことを特徴とする請求項1から4のいずれかに記載の第2端末装置。
  6. 前記記憶制御部は、さらに、前記記憶部に前記第1認証情報を保持させ、
    前記判断部は、前記第1端末装置と前記第3データを通信すべき際に、前記記憶部に保持されている前記第1ローカルIPアドレスを用いて前記第2端末装置が通信可能である第2の特定の端末装置が、目的の前記第1端末装置であるのか否かを、前記記憶部に保持されている前記第1認証情報を利用して判断し、
    前記目的データ通信部は、前記第2の特定の端末装置が目的の前記第1端末装置であると前記判断部によって判断される場合に、前記記憶部に保持されている前記第1ローカルIPアドレスを再度用いて、前記第1端末装置と前記第3データを通信する
    ことを特徴とする請求項5に記載の第2端末装置。
  7. 前記第1の特定の端末装置が目的の前記第1端末装置であると前記判断部によって判断される場合に、前記第2端末装置の第2公開鍵を前記第1端末装置に送信する公開鍵送信部と、
    前記第1端末装置が前記第2端末装置の第2ローカルIPアドレスを送信先として送信する第2チャレンジデータを受信し、前記第2端末装置の秘密鍵を利用して前記第2チャレンジデータを暗号化することによって、第2レスポンスデータを生成し、前記第2レスポンスデータを前記第1端末装置に送信する第2チャレンジデータ通信部と、
    をさらに備え、
    前記目的データ通信部は、前記第1端末装置が前記第2公開鍵を利用して前記第2レスポンスデータを復号化することによって生成する第2復号化データと、前記第2チャレンジデータと、が一致する場合に、前記第2ローカルIPアドレスを用いて、前記第1端末装置と第4データを通信する
    ことを特徴とする請求項1から6のいずれかに記載の第2端末装置。
  8. 前記接続管理サーバと、前記第1端末装置と、請求項1から7のいずれかに記載の前記第2端末装置と、を備えるシステム。
  9. 接続管理サーバと第1端末装置と第2端末装置とを含むシステムで利用される前記接続管理サーバであって、
    前記第1端末装置の第1グローバルIPアドレスと第1ローカルIPアドレスと第1認証情報とを対応づけてサーバ側記憶部に保持させるサーバ側記憶制御部と、
    前記第2端末装置が前記第1端末装置を送信先として送信する接続要求であって、前記第2端末装置の第2グローバルIPアドレスを含む前記接続要求を受信するサーバ側受信部と、
    前記サーバ側記憶部に保持されている前記第1端末装置の前記第1グローバルIPアドレスと、前記接続要求に含まれる前記第2端末装置の前記第2グローバルIPアドレスと、が一致するのか否かを判断するサーバ側判断部と、
    前記第1グローバルIPアドレスと前記第2グローバルIPアドレスとが一致すると前記サーバ側判断部によって判断される場合に、前記サーバ側記憶部に保持されている前記第1端末装置の前記第1ローカルIPアドレスと前記第1認証情報とを前記第2端末装置に送信するサーバ側送信部と、
    を備える接続管理サーバ。
  10. 前記第1グローバルIPアドレスと前記第2グローバルIPアドレスとが一致しないと前記サーバ側判断部によって判断される場合に、前記接続要求を前記第1端末装置に転送するサーバ側転送部
    をさらに備えることを特徴とする請求項9に記載の接続管理サーバ。
  11. 接続管理サーバと第1端末装置と第2端末装置とを含むシステムで利用される前記第2端末装置のためのコンピュータプログラムであって、
    前記第1端末装置の第1グローバルIPアドレスと前記第2端末装置の第2グローバルIPアドレスとが一致する場合に、前記第1端末装置の第1ローカルIPアドレスと第1認証情報とが登録されている前記接続管理サーバから、前記第1ローカルIPアドレスと前記第1認証情報とを取得するローカルアドレス取得処理と、
    取得済みの前記第1ローカルIPアドレスを用いて前記第2端末装置が通信可能である第1の特定の端末装置が、目的の前記第1端末装置であるのか否かを、取得済みの前記第1認証情報を利用して判断する判断処理と、
    前記第1の特定の端末装置が目的の前記第1端末装置であると前記判断処理によって判断される場合に、前記第1ローカルIPアドレスを用いて、前記第1端末装置と目的の第1データを通信する目的データ通信処理と、
    をコンピュータに実行させるコンピュータプログラム。
JP2009054010A 2009-03-06 2009-03-06 端末装置とコンピュータプログラム Expired - Fee Related JP4784667B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009054010A JP4784667B2 (ja) 2009-03-06 2009-03-06 端末装置とコンピュータプログラム
US12/713,240 US8874911B2 (en) 2009-03-06 2010-02-26 Terminal device, system, connection management server, and computer readable medium
EP10250386.9A EP2226987B1 (en) 2009-03-06 2010-03-04 Terminal device and computer program for establishing direct communication between terminals
CN201010129655.0A CN101867624B (zh) 2009-03-06 2010-03-08 终端设备、系统、连接管理服务器及控制终端设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009054010A JP4784667B2 (ja) 2009-03-06 2009-03-06 端末装置とコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010212792A JP2010212792A (ja) 2010-09-24
JP4784667B2 true JP4784667B2 (ja) 2011-10-05

Family

ID=42312749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009054010A Expired - Fee Related JP4784667B2 (ja) 2009-03-06 2009-03-06 端末装置とコンピュータプログラム

Country Status (4)

Country Link
US (1) US8874911B2 (ja)
EP (1) EP2226987B1 (ja)
JP (1) JP4784667B2 (ja)
CN (1) CN101867624B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2459216B (en) * 2006-12-18 2011-06-22 Ericsson Telefon Ab L M Method and apparatus for establishing a session
JP4715937B2 (ja) * 2009-03-06 2011-07-06 ブラザー工業株式会社 端末装置とコンピュータプログラム
US20120311038A1 (en) 2011-06-06 2012-12-06 Trinh Trung Tim Proximity Session Mobility Extension
US10225354B2 (en) * 2011-06-06 2019-03-05 Mitel Networks Corporation Proximity session mobility
CN103002062A (zh) * 2011-09-19 2013-03-27 泰金宝电通股份有限公司 具有传真功能的网络装置
JP2013196508A (ja) * 2012-03-21 2013-09-30 Ricoh Co Ltd 機器管理システム、機器管理方法、サーバ装置、及び機器管理プログラム
WO2014134357A1 (en) * 2013-02-27 2014-09-04 CipherTooth, Inc. Method and apparatus for secure data transmissions
US10182041B2 (en) 2013-02-27 2019-01-15 CipherTooth, Inc. Method and apparatus for secure data transmissions
JP6364999B2 (ja) * 2014-06-24 2018-08-01 ブラザー工業株式会社 通信システム、サーバ装置、及びクライアント装置
WO2019038874A1 (ja) * 2017-08-24 2019-02-28 大日本印刷株式会社 ネットワーク通信システム
WO2020202454A1 (ja) * 2019-04-01 2020-10-08 佐鳥電機株式会社 データ復元装置、データ管理サーバ、データ管理システム、データ復元方法、及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003258836A (ja) * 2002-02-28 2003-09-12 Nippon Telegr & Teleph Corp <Ntt> 同一プライベートアドレス空間内通信方法およびシステムと中継装置
JP4304593B2 (ja) * 2002-11-01 2009-07-29 ソニー株式会社 情報処理システム、情報処理装置および方法、並びにプログラム
JP3826107B2 (ja) 2003-04-01 2006-09-27 キヤノン株式会社 画像通信装置及びその制御方法、プログラム及び記憶媒体
JP2006140903A (ja) 2004-11-15 2006-06-01 Canon Inc 通信装置およびその制御方法
CN100479417C (zh) 2005-09-02 2009-04-15 华为技术有限公司 一种防止媒体流迂回的通信方法
US20070078986A1 (en) * 2005-09-13 2007-04-05 Cisco Technology, Inc. Techniques for reducing session set-up for real-time communications over a network
JP4821465B2 (ja) 2006-07-03 2011-11-24 富士ゼロックス株式会社 通信装置
JP4798785B2 (ja) 2006-10-16 2011-10-19 岩崎通信機株式会社 Sip端末装置におけるピアツーピア接続の接続規制方法
US7561575B2 (en) * 2006-11-14 2009-07-14 Cisco Technology, Inc. Mechanisms for providing intelligent throttling on a nat session border controller
DE102007001408A1 (de) 2007-01-09 2008-07-10 Siemens Home And Office Communication Devices Gmbh & Co. Kg Verfahren und Kommunikationsanordnung zum Transport von Multimediadaten zwischen IP-Endgeräten in einem lokalen Netz eines WAN
JP2008258917A (ja) * 2007-04-04 2008-10-23 Nec Corp 同一nat配下通信制御システム、nat装置、同一nat配下通信制御方法、及びプログラム
CN101123582B (zh) 2007-09-21 2011-08-24 中兴通讯股份有限公司 一种私网终端间的通讯方法
JP2009111437A (ja) * 2007-10-26 2009-05-21 Hitachi Ltd ネットワークシステム
JP2010011120A (ja) * 2008-06-27 2010-01-14 Oki Electric Ind Co Ltd Uni接続におけるnat変換装置およびnat変換プログラム

Also Published As

Publication number Publication date
CN101867624B (zh) 2014-03-12
EP2226987A1 (en) 2010-09-08
JP2010212792A (ja) 2010-09-24
CN101867624A (zh) 2010-10-20
EP2226987B1 (en) 2015-10-07
US20100228978A1 (en) 2010-09-09
US8874911B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
JP4784667B2 (ja) 端末装置とコンピュータプログラム
JP4715937B2 (ja) 端末装置とコンピュータプログラム
JP6345816B2 (ja) ネットワーク通信システムおよび方法
US9191406B2 (en) Message relaying apparatus, communication establishing method, and computer program product
JP2008312148A (ja) 通信装置、通信システム及び通信方法
JP2007043598A (ja) 通信システム、鍵管理・配信サーバ、端末装置及びそれらに用いるデータ通信方法並びにそのプログラム
WO2006033264A1 (ja) 電化機器、サーバ装置、携帯端末、通信システム、通信方法、及びプログラム
US20170207921A1 (en) Access to a node
JP2010199761A (ja) 端末装置、通信処理方法、及びプログラム
JP4642652B2 (ja) 無線制御端末、無線通信システムおよび無線通信方法
JP2008236278A (ja) 通信接続方法及び通信装置
US10848471B2 (en) Communication apparatus, communication method, and program
JP4078594B2 (ja) 情報処理装置および方法、並びにプログラム
JP4841357B2 (ja) セキュアなシグナリングチャネルを用いたリソース更新方法、サーバ、端末及びプログラム
JP5233905B2 (ja) 通信制御装置
JP2020120273A (ja) 中継装置、中継方法、及び制御プログラム
Marwaha Security in Peer-to-Peer SIP VoIP
JP2005341127A (ja) ネットワーク間セキュア通信方法、パケットセキュア処理装置、その処理方法、プログラム、その記録媒体、アドレス変換装置
JP2008066809A (ja) 通信アドレス管理システム、通信アドレス管理サーバ及び端末装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110421

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: 20110614

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: 20110627

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4784667

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees