(57)【特許請求の範囲】
【請求項１】
接続する通信端末から受信したＲＴＰパケットの連続性を保持して送信する通信装置において、
接続する１又は複数の上記通信端末の呼を制御する呼制御手段と、
接続している上記通信端末からの要求を受けて上記呼制御手段が接続している上記通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットの受信時刻と、変更後の最初に受信した当該呼のＲＴＰパケットの受信時刻とを取得する受信時刻取得手段と、
上記呼制御手段が接続している上記通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のＲＴＰパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段と、
上記変更前の最後に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値と、上記変更後の最初に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のＲＴＰパケットのタイムスタンプ値の補正値を求める補正値算出手段と、
上記通信端末の変更後に、変更された上記通信端末から受信されたＲＴＰパケットのタイムスタンプの値を、上記補正値に基づいて変更するタイムスタンプ変更手段と
を備えることを特徴とする通信装置。
【請求項２】
上記補正値算出手段が、上記呼制御手段による上記通信端末の変更時間に係るタイムスタンプ値の差分も付与して、上記補正値を求めるものであることを特徴とする請求項１に記載の通信装置。
【請求項３】
上記補正値算出手段が、受信するＲＴＰパケットのサンプリング周波数も用いて、上記補正値を求めるものであることを特徴とする請求項２に記載の通信装置。
【請求項４】
上記呼制御手段が管理する呼情報と、上記補正値算出手段が求めた上記補正値とを対応付けて管理する補正値管理手段とを更に備え、
上記タイムスタンプ変更手段が、受信されたＲＴＰパケットの呼情報に基づいて、上記補正値管理手段から対応する上記補正値を受け取り、当該ＲＴＰパケットのタイムスタンプの値を変更することを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項５】
接続する通信端末から受信したＲＴＰパケットの連続性を保持して送信する通信プログラムにおいて、
コンピュータを、
接続する１又は複数の上記通信端末の呼を制御する呼制御手段、
接続している上記通信端末からの要求を受けて上記呼制御手段が接続している上記通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットの受信時刻と、変更後の最初に受信した当該呼のＲＴＰパケットの受信時刻とを取得する受信時刻取得手段、
上記呼制御手段が接続している上記通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のＲＴＰパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段、
上記変更前の最後に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値と、上記変更後の最初に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のＲＴＰパケットのタイムスタンプ値の補正値を求める補正値算出手段、
上記通信端末の変更後に、変更された上記通信端末から受信されたＲＴＰパケットのタイムスタンプの値を、上記補正値に基づいて変更するタイムスタンプ変更手段
として機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び通信プログラムに関する。本発明は、例えば、ＶｏＩＰ（Voice  Over  IP）通信において、ＲＴＰパケットを終端する通信装置に適用し得るものである。
【背景技術】
【０００２】
例えば、音声データや映像データ等はＲＴＰパケットにより送信される。ＲＴＰパケットには、シーケンスナンバーやタイムスタンプ等が付与されている。これにより、ネットワーク上で、パケットが喪失したり又は遅れたりしても、受信側は、シーケンスナンバー、タイムスタンプに基づいて、時間的に連続したデータを再生することができる。
【０００３】
例えばＶｏＩＰ通信システムにおいて、通信装置がＲＴＰパケットを終端する方式を採用しているものがある。この場合、送信側の通信装置に接続する端末が転送したとき、通信装置は、受信したＲＴＰパケットのシーケンスナンバーやタイムスタンプを書き換えて、ＲＴＰパケットをネットワークに送信することが必要となる。これは、ネットワークに送信するＲＴＰパケットのシーケンスナンバーとタイムスタンプの連続性を維持するためである。
【０００４】
従来のタイムスタンプを書き換える方法として、特許文献１に記載される方法がある。従来は、通信装置が、通信呼の転送後に、音声コーデックのサンプリング周波数とパケット間隔（パケット送出間隔）に基づく一定値を、受信パケットのタイムスタンプの値に加える方法を適用している。
【先行技術文献】
【非特許文献】
【０００５】
【特許文献１】特開２００７−１１６３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したように、受信パケットのタイムスタンプ値に、一定値を固定的に増加させ方法は、例えば、映像通信のように、タイムスタンプの増分が一定でないとき等には適用することができないという問題がある。
【０００７】
つまり、タイムスタンプの増分が一定でないので、接続端末の転送後、最初に通信装置に到着するＲＴＰパケットのタイムスタンプを、当該通信装置が認識することができず、通信装置はタイムスタンプ値を決定することができない。
【０００８】
図２は、ホームゲートウェイ５−１及び５−２を介した映像通信システムのシステム構成を示す構成図である。図２において、ホームゲートウェイ５−１に接続する映像端末が、映像端末６−１から映像端末６−２に転送するものとする。
【０００９】
この場合、ホームゲートウェイ５−１は、受信するＲＴＰパケットのタイムスタンプ等を変更することが必要となる。
【００１０】
例えば、映像通信でなく音声通信の場合、サンプリング周波数が８ｋＨｚで、ＲＴＰパケットのデータ送出間隔が２０ｍｓであるとする。
【００１１】
このとき、パケットのサンプリングは、１２５μｓ（＝１（ｓ）÷８（ｋＨｚ）＝１００００００（μｓ）÷８０００（Ｈｚ））毎に１回行う。また、パケット毎のサンプリングクロックの増分は、１６０（＝２００００（μ）÷１２５（μｓ））である。
【００１２】
すなわち、音声通信の場合、パケットのサンプリングは１２５μｓ毎に１回サンプリングを行い、サンプリンクロックは１６０ずつ増加するから、通信装置は、ＲＴＰパケットのタイムスタンプ値に１６０の固定長を増加させている。
【００１３】
しかし、映像通信の場合、タイムスタンプはコーデック方式により異なり、タイムスタンプの増分を一意に決定することができない。
【００１４】
例えば、ＩＴＵ勧告の動画像データの圧縮符号化方式としてＨ．２６４がある、この場合、タイムスタンプは、サンプリングしたタイミングに基づいて決定される。ただし、映像データは圧縮されるので、サンプリングしたデータ量は異なる。このため、映像データをパケット化したときに、ＲＴＰパケット数が異なることがある。
【００１５】
例えば、図３に示すように、ＲＴＰパケットのデータ量が２００ｂｙｔｅとする。そして、送信側が送信しようとする映像データのデータ量が６００ｂｙｔｅとすると（図３（Ａ）参照）、映像データはＲＴＰパケットのデータ量よりも大きいので、映像データを３個にフラグメンテーション（分割）することになる（図３（Ｂ）参照）。このとき、各ＲＴＰパケットのシーケンスナンバーは異なるが、各ＲＴＰパケットのタイムスタンプは同じ「ｔ」となる。
【００１６】
また、送信側がその次に送信する映像データのデータ量が４００ｂｙｔｅであるとする（図３（Ｃ）参照）。このときも、映像データのデータ量がＲＴＰパケットのデータ量よりも大きいので、２個にフラグレーションされる（図３（Ｄ）参照）。このとき、タイムスタンプは、送信側の通信装置が「ｙ」だけ増加させ、「ｔ＋ｙ」とする。
【００１７】
しかし、このときの「ｙ」の値は、映像パケットを作成する映像端末の実装によるため、ホームゲートウェイ５−１は認識することができない。
【００１８】
そのため、接続端末が変更する場合でも、ＲＴＰパケットのタイムスタンプの連続性を保つことができる通信装置及び通信プログラムが求められている。
【課題を解決するための手段】
【００１９】
かかる課題を解決するために、第１の本発明の通信装置は、接続する通信端末から受信したＲＴＰパケットの連続性を保持して送信する通信装置において、（１）接続する１又は複数の通信端末の呼を制御する呼制御手段と、（２）接続している通信端末からの要求を受けて呼制御手段が接続している通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットの受信時刻と、変更後の最初に受信した当該呼のＲＴＰパケットの受信時刻とを取得する受信時刻取得手段と、（３）呼制御手段が接続している通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のＲＴＰパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段と、（４）変更前の最後に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値と、変更後の最初に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のＲＴＰパケットのタイムスタンプ値の補正値を求める補正値算出手段と、（５）通信端末の変更後に、変更された通信端末から受信されたＲＴＰパケットのタイムスタンプの値を、補正値に基づいて変更するタイムスタンプ変更手段とを備えることを特徴とする。
【００２０】
第２の本発明の通信プログラムは、接続する通信端末から受信したＲＴＰパケットの連続性を保持して送信する通信プログラムにおいて、コンピュータを、（１）接続する１又は複数の通信端末の呼を制御する呼制御手段、（２）接続している通信端末からの要求を受けて呼制御手段が接続している通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットの受信時刻と、変更後の最初に受信した当該呼のＲＴＰパケットの受信時刻とを取得する受信時刻取得手段、（３）呼制御手段が接続している通信端末の変更を行う場合に、変更前の最後に受信した当該呼のＲＴＰパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のＲＴＰパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段、（４）変更前の最後に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値と、変更後の最初に受信したＲＴＰパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のＲＴＰパケットのタイムスタンプ値の補正値を求める補正値算出手段、（５）通信端末の変更後に、変更された通信端末から受信されたＲＴＰパケットのタイムスタンプの値を、補正値に基づいて変更するタイムスタンプ変更手段として機能させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、ＲＴＰパケットを終端する通信装置において、転送などの操作により、接続端末が変更された場合でも、送信するＲＴＰパケットの連続性を保つことができる。
【図面の簡単な説明】
【００２２】
【図１】実施形態の通信装置の内部構成を示す内部構成図である。
【図２】ホームゲートウェイを介した映像通信システムのシステム構成を示す構成図である。
【図３】ＲＴＰパケットをフラグメンテーションしたときのパケット構成を示す図である。
【図４】実施形態の、通信呼の転送時に、通信装置におけるタイムスタンプの補正方法を示すシーケンス図である。
【発明を実施するための最良の形態】
【００２３】
（Ａ）実施形態
次に、本発明の通信装置及び通信プログラムの実施形態を、図面を参照しながら説明する。
【００２４】
この実施形態では、例えば映像通信システムにおいて、映像データを含むＲＴＰパケットを終端する通信装置に、本発明を適用する場合の実施形態を例示する。
【００２５】
（Ａ−１）実施形態の構成
図１は、この実施形態の通信装置の内部構成を示す内部構成図である。図１において、通信装置１は、ＲＴＰパケット受信部１１、ＲＴＰパケット制御部１２、ＲＴＰパケット送信部１３、情報管理部１４、呼制御部１５、補正値算出部１６、補正値管理テーブル１７を少なくとも有する。
【００２６】
通信装置１は、ＲＴＰパケットを終端するＲＴＰ終端装置である。通信装置１は、１又は複数の通信端末と、ネットワークとに接続している。また、通信装置１は、呼制御機能を有しており、接続する通信端末の呼を管理するものである。通信装置１は、例えば、ホームゲートウェイ、ＩＰ−ＰＢＸ装置、ＶｏＩＰ通信装置等が該当する。
【００２７】
ＲＴＰパケット受信部１１は、１又は複数の通信端末（図示しない）との間の通信インターフェースである。ＲＴＰパケット受信部１１は、ＲＴＰパケットを受信すると、その受信したＲＴＰパケットをＲＴＰパケット制御部１２に与えるものである。
【００２８】
また、ＲＴＰパケット受信部１１は、図１に示すように、受信時刻取得部２１、タイムスタンプ取得部２２を少なくとも有する。そして、ＲＴＰパケット受信部１１は、情報管理部１４から呼情報を受け取ると、その呼情報に基づいて、通信中の呼でやり取りされるＲＴＰパケットの受信時刻及びタイムスタンプを取得し、そのＲＴＰパケットの受信時刻及びタイムスタンプを情報管理部１４に与える。
【００２９】
ＲＴＰパケット送信部１３は、後述するＲＴＰパケット制御部１２から受け取ったＲＴＰパケットをネットワークに送信するものである。
【００３０】
呼制御部１５は、例えば、ＳＩＰ（Session  Initiation  Protocol）等の呼制御プロトコルに従って、通信端末の呼制御を行うものである。これにより、通信端末と外部との間の呼の接続や切断を管理することができる。
【００３１】
呼処理部４１は、呼制御プロトコルに従って呼処理を実行するものである。
【００３２】
転送処理部４２は、通信端末から転送要求を受けると、当該通信端末の呼に関する情報を含む呼情報及び転送操作の開始を示す転送操作開始情報を、情報管理部１４に与える。また、転送処理部４２は、通信端末から要求された転送処理が完了すると、転送処理後の呼情報及び転送操作の完了を示す転送操作完了情報を情報管理部１４に与える。
【００３３】
ここで、呼情報は、呼を一意に特定する情報（例えば、Ｃａｌｌ−ＩＤ等）、転送操作に関する情報、サンプリング周波数Ｆを少なくとも有するものである。
【００３４】
情報管理部１４は、通信端末の転送時に、呼情報を用いて受信パケットの連続性を管理するものである。
【００３５】
情報管理部１４は、呼制御部１５から呼情報を受け取ると、その呼情報をＲＴＰパケット受信部１１に与えて、当該呼について通信されるＲＴＰパケットの受信時刻及びタイムスタンプを、ＲＴＰパケット受信部１１から受け取るものである。
【００３６】
これにより、情報管理部１４は、転送前に最後に受信したＲＴＰパケットの受信時刻及びタイムスタンプと、転送後に最初に受信したＲＴＰパケットとの受信時刻及びタイムスタンプを取得することができる。なお、情報管理部１４は、呼情報に含まれる情報のうち、少なくとも呼を特定する情報をＲＴＰパケット受信部１１に与えるようにしてもよい。
【００３７】
また、情報管理部１４は、転送前の最後のＲＴＰパケットの受信時刻及びタイムスタンプと、転送後の最初のＲＴＰパケットの受信時刻及びタイムスタンプと、呼情報に含まれるサンプリング周波数Ｆとを、補正値算出部１６に与える。これにより、当該ＲＴＰパケットのタイムスタンプの補正値を算出させることができる。
【００３８】
さらに、情報管理部１４は、補正値算出部１６が求めた補正値を受け取ると、その補正値と呼情報とを対応付けて、補正値管理テーブル１７に保存させる。
【００３９】
補正値算出部１６は、通信呼の転送時に、ＲＴＰパケットのタイムスタンプの値を補正する補正値を求めるものである。補正値算出部１６は、転送前の最後のＲＴＰパケットの受信時刻及びタイムスタンプと、転送後の最初のＲＴＰパケットの受信時刻及びタイムスタンプと、サンプリング周波数Ｆとに基づいて、タイムスタンプの補正値を求めるものである。また、補正値算出部１６は、算出した補正値を情報管理部１４に与える。
【００４０】
ここで、補正値算出部１６による補正値の算出方法は、種々の方法を広く適用することができる。例えば、補正値算出部１６は、次式により補正値Ｙを求める。
【００４１】
Ｙ＝Ｓ０＋Ｆ（Ｔ１−Ｔ０）−Ｓ１      …（１）
ここで、Ｓ０は、転送前の最後に受信したＲＴＰパケットのタイムスタンプである。Ｔ０は、転送前の最後に受信したＲＴＰパケットの受信時刻である。Ｓ１は、転送後の最初に受信したＲＴＰパケットのタイムスタンプである。Ｔ１は、転送後の最初に受信したＲＴＰパケットの受信時刻である。
【００４２】
式（１）は、通信相手に対して、転送前と転送後のパケットでタイムスタンプの矛盾が発生しないようにし、あたかも転送処理が行われていないように振る舞うためのタイムスタンプの補正値を導出するものである。「転送前の通信端末」が転送を行わなかった場合に、送信されるであろう送信パケットのタイムスタンプの値を、転送後の送信パケットはもつ。そのために、「転送後の通信端末」からの送信パケットの補正値を付与する。
【００４３】
Ｓ０は、上述したように、転送前の最後の受信パケットのタイムスタンプである。これは、ＲＴＰパケットの連続性を保つベースとなる値であり、タイムスタンプの値が「転送前＞転送後」となるのを防ぐ。
【００４４】
Ｓ１は、上述したように、転送後の最初の受信パケットのタイムスタンプである。これは、転送後のタイムスタンプ値の増分を管理するためにベースとする値である。
【００４５】
Ｆ（Ｔ１−Ｔ０）は、転送前と転送後のパケットの受信時刻の差に基づいて抽出したタイムスタンプ補正値である。これは、送信するであろう送信パケットのタイムスタンプの値になる。すなわち、本来インクリメントされるタイムスタンプの値である。
【００４６】
例えば、補正値Ｙについて、（補正値Ｙ＝Ｓ０−Ｓ１）として算出すると、転送後の最初の受信パケットのタイムスタンプ値は、転送前の最後のパケットのタイムスタンプ値と同じになってしまう。そのため、転送に係る実時間的に差分があるにもかかわらず、その分のタイムスタンプ値に増加が見られない。そのため、通信相手は、異常なパケットとみられてしまう可能性がある。
【００４７】
これに対して、上記式（１）によれば、転送処理の実時間の差分に係るタイムスタンプ値も含めてタイムスタンプ値を補正することができる。
【００４８】
補正値管理テーブル１７は、呼情報と補正値とを対応付けて管理するものである。また、補正値管理テーブル１７は、ＲＴＰパケット制御部１２から呼情報を受け取ると、その呼情報に対応する補正値をＲＴＰパケット制御部１２に与えるものである。
【００４９】
ＲＴＰパケット制御部１２は、ＲＴＰパケットの送信先を決定する送信先決定部３１と、ＲＴＰパケットのヘッダ情報を書き換えるヘッダ情報書換部３２とを有するものである。
【００５０】
送信先決定部３１は、情報管理部１６から送信先情報を受け取り、ＲＴＰパケットの送信先を決定するものである。
【００５１】
ヘッダ情報書換部３２は、ＲＴＰパケットのヘッダに含まれている、シーケンスナンバー、タイムスタンプ、ＳＳＲＣ（同期送信元識別子）等のヘッダ情報を変更するものである。ヘッダ情報書換部３２は、送信先情報に基づいて、補正値管理テーブル１７に補正値を問い合わせ、シーケンスナンバーやＳＳＲＣを書き換えると共に、タイムスタンプ値を補正値に基づいて補正するものである。
【００５２】
（Ａ−２）実施形態の動作
次に、実施形態の通信装置において、通信呼の転送時のタイムスタンプの補正方法の動作を、図面を参照しながら説明する。
【００５３】
図４は、通信呼の転送時に、通信装置１におけるタイムスタンプの補正方法を示すシーケンス図である。
【００５４】
図４では、通信端末６−１から通信端末６−２に転送される場合に、通信装置１が受信したＲＴＰパケットのタイムスタンプを補正するときの方法を例示する。なお、サンプリング周波数Ｆは９００００Ｈｚとする。
【００５５】
まず、映像通信が開始すると、通信端末６−１は、映像データを含むＲＴＰパケットを通信装置１に送信する（Ｓ１０１）。例えば、Ｓ１０１において、通信端末６−１が送信するＲＴＰパケットは、シーケンスナンバーがｓｅｑ＝１０、通信端末６−１の同期送信元識別子がＳＳＲＣ＝０Ｘ１１２２３３４４、タイムスタンプがｔｉｍｅｓｔａｍｐ＝１０２９９６０であるとする。
【００５６】
通信装置１において、ＲＴＰパケットは、ＲＴＰパケット受信部１１に受信されて、ＲＴＰパケット制御部１２に与えられる。ＲＴＰパケット制御部１２は、ＲＴＰパケットから呼情報を取得する。そして、ＲＴＰパケット制御部１２は、呼情報に基づいて、補正値管理テーブル１７に問い合わせをする。
【００５７】
補正値管理テーブル１７は、問い合わせを受けた呼情報に対応する補正値を検索し、その補正値がある場合には、その補正値をＲＴＰパケット制御部１２に返答する。このとき、補正値がない場合には、補正値を「０」として返答したり、又は補正値がないものとしたりしてもよい。
【００５８】
ＲＴＰパケット制御部１２は、受信したＲＴＰパケットをＲＴＰパケット送信部１３に与える。ＲＴＰパケット送信部１３は、受け取ったＲＴＰパケットをネットワークに向けて送信する（Ｓ１０２）。
【００５９】
通信装置１は、上記のＳ１０１及びＳ１０２のようにして、通信端末６−１から受信したＲＴＰパケットをネットワークに送信する。
【００６０】
次に、通信端末６−１が通信装置１に対して転送要求を行う（Ｓ１０３）。通信装置１において、通信端末６−１から転送要求を受けると、呼制御部１５は、当該通信呼の呼情報と転送操作開始情報とを情報管理部１４に与える。情報管理部１４は、呼制御部１５から転送操作開始情報と呼情報とを受け取ると、その呼情報をＲＴＰパケット受信部１１に与える。
【００６１】
ＲＴＰパケット受信部１１では、情報管理部１４から受け取った呼情報に基づき、当該通信呼に係るＲＴＰパケットの受信時刻Ｔ０及びタイムスタンプＳ０を取得する（Ｓ１０５及びＳ１０６）。これにより、転送前の最後に受信するＲＴＰパケットの受信時刻ＴＯ及びタイムスタンプＳ０を取得することができる。
【００６２】
なお、Ｓ１０４において、受信されたＲＴＰパケットは、シーケンスナンバーがｓｅｑ＝１００、ＳＳＲＣ＝０Ｘ１１２２３３４４、ｔｉｍｅｓｔａｍｐ＝１０６０９２０であるとする。従って、Ｓ０＝１０６０９２０である。また当該ＲＴＰパケットの受信時刻Ｔ０は、Ｔ０＝ＸＸ：ＹＹ：ＺＺ.０００であるとする。
【００６３】
ＲＴＰパケット受信部１１は、転送前の最後に受信するＲＴＰパケットの受信時刻Ｔ０及びタイムスタンプＳ０を情報管理部１４に与える。情報管理部１４は、上記受信時刻Ｔ０及びタイムスタンプＳ０を保持する。また、情報管理部１４は、転送前の最後のＲＴＰパケットのシーケンスナンバーとＳＳＲＣも保持する。
【００６４】
また、転送前の最後に受信したＲＴＰパケットは、それまでに受信したＲＴＰパケットと同様にしてネットワークに送信される（Ｓ１０７）。
【００６５】
Ｓ１０８では、呼制御部１５による転送処理が行われる（Ｓ１０８）。なお、転送処理は、例えばＳＩＰ等の呼制御プロトコルに従った既存の転送処理を用いることができる。例えば、ＳＩＰの場合、呼制御部１５は、通信端末６−１から転送メッセージを受信する。転送メッセージには、例えばＣＡＬＬ−ＩＤとＦｒｏｍ−Ｔａｇ及びＴｏ−Ｔａｇとが含まれている。これにより、呼制御部１５は、ＣＡＬＬ−ＩＤに基づいて特定される通信呼の転送先の通信端末６−２のアドレス情報を取得することができる。そして、呼制御部１５は、転送先の通信端末６−２との間で呼を確立する。これにより通信端末６−２への転送を実現する。
【００６６】
呼制御部１５による転送処理が完了すると、呼制御部１５は、転送操作完了情報と呼情報を情報管理部１４に与える。情報管理部１４は、その呼情報をＲＴＰパケット受信部１１に与える。
【００６７】
ＲＴＰパケット受信部１１は、情報管理部１４から呼情報を受け取ると、その呼情報に基づいて当該呼に係るＲＴＰパケットの受信時刻Ｔ１及びタイムスタンプＳ１を取得する（Ｓ１０９〜Ｓ１１１）。これにより、転送後の最初に受信したＲＴＰパケットの受信時刻Ｔ１及びタイムスタンプＳ１を取得することができる。
【００６８】
例えば、Ｓ１０９及びＳ１１４において、受信されたＲＴＰパケットは、フラグメンテーションされて２個のパケットに分かれたものとする。従って、Ｓ１０９で受信されたＲＴＰパケットはｓｅｑ＝５１であり、Ｓ１１４で受信されたＲＴＰパケットはｓｅｑ＝５２であるが、両者ともタイムスタンプはｔｉｍｅｓｔａｍｐ＝１９４２２０であるとする。
【００６９】
このような場合、ＲＴＰパケット受信部１１は、Ｓ１０９で受信した、転送後の最初のＲＴＰパケットの受信時刻Ｔ１＝ＸＸ：ＹＹ：ＺＺ．０４１及びタイムスタンプＳ１＝１９４２２０を取得し、その受信時刻Ｔ１及びタイムスタンプＳ１を情報管理部１４に与える。
【００７０】
情報管理部１４は、転送前の最後に受信したＲＴＰパケットの受信時刻Ｔ０及びタイムスタンプＳ０と、転送後の最初に受信したＲＴＰパケットの受信時刻Ｔ１及びタイムスタンプＳ１と、サンプリング周波数Ｆとを補正値算出部１６に与える。
【００７１】
補正値算出部１６は、例えば式（１）に従って、タイムスタンプの補正値を求める。例えば、図４の例の場合、補正値算出部１６は、受信時刻Ｔ０及びＴ１、タイムスタンプＳ０及びＳ１と、サンプリング周波数Ｆ＝９００００を式（１）に代入して補正値Ｙを求める。
【００７２】
Ｙ＝Ｓ０＋Ｆ（Ｔ１−Ｔ０）−Ｓ１
＝１０６０９２０＋９００００×０．４１−１９４２２０    …（２）
補正値算出部１６は、算出した補正値Ｙを情報管理部１４に与える。情報管理部１４は、補正値算出部１６からの補正値Ｙと呼情報とを対応付けて、補正値管理テーブル１７に登録する。
【００７３】
Ｓ１０９で受信されたＲＴＰパケットは、ＲＴＰパケット受信部１１からＲＴＰパケット制御部１２に与えられる。そして、ＲＴＰパケット制御部１２は、情報管理部１４からの送信先情報に基づいて送信先を決定する。また、ＲＴＰパケット制御部１２は、呼情報に基づいて、補正値管理テーブル１７に補正値の問い合わせを行う。
【００７４】
補正値管理テーブル１７は、呼情報に対応する補正値Ｙを検索し、その補正値ＹをＲＴＰパケット制御部１２に与える。そして、ＲＴＰパケット制御部１２は、受け取った補正値Ｙを用いてタイムスタンプの値を書き換える。また、ＲＴＰパケット制御部１２は、ヘッダ情報に含まれるシーケンスナンバーやＳＳＲＣも書き換える（Ｓ１１２）。
【００７５】
例えば、Ｓ１０９で受信されたＲＴＰパケットについて、ｔｉｍｅｓｔａｍｐ＝１９４２２０である。従って、ＲＴＰパケット制御部１２は、補正値管理テーブル１７から受け取った補正値Ｙを用いて、当該ＲＴＰパケットのタイムスタンプをｔｉｍｅｓｔａｍｐ＝１９４２２０＋｛１０６０９２０＋９００００×０．４１−１９４２２０｝＝１０９７８２０に変更する。
【００７６】
そして、ＲＴＰパケット制御部１２によりヘッダ情報が変更されたＲＴＰパケットは、ＲＴＰパケット送信部１３により送信される（Ｓ１１３）。
【００７７】
また、Ｓ１１４において、次に受信されたＲＴＰパケットについても、上記のＳ１１０〜Ｓ１１２と同様の処理を行い、ヘッダ情報を変更したＲＴＰパケットを送信する（Ｓ１１４及びＳ１１５）。
【００７８】
上述したように、Ｓ１１４のＲＴＰパケットは、Ｓ１０９のＲＴＰパケットとｔｉｍｅｓｔａｍｐは同じである。このような場合でも、ＲＴＰパケット制御部１２が、呼情報に対応する補正値Ｙを用いて、タイムスタンプ値を補正することで連続性を保つことができる。
【００７９】
具体的に、ＲＴＰパケット制御部１２は、補正値管理テーブル１７から受け取った補正値Ｙを用いて、当該ＲＴＰパケットのタイムスタンプをｔｉｍｅｓｔａｍｐ＝１９４２２０＋｛１０６０９２０＋９００００×０．４１−１９４２２０｝＝１０９７８２０に変更する。
【００８０】
その後に受信されたＲＴＰパケットについても、同様に行う（Ｓ１１６及びＳ１１７）。このように、その後に連続するＲＴＰパケットについても連続性を保つことができる。
【００８１】
具体的に、ＲＴＰパケット制御部１２は、補正値管理テーブル１７から受け取った補正値Ｙを用いて、当該ＲＴＰパケットのタイムスタンプをｔｉｍｅｓｔａｍｐ＝２０１６００＋｛１０６０９２０＋９００００×０．４１−１９４２２０｝＝１１０５２００に変更して送信する。
【００８２】
（Ａ−３）実施形態の効果
以上のように、実施形態によれば、転送前の最後のＲＴＰパケットの受信時刻及びタイムスタンプと、転送後の最初のＲＴＰパケットの受信時刻及びタイムスタンプと、サンプリング周波数とを取得することで、タイムスタンプの補正値を計算することができる。
【００８３】
また、実施形態によれば、例えば、映像通信のようにタイムスタンプの増分が一定でない場合でも、その補正値をＲＴＰパケットに付与することで、転送後最初のＲＴＰパケットのタイムスタンプの値を決定することができる。
【００８４】
さらに、実施形態によれば、転送後のＲＴＰパケットについてもタイムスタンプに対して補正値が付与されるため、タイムスタンプの連続性を保つことができる。
【００８５】
（Ｂ）第２の実施形態
上述した実施形態では、ＲＴＰ終端装置に適用した場合を例示したが、ＲＴＰを終端する装置であれば、例えば、ホームゲートウェイ、ＩＰ−ＰＢＸ等にも適用することができる。
【００８６】
上述した実施形態では、映像通信システムおける通信装置に適用する場合を例示して説明したが、音声通信の場合にも適用することができる。
【００８７】
上記実施形態では、通信装置の接続端末が転送する場合を例示したが、通信端末の転送に限定されるものではなく、通信呼の接続端末の変更がなされる場合に広く適用することができる。
【００８８】
上述した実施形態において、通信装置は、いわゆるソフトウェア処理により、タイムスタンプ値の変更処理を行う。例えば、ＣＰＵが、ＲＯＭに格納される処理プログラムを読み出し、その処理に必要なデータを用いて処理プログラムを実行することで実現することができる。
【符号の説明】
【００８９】
１…通信装置、１１…ＲＴＰパケット受信部、１２…ＲＴＰパケット制御部、
１３…ＲＴＰパケット送信部、１４…情報管理部、１５…呼制御部、
１６…補正値算出部、１７…補正値管理テーブル、
２１…受信時刻取得部、２２…タイムスタンプ取得部、
３１…送信先決定部、３２…ヘッダ情報書換部、
４１…呼処理部、４２…転送処理部。
【図１】
0005634919.tif 000002
【図２】
0005634919.tif 000003
【図３】
0005634919.tif 000004
【図４】
0005634919.tif 000005