JP2007142786A - Handover server, and mobile communication terminal communcable thereof - Google Patents
Handover server, and mobile communication terminal communcable thereof Download PDFInfo
- Publication number
- JP2007142786A JP2007142786A JP2005333566A JP2005333566A JP2007142786A JP 2007142786 A JP2007142786 A JP 2007142786A JP 2005333566 A JP2005333566 A JP 2005333566A JP 2005333566 A JP2005333566 A JP 2005333566A JP 2007142786 A JP2007142786 A JP 2007142786A
- Authority
- JP
- Japan
- Prior art keywords
- handover
- call
- terminal
- call data
- communication network
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、複数の移動通信端末(例えば携帯電話)間で複数の通信ネットワークを介して通信を行う場合におけるハンドオーバ処理の技術に関する。 The present invention relates to a technique for handover processing when communication is performed between a plurality of mobile communication terminals (for example, cellular phones) via a plurality of communication networks.
携帯電話などの移動通信端末が他の端末やサーバと接続して通信サービスを受けているときに、動的に通信網を切り替えて通信サービスを継続する場合は、いわゆるハンドオーバ処理が為される。このハンドオーバ処理は、例えば通信サービスのセッション情報を、通信ネットワーク(以下、通信路と呼ぶ場合もある)にある中継装置やエージェントに保持しておき、切替後の通信網における通信サービスで上記セッション情報を用いて通信サービスを継続するものである。 When a mobile communication terminal such as a mobile phone is connected to another terminal or server and receives a communication service, a so-called handover process is performed when the communication service is continued by dynamically switching the communication network. In this handover process, for example, session information of a communication service is held in a relay device or an agent in a communication network (hereinafter also referred to as a communication path), and the session information is transmitted in the communication service in the switched communication network. Is used to continue communication services.
ここでセッション情報とは、例えば、サーバ/クライアント端末のIPアドレスとポート番号、通信プロトコル、セッション開始時刻、サービス経過時間、サービス名、使用アプリケーション名等がある。 Here, the session information includes, for example, an IP address and port number of a server / client terminal, a communication protocol, a session start time, a service elapsed time, a service name, and an application name used.
上記通信網の切り替えを円滑に行うための従来技術としては、例えば特許文献1に記載のものが知られている。これは、切替前の通信路におけるセッションと切替後の通信路におけるセッションとを、一時的に二つ同時に移動端末との間で確立する方法を開示する。
As a conventional technique for smoothly switching the communication network, for example, one disclosed in
上記特許文献1に記載のものは、蓄積されたコンテンツを配信するサービスのみに適用され得るもので、異なる複数の移動通信端末間での通信において上記通信網の切替を円滑にすることについては考慮されていない。
The thing of the said
本発明は、上記事情を鑑みて為されたものであり、その目的は、異なる複数の移動通信端末間での通信において通信網の切り替えを円滑に行うための技術を提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a technique for smoothly switching communication networks in communication between a plurality of different mobile communication terminals.
上記目的を達成するために、本発明は、通信ネットワークの切替時には、切り替え前後の各通信ネットワーク上で互いにセッションを一時的に二つ同時に確立する。そして、両セッションで同一の通話データの送受信を行い、切替前と切替後の二つの通信ネットワークから受信された通話データの時刻情報に基づいて、通信ネットワーク(セッション)を切替えることを特徴とするものである。 In order to achieve the above object, according to the present invention, when switching a communication network, two sessions are temporarily established simultaneously on each communication network before and after the switching. The same call data is transmitted and received in both sessions, and the communication network (session) is switched based on the time information of the call data received from the two communication networks before and after switching. It is.
上記通信ネットワークの切り替えが失敗したときには、切替前の通信ネットワークを介しての通話、もしくは上記切り替え処理の再試行のいずれか一方を実行する。また、ある移動通信端末から別の移動通信端末へ通話データを送信するときは、ある通信ネットワークを用い、上記別の移動通信端末から別の移動通信端末へ通話データを送信するときは、別の通信ネットワークを用いることも、本発明の特徴である。 When the switching of the communication network fails, either a call through the communication network before switching or the retry of the switching process is executed. Further, when transmitting call data from one mobile communication terminal to another mobile communication terminal, using a certain communication network, when transmitting call data from the other mobile communication terminal to another mobile communication terminal, The use of a communication network is also a feature of the present invention.
本発明によれば、異なる複数の移動通信端末間での通信において通信網の切り替えを円滑に行うことが可能となる。 According to the present invention, it is possible to smoothly switch communication networks in communication between a plurality of different mobile communication terminals.
以下、図面を参照して本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1〜図2を参照して、本発明の実施形態1による電話ハンドオーバシステムについて説明する。
A telephone handover system according to
図1は、実施形態1に係る電話ハンドオーバシステムにおけるハンドオーバサーバ100、および移動通信端末であるハンドオーバ端末105の構成を示す図である。同図では、ハンドオーバサーバ100を中継して、電話端末104とハンドオーバ端末105とが通話を行う場合のシステム構成を示している。ここで電話端末104は、本発明で開示するハンドオーバ機能を持たない、一般的なIP電話機能を有する電話端末である。
FIG. 1 is a diagram illustrating a configuration of a
同図において、ハンドオーバサーバ100は、ハンドオーバ処理部101、通話処理部102、および通信網インタフェース部103とから構成される。ハンドオーバ処理部101は、通信網#2(108)経由の通話セッションと通信網#3(107)経由の通話セッションとの切替処理を行うとともに、電話端末104とハンドオーバサーバ100間の通話セッションと、ハンドオーバサーバ100とハンドオーバ端末105間の通話セッションとの通話内容を互いへ反映させる。通話処理部102は、他端末との間の通話セッションにおけるメッセージの送受信、および通話データの送受信を制御する。通信網インタフェース部103は、通信網#1へアクセスするための網インタフェースである。
In FIG. 1, the
ハンドオーバ端末105は、通信網インタフェース部109、通話処理部110、ハンドオーバ処理部111、および音声処理部112とから構成される。通信網インタフェース部109は、通信網#2(108)と通信網#3(107)へアクセスするための網インタフェースである。ハンドオーバ端末は通信網#2(108)と通信網#3(107)を経由して通信網#1(106)へ接続できる。通話処理部110は、他端末との間の通話セッションにおけるメッセージの送受信、および通話データの送受信を制御する。ハンドオーバ処理部111は、通信網#2(108)経由の通話セッションと通信網#3(107)経由の通話セッションとの切替処理を行う。音声処理部112は、マイク等の入力デバイスから入力される通話音をエンコードしてハンドオーバ処理部111へ渡す(D103a)とともに、ハンドオーバ処理部から渡される受信通話データ(D103b)をデコードしてスピーカ等の出力デバイスへ通話音を出力する。
The
次に図2を用いて、ハンドオーバサーバ100を介してハンドオーバ端末105と、一般的な電話端末104とでIP電話サービスのハンドオーバを行うときの流れを示す。同図では、IP電話サービスの通話を行うための呼制御プロトコルとしてSIP(Session Initiation Protocol: IETF RFC3261)を用いた例を示す。ただし本発明のハンドオーバ処理は、ITU−T H.323など他の呼制御プロトコルであっても同様に適用できる。
Next, FIG. 2 shows a flow when the handover of the IP telephone service is performed between the
また同図では、ハンドオーバ端末105、ハンドオーバサーバ100、および電話端末104が直接SIPメッセージを交換しているが、ハンドオーバ端末105とハンドオーバサーバ100の間、およびハンドオーバサーバ100と電話端末104の間の呼確立のためにSIPプロキシなどの呼制御サーバを一つ以上経由した構成であっても、本発明のハンドオーバ処理は同様に適用できる。
In the figure, the
ハンドオーバ端末105は、通話処理部110において、通常のIP電話機能で動作するか、ハンドオーバサーバ経由で動作するかを示すモードフラグを備える。ハンドオーバサーバ経由モードである場合、通話処理部110は通信網#2(108)を経由して、電話端末105へのINVITE(セッション確立要求)メッセージ(M200)をハンドオーバサーバ100へ送信する。ハンドオーバサーバ100における通話処理部102は、INVITEメッセージ(M200)を受信すると、Ringing(呼び出し中)メッセージ(M201)をハンドオーバ端末105へ返すとともに、INVITEメッセージ内の“To”ヘッダに含まれる着信先URI(同図の例では電話端末104のURI)を解析し、電話端末104へINVITEメッセージを送信する(M202)。ハンドオーバ端末105内の通話処理部110がRingingメッセージ(M201)を受信すると、通話処理部110はハンドオーバ端末105で呼び出し音を鳴らす。
The
電話端末104はINVITEメッセージ(M202)を受信すると、Ringingメッセージ(M203)を返すとともに、着信音を鳴らし、電話端末104のユーザが受話器を上げて、通話を許可するまで待つ。そして通話が許可されると、OKメッセージ(M204)をハンドオーバサーバ100へ送信する。ハンドオーバサーバ100内の通話処理部102はOKメッセージ(M204)を受信すると、ハンドオーバ端末105に対しOKメッセージ(M205)を送信する。ハンドオーバ端末105内の通話処理部110はOKメッセージ(M205)を受信すると、ACK(確認応答)メッセージ(M206)をハンドオーバサーバ100へ返す。ハンドオーバサーバ100内の通話処理部102は、ACKメッセージ(M206)を受信すると、電話端末104へACKメッセージ(M207)を送信する。電話端末104がACKメッセージ(M207)を受信した時点で、通信網#2(108)経由でハンドオーバサーバ100を介して、ハンドオーバ端末105と電話端末104との通話セッションが確立される。
When the
この時点以降、ハンドオーバ端末105はハンドオーバサーバ100との間で通話データの送受信(D101)を行う。またハンドオーバサーバ100は電話端末104との間で通話データの送受信(D100)を行う。ハンドオーバサーバ100におけるハンドオーバ処理部101では、ジッタなどの通信遅延の変動を吸収するために、ハンドオーバ端末105から送られる通話データ(D101b)を、内部のバッファ領域401に格納し、バッファがある一定量に達した時点で古い順に通話データを電話端末104へ転送するとともに、電話端末104から送られる通話データ(D100a)をハンドオーバ端末105へ転送する。ハンドオーバオーバ端末105では、ジッタなどの通信遅延の変動を吸収するために、受信した通話データ(D101a)をバッファ301に格納し、バッファがある一定量に達した時点で古い順に通話データ(D101a)を音声処理部112へ転送する(D103)。音声処理部112では通話データ(D103a)のパケット解析、音声データの分離、音声デコードを行い、出力デバイスから音声を出力する。また入力デバイスから音声を入力、音声エンコード、パケット生成を行い、通話データ(D103b)として通話処理部110へ送り、これが通話データ(D101b)としてハンドオーバサーバ100へ送出される。上記のような処理により、ハンドオーバ端末105と電話端末104との通話が実現される。なお、SIPでは上記の通話データはRTP(Realtime Transfer Protocol:IETF RFC3550)に従う音声パケット形式で送受信されるが、本発明においては必ずしもRTPに限定されるものではない。
After this point, the
なお、図2ではハンドオーバ端末105から電話端末104へ呼び出しをかける場合の例を示したが、電話端末104からハンドオーバ端末105へ呼び出しをかける場合にも、同様にハンドオーバサーバ100を経由したセッション確立が行われる。この場合、ハンドオーバ端末105は予め、自身への着信をハンドオーバサーバ100へ転送するよう、同端末105を管理するSIPサーバへ登録しておくなどの処理を行う必要がある(例えば、SIPのリダイレクト機能などを用いる方法がある)。そして電話端末104がハンドオーバ端末105の転送先としてハンドオーバサーバ100のURIを知ることができる状態にしておく必要がある。
Note that FIG. 2 shows an example in which a call is made from the
次に、上記のようにハンドオーバ端末105が通信網#2(108)を経由してハンドオーバサーバ100を介して電話端末104と通話を行っている状態で、ハンドオーバ端末105が何らかの形で通信網#2(108)のスループット低下を検知し、ハンドオーバを決定したときに(201)、通話を通信網#3(107)経由に切り替える処理について述べる。ただし、ハンドオーバの決定(201)は、必ずしもスループット低下の検知のみにより行われるものではない。例えば、ハンドオーバ端末105が、通信網#3(107)が使用可能である場合には優先的に通信網#3(107)へ切り替えるように設定されている場合には、通信網#2(108)のスループットが低下していなくても、ハンドオーバが決定される。その他、ハンドオーバ端末105のユーザが、強制的に通信網#3(107)へ切り替えるように、端末上で操作を行うことにより、ハンドオーバが決定されてもよい。また、ハンドオーバ端末105がGPS(Global Positioning System)などの機能を備えるなど、何らかの手段により端末自身の位置情報を取得することができる場合には、通信網#2、通信網#3のスループットに関わらず、位置情報に応じてハンドオーバが決定されてもよい。位置情報に応じてハンドオーバを決定する端末の構成については、実施例8として後述する。
Next, in a state where the
上記のスループット低下を検知する方法としては、RTCP(RTP Control Protocol:IETF RFC3550)によりパケットの送受信情報を交換する方法がある。その他、受信したRTPパケットのシーケンス番号からパケットロスの増加を検出する方法や、バッファ残量の低下を検出する方法、スループット計測用のダミー通信を行う方法、もしくは端末の無線デバイスが公開する電波状況を参照する方法、なども適用可能である。 As a method of detecting the above-described decrease in throughput, there is a method of exchanging packet transmission / reception information by RTCP (RTP Control Protocol: IETF RFC3550). In addition, a method for detecting an increase in packet loss from the sequence number of the received RTP packet, a method for detecting a decrease in the remaining buffer capacity, a method for performing dummy communication for throughput measurement, or a radio wave condition disclosed by the wireless device of the terminal It is also possible to apply a method of referring to the above.
ハンドオーバ端末105が通信網#2(108)のスループット低下を検知し、ハンドオーバの実行を決定(201)すると、ハンドオーバ処理部110は、通信網#3(107)経由で、INVITEメッセージ(M208)をハンドオーバサーバ100へ送信する。ハンドオーバサーバ100内のハンドオーバ処理部102は、INVITEメッセージ(M208)を受信すると、通信網#2(108)経由で確立済みのセッションの着信元の識別子(Fromヘッダのtag値などを利用)と着信先アドレス(Toヘッダ)との情報が、INVITEメッセージ(M208)内の情報と一致するかどうかを照合する(202)。上記の照合により、通信網#2(セッション確立済み)と通信網#3(セッション確立要求中)の着信元と着信先とが一致することが確認されると、ハンドオーバサーバ100内の通話処理部102は、OKメッセージ(M209)をハンドオーバ端末105へ返す。ハンドオーバ端末105内の通話処理部110は、OKメッセージ(M209)を受信すると、ACKメッセージ(M210)をハンドオーバサーバ100へ返す。この時点で通信網#3(107)経由でのハンドオーバサーバ100とのセッションが確立されたことで、通信網#2(108)と通信網#3(107)との2つの通信網上で同時に2つのセッションが確立される。
When the
その後、ハンドオーバサーバ100はハンドオーバ端末105との間で通話データの送受信(D102)を行う。このときハンドオーバサーバ100におけるハンドオーバ処理部101では、ハンドオーバ端末105へ既に送信している通話データと同じデータを通信網#3(107)を経由してハンドオーバ端末105へ転送する(D102a)。ハンドオーバ端末105は、受信した通話データ(D102a)をバッファ302へ格納し続ける。バッファ320の残量がなくなった場合には、古い順に削除していく。またハンドオーバ処理部101では、通信網#3(107)を経由してハンドオーバ端末105から送られる通話データ(D102b)を受信し、内部のバッファ領域402に格納する。バッファ残量がなくなった場合には、古い通話データから削除していく。
Thereafter, the
この時点でハンドオーバサーバ100からは、電話端末104から送られる通話データ(D100)が、通信網#2(108)と通信網#3(107)の両方の網から同時に、それぞれ通話データD101a、D102aとして、ハンドオーバ端末105へ送出される。また通信網#2(108)と通信網#3(107)を経由してハンドオーバ端末105から通話データD101b,D102bがハンドオーバサーバへ送られる。そして通信網#2(108)の通話データ(D101)が電話端末104へ、通話データ(D100)として転送されている。
At this point, the call data (D100) sent from the
この状態で、ハンドオーバ端末105のハンドオーバ処理部111においてハンドオーバ処理203を、ハンドオーバサーバ100のハンドオーバ処理部101において、ハンドオーバ処理204をそれぞれ実行開始する。
In this state, the
ここでハンドオーバ端末105において行われるハンドオーバ処理203について述べる。上記のように2つの通話セッションが確立された時点では、ハンドオーバ端末105におけるハンドオーバ処理部111では、通信網#2(108)を経由して受信される通話データ(D101a)と、通信網#3(107)を経由して受信される通話データ(D102a)とが、それぞれバッファ301と302とに格納されている。ハンドオーバ処理203においては、それぞれのバッファに格納されている通話データの時刻情報を管理し、双方のバッファ内の通話データが、時刻的に途切れがないような時刻をハンドオーバ時刻と決定し、その時刻以降の通話データ(D103a)を、バッファ301の通話データ(D101a)からバッファ302の通話データ(D102a)へと切り替える。ただし通信網#2と通信網#3との遅延差が大きいなどの理由で、両バッファ内で時刻的に重複するようなデータが格納されていない場合については、極力、時刻の差が少なくなるような時刻をハンドオーバ時刻と決定して、上記の通話データの切替を行う。
Here, the
ハンドオーバサーバ100において行われるハンドオーバ処理204もハンドオーバ処理203と同様である(図4参照)。すなわち上記のように2つの通話セッションが確立された時点では、ハンドオーバサーバ100におけるハンドオーバ処理部101では、通信網#2(108)を経由して受信される通話データ(D101b)と、通信網#3(107)を経由して受信される通話データ(D102b)とが、それぞれバッファ401と402とに格納されている。ハンドオーバ処理204においては、それぞれのバッファに格納されている通話データの時刻情報を管理し、双方のバッファ内の通話データが、時刻的に途切れがないような時刻をハンドオーバ時刻と決定し、その時刻以降の通話データ(D100b)を、バッファ401の通話データ(D101b)からバッファ402の通話データ(D102b)へと切り替える。ただし通信網#2と通信網#3との遅延差が大きいなどの理由で、両バッファ内で時刻的に重複するようなデータが格納されていない場合については、極力、時刻の差が少なくなるような時刻をハンドオーバ時刻と決定して、上記の通話データの切替を行う。
The
ハンドオーバサーバ100におけるハンドオーバ処理204が終了すると、ハンドオーバサーバ100のハンドオーバ処理部101は、ハンドオーバ完了メッセージ(M211)をハンドオーバ端末105へ送信する。ハンドオーバ端末105は、ハンドオーバ完了メッセージ(M211)を受信することで、ハンドオーバサーバ100のハンドオーバ処理204の終了を知る。自身のハンドオーバ処理203と、ハンドオーバサーバ204とが終了すると、ハンドオーバ端末105は通信網#2経由でBYEメッセージ(M212)をハンドオーバサーバ100に送信し、自身は通信網#2経由でのハンドオーバサーバへ送信する通話データ(D101b)の送信を終了する(205)。ハンドオーバサーバ100は、BYEメッセージ(M212)を受信すると、自身は通信網#2経由でのハンドオーバ端末105への通話データ(D101a)の送信を停止し(206)、OKメッセージ(M213)をハンドオーバ端末105へ送信する。以上のように、通信網#2の通話セッションが終了することで、通信網#2から通信網#3への通話セッションのシームレスな切替が実現できる。上述の例は、ハンドオーバ端末105とハンドオーバサーバ100とは、双方におけるハンドオーバ処理が完了してから、それぞれにおける通話データの送信が停止され、通信網#2の通話セッションが終了されるケースである。
When the
一方、ハンドオーバ端末105とハンドオーバサーバ100とは、自身のハンドオーバ処理完了を待つことなく、他方のハンドオーバ処理が終了した時点で他方への通話データの送信を停止するような動作も可能である。この場合の処理について図7を用いて説明する。
On the other hand, the
図7において、ハンドオーバ端末105とハンドオーバサーバ100の双方でそれぞれハンドオーバ処理203、および204が実行されるまでの流れは既述と同様である。ここで、ハンドオーバ端末105は、ハンドオーバ処理203が完了したとき、ハンドオーバ完了メッセージ(M700)をハンドオーバサーバ100へ送信する。ハンドオーバサーバ100は、この完了メッセージ(M700)を受信すると、通信網#2への通話データの送信を停止する(206)。そしてハンドオーバサーバ100は、ハンドオーバ処理204が完了したとき、ハンドオーバ完了メッセージ(M701)をハンドオーバ端末105へ送信する。ハンドオーバ端末105は、完了メッセージ(M701)を受信した時点で、ハンドオーバ端末、ハンドオーバサーバ双方でハンドオーバ処理が完了したことを知り、通信網#2経由でBYEメッセージ(M212)をハンドオーバサーバ100へ送信する。そしてハンドオーバ端末105は、ハンドオーバサーバ100への通話データの送信を停止する(205)。その後、ハンドオーバサーバ100は、BYEメッセージ(M212)に対するOKメッセージ(M213)をハンドオーバ端末105へ返す。このように通信網#2の通話セッションが終了することで、通信網#2から通信網#3への通話セッションのシームレスな切替が実現できる。
In FIG. 7, the flow until the handover processes 203 and 204 are executed in both the
上述のように、本発明の実施形態1による電話ハンドオーバシステムでは、2端末間にハンドオーバ機能を提供するハンドオーバサーバを設置し、ハンドオーバサーバが2端末間の通話セッションを中継する仕組みを導入する。そしてこのハンドオーバサーバとハンドオーバ端末の間に、同一の通話データのセッションを同時に確立することができる。そしてハンドオーバ端末とハンドオーバサーバはそれぞれ、これらのセッションにおいて受信される二つの通話データの再生時刻を取得し、極力中断が発生しないようにタイミングを決めて双方のデータの切替を行う。よって、従来の片方向の配信サービスのみでしか実現できなかったシームレスハンドオーバ機能を、IP電話のような双方向通信サービスでも実現することが可能となる。
As described above, in the telephone handover system according to
本発明の実施形態2は、実施形態1の変形例として、ハンドオーバ端末105のハンドオーバ処理部111が、音声処理部112から渡される通話データD103bをハンドオーバサーバへ送出する際に、バッファへ蓄積後、一定のバッファ量に達してからハンドオーバサーバ100へ通話データD103bを送出する構成をとる。同様にハンドオーバサーバ100のハンドオーバ処理部101が、電話端末104から送られる通話データD100aをハンドオーバ端末105へ送出する際に、バッファへ蓄積後、一定のバッファ量に達してからハンドオーバ端末105へ送出する構成をとる。本発明の実施形態2によると、ハンドオーバ端末105、ハンドオーバサーバ100とも、送出時にバッファである程度の遅延を設けることで、通信網へのパケット送出時のレートの変動やジッタなどの影響を軽減することができる。
In a second embodiment of the present invention, as a modification of the first embodiment, when the
本発明の実施形態3は、実施形態2の変形例として、監視されたスループットに応じてコーデックやコンテンツビットレートを変更する構成をとる。本発明の実施形態3によると、送出時のコーデックやビットレートを、スループットに適応させることで、パケットロスを減少させることができる。
The third embodiment of the present invention has a configuration in which the codec and the content bit rate are changed according to the monitored throughput as a modification of the second embodiment. According to
本発明の実施形態4は、実施形態1の変形例として、音声のみではなく、映像処理機能も含める構成をとる。映像データに対しても、実施例1の通話データと全く同様の構成を追加することで、IP−TV電話サービスに対してもシームレスなハンドオーバ機能を実現できる。 The fourth embodiment of the present invention has a configuration including not only audio but also a video processing function as a modification of the first embodiment. A seamless handover function can also be realized for the IP-TV telephone service by adding the same configuration as the call data of the first embodiment to the video data.
本発明の実施形態5は、図2と図7で示した実施形態1におけるシーケンスに、ハンドオーバ処理が失敗した場合の処理を含めたシーケンスにより動作する。ここで、ハンドオーバ処理が失敗する現象とは、新たな通信網#3に通信経路を切り替えたが、通信網#3におけるスループットが不足し、通話を継続するに十分な通話データが受信されないことを意味する。
The fifth embodiment of the present invention operates according to a sequence including the process in the case where the handover process fails in the sequence in the first embodiment shown in FIGS. Here, the phenomenon in which the handover process fails is that the communication path is switched to the new
図2では、ハンドオーバ端末105とハンドオーバサーバ100とは、双方におけるハンドオーバ処理が完了するまで、それぞれにおける通話データの送信は停止されない。すなわち、ハンドオーバ処理の失敗時にも、通信網#2と通信網#3の両方で通話データの送信が双方向で行われている。本実施形態のハンドオーバシステムでは、ハンドオーバ処理の失敗時には、ハンドオーバ実行前の通信網(通信網#2)か、ハンドオーバ実行後の通信網(通信網#3)かのいずれかに、双方向通信の経路が戻るように動作する。
In FIG. 2, the
図5を用いて、ハンドオーバ処理失敗時に、ハンドオーバ通信網#2へ、双方向通信の経路を戻す処理の流れを説明する。図5において、ハンドオーバ端末105とハンドオーバサーバ100の双方でそれぞれハンドオーバ処理203、および204が実行されるまでの流れは既述と同様である。ハンドオーバサーバ100は、ハンドオーバ処理204が失敗すると、ハンドオーバ失敗メッセージ(M500)をハンドオーバ端末105へ送信する。ハンドオーバ端末105は、ハンドオーバ失敗メッセージ(M500)を受信すると、ハンドオーバ処理203を中止する(501)。
The flow of processing for returning a bidirectional communication path to the handover
このハンドオーバ中止処理501は、ハンドオーバ失敗メッセージ(M500)を受信した時点で、もしもハンドオーバ処理203が音声処理部112へ送られる通話データが、通信網#2から受信したデータである場合には、音声処理部112へ送る通話データを通信網#3経由へ切り替える動作を停止する。もしもハンドオーバ処理203が音声処理部112へ送られる通話データが、通信網#3から受信したデータである場合には、音声処理部112へ送る通話データを通信網#2経由へシームレスに切り替える動作を実行する。
This handover cancellation process 501 is a voice message if the call data sent to the
ハンドオーバ端末105は、このハンドオーバ中止処理501により、通話データの受信経路が通信網#2となった時点で、BYEメッセージ(M212)を通信網#3経由でハンドオーバ端末100へ送信する。そしてハンドオーバ端末105は、ハンドオーバサーバ100への通信網#3経由による通話データの送信を停止する(205)。
The
その後、ハンドオーバサーバ100は、BYEメッセージ(M212)を受信すると、ハンドオーバ端末105への通信網#3経由による通話データの送信を停止し(206)、OKメッセージ(M213)をハンドオーバ端末105へ返す。以上に述べた流れにより、ハンドオーバサーバにおいてハンドオーバ処理が失敗した場合でも、ハンドオーバ実行前の通信網に双方向通信経路を戻すことが可能である。このような動作は、通信網#3に比べ、通信網#2が比較的安定していることが期待されるような状況において有効である。
Thereafter, when the
逆に、通信網#2に比べて、通信網#3の方が安定していることが期待できるような状況においては、ハンドオーバ処理が失敗したときに、通信網#2へ通信経路を戻さずに、通信網#3への切替を繰り返し実行する方が、通信を継続できる可能性が高い。
Conversely, in a situation where it can be expected that
図6を用いて、ハンドオーバ処理が失敗したときに、通信網#3への切替を繰り返し試行するときの処理の流れを示す。図6において、ハンドオーバ端末105とハンドオーバサーバ100の双方でそれぞれハンドオーバ処理203、および600が実行されるまでの流れは既述と同様である。ここでハンドオーバ処理600は、既に述べたハンドオーバ処理204に対し、ハンドオーバが失敗した場合でも、図5で述べたようなハンドオーバ失敗通知メッセージを送信せずに、通信網#3からの通話データ受信が安定するまで繰り返し、切替を試みる機能が付加されたものである。すなわち、ハンドオーバ処理600が完了し、通信網#3からの通話データが音声処理部101へ供給されるまで、ハンドオーバ処理は完了しない。ハンドオーバ処理が完了するまでの間、通信網#2と通信網#3の両方において、双方向の通話データの送受信が行われる。ハンドオーバ処理600が完了した以降の処理の流れは、既に述べた通りである。
FIG. 6 shows the flow of processing when repeatedly trying to switch to the
図7に、図2と異なるハンドオーバ処理(成功例)を示す。図7と図2との違いは、ハンドオーバ端末105とハンドオーバサーバ100とは、自身のハンドオーバ処理完了を待つことなく、他方のハンドオーバ処理が終了した時点で他方への通話データの送信を停止ることのみである。これ以外については図2のものと同様である。
FIG. 7 shows a handover process (success example) different from FIG. The difference between FIG. 7 and FIG. 2 is that the
ハンドオーバ処理メッセージ完了したときのハンドオーバ端末の処理について、図8を用いて説明する。ここでは、図7のようなケースにおいて、ハンドオーバ処理が失敗した場合の動作について説明する。 The process of the handover terminal when the handover process message is completed will be described with reference to FIG. Here, the operation when the handover process fails in the case shown in FIG. 7 will be described.
図8では、通信網#2においては、上り(端末->サーバ)方向のスループットが下り(サーバ->端末)に比べて良好であり、通信網#3においては、下り方向のスループットが上りに比べて良好であるような状況を想定している。図8において、ハンドオーバ端末105とハンドオーバサーバ100の双方でそれぞれハンドオーバ処理203、および204が実行され、ハンドオーバ処理203が完了する。その後、完了メッセージ(M700)がハンドオーバサーバ100へ通知される。そして、ハンドオーバサーバ100にて通信網#2への通話データ送信が停止される(206)。ここまでの処理の流れは、図7の流れと同様である。
In FIG. 8, in the
この状態では、通信網#3では双方向の通話データが、通信網#2では、上り(端末->サーバ)向きの通話データがそれぞれ送られている(D800)。ハンドオーバサーバ100は、ハンドオーバ処理204において、通信網#3への切替処理に失敗すると、ハンドオーバ失敗通知メッセージ(M701)をハンドオーバ端末105へ送信する。ハンドオーバ端末105は、メッセージ(M701)を受信しても、ハンドオーバ処理203を継続し、通信網#3への通話データの送信を停止する(205)。この状態では、上り方向の通信では通信網#2が、下り方向の通信では通信網#3がそれぞれ通信経路として使用されている。
In this state, two-way call data is sent in
もしもそれぞれの通信網がこの状態で安定していれば、この通信形態のまま継続することが可能である。もしこの状態から、仮に通信網#3の上り方向のスループットが回復した場合には、ハンドオーバサーバ100は、ハンドオーバ端末105へ、通信網#3を経由した通話データの再送信要求メッセージを送信する(M800)。
If each communication network is stable in this state, it is possible to continue in this communication mode. If the uplink throughput of the
ハンドオーバ端末105は、上記メッセージ(M800)を受信すると、送話データを通信網#3を経由してハンドオーバサーバ100へ送信する。この状態では、通信網#3では双方向の通話データが、通信網#2では、上り(端末->サーバ)向きの通話データがそれぞれ送られている(D802)。ハンドオーバサーバ100は、この状態の間にハンドオーバ処理204を再実行し、通信網#3への切替を試みる。以降、ハンドオーバ処理204が成功した際の処理は図7と同様である。
When receiving the message (M800), the
上述の内容では、ハンドオーバサーバ100においてハンドオーバ処理が失敗したケースについて説明してきたが、ハンドオーバ端末105においてハンドオーバ処理が失敗したケースについても同様に適用可能である。
In the above description, the case where the handover process has failed in the
本発明の実施形態6は、図9に示すように、ハンドオーバ端末がプライベート通信網に属し、ハンドオーバサーバがグローバル通信網に属するようなハンドオーバシステムにおいて、NAT(Network Address Translator)越え機能を備えるものである。例えば、図1において通信網#1はグローバル通信網903であり、通信網#2と通信網#3の少なくともいずれか一つが、プライベート通信網904であるような場合に相当する。
As shown in FIG. 9, Embodiment 6 of the present invention has a NAT (Network Address Translator) traversal function in a handover system in which a handover terminal belongs to a private communication network and a handover server belongs to a global communication network. is there. For example, in FIG. 1, the
実施形態6の具体的な例としては、通信網#1がインターネット、通信網#2が家庭やオフィス内のプライベートな無線LAN通信網、通信網#3が携帯電話網に接続されるグローバル通信網である構成が典型的である。プライベート通信網とグローバル通信網との間にはルータが存在し、ルータは一般的にNAT機能を備える。NATとは、プライベート通信網のIPアドレスと、グローバル通信網のIPアドレスとを透過的に相互変換することにより、一つのグローバルIPアドレスを、プライベート通信網内の複数のコンピュータにより共有することを可能とする技術である。なお、本発明では、特に断りのない限り、NATとは、IPアドレスとポート番号を変換するNAPT(Network Address/Port Translation)を指すこととする。
As specific examples of the sixth embodiment, the
NATではポート番号の変更が行われるため、グローバル通信網上のコンピュータからプライベート通信網上のコンピュータへのアクセスが行えない。このため、ハンドオーバサーバからハンドオーバ端末へSIPメッセージや音声データの送信を行うためには、NATを越えるための何らかの手法が実装される必要がある。 In NAT, since the port number is changed, the computer on the global communication network cannot access the computer on the private communication network. For this reason, in order to transmit an SIP message or voice data from the handover server to the handover terminal, it is necessary to implement some method for exceeding NAT.
NAT越えの手法としてはいくつか存在するが、ここではUDPホールパンチングと呼ばれる手法を用いた実施形態について図10から図17を用いて説明する。ただしこれらの図では、ハンドオーバ端末とハンドオーバサーバの間のNAT越え通信のみについて説明する。ハンドオーバサーバより先の電話端末との通信は、これらの図では省略されているが、実施形態1と同様である。 There are several NAT traversal techniques. Here, an embodiment using a technique called UDP hole punching will be described with reference to FIGS. However, in these figures, only NAT traversal communication between the handover terminal and the handover server will be described. Communication with telephone terminals ahead of the handover server is omitted in these figures, but is the same as in the first embodiment.
図10を用いて、SIPメッセージ交換のNAT越えの方法について説明する。ハンドオーバ端末902、ハンドオーバサーバ900はともに、NAT越えを行うための機能を有する。ハンドオーバ端末902は、SIPソケットを作成し(1001)、そのソケット(すなわちSIP用のポート番号)を使用してハンドオーバサーバ900に対し、グローバルアドレス要求メッセージ(M1000)を送信する。ここで、ソケットとは、通信プログラムのAPI(Application Program Interface)において、IPアドレス、ポート番号、プロトコルになどを指定して通信を行うたまに作成される記述子であり、このソケットを引数として通信プログラムはAPIを用いた通信を実現する。また、グローバルアドレスとは、NATがプライベート通信網からグローバル通信網へ送られるパケットに割り当てるグローバルIPアドレスと、ポート番号の対を意味する。
With reference to FIG. 10, a NAT message crossing method for SIP message exchange will be described. Both the
メッセージM1000は、UDPパケットとして送信される。以降、特に断りのない限り、図10から図17に記されているメッセージは全てUDPパケットにより送信されていることとするが、TCPパケットであっても同様に適用できる。また、メッセージM1000の送信先のポート番号は、ハンドオーバサーバ900で用意したNAT越え処理専用のポート番号である。このポート番号はハンドオーバサーバで予め設定済みであり、ハンドオーバ端末に既知の値とする。すなわちハンドオーバサーバ900では、NAT越え処理用のソケットは予め作成されているものとする(図10では省略)。
Message M1000 is transmitted as a UDP packet. Hereinafter, unless otherwise specified, it is assumed that all the messages shown in FIGS. 10 to 17 are transmitted as UDP packets, but the same applies to TCP packets. The port number of the transmission destination of the message M1000 is a port number dedicated for NAT traversal processing prepared by the
ハンドオーバサーバ900は、このメッセージパケットM1000にマッピングされたグローバルアドレス(NAT上のポート番号と、グローバルIPアドレス)を取得し、メッセージM1001により、グローバルアドレスをハンドオーバ端末902へ通知する。
The
以上により、ハンドオーバサーバ900は、取得したグローバルアドレスに対し、SIPメッセージを格納したUDPパケットを送信することで、UDPによるSIPメッセージを、NATを越えてハンドオーバ端末902へ送信することができる。ただし、このマッピングを用いた通信が全く無い状態がある程度の時間続くと、マッピング情報がルータ内で削除されてしまう。このためハンドオーバ端末902は、SIP用のポート番号を発信元として、定期的にダミーのUDPパケットを前記グローバルアドレスに対して送信することで、マッピング情報を維持する(D1002)。ハンドオーバサーバ900は、受信したダミーデータを単に破棄する。
As described above, the
次に、図11を用いてハンドオーバ端末側からの発呼によるハンドオーバサーバとの通話までの流れについて説明する。ハンドオーバ端末902は、端末利用者が電話をかけるなどの発呼のアクションを実行することで発呼を開始すると、RTPとRTCP用のソケットを生成する(1101)。RTPソケットは、音声通話データ(RTPパケット形式)を送受信するためのソケット、RTCPソケットは送受信結果に関する統計情報(RTCPパケット)を送受信するためのソケットである。
Next, a flow up to a call with the handover server by a call from the handover terminal will be described with reference to FIG. The
そして、RTP用ソケットとRTCP用ソケット(すなわちそれぞれ、RTP用ポート番号とRTCP用のポート番号とが発信元となる)を使用して、それぞれハンドオーバサーバ900に対し、グローバルアドレス要求メッセージ(M1100)を送信する。ここで、M1100は、RTP用のグローバルアドレス要求メッセージと、RTCP用のグローバルアドレス要求メッセージの両方を意味するものである。
Then, a global address request message (M1100) is sent to the
送信先のポート番号は、NAT越え処理専用のポート番号とする(図10と同様)。ハンドオーバ端末900は、このメッセージM1100にマッピングされたグローバルアドレスを調べ、メッセージM1101により、このグローバルアドレスをハンドオーバ端末902へ通知する。
The destination port number is a port number dedicated to NAT traversal processing (same as in FIG. 10). The
ここで、M1100は、RTP用のグローバルアドレス返送メッセージと、RTCP用のグローバルアドレス返送メッセージの両方を意味するものである。ハンドオーバ端末902は、受信したグローバルアドレスの中のポート番号を取得し、これを含むようなSDP(Session Description Protocol)メッセージを生成する(1102)。SDPはRFC2327に規定される、セッション情報を記述するためのメッセージプロトコルである。
Here, M1100 means both a global address return message for RTP and a global address return message for RTCP. The
このSDPメッセージの例を図21に示す。同図で示すSDPメッセージのうち、“m=”の行が、メディアタイプとトランスポート情報を記述するために必須な内容である。“m=”行の2番目の値(=49000)が、このメディア(すなわち音声)を受信するためのポート番号を表す。このポート番号の値を、前記メッセージM1101で通知されたポート番号とする。他の行については、本発明内容と直接関わりはないため省略するが、詳細はRFC2327を参照されたい。 An example of this SDP message is shown in FIG. In the SDP message shown in the figure, the line “m =” is essential for describing the media type and transport information. The second value (= 49000) in the “m =” row represents the port number for receiving this medium (ie, voice). The value of this port number is set as the port number notified by the message M1101. Other lines are omitted because they are not directly related to the contents of the present invention, but refer to RFC2327 for details.
ハンドオーバ端末902は、図10で既に述べたSIP用ポート番号を使い、INVITEメッセージM1102をハンドオーバサーバ900へ送信する。以降、図11から図17において、ハンドオーバ端末902からハンドオーバサーバ900へ送信されるSIPメッセージは、全て図10で述べたSIP用ポート番号が使用される。INVITEメッセージ(M1102)には、前述のSDPメッセージ(1102)が含まれており、ハンドオーバサーバ900は、このSDPメッセージの中のポート番号を取得する。その後、ハンドオーバサーバ900は、RTP/RTCP用ソケットを作成(1103)し、自身のRTP/RTCP用ポート番号を含むSDPメッセージを作成し、受信準備が完了した後、RINGING(M1103)を送信する。
The
RINGINGの送信先は、図10で述べた処理において取得済みの、SIPメッセージ用のグローバルアドレスである。以降、図11から図17において、ハンドオーバサーバ900からハンドオーバ端末902へ送信されるSIPメッセージの送信先は、図10、もしくは図13(後述)で述べた処理によって予めハンドオーバサーバから通知されたSIPメッセージ用のグローバルアドレスである。その後、ハンドオーバサーバ900にて、ハンドオーバ端末902への応答準備が完了すると、OK(M1104)を送信する。
The transmission destination of RINGING is a global address for SIP message that has been acquired in the processing described in FIG. Thereafter, in FIGS. 11 to 17, the destination of the SIP message transmitted from the
ハンドオーバ端末902は、その後ACK(M1105)をハンドオーバサーバ900へ返す。以上により、通話用セッションが確立され、通話データの送受信が開始される(D1101)。このとき、ハンドオーバサーバ900からハンドオーバ端末902へ送信される通話データの送信先IPアドレスは、M1101で通知したグローバルアドレス内のグローバルIPアドレスである。
The
また、ハンドオーバサーバ900からハンドオーバ端末902へ送信される通話データ(RTPパケット)の送信先ポート番号は、INVITE(M1102)内のSDPメッセージで示されるポート番号である。ただし、通常は、通話データ(RTPパケット)に対応するRTCPパケットの送信先ポート番号は、RTPポート番号に1を加えた値である。以上により、ハンドオーバ端末から発呼した場合の通話のNAT越えが実現できる。
The destination port number of the call data (RTP packet) transmitted from the
ハンドオーバサーバが発呼する場合の通話のシーケンスを図12に示す。図11と比べて、発呼開始がハンドオーバサーバ900から起こるため、RTP/RTCPソケット生成(1101、1103)とSDPメッセージ作成(1102、1104)の順序が異なることや、SIPメッセージの方向が異なること以外は、同様である。
FIG. 12 shows a call sequence when the handover server makes a call. Compared to FIG. 11, since the call origination starts from the
図11と図12では、それぞれ端末側からの発呼、およびサーバ側からの発呼開始後にグローバルアドレス取得のためのメッセージ交換(M1100、M1101)が行われた。しかし、シームレスハンドオーバを実現するためには、切替前の通信網経由のデータのバッファが枯渇しない間に、切替後の通信網にて呼を確立し、音声通話を開始しなければならない。従って、発呼から通話開始までに要する時間は短い方が望ましい。特に通信網の遅延が大きい場合には、発呼後のメッセージ交換は少しでも少ない方が望ましい。メッセージ交換を少なくする処理の流れの例を、図17を用いて説明する。 In FIG. 11 and FIG. 12, message exchange (M1100, M1101) for global address acquisition was performed after the call from the terminal side and the start of the call from the server side, respectively. However, in order to realize seamless handover, it is necessary to establish a call on the communication network after switching and start a voice call while the data buffer via the communication network before switching is not exhausted. Therefore, it is desirable that the time required from the call origination to the start of the call is short. Especially when the delay of the communication network is large, it is desirable that the message exchange after the call is as small as possible. An example of the flow of processing for reducing message exchange will be described with reference to FIG.
図17では、図10のSIP通信のNAT越えが完了後、ハンドオーバサーバ、ハンドオーバ端末の発呼、着呼を待たずに、双方ともすぐにRTP、およびRTCP用ソケットを生成する。その後すぐにハンドオーバ端末902は、RTP、およびRTCP通信のためのグローバルアドレス要求メッセージ(M1100)を送信し、ハンドオーバサーバ900はグローバルアドレスを返す(M1101)。
In FIG. 17, after the NAT traversal of SIP communication in FIG. 10 is completed, both the RTP and RTCP sockets are generated immediately without waiting for the handover server and the handover terminal to make and receive calls. Immediately thereafter, the
その後、ハンドオーバ端末902は、RTP、およびRTCP用ポートを発信元ポート番号として、定期的にホールパンチングのためのダミーパケットをハンドオーバサーバ900へ送信する(D1003)ことで、NAT901におけるマッピングを維持させる。このように、実際の発呼が始まる前にグローバルアドレスを取得しておくことで、図11および図12において、グローバルアドレスの取得が不要となるため、発呼から通話開始までの時間を短縮できる。
Thereafter, the
ハンドオーバ端末902は、通話する相手の数は通常一つ(ハンドオーバサーバ900)なので、予めRTP、およびRTCP用のソケットを生成しておくことは容易である。しかしハンドオーバ端末900は、不特定多数のハンドオーバ端末と通話を行う。このため、ハンドオーバ端末900では、予め複数のハンドオーバ端末を想定し、RTP、およびRTCPソケットをN組用意しておき、不足してきたらさらにN組追加して用意する、などの管理が必要となる。
Since the
これまでに述べたNAT越えの例では、図10ではハンドオーバサーバ900におけるNAT処理用ポート番号とSIP用ポート番号とは異なっていた。同様に、図11、図12における、NAT処理用ポート番号とRTP、及びRTCP用ポート番号とはそれぞれ異なっていた。すなわち図10〜図13では、ハンドオーバサーバ900からNAT901へパケットを送信する際、発信元ポート番号に関係なく、NAT901で変換されるハンドオーバ端末902の宛先ポート番号は同じ値となることを想定していた。
In the example of NAT traversal described so far, in FIG. 10, the NAT processing port number and the SIP port number in the
しかしながら、NATの種類によっては、上記のような想定が成り立たない場合がある。この例としては、対称型NATやポート制限付きコーン型NATなどが挙げられる。これらのNATでは、プライベート網内部ホストがグローバル網へパケット送信したIPアドレスとポートアドレスの外部ホストのみが内部ホストへ通信することができるように制限が加えられる。 However, depending on the type of NAT, the above assumption may not hold. Examples of this include a symmetrical NAT and a port-limited cone NAT. In these NATs, restrictions are imposed so that only an external host having an IP address and a port address transmitted by a private network internal host to the global network can communicate with the internal host.
すなわち、図12の例では、ハンドオーバサーバ900から送信されるNAT901へ送信されるメッセージM1101の発信元ポート番号はNAT処理用ポート番号(#P1)であり、M1101の宛先ポート番号(#P2)はNAT901によりハンドオーバ端末902のRTP用ポート番号(#P3)へ変換される。
That is, in the example of FIG. 12, the source port number of the message M1101 transmitted from the
このとき、図12のNAT越えの場合、ハンドオーバサーバ900では、ポート番号(#P2)と異なるRTP用ポート番号(#P4)を発信元ポート番号として、NAT901へパケットを送信しても、ポート番号(#P3)へ変換される。しかし、対称型NATでは、前記RTP用ポート番号へ変換されるには、ハンドオーバサーバ900から送られるパケットの発信元ポート番号が、ポート番号(#P2)である必要がある。
At this time, in the case of exceeding NAT in FIG. 12, the
このため図12の場合、上記対称型NATを想定したNAT越えを行うためには、次のことが必要となる。すなわち、ハンドオーバ端末902からRTPパケットを受信するときのグローバルアドレスを要求するときの宛先ポート番号が、ハンドオーバサーバ900が実際にRTPパケットを送信するときの発信元ポート番号(#P4)である必要がある。
Therefore, in the case of FIG. 12, in order to perform NAT traversal assuming the symmetric NAT, the following is necessary. That is, the destination port number when requesting the global address when receiving the RTP packet from the
以下、図13から図16を用いて、対称型NATを想定したNAT越えの処理の流れについて説明する。 Hereinafter, the flow of NAT traversal processing assuming a symmetric NAT will be described with reference to FIGS.
図13を用いて、SIP通信のNAT越えの処理を説明する。図10との違いは、ハンドオーバ端末902から送信されるグローバルアドレス要求メッセージ(M1000)の宛先ポート番号が、ハンドオーバサーバ900において予め定められたSIP処理用ポート番号となっている点である。ハンドオーバサーバ900では、このポート番号を指定されたSIP用ソケットを予め作成しておき(1002)、このSIP用ソケットを用いて(すなわち、SIP処理用ポート番号を発信元ポート番号として)グローバルアドレス返送メッセージ(M1001)を送信する。
With reference to FIG. 13, processing for NAT traversal of SIP communication will be described. The difference from FIG. 10 is that the destination port number of the global address request message (M1000) transmitted from the
これにより、対称型NAT(1301)において、M1001は正しく、ハンドオーバ端末902のSIP用ポート番号へ変換される。以降のホールパンチングのパケット送信(D1002)は、図10と同様である。よって、図13の構成の場合、ハンドオーバサーバ900において、SIP用ソケットにより受信するデータには、SIPメッセージのみならず、SIPメッセージに先立ったグローバルアドレス要求メッセージ(M1100)が含まれることになる。よってハンドオーバサーバ900では、上記2種類のメッセージを区別する必要がある。
As a result, in the symmetric NAT (1301), M1001 is correctly converted into the SIP port number of the
図14を用いて、ハンドオーバ端末902発呼時の、対称型NAT越えの処理について説明する。図11との違いは、一つには、ハンドオーバ端末902がグローバルアドレスを要求する(M1100)よりも先立ち、ハンドオーバサーバ900におけるRTP/RTCP用ポート番号が予め設定され、ハンドオーバ端末902に対して既知となっていることと、そのポート番号が指定されたRTP送信用ソケット、およびRTCP送信用ソケットが予め作成されていること(1103)である。そしてもう一つは、ハンドオーバ端末902が送信するグローバルアドレス要求メッセージM1100の宛先ポート番号、ハンドオーバサーバ900が送信するグローバルアドレス返送メッセージM1101の発信元ポート番号が、ハンドオーバサーバ900におけるRTP、およびRTCP送信用ポート番号であることである。
With reference to FIG. 14, a description will be given of the symmetric NAT traversal process when the
これらにより、RTP、およびRTCP送信用ソケットから送信されるパケットは、対称型NAT1301により、ハンドオーバ端末902のRTP受信用ポート番号、およびRTCP受信用ポート番号とへそれぞれ変換され、NAT越えが実現される。以降の処理は図11で述べた処理と同様である。ハンドオーバサーバ900は、RTP用ソケット、およびRTCP用ソケットにより受信するデータには、それぞれRTPパケット、RTCPパケットのみならず、グローバルアドレス要求メッセージ(M1100)が含まれているため、これらを区別して処理できる必要がある。
As a result, the packets transmitted from the RTP and RTCP transmission sockets are converted into the RTP reception port number and the RTCP reception port number of the
図15は、図14で述べた端末側発呼時の対称型NAT越え処理の変形例である。図15では、図14と異なり、ハンドオーバサーバ900において予め設定されたRTP、およびRTCP送信用ポート番号がハンドオーバ端末902に対して知らされていない、もしくは動的に設定されるケースを想定している。この場合、図15では、ハンドオーバ端末902が、ハンドオーバサーバ900に対し、RTP、およびRTCPポート番号を要求し(M1500)、これらのRTP、RTCPポート番号をそれぞれ返送する(M1501)処理を行う。メッセージM1500の宛先ポート番号、およびメッセージM1501の発信元ポート番号は、NAT処理用に予めハンドオーバサーバ、端末間で定められたポート番号とする。その後は図14と同様に、このRTP、RTCPポート番号に対してそれぞれグローバルアドレス要求メッセージ(M1100)を送信する。以降の処理は図14で述べた処理と同様である。
FIG. 15 is a modification of the symmetric NAT traversal process at the time of the terminal side call described in FIG. In FIG. 15, unlike FIG. 14, it is assumed that the RTP and RTCP transmission port numbers set in advance in the
図16は、端末側着呼時の対称型NAT越えの処理例を示した図である。図12との違いは、ハンドオーバ端末902から送信されるグローバルアドレス要求メッセージ(M1100)の宛先ポート番号と、ハンドオーバサーバ900から送信されるグローバルアドレス返送メッセージ(M1101)の発信元ポート番号とが、ハンドオーバサーバ900におけるRTP用、およびRTCP用ポート番号となっている点である。
FIG. 16 is a diagram showing a processing example of symmetric NAT traversal at the time of terminal-side incoming call. The difference from FIG. 12 is that the destination port number of the global address request message (M1100) transmitted from the
これにより、ハンドオーバサーバ900から送信されるRTP、およびRTCPパケットの宛先ポート番号が、対称型NAT1301においてハンドオーバ端末902のRTP用ポート番号、およびRTCP用ポート番号にそれぞれ変換され、ハンドオーバ端末902へ送信される。なお、図16では、ハンドオーバサーバ900におけるRTP、およびRTCP用ポート番号が、ハンドオーバ端末902において既知であることを前提としている。もしも、これらがハンドオーバ端末902で既知でない場合には、図15で述べた方法と同様に、ハンドオーバサーバ900におけるRTP、およびRTCPポート番号を取得するためのメッセージ交換(M1500、M1501)を予め行うことにより、ハンドオーバ端末902は、RTP及びRTCPポート番号を取得することが可能となる。
As a result, the destination port numbers of the RTP and RTCP packets transmitted from the
以上、図10から図16を用いて、通常(非制限な)NAT、および対称型NATのNAT越えの処理について、UDPホールパンチングを例として説明したが、本発明ではNAT越えの手法として必ずしもUDPホールパンチングに限定されるものではない。例えば、プライベート通信網とグローバル通信網の間のルータが、UPnP(Universal Plug and Play)に対応するルータであれば、UPnPを利用し、ハンドオーバ端末がNATに対してポートマッピングの設定をNATに対して行う。これにより、NATでマッピングされるグローバルアドレスを取得し、このグローバルアドレスをハンドオーバサーバへ送信することで、上記と同様にNAT越えを実現することが可能である。 As described above, the normal (non-restricted) NAT and the NAT traversal processing of the symmetric NAT have been described using the UDP hole punching as an example, but the present invention does not necessarily use the UDP traversal method as the NAT traversal technique. It is not limited to hole punching. For example, if the router between the private communication network and the global communication network is a router that supports UPnP (Universal Plug and Play), UPnP is used, and the handover terminal sets port mapping settings for NAT to NAT. Do it. As a result, it is possible to achieve NAT traversal in the same manner as described above by acquiring a global address mapped by NAT and transmitting this global address to the handover server.
本発明の実施形態7は、実施形態1の電話ハンドオーバシステムにおけるハンドオーバ端末において、シームレスなハンドオーバが実現できない場合に、聴覚上の音声品質劣化の修正処理(以下、隠蔽処理とも呼ぶ)を行うハンドオーバシステムである。
図18に、本発明の実施形態7のハンドオーバ端末の構成を示す。同図におけるエラー修正部(隠蔽部)1802が、実施形態1に新たに追加された部分であり、他は実施形態1と同様である。デコーダ1801は、通話データD103a(音声フレームデータ)を、音声のデータレートに従って取得し、これをデコードし、サンプルデータ(音声波形データ)を生成する。従って、デコーダ1801に渡される通話データD103aに、通信時のパケットロス等により、時間的な不連続(相違)が生じていたとしても、再生時刻に関係なく、連続してエラー隠蔽部1802へ、D1810として渡される。なお、このD1810には、音声サンプルデータに加え、そのサンプルデータの再生時刻情報も含まれる。エラー隠蔽部1802は、デコーダ1801が出力するサンプルデータに対して処理を加え、サンプルデータD1811として再生バッファへ渡す。
FIG. 18 shows the configuration of a handover terminal according to the seventh embodiment of the present invention. An error correction unit (a concealment unit) 1802 in the figure is a part newly added to the first embodiment, and the other parts are the same as those of the first embodiment. The
シームレスハンドオーバが失敗する場合とは、ハンドオーバ制御部1805により、ハンドオーバする時刻において、デコーダ1801へ渡される通話データD103aが、バッファ301とバッファ302の間で切り替わるときに、再生時刻に不連続な部分があるときに生じる。
When the seamless handover fails, when the call data D103a passed to the
図19および図20を用いて、ハンドオーバ時に不連続が生じる場合のエラー隠蔽部1802における処理について説明する。
Processing in the
図19は、バッファ301から、バッファ302へハンドオーバする際、バッファ301における通話データの再生時刻が、バッファ302におけるそれよりも遅れている場合の処理を示している。この場合、同図に示すように、各音声フレームに対応する音声波形は、時間的に間隙が生じたものとなる。この場合のエラー隠蔽部1802における処理としては、例えば下記のような処理のいずれかを行う。
(1)不連続なデータを詰める:再生時刻がスキップするという問題はあるが簡易かつ一瞬でデータの切替が終了する。
(2)無音状態とする:簡易かつ、再生時刻がスキップしないという利点はあるが、無音部分による聴覚的な劣化は大きい。
(3)ノイズや別の音で置換する:(2)に比べ、ノイズ音を間隙部に挿入することで、聴覚的な劣化が軽減できる。ノイズとしては、前フレームデータと同じ振幅の白色雑音ノイズなどが挙げられる。また、不連続な時間が長い場合には、ノイズではなく、メロディ音やメッセージなどの音声により、間隙部分を置換することで、ユーザの不快感を軽減することが可能である。
(4)前後の音声で置換する:欠落部分の前後の波形をそのまま置換することで、間隙全体を覆う。また両端からの波形の境界部分については平均値を取ることも可能である。不連続な時間が比較的短い場合には、前後の音で置換するだけでも聴覚的な劣化を避けられる場合がある。
(5)前後の音を伸張する:欠落部分の前後の波形を引き伸ばすことで、間隙全体を覆う。例えば、欠落部分の両端から欠落部分をカバーするようにピッチ周期を伸ばし、両端からの波形がぶつかる部分については平均値を取る、などの方法がある(これの詳細については、「H.Sanneck, A. Stenger, K.B.Younes, and B.Girod. 鄭 New Technique for Audio Packet Loss Concealment, IEEE Global Internet Symposium, London, December 1996.」を参照)。
FIG. 19 shows processing when the call data playback time in the
(1) Packing discontinuous data: Although there is a problem that the playback time is skipped, data switching is completed easily and instantaneously.
(2) Silence state: Although there is an advantage that it is simple and the reproduction time is not skipped, the auditory deterioration due to the silent part is large.
(3) Replacing with noise or another sound: Compared with (2), auditory deterioration can be reduced by inserting a noise sound into the gap. Examples of the noise include white noise noise having the same amplitude as the previous frame data. In addition, when the discontinuous time is long, it is possible to reduce the user's discomfort by replacing the gap portion with sound such as a melody sound or a message instead of noise.
(4) Replace with front and rear voices: The entire gap is covered by replacing the waveforms before and after the missing part. Further, it is possible to take an average value for the boundary portion of the waveform from both ends. If the discontinuous time is relatively short, auditory deterioration may be avoided by simply replacing the sound with the preceding and following sounds.
(5) Stretching the sound before and after: Covering the entire gap by stretching the waveform before and after the missing part. For example, the pitch period is extended so as to cover the missing part from both ends of the missing part, and the average value is taken for the part where the waveform from both ends collides (for details of this, see “H. A. Stenger, KBYounes, and B. Girod. See New Technique for Audio Packet Loss Concealment, IEEE Global Internet Symposium, London, December 1996.).
図20は、バッファ301から、バッファ302へハンドオーバする際、バッファ301における通話データの再生時刻が、バッファ302におけるそれよりも進んでいる場合の処理を示している。この場合、同図に示すように、各音声フレームに対応する音声波形は、時間的に逆転が生じたものとなる。この場合のエラー隠蔽部1802における処理としては、例えば下記のような処理のいずれかを行うことができる。
(1)不連続なデータを詰める:過去に再生済みのデータが再生されるという問題はあるが、簡易かつ一瞬でデータの切替が終了する。
(2)次の時刻のデータを受信するまで無音状態とする:簡易かつ、再生時刻がスキップしないという利点はあるが、無音部分による聴覚的な劣化は大きい。
(3)次の時刻のデータを受信するまで、ノイズや別の音で置換する:(2)に比べ、ノイズ音を間隙部に挿入することで、聴覚的な劣化が軽減できる。ノイズとしては、前フレームデータと同じ振幅の白色雑音ノイズなどが挙げられる。また、不連続な時間が長い場合には、ノイズではなく、メロディ音やメッセージなどの音声により、間隙部分を置換することで、ユーザの不快感を軽減することが可能である。
(4)次の時刻のデータが来るまで前の音声で置換する:欠落部分の前の波形をそのまま繰り返し置換することで、間隙全体を覆う。また両端からの波形の境界部分については平均値を取ることも可能である。不連続な時間が比較的短い場合には、前後の音で置換するだけでも聴覚的な劣化を避けられる場合があるが、長い場合には、聴覚的な品質劣化は大きい。
(5)次の時刻のデータが来るまで前の音を伸張する:欠落部分の前後の波形を引き伸ばすことで、間隙全体を覆う。例えば、欠落部分の前後から予め決めた割合で欠落部分をカバーするようにピッチ周期を伸ばす。次のデータの到着が遅いために、欠落部分をカバーできなかった場合は無音にするか、ゆるやかにフェードアウトするかなどを行ってもよい。
FIG. 20 shows processing when the call data playback time in the
(1) Packing discontinuous data: Although there is a problem that data that has been played back in the past is played back, the data switching ends easily and instantaneously.
(2) Silence state until data at the next time is received: There is an advantage that it is simple and the reproduction time is not skipped, but auditory deterioration due to the silent portion is large.
(3) Replace with noise or another sound until the next time data is received: Compared with (2), by inserting the noise sound into the gap, auditory deterioration can be reduced. Examples of the noise include white noise noise having the same amplitude as the previous frame data. In addition, when the discontinuous time is long, it is possible to reduce the user's discomfort by replacing the gap portion with sound such as a melody sound or a message instead of noise.
(4) Replacing with the previous voice until the next time data arrives: The entire gap is covered by repeatedly replacing the waveform before the missing part as it is. Further, it is possible to take an average value for the boundary portion of the waveform from both ends. In the case where the discontinuous time is relatively short, auditory deterioration may be avoided by simply replacing the sound with the front and back sounds.
(5) Extend the previous sound until the next time data comes: Cover the entire gap by stretching the waveform before and after the missing part. For example, the pitch period is extended so as to cover the missing portion at a predetermined rate from before and after the missing portion. Since the next data arrives late, if the missing part cannot be covered, it may be silenced or gently faded out.
本発明の実施形態8は、実施形態1の電話ハンドオーバシステムにおけるハンドオーバ端末において、端末の位置情報を外部から取得することにより、ハンドオーバを決定するハンドオーバシステムである。
図22に、本発明の実施形態8に係るハンドオーバ端末105の構成を示す。実施形態8では、ハンドオーバ端末へ位置情報を提供するロケーションサーバ2201が通信網#3に接続されていることを前提とする。ただし、ロケーションサーバ2201が接続している通信網は、必ずしも通信網#3である必要はなく、何らかの通信網を経由してハンドオーバ端末105から接続できればよい。以下、図22を用いてハンドオーバ端末105が位置情報を取得してハンドオーバを決定する流れについて説明する。
FIG. 22 shows the configuration of the
位置情報の取得処理は、ハンドオーバ端末105におけるハンドオーバ処理部111内の位置情報取得部2202にて行われる。位置情報取得部2202は、定期的にロケーションサーバ2201とメッセージ交換(M2210、M2211)を行い、最終的に位置情報を取得する。
このロケーションサーバと位置情報取得部2202との間のメッセージ交換の方法や測位方法は、本発明においては特に限定されるものではない。位置情報はロケーションサーバから渡されてもよいし、端末側でロケーションサーバからの情報を元に計算するものであってもよい。また測位方法も、GPS衛星を用いた方法や、基地局を衛星に見立てて位置情報を特定する方式や、複数の基地局間の伝送速度や遅延、電波強度などの情報から即位を行う方式などでもよい。
The location information acquisition process is performed by the location
A method for exchanging messages and a positioning method between the location server and the position
位置情報取得部2202は、何らかの方式により端末の位置情報を取得した後、この位置情報を含むメッセージM2212をマッピング情報管理部2203へ渡す。マッピング情報管理部2203は、メッセージM2212内の位置情報を受け取ると、その位置情報が示す位置では、通信網#2と通信網#3のどちらを利用するかを判定する。この判定を行うための、位置情報と通信網の選択のマッピング情報は、何らかの方法で予め端末に設定されていることとする。
The location
マッピング情報管理部2203は、この判定結果(すなわち端末がどちらの通信網を利用するか)を含むメッセージM2213を位置情報取得部2202へ渡す。このメッセージM2213は、位置情報取得部2202からハンドオーバ制御部1805へ渡される。ハンドオーバ制御部2213は、現在、通信網#2と通信網#3のどちらで通話が行われているかを常に把握している。ハンドオーバ制御部2213で、現在通信中の通信網と、メッセージM2213により送られる通信網とが異なる場合には、ハンドオーバを決定(図2中の201)する。ハンドオーバ決定以降の処理は図2で示した流れと同様である。
The mapping
このように、本実施形態にかかる電話ハンドオーバシステムによれば、通信の途中であっても、映像も含む電話サービスなどの双方向性通信サービスであっても、一時的に映像や音が中断することが防止される。よって、このような中断がなく通信網を切替えることが可能となり、ユーザは中断による不利益を受けずに上記通信サービスを継続することが可能である。 As described above, according to the telephone handover system according to the present embodiment, the video and the sound are temporarily interrupted even in the middle of communication or in a bidirectional communication service such as a telephone service including video. It is prevented. Therefore, it is possible to switch the communication network without such interruption, and the user can continue the communication service without suffering the disadvantage of interruption.
また本実施形態では、それぞれのセッションにてコーデックやビットレートを変更させることができるので、それぞれの通信網における現在のスループットに応じたビットレートでの通話を適時実現することが可能である。 In this embodiment, since the codec and the bit rate can be changed in each session, a call with a bit rate corresponding to the current throughput in each communication network can be realized in a timely manner.
また本実施形態では、ルータを介したプライベートな通信網とグローバルな通信網との間においても、通話の継続が可能である。 Further, in this embodiment, it is possible to continue a call between a private communication network via a router and a global communication network.
また本発明では、通信網の遅延等により切替前後の通話が不連続な場合であっても、隠蔽処理を行うことで通話切替の際の音声の主観的劣化を軽減できる。 Further, according to the present invention, even when a call before and after switching is discontinuous due to a delay in the communication network or the like, the subjective deterioration of the voice at the time of switching the call can be reduced by performing the concealment process.
以上に述べたように本発明によれば、特性が異なる複数の通信網や、通信速度の変動が激しい通信網においても、リアルタイム性の要求の高い双方向性通信サービスを、一時的な中断なく継続的に提供することが可能である。従って現在広く普及している携帯端末を利用することで、ユーザに対して利便性の高いサービスを提供することが可能である。 As described above, according to the present invention, even in a plurality of communication networks having different characteristics and a communication network in which the communication speed fluctuates greatly, a bidirectional communication service having a high real-time requirement can be obtained without temporary interruption. It can be provided continuously. Therefore, it is possible to provide a highly convenient service to the user by using a portable terminal that is widely spread now.
100、900…電話ハンドオーバサーバ
101…ハンドオーバ処理部(サーバ)
102…通話処理部(サーバ)
103…通信網インタフェース部(サーバ)
104…電話端末
105、902…ハンドオーバ端末
106、107、108…通信網
109…通信網インタフェース部(端末)
110…通信処理部(端末)
111…ハンドオーバ処理部(端末)
112…音声処理部(端末)
901…NAT
1301…シンメトリックNAT
2201…ロケーションサーバ
100, 900: Telephone handover server 101: Handover processing unit (server)
102 ... Call processing unit (server)
103 ... Communication network interface unit (server)
104 ...
110: Communication processing unit (terminal)
111 ... Handover processing unit (terminal)
112 ... Voice processing unit (terminal)
901 ... NAT
1301 ... Symmetric NAT
2201 Location server
Claims (22)
第1通信ネットワーク及び第2通信ネットワークの少なくともいずれかで上記第1端末との通話を確立するための通話処理部と、
上記第2端末から送信される通話データを上記第1及び第2通信ネットワークを介して前記第1端末へ同時に転送し、上記第1端末からの上記第1及び第2通信ネットワークを介して受信された通話データをバッファに蓄積して上記2の端末へ転送するハンドオーバ処理部と、
を備え、上記ハンドオーバ処理部は、該第1及び第2通信ネットワークの両方から受信される上記第1端末からの通話データの時刻情報に基づいて、上記通話データを上記第2端末へ転送する際に用いられる通信ネットワークの切り替えを行い、
上記切り替えに失敗した場合は、上記切替前の通信ネットワークを介しての通話、もしくは上記切り替えの再試行のいずれか一方の処理を実行することを特徴とするハンドオーバサーバ。 In a handover server for handing over a call between a first terminal and a second terminal,
A call processing unit for establishing a call with the first terminal in at least one of the first communication network and the second communication network;
Call data transmitted from the second terminal is simultaneously transferred to the first terminal via the first and second communication networks, and is received via the first and second communication networks from the first terminal. A handover processing unit for storing the received call data in a buffer and transferring the call data to the above-mentioned two terminals;
The handover processing unit transfers the call data to the second terminal based on time information of the call data from the first terminal received from both the first and second communication networks. Switch the communication network used for
A handover server characterized in that when the switching fails, a process of either a telephone call through the communication network before the switching or the switching retry is executed.
第1通信ネットワーク及び第2通信ネットワークの少なくともいずれかで上記第1端末との通話を確立するための通話処理部と、
上記第2端末から送信される通話データを上記第1及び第2通信ネットワークを介して前記第1端末へ同時に転送し、上記第1端末からの上記第1及び第2通信ネットワークを介して受信された通話データをバッファに蓄積して上記2の端末へ転送するハンドオーバ処理部と、
を備え、上記ハンドオーバ処理部は、該第1及び第2通信ネットワークの両方から受信される上記第1端末からの通話データの時刻情報に基づいて上記第1及び第2通信ネットワークの切り替えを行い、該切り替えられた通信ネットワークを介して上記通話データを上記第2端末へ転送し、
上記第1端末から第2端末へ通話データを送信するときは上記第1通信ネットワークを用い、上記第2端末から第1端末への通話データを送信するときは上記第2通信ネットワークを用いることを特徴とするハンドオーバサーバ。 In a handover server for handing over a call between a first terminal and a second terminal,
A call processing unit for establishing a call with the first terminal in at least one of the first communication network and the second communication network;
Call data transmitted from the second terminal is simultaneously transferred to the first terminal via the first and second communication networks, and is received via the first and second communication networks from the first terminal. A handover processing unit for storing the received call data in a buffer and transferring the call data to the above-mentioned two terminals;
The handover processing unit performs switching between the first and second communication networks based on time information of call data from the first terminal received from both the first and second communication networks, Transferring the call data to the second terminal via the switched communication network;
When the call data is transmitted from the first terminal to the second terminal, the first communication network is used. When the call data from the second terminal to the first terminal is transmitted, the second communication network is used. Feature handover server.
該受信部で受信したメッセージから発信元のグローバルアドレスを取得し、上記グローバルアドレスを含むメッセージを、上記グローバルアドレス宛てに送信する送信部と、
を含むことを特徴とするハンドオーバサーバ。 2. The handover server according to claim 1, wherein the call processing unit is at least one of a port number for NAT traversal processing, a port number for call establishment, a port number for call data, and a port number for call control. A receiver for receiving the sent global address request message;
A transmission unit that acquires a global address of a sender from a message received by the reception unit, and transmits a message including the global address to the global address;
A handover server comprising:
前記ハンドオーバサーバと、第1通信ネットワーク及び第2通信ネットワークの少なくともいずれか一方を介して通信可能な通信網インタフェース部と、
上記第1及び第2通信ネットワークを介して、上記ハンドオーバサーバとの間で並行して少なくとも2つの通話を確立する通話処理部と、
上記第1及び第2通信ネットワークに送話音声データを並行して送出し、該上記第1及び第2通信ネットワークから受信された通話データをバッファに蓄積するハンドオーバ処理部と、
上記ハンドオーバ処理部のバッファに蓄積された通話データをデコードして再生する音声処理部と、
を備え、上記ハンドオーバ処理部は、該第1及び第2通信ネットワークの両方から受信される上記ハンドオーバサーバからの通話データの時刻情報に基づいて、上記通話データを受信する際に用いる通信ネットワークの切り替えを行い、
上記切り替えに失敗した場合は、上記切替前の通信ネットワークを介しての通話、もしくは上記切り替えの再試行のいずれか一方の処理を実行することを特徴とする移動通信端末。 In a mobile communication terminal that communicates with a handover server,
A communication network interface capable of communicating via the handover server and at least one of the first communication network and the second communication network;
A call processing unit that establishes at least two calls in parallel with the handover server via the first and second communication networks;
A handover processing unit for transmitting transmission voice data in parallel to the first and second communication networks, and storing call data received from the first and second communication networks in a buffer;
A voice processing unit that decodes and reproduces the call data stored in the buffer of the handover processing unit;
The handover processing unit switches communication networks used when receiving the call data based on time information of the call data from the handover server received from both the first and second communication networks. And
A mobile communication terminal characterized in that, when the switching fails, a process of either a telephone call via the communication network before the switching or the switching retry is executed.
前記ハンドオーバサーバと、第1通信ネットワーク及び第2通信ネットワークの少なくともいずれか一方を介して通信可能な通信網インタフェース部と、
上記第1及び第2通信ネットワークを介して、上記ハンドオーバサーバとの間で並行して少なくとも2つの通話を確立する通話処理部と、
上記第1及び第2通信ネットワークに送話音声データを並行して送出し、該上記第1及び第2通信ネットワークから受信された通話データをバッファに蓄積するハンドオーバ処理部と、
上記ハンドオーバ処理部のバッファに蓄積された通話データをデコードして再生する音声処理部と、
を備え、上記ハンドオーバ処理部は、該第1及び第2通信ネットワークの両方から受信される上記ハンドオーバサーバからの通話データの時刻情報に基づいて、上記通話データを受信する際に用いる通信ネットワークの切り替えを行い、
上記ハンドオーバサーバへ通信データの送信するときは上記第1通信ネットワークを用い、上記ハンドオーバサーバから通信データを受信するときは上記第2通信ネットワークを使用することを特徴とする移動通信端末。 In a mobile communication terminal that communicates with a handover server,
A communication network interface capable of communicating via the handover server and at least one of the first communication network and the second communication network;
A call processing unit that establishes at least two calls in parallel with the handover server via the first and second communication networks;
A handover processing unit for transmitting transmission voice data in parallel to the first and second communication networks, and storing call data received from the first and second communication networks in a buffer;
A voice processing unit that decodes and reproduces the call data stored in the buffer of the handover processing unit;
The handover processing unit switches communication networks used when receiving the call data based on time information of the call data from the handover server received from both the first and second communication networks. And
A mobile communication terminal using the first communication network when transmitting communication data to the handover server and using the second communication network when receiving communication data from the handover server.
該取得されたグローバルアドレスから対応する上記移動通信端末のグローバルポート番号を取得して前記ハンドオーバサーバへ通知することを特徴とする移動通信端末。 9. The mobile communication terminal according to claim 8, wherein the call processing unit uses a known NAT traversal port number in the handover server as a destination, a call establishment global address, a call data global address. , Request and get one of the global addresses for call control,
A mobile communication terminal characterized in that a global port number of the corresponding mobile communication terminal is acquired from the acquired global address and notified to the handover server.
該取得された上記グローバルアドレスから上記移動通信端末のグローバルポート番号を取得して前記ハンドオーバサーバへ通知することを特徴とする移動通信端末。 9. The mobile communication terminal according to claim 8, wherein the call processing unit includes a known call establishment port number, call data port number, call control port number or call data port number in the handover server. Request and obtain a global address corresponding to the destination,
A mobile communication terminal characterized in that a global port number of the mobile communication terminal is acquired from the acquired global address and notified to the handover server.
上記取得した通話制御用のポート番号を宛先として、上記移動通信端末の通話制御用グローバルアドレスを要求して取得し、
該取得された上記通話制御用グローバルアドレスから上記移動通信端末の通話制御用グローバルポート番号を取得して前記ハンドオーバサーバへ通知することを特徴とする移動通信端末。 The mobile communication terminal according to claim 8, wherein the call processing unit requests and acquires a port number for call control of the handover server from the handover server,
Using the acquired call control port number as the destination, requesting and acquiring the call control global address of the mobile communication terminal,
A mobile communication terminal, wherein the call control global port number of the mobile communication terminal is acquired from the acquired call control global address and notified to the handover server.
上記ハンドオーバ処理部は、上記バッファに蓄積された通話データを、上記第1及び第2の通信ネットワークから受信した通話データの再生時刻に応じて切り替えて出力するハンドオーバ制御部を含み、
上記音声処理部は、上記ハンドオーバ制御部からの通話データをデコードするデコーダと、該デコーダによってデコードされた通話データが入力されるエラー修正部とを含み、
上記エラー修正部は、上記デコードされた通話データの切替前後における再生時刻の相違を修正することを特徴とする移動通信端末。 The mobile communication terminal according to claim 8, wherein
The handover processing unit includes a handover control unit that switches and outputs the call data stored in the buffer according to the reproduction time of the call data received from the first and second communication networks,
The voice processing unit includes a decoder that decodes the call data from the handover control unit, and an error correction unit that receives the call data decoded by the decoder,
The mobile communication terminal, wherein the error correction unit corrects a difference in reproduction time before and after switching of the decoded call data.
前記他の音声は、予め用意された音データ、受信済みの通話データを元に作成された音データ、上記切替前の通話データ、または上記切替前後の通話データを時間的に伸張して得られた音データに基づき生成されることを特徴とする移動通信端末。 The mobile communication terminal according to claim 20,
The other voices are obtained by temporally expanding sound data prepared in advance, sound data created based on received call data, call data before switching, or call data before and after switching. A mobile communication terminal generated based on the sound data.
上記位置情報取得部は、予め設定されたマッピング情報と上記位置情報を用いて上記位置情報における電話端末の通信経路を判定し、
上記判定結果を元に上記第1及び第2の通信ネットワークの切替を決定することを特徴とする移動通信端末。
9. The mobile communication terminal according to claim 8, wherein the handover processing unit exchanges information with a location server via one of the first and second communication networks to thereby obtain position information of the mobile communication terminal. A position information acquisition unit for acquiring
The location information acquisition unit determines a communication path of the telephone terminal in the location information using preset mapping information and the location information,
A mobile communication terminal, wherein switching between the first and second communication networks is determined based on the determination result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005333566A JP2007142786A (en) | 2005-11-18 | 2005-11-18 | Handover server, and mobile communication terminal communcable thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005333566A JP2007142786A (en) | 2005-11-18 | 2005-11-18 | Handover server, and mobile communication terminal communcable thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007142786A true JP2007142786A (en) | 2007-06-07 |
Family
ID=38205116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005333566A Pending JP2007142786A (en) | 2005-11-18 | 2005-11-18 | Handover server, and mobile communication terminal communcable thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007142786A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008289115A (en) * | 2007-04-18 | 2008-11-27 | Kyocera Corp | Wireless communication system, base station, and radio communication method |
JP2009100047A (en) * | 2007-10-12 | 2009-05-07 | Fujitsu Ten Ltd | Mobile communication device and method |
JP2009111466A (en) * | 2007-10-26 | 2009-05-21 | Kyocera Corp | Mobile station, base station, radio communication system, and radio communication method |
US8290494B2 (en) | 2007-09-26 | 2012-10-16 | Kyocera Corporation | Mobile communication system, mobile station device, base station device, and handover method |
JP2013093750A (en) * | 2011-10-26 | 2013-05-16 | Japan Atomic Energy Agency | Packet communication method and device therefor |
JP2014522585A (en) * | 2011-05-05 | 2014-09-04 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and related system and apparatus for providing public reachability |
JP2018515959A (en) * | 2015-05-05 | 2018-06-14 | アイピーアライブ エービー | Establishing media routes in real-time communication |
JP2019165424A (en) * | 2018-03-20 | 2019-09-26 | サムソン エスディーエス カンパニー リミテッド | Wireless communication device with low power consumption providing two-way communication |
CN112954061A (en) * | 2021-02-20 | 2021-06-11 | 杭州卯方科技有限公司 | Device for realizing P2P hole punching in port-limited network |
-
2005
- 2005-11-18 JP JP2005333566A patent/JP2007142786A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008289115A (en) * | 2007-04-18 | 2008-11-27 | Kyocera Corp | Wireless communication system, base station, and radio communication method |
US8290494B2 (en) | 2007-09-26 | 2012-10-16 | Kyocera Corporation | Mobile communication system, mobile station device, base station device, and handover method |
JP2009100047A (en) * | 2007-10-12 | 2009-05-07 | Fujitsu Ten Ltd | Mobile communication device and method |
JP2009111466A (en) * | 2007-10-26 | 2009-05-21 | Kyocera Corp | Mobile station, base station, radio communication system, and radio communication method |
JP2014522585A (en) * | 2011-05-05 | 2014-09-04 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and related system and apparatus for providing public reachability |
JP2013093750A (en) * | 2011-10-26 | 2013-05-16 | Japan Atomic Energy Agency | Packet communication method and device therefor |
JP2018515959A (en) * | 2015-05-05 | 2018-06-14 | アイピーアライブ エービー | Establishing media routes in real-time communication |
JP2019165424A (en) * | 2018-03-20 | 2019-09-26 | サムソン エスディーエス カンパニー リミテッド | Wireless communication device with low power consumption providing two-way communication |
CN112954061A (en) * | 2021-02-20 | 2021-06-11 | 杭州卯方科技有限公司 | Device for realizing P2P hole punching in port-limited network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9742820B2 (en) | Latency differential mitigation for real time data streams | |
JP2006222822A (en) | Handover system | |
JP4367657B2 (en) | Voice communication method and apparatus | |
JP2007142786A (en) | Handover server, and mobile communication terminal communcable thereof | |
US7480500B1 (en) | Divitas protocol proxy and methods therefor | |
US20080140767A1 (en) | Divitas description protocol and methods therefor | |
US7944862B2 (en) | Accelerated session establishment in a multimedia gateway | |
US20090016333A1 (en) | Content-based adaptive jitter handling | |
EP2005714B1 (en) | Fast handover using sip | |
US20080317241A1 (en) | Code-based echo cancellation | |
US20060153247A1 (en) | System and method for avoiding clipping in a communications system | |
WO2010075126A2 (en) | Systems and methods for enabling communication features utilizing various bearer media | |
JP2013240053A (en) | Methods and systems of advanced real-time ip communication in mobile terminal | |
US20060146805A1 (en) | Systems and methods of providing voice communications over packet networks | |
US20060165043A1 (en) | Method and system for call set-up between mobile communication terminals | |
US8179927B2 (en) | Method, system and gateway for negotiating the capability of data signal detector | |
WO2014207978A1 (en) | Transmission device, receiving device, and relay device | |
WO2018076376A1 (en) | Voice data transmission method, user device, and storage medium | |
KR20080088520A (en) | Communication system and communication method | |
US20180020026A1 (en) | Method and system for providing lawful interception in a peer to peer communication | |
TW200814679A (en) | Code-based echo cancellation | |
CN104702807B (en) | VoIP communication system | |
JP2005157045A (en) | Voice transmission method | |
KR100603573B1 (en) | Method and apparatus for processing voice data in encrypted packet network | |
Chang et al. | Embedded system for inter-vehicle heterogeneous wireless-based real-time multimedia streaming and video/voice over ip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070605 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090616 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090623 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091020 |