説明

通信装置及び通信プログラム

【課題】転送等のように接続端末が変更されるときでも、RTPパケットの連続性を保持できるようにする。
【解決手段】本発明は、接続端末が変更される場合に、変更前の最後に受信した当該呼のRTPパケットの受信時刻及びタイムスタンプと、変更後の最初に受信した当該呼のRTPパケットの受信時刻及びタイムスタンプとに基づいて、タイムスタンプの補正値を求める補正値算出手段と、接続端末の変更後に、変更された通信端末から受信されたRTPパケットのタイムスタンプの値を、補正値に基づいて変更するタイムスタンプ変更手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置及び通信プログラムに関する。本発明は、例えば、VoIP(Voice Over IP)通信において、RTPパケットを終端する通信装置に適用し得るものである。
【背景技術】
【0002】
例えば、音声データや映像データ等はRTPパケットにより送信される。RTPパケットには、シーケンスナンバーやタイムスタンプ等が付与されている。これにより、ネットワーク上で、パケットが喪失したり又は遅れたりしても、受信側は、シーケンスナンバー、タイムスタンプに基づいて、時間的に連続したデータを再生することができる。
【0003】
例えばVoIP通信システムにおいて、通信装置がRTPパケットを終端する方式を採用しているものがある。この場合、送信側の通信装置に接続する端末が転送したとき、通信装置は、受信したRTPパケットのシーケンスナンバーやタイムスタンプを書き換えて、RTPパケットをネットワークに送信することが必要となる。これは、ネットワークに送信するRTPパケットのシーケンスナンバーとタイムスタンプの連続性を維持するためである。
【0004】
従来のタイムスタンプを書き換える方法として、特許文献1に記載される方法がある。従来は、通信装置が、通信呼の転送後に、音声コーデックのサンプリング周波数とパケット間隔(パケット送出間隔)に基づく一定値を、受信パケットのタイムスタンプの値に加える方法を適用している。
【先行技術文献】
【非特許文献】
【0005】
【特許文献1】特開2007−116368号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述したように、受信パケットのタイムスタンプ値に、一定値を固定的に増加させ方法は、例えば、映像通信のように、タイムスタンプの増分が一定でないとき等には適用することができないという問題がある。
【0007】
つまり、タイムスタンプの増分が一定でないので、接続端末の転送後、最初に通信装置に到着するRTPパケットのタイムスタンプを、当該通信装置が認識することができず、通信装置はタイムスタンプ値を決定することができない。
【0008】
図2は、ホームゲートウェイ5−1及び5−2を介した映像通信システムのシステム構成を示す構成図である。図2において、ホームゲートウェイ5−1に接続する映像端末が、映像端末6−1から映像端末6−2に転送するものとする。
【0009】
この場合、ホームゲートウェイ5−1は、受信するRTPパケットのタイムスタンプ等を変更することが必要となる。
【0010】
例えば、映像通信でなく音声通信の場合、サンプリング周波数が8kHzで、RTPパケットのデータ送出間隔が20msであるとする。
【0011】
このとき、パケットのサンプリングは、125μs(=1(s)÷8(kHz)=1000000(μs)÷8000(Hz))毎に1回行う。また、パケット毎のサンプリングクロックの増分は、160(=20000(μ)÷125(μs))である。
【0012】
すなわち、音声通信の場合、パケットのサンプリングは125μs毎に1回サンプリングを行い、サンプリンクロックは160ずつ増加するから、通信装置は、RTPパケットのタイムスタンプ値に160の固定長を増加させている。
【0013】
しかし、映像通信の場合、タイムスタンプはコーデック方式により異なり、タイムスタンプの増分を一意に決定することができない。
【0014】
例えば、ITU勧告の動画像データの圧縮符号化方式としてH.264がある、この場合、タイムスタンプは、サンプリングしたタイミングに基づいて決定される。ただし、映像データは圧縮されるので、サンプリングしたデータ量は異なる。このため、映像データをパケット化したときに、RTPパケット数が異なることがある。
【0015】
例えば、図3に示すように、RTPパケットのデータ量が200byteとする。そして、送信側が送信しようとする映像データのデータ量が600byteとすると(図3(A)参照)、映像データはRTPパケットのデータ量よりも大きいので、映像データを3個にフラグメンテーション(分割)することになる(図3(B)参照)。このとき、各RTPパケットのシーケンスナンバーは異なるが、各RTPパケットのタイムスタンプは同じ「t」となる。
【0016】
また、送信側がその次に送信する映像データのデータ量が400byteであるとする(図3(C)参照)。このときも、映像データのデータ量がRTPパケットのデータ量よりも大きいので、2個にフラグレーションされる(図3(D)参照)。このとき、タイムスタンプは、送信側の通信装置が「y」だけ増加させ、「t+y」とする。
【0017】
しかし、このときの「y」の値は、映像パケットを作成する映像端末の実装によるため、ホームゲートウェイ5−1は認識することができない。
【0018】
そのため、接続端末が変更する場合でも、RTPパケットのタイムスタンプの連続性を保つことができる通信装置及び通信プログラムが求められている。
【課題を解決するための手段】
【0019】
かかる課題を解決するために、第1の本発明の通信装置は、接続する通信端末から受信したRTPパケットの連続性を保持して送信する通信装置において、(1)接続する1又は複数の通信端末の呼を制御する呼制御手段と、(2)接続している通信端末からの要求を受けて呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットの受信時刻と、変更後の最初に受信した当該呼のRTPパケットの受信時刻とを取得する受信時刻取得手段と、(3)呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のRTPパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段と、(4)変更前の最後に受信したRTPパケットの受信時刻及びタイムスタンプ値と、変更後の最初に受信したRTPパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のRTPパケットのタイムスタンプ値の補正値を求める補正値算出手段と、(5)接続端末の変更後に、変更された通信端末から受信されたRTPパケットのタイムスタンプの値を、補正値に基づいて変更するタイムスタンプ変更手段とを備えることを特徴とする。
【0020】
第2の本発明の通信プログラムは、接続する通信端末から受信したRTPパケットの連続性を保持して送信する通信プログラムにおいて、コンピュータを、(1)接続する1又は複数の通信端末の呼を制御する呼制御手段、(2)接続している通信端末からの要求を受けて呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットの受信時刻と、変更後の最初に受信した当該呼のRTPパケットの受信時刻とを取得する受信時刻取得手段、(3)呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のRTPパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段、(4)変更前の最後に受信したRTPパケットの受信時刻及びタイムスタンプ値と、変更後の最初に受信したRTPパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のRTPパケットのタイムスタンプ値の補正値を求める補正値算出手段、(5)接続端末の変更後に、変更された通信端末から受信されたRTPパケットのタイムスタンプの値を、補正値に基づいて変更するタイムスタンプ変更手段として機能させることを特徴とする。
【発明の効果】
【0021】
本発明によれば、RTPパケットを終端する通信装置において、転送などの操作により、接続端末が変更された場合でも、送信するRTPパケットの連続性を保つことができる。
【図面の簡単な説明】
【0022】
【図1】実施形態の通信装置の内部構成を示す内部構成図である。
【図2】ホームゲートウェイを介した映像通信システムのシステム構成を示す構成図である。
【図3】RTPパケットをフラグメンテーションしたときのパケット構成を示す図である。
【図4】実施形態の、通信呼の転送時に、通信装置におけるタイムスタンプの補正方法を示すシーケンス図である。
【発明を実施するための最良の形態】
【0023】
(A)実施形態
次に、本発明の通信装置及び通信プログラムの実施形態を、図面を参照しながら説明する。
【0024】
この実施形態では、例えば映像通信システムにおいて、映像データを含むRTPパケットを終端する通信装置に、本発明を適用する場合の実施形態を例示する。
【0025】
(A−1)実施形態の構成
図1は、この実施形態の通信装置の内部構成を示す内部構成図である。図1において、通信装置1は、RTPパケット受信部11、RTPパケット制御部12、RTPパケット送信部13、情報管理部14、呼制御部15、補正値算出部16、補正値管理テーブル17を少なくとも有する。
【0026】
通信装置1は、RTPパケットを終端するRTP終端装置である。通信装置1は、1又は複数の通信端末と、ネットワークとに接続している。また、通信装置1は、呼制御機能を有しており、接続する通信端末の呼を管理するものである。通信装置1は、例えば、ホームゲートウェイ、IP−PBX装置、VoIP通信装置等が該当する。
【0027】
RTPパケット受信部11は、1又は複数の通信端末(図示しない)との間の通信インターフェースである。RTPパケット受信部11は、RTPパケットを受信すると、その受信したRTPパケットをRTPパケット制御部12に与えるものである。
【0028】
また、RTPパケット受信部11は、図1に示すように、受信時刻取得部21、タイムスタンプ取得部22を少なくとも有する。そして、RTPパケット受信部11は、情報管理部14から呼情報を受け取ると、その呼情報に基づいて、通信中の呼でやり取りされるRTPパケットの受信時刻及びタイムスタンプを取得し、そのRTPパケットの受信時刻及びタイムスタンプを情報管理部14に与える。
【0029】
RTPパケット送信部13は、後述するRTPパケット制御部12から受け取ったRTPパケットをネットワークに送信するものである。
【0030】
呼制御部15は、例えば、SIP(Session Initiation Protocol)等の呼制御プロトコルに従って、通信端末の呼制御を行うものである。これにより、通信端末と外部との間の呼の接続や切断を管理することができる。
【0031】
呼処理部41は、呼制御プロトコルに従って呼処理を実行するものである。
【0032】
転送処理部42は、通信端末から転送要求を受けると、当該通信端末の呼に関する情報を含む呼情報及び転送操作の開始を示す転送操作開始情報を、情報管理部14に与える。また、転送処理部42は、通信端末から要求された転送処理が完了すると、転送処理後の呼情報及び転送操作の完了を示す転送操作完了情報を情報管理部14に与える。
【0033】
ここで、呼情報は、呼を一意に特定する情報(例えば、Call−ID等)、転送操作に関する情報、サンプリング周波数Fを少なくとも有するものである。
【0034】
情報管理部14は、通信端末の転送時に、呼情報を用いて受信パケットの連続性を管理するものである。
【0035】
情報管理部14は、呼制御部15から呼情報を受け取ると、その呼情報をRTPパケット受信部11に与えて、当該呼について通信されるRTPパケットの受信時刻及びタイムスタンプを、RTPパケット受信部11から受け取るものである。
【0036】
これにより、情報管理部14は、転送前に最後に受信したRTPパケットの受信時刻及びタイムスタンプと、転送後に最初に受信したRTPパケットとの受信時刻及びタイムスタンプを取得することができる。なお、情報管理部14は、呼情報に含まれる情報のうち、少なくとも呼を特定する情報をRTPパケット受信部11に与えるようにしてもよい。
【0037】
また、情報管理部14は、転送前の最後のRTPパケットの受信時刻及びタイムスタンプと、転送後の最初のRTPパケットの受信時刻及びタイムスタンプと、呼情報に含まれるサンプリング周波数Fとを、補正値算出部16に与える。これにより、当該RTPパケットのタイムスタンプの補正値を算出させることができる。
【0038】
さらに、情報管理部14は、補正値算出部16が求めた補正値を受け取ると、その補正値と呼情報とを対応付けて、補正値管理テーブル17に保存させる。
【0039】
補正値算出部16は、通信呼の転送時に、RTPパケットのタイムスタンプの値を補正する補正値を求めるものである。補正値算出部16は、転送前の最後のRTPパケットの受信時刻及びタイムスタンプと、転送後の最初のRTPパケットの受信時刻及びタイムスタンプと、サンプリング周波数Fとに基づいて、タイムスタンプの補正値を求めるものである。また、補正値算出部16は、算出した補正値を情報管理部14に与える。
【0040】
ここで、補正値算出部16による補正値の算出方法は、種々の方法を広く適用することができる。例えば、補正値算出部16は、次式により補正値Yを求める。
【0041】
Y=S+F(T−T)−S …(1)
ここで、Sは、転送前の最後に受信したRTPパケットのタイムスタンプである。Tは、転送前の最後に受信したRTPパケットの受信時刻である。Sは、転送後の最初に受信したRTPパケットのタイムスタンプである。Tは、転送後の最初に受信したRTPパケットの受信時刻である。
【0042】
式(1)は、通信相手に対して、転送前と転送後のパケットでタイムスタンプの矛盾が発生しないようにし、あたかも転送処理が行われていないように振る舞うためのタイムスタンプの補正値を導出するものである。「転送前の通信端末」が転送を行わなかった場合に、送信されるであろう送信パケットのタイムスタンプの値を、転送後の送信パケットはもつ。そのために、「転送後の通信端末」からの送信パケットの補正値を付与する。
【0043】
は、上述したように、転送前の最後の受信パケットのタイムスタンプである。これは、RTPパケットの連続性を保つベースとなる値であり、タイムスタンプの値が「転送前>転送後」となるのを防ぐ。
【0044】
は、上述したように、転送後の最初の受信パケットのタイムスタンプである。これは、転送後のタイムスタンプ値の増分を管理するためにベースとする値である。
【0045】
F(T−T)は、転送前と転送後のパケットの受信時刻の差に基づいて抽出したタイムスタンプ補正値である。これは、送信するであろう送信パケットのタイムスタンプの値になる。すなわち、本来インクリメントされるタイムスタンプの値である。
【0046】
例えば、補正値Yについて、(補正値Y=S0−S1)として算出すると、転送後の最初の受信パケットのタイムスタンプ値は、転送前の最後のパケットのタイムスタンプ値と同じになってしまう。そのため、転送に係る実時間的に差分があるにもかかわらず、その分のタイムスタンプ値に増加が見られない。そのため、通信相手は、異常なパケットとみられてしまう可能性がある。
【0047】
これに対して、上記式(1)によれば、転送処理の実時間の差分に係るタイムスタンプ値も含めてタイムスタンプ値を補正することができる。
【0048】
補正値管理テーブル17は、呼情報と補正値とを対応付けて管理するものである。また、補正値管理テーブル17は、RTPパケット制御部12から呼情報を受け取ると、その呼情報に対応する補正値をRTPパケット制御部12に与えるものである。
【0049】
RTPパケット制御部12は、RTPパケットの送信先を決定する送信先決定部21と、RTPパケットのヘッダ情報を書き換えるヘッダ情報書換部22とを有するものである。
【0050】
送信先決定部21は、情報管理部16から送信先情報を受け取り、RTPパケットの送信先を決定するものである。
【0051】
ヘッダ情報書換部22は、RTPパケットのヘッダに含まれている、シーケンスナンバー、タイムスタンプ、SSRC(同期送信元識別子)等のヘッダ情報を変更するものである。ヘッダ情報書換部22は、送信先情報に基づいて、補正値管理テーブル17に補正値を問い合わせ、シーケンスナンバーやSSRCを書き換えると共に、タイムスタンプ値を補正値に基づいて補正するものである。
【0052】
(A−2)実施形態の動作
次に、実施形態の通信装置において、通信呼の転送時のタイムスタンプの補正方法の動作を、図面を参照しながら説明する。
【0053】
図4は、通信呼の転送時に、通信装置1におけるタイムスタンプの補正方法を示すシーケンス図である。
【0054】
図4では、通信端末6−1から通信端末6−2に転送される場合に、通信装置1が受信したRTPパケットのタイムスタンプを補正するときの方法を例示する。なお、サンプリング周波数Fは90000Hzとする。
【0055】
まず、映像通信が開始すると、通信端末6−1は、映像データを含むRTPパケットを通信装置1に送信する(S101)。例えば、S101において、通信端末6−1が送信するRTPパケットは、シーケンスナンバーがseq=10、通信端末6−1の同期送信元識別子がSSRC=0X11223344、タイムスタンプがtimestamp=1029960であるとする。
【0056】
通信装置1において、RTPパケットは、RTPパケット受信部11に受信されて、RTPパケット制御部12に与えられる。RTPパケット制御部12は、RTPパケットから呼情報を取得する。そして、RTPパケット制御部12は、呼情報に基づいて、補正値管理テーブル17に問い合わせをする。
【0057】
補正値管理テーブル17は、問い合わせを受けた呼情報に対応する補正値を検索し、その補正値がある場合には、その補正値をRTPパケット制御部12に返答する。このとき、補正値がない場合には、補正値を「0」として返答したり、又は補正値がないものとしたりしてもよい。
【0058】
RTPパケット制御部12は、受信したRTPパケットをRTPパケット送信部13に与える。RTPパケット送信部13は、受け取ったRTPパケットをネットワークに向けて送信する(S102)。
【0059】
通信装置1は、上記のS101及びS102のようにして、通信端末6−1から受信したRTPパケットをネットワークに送信する。
【0060】
次に、通信端末6−1が通信装置1に対して転送要求を行う(S103)。通信装置1において、通信端末6−1から転送要求を受けると、呼制御部15は、当該通信呼の呼情報と転送操作開始情報とを情報管理部14に与える。情報管理部14は、呼制御部15から転送操作開始情報と呼情報とを受け取ると、その呼情報をRTPパケット受信部11に与える。
【0061】
RTPパケット受信部11では、情報管理部14から受け取った呼情報に基づき、当該通信呼に係るRTPパケットの受信時刻T及びタイムスタンプSを取得する(S105及びS106)。これにより、転送前の最後に受信するRTPパケットの受信時刻T及びタイムスタンプSを取得することができる。
【0062】
なお、S104において、受信されたRTPパケットは、シーケンスナンバーがseq=100、SSRC=0X11223344、timestamp=1060920であるとする。従って、S=1060920である。また当該RTPパケットの受信時刻Tは、T=XX:YY:ZZ.000であるとする。
【0063】
RTPパケット受信部11は、転送前の最後に受信するRTPパケットの受信時刻T及びタイムスタンプSを情報管理部14に与える。情報管理部14は、上記受信時刻T及びタイムスタンプSを保持する。また、情報管理部14は、転送前の最後のRTPパケットのシーケンスナンバーとSSRCも保持する。
【0064】
また、転送前の最後に受信したRTPパケットは、それまでに受信したRTPパケットと同様にしてネットワークに送信される(S107)。
【0065】
S108では、呼制御部15による転送処理が行われる(S108)。なお、転送処理は、例えばSIP等の呼制御プロトコルに従った既存の転送処理を用いることができる。例えば、SIPの場合、呼制御部15は、通信端末6−1から転送メッセージを受信する。転送メッセージには、例えばCALL−IDとFrom−Tag及びTo−Tagとが含まれている。これにより、呼制御部15は、CALL−IDに基づいて特定される通信呼の転送先の通信端末6−2のアドレス情報を取得することができる。そして、呼制御部15は、転送先の通信端末6−2との間で呼を確立する。これにより通信端末6−2への転送を実現する。
【0066】
呼制御部15による転送処理が完了すると、呼制御部15は、転送操作完了情報と呼情報を情報管理部14に与える。情報管理部14は、その呼情報をRTPパケット受信部11に与える。
【0067】
RTPパケット受信部11は、情報管理部14から呼情報を受け取ると、その呼情報に基づいて当該呼に係るRTPパケットの受信時刻T及びタイムスタンプSを取得する(S109〜S111)。これにより、転送後の最初に受信したRTPパケットの受信時刻T及びタイムスタンプSを取得することができる。
【0068】
例えば、S109及びS114において、受信されたRTPパケットは、フラグメンテーションされて2個のパケットに分かれたものとする。従って、S109で受信されたRTPパケットはseq=51であり、S114で受信されたRTPパケットはseq=52であるが、両者ともタイムスタンプはtimestamp=194220であるとする。
【0069】
このような場合、RTPパケット受信部11は、S109で受信した、転送後の最初のRTPパケットの受信時刻T=XX:YY:ZZ.041及びタイムスタンプS=194220を取得し、その受信時刻T及びタイムスタンプSを情報管理部14に与える。
【0070】
情報管理部14は、転送前の最後に受信したRTPパケットの受信時刻T及びタイムスタンプSと、転送後の最初に受信したRTPパケットの受信時刻T及びタイムスタンプSと、サンプリング周波数Fとを補正値算出部16に与える。
【0071】
補正値算出部16は、例えば式(1)に従って、タイムスタンプの補正値を求める。例えば、図4の例の場合、補正値算出部16は、受信時刻T及びT、タイムスタンプS及びSと、サンプリング周波数F=90000を式(1)に代入して補正値Yを求める。
【0072】
Y=S+F(T−T)−S
=1060920+90000×0.41−194220 …(2)
補正値算出部16は、算出した補正値Yを情報管理部14に与える。情報管理部14は、補正値算出部16からの補正値Yと呼情報とを対応付けて、補正値管理テーブル17に登録する。
【0073】
S109で受信されたRTPパケットは、RTPパケット受信部11からRTPパケット制御部12に与えられる。そして、RTPパケット制御部12は、情報管理部14からの送信先情報に基づいて送信先を決定する。また、RTPパケット制御部12は、呼情報に基づいて、補正値管理テーブル17に補正値の問い合わせを行う。
【0074】
補正値管理テーブル17は、呼情報に対応する補正値Yを検索し、その補正値YをRTPパケット制御部12に与える。そして、RTPパケット制御部12は、受け取った補正値Yを用いてタイムスタンプの値を書き換える。また、RTPパケット制御部12は、ヘッダ情報に含まれるシーケンスナンバーやSSRCも書き換える(S112)。
【0075】
例えば、S109で受信されたRTPパケットについて、timestamp=194220である。従って、RTPパケット制御部12は、補正値管理テーブル17から受け取った補正値Yを用いて、当該RTPパケットのタイムスタンプをtimestamp=194220+{1060920+90000×0.41−194220}=1097820に変更する。
【0076】
そして、RTPパケット制御部12によりヘッダ情報が変更されたRTPパケットは、RTPパケット送信部13により送信される(S113)。
【0077】
また、S114において、次に受信されたRTPパケットについても、上記のS110〜S112と同様の処理を行い、ヘッダ情報を変更したRTPパケットを送信する(S114及びS115)。
【0078】
上述したように、S114のRTPパケットは、S109のRTPパケットとtimestampは同じである。このような場合でも、RTPパケット制御部12が、呼情報に対応する補正値Yを用いて、タイムスタンプ値を補正することで連続性を保つことができる。
【0079】
具体的に、RTPパケット制御部12は、補正値管理テーブル17から受け取った補正値Yを用いて、当該RTPパケットのタイムスタンプをtimestamp=194220+{1060920+90000×0.41−194220}=1097820に変更する。
【0080】
その後に受信されたRTPパケットについても、同様に行う(S116及びS117)。このように、その後に連続するRTPパケットについても連続性を保つことができる。
【0081】
具体的に、RTPパケット制御部12は、補正値管理テーブル17から受け取った補正値Yを用いて、当該RTPパケットのタイムスタンプをtimestamp=201600+{1060920+90000×0.41−194220}=1105200に変更して送信する。
【0082】
(A−3)実施形態の効果
以上のように、実施形態によれば、転送前の最後のRTPパケットの受信時刻及びタイムスタンプと、転送後の最初のRTPパケットの受信時刻及びタイムスタンプと、サンプリング周波数とを取得することで、タイムスタンプの補正値を計算することができる。
【0083】
また、実施形態によれば、例えば、映像通信のようにタイムスタンプの増分が一定でない場合でも、その補正値をRTPパケットに付与することで、転送後最初のRTPパケットのタイムスタンプの値を決定することができる。
【0084】
さらに、実施形態によれば、転送後のRTPパケットについてもタイムスタンプに対して補正値が付与されるため、タイムスタンプの連続性を保つことができる。
【0085】
(B)第2の実施形態
上述した実施形態では、RTP終端装置に適用した場合を例示したが、RTPを終端する装置であれば、例えば、ホームゲートウェイ、IP−PBX等にも適用することができる。
【0086】
上述した実施形態では、映像通信システムおける通信装置に適用する場合を例示して説明したが、音声通信の場合にも適用することができる。
【0087】
上記実施形態では、通信装置の接続端末が転送する場合を例示したが、通信端末の転送に限定されるものではなく、通信呼の接続端末の変更がなされる場合に広く適用することができる。
【0088】
上述した実施形態において、通信装置は、いわゆるソフトウェア処理により、タイムスタンプ値の変更処理を行う。例えば、CPUが、ROMに格納される処理プログラムを読み出し、その処理に必要なデータを用いて処理プログラムを実行することで実現することができる。
【符号の説明】
【0089】
1…通信装置、11…RTPパケット受信部、12…RTPパケット制御部、
13…RTPパケット送信部、14…情報管理部、15…呼制御部、
16…補正値算出部、17…補正値管理テーブル、
21…受信時刻取得部、22…タイムスタンプ取得部、
31…送信先決定部、32…ヘッダ情報書換部、
41…呼処理部、42…転送処理部。

【特許請求の範囲】
【請求項1】
接続する通信端末から受信したRTPパケットの連続性を保持して送信する通信装置において、
接続する1又は複数の上記通信端末の呼を制御する呼制御手段と、
接続している上記通信端末からの要求を受けて上記呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットの受信時刻と、変更後の最初に受信した当該呼のRTPパケットの受信時刻とを取得する受信時刻取得手段と、
上記呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のRTPパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段と、
上記変更前の最後に受信したRTPパケットの受信時刻及びタイムスタンプ値と、上記変更後の最初に受信したRTPパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のRTPパケットのタイムスタンプ値の補正値を求める補正値算出手段と、
接続端末の変更後に、変更された上記通信端末から受信されたRTPパケットのタイムスタンプの値を、上記補正値に基づいて変更するタイムスタンプ変更手段と
を備えることを特徴とする通信装置。
【請求項2】
上記補正値算出手段が、上記呼制御手段による接続端末の変更時間に係るタイムスタンプ値の差分も付与して、上記補正値を求めるものであることを特徴とする請求項1に記載の通信装置。
【請求項3】
上記補正値算出手段が、受信するRTPパケットのサンプリング周波数も用いて、上記補正値を求めるものであることを特徴とする請求項2に記載の通信装置。
【請求項4】
上記呼制御手段が管理する呼情報と、上記補正値算出手段が求めた上記補正値とを対応付けて管理する補正値管理手段とを更に備え、
上記タイムスタンプ変更手段が、受信されたRTPパケットの呼情報に基づいて、上記補正値管理手段から対応する上記補正値を受け取り、当該RTPパケットのタイムスタンプの値を変更することを特徴とする請求項1〜3のいずれかに記載の通信装置。
【請求項5】
接続する通信端末から受信したRTPパケットの連続性を保持して送信する通信プログラムにおいて、
コンピュータを、
接続する1又は複数の上記通信端末の呼を制御する呼制御手段、
接続している上記通信端末からの要求を受けて上記呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットの受信時刻と、変更後の最初に受信した当該呼のRTPパケットの受信時刻とを取得する受信時刻取得手段、
上記呼制御手段が接続端末の変更を行う場合に、変更前の最後に受信した当該呼のRTPパケットのタイムスタンプ値と、変更後の最初に受信した当該呼のRTPパケットのタイムスタンプ値とを取得するタイムスタンプ取得手段、
上記変更前の最後に受信したRTPパケットの受信時刻及びタイムスタンプ値と、上記変更後の最初に受信したRTPパケットの受信時刻及びタイムスタンプ値とに基づいて、当該呼のRTPパケットのタイムスタンプ値の補正値を求める補正値算出手段、
接続端末の変更後に、変更された上記通信端末から受信されたRTPパケットのタイムスタンプの値を、上記補正値に基づいて変更するタイムスタンプ変更手段
として機能させることを特徴とする通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−191585(P2012−191585A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−55722(P2011−55722)
【出願日】平成23年3月14日(2011.3.14)
【出願人】(308033722)株式会社OKIネットワークス (165)
【出願人】(591051645)株式会社OKIソフトウェア (173)
【Fターム(参考)】