例えば図1に、音声パケットとDTMFパケット(非音声パケット)とが入り交じって同一のRTPセッションを流れる場面の一例を示す。なお、図1は、IP電話機から発信された100個のパケットのうち3個のパケット(シーケンス番号4、11及び15のパケット)をロスしており、ロスした3個のパケットのうち1個が音声パケットであり、2個がDTMFパケットであった場合の例を示している。図1において、斜線且つ実線枠の丸は、音声受信パケットを示し、網掛け(グレー)且つ実線枠の丸は、DTMF受信パケットを示し、「×」印は、そのパケットがロスパケットであることを示している(以下同じ)。ここで、音声パケットとDTMFパケットとが入り交じって同一のRTPセッションに流れる場合に音声品質を正確に計測するための方法として、以下のような方法が考えられる。
具体的には、RTPセッションを流れるパケットをキャプチャしてパケットロスが発生しているか判断し、パケットロスの発生を検出した場合には、DTMFパケットの特徴などに従ってロスパケットの種別を判定するようにする。そして、音声パケットとDTMFパケットとのそれぞれについて、パケットの受信数及びロス数を計数し、パケットロス率やパケット到達率などの、ネットワーク品質を示す指標値を算出するようにする。図1の例では、音声パケットのロス率は、1÷(90+1)≒1.1%となり、DTMFパケットのロス率は、2÷(7+2)≒22.2%となっている。この方法によれば、音声パケットとDTMFパケットとを分離して解析するので、音声パケットのネットワーク品質(すなわち、音声品質)を知ることができる。なお、図1に示すように、RTPセッションを流れるパケットには連続したシーケンス番号が付与されるので、パケットロスが発生しているか否かは、パケットに含まれるシーケンス番号から判断可能である。
一方で、例えばプッシュ信号を用いたサービスのサービス品質の監視・管理を行うためには、プッシュ信号の伝送状況を知る必要がある。なお、1つのプッシュ信号は、複数のDTMFパケットで構成され、複数のDTMFパケットの各々に同じプッシュ番号が設定されるようになっている。そのため、あるプッシュ信号を構成するDTMFパケット群の少なくとも一部が発信先に届けば、発信先において、そのプッシュ信号を認識することができる。すなわち、DTMFパケットをロスしていたとしても、プッシュ信号が発信先に伝わっている場合がある。しかしながら、上で述べた方法では、例えば図2に示すようなパケットロスが発生した場合に、プッシュ信号が発信先に伝わったかどうかは知ることができず、DTMFパケットのロスがあった(NG)という判定しかできない。なお、図2は、1つのプッシュ信号を構成する6個のDTMFパケットのうち、1個だけロスしており、残りの5個は受信できている場合を示している。
そこで、本技術の実施の形態では、パケットロス発生時に、以下に説明する処理を実施することによって、プッシュ信号のロスがあったか否かを判定する。そして、例えばプッシュ信号の伝送状況に従って、DTMFサービス(すなわち、プッシュ信号を用いたサービス)の品質を判定する。従って、本技術の実施の形態では、パケットロスがあった場合には、図3に示すように、DTMFサービスの品質が、「OK」「NG」「不明」のいずれに該当するかを判定する。例えば、プッシュ信号のロスがないことが判明すれば、DTMFサービスの品質は「OK」であると判定する。例えば図4に示すように、DTMFパケットをロスしていたとしても、あるプッシュ信号を構成するDTMFパケット群のうち、少なくとも1個届いていることが判明すれば、プッシュ信号は伝わっていることになるので、DTMFサービスの品質は「OK」であると判定する。また、プッシュ信号のロスがあった場合には、DTMFサービスの品質は「NG」であると判定する。また、プッシュ信号のロスがあったか否か分からない場合には、DTMFサービスの品質は「不明」であると判定する。なお、伝わったプッシュ信号の数とロスした(伝わらなかった)プッシュ信号の数をそれぞれ計数し、プッシュ信号のロス率を、DTMFサービスの品質として算出するようにしてもよい。以下、本技術の一実施の形態について説明する。
図5に、本技術の一実施の形態に係るシステム構成図を示す。図5において、パケット通信ネットワーク1には、ネットワーク3aとネットワーク3bとネットワーク3cとが接続されている。そして、各ネットワーク3には、IP電話機及びパーソナル・コンピュータ(PC)が接続されている。例えば、ネットワーク3及びパケット通信ネットワーク1を介して、IP電話機間での通話・プッシュ信号の送受信や、PC間でのデータ通信が可能となっている。また、図5では、パケット通信ネットワーク1とネットワーク3aとの間に観測地点が設けられており、パケット通信ネットワーク1とネットワーク3aとは、観測地点に設置されているTAP(タップ)5を介して接続されている。また、観測地点には、さらに伝送状況判定装置7が設置されており、観測地点を通過するパケットをTAP5を介してキャプチャするようになっている。なお、図5では、観測地点が1箇所の例を示しているが、2箇所以上存在する場合もある。
図6に、図5に示した伝送状況判定装置7の機能ブロック図を示す。伝送状況判定装置7は、パケットキャプチャ部71と、パケット解析部72と、音声・非音声判定部73と、パケットロス判定部74と、基本データ格納部75と、基本品質判定部76と、詳細品質判定部77と、品質データ格納部78と、出力部79とを有する。
パケットキャプチャ部71は、観測地点を流れるパケットをTAP5を介してキャプチャし、パケット解析部72に出力する。パケット解析部72は、パケットキャプチャ部71からのパケットを受信すると、パケットのヘッダを解析することにより、RTPパケットであるか否か判別し、RTPパケットである場合には記憶装置(図示せず)に格納する。また、パケット解析部72は、キャプチャしたパケットが音声パケット又はDTMFパケットであるか判定するよう音声・非音声判定部73に指示する。音声・非音声判定部73は、パケット解析部72からの指示を受信すると、記憶装置に格納されているパケットの各々について、当該パケットのヘッダに含まれるペイロードタイプに従って、パケットの種別(音声パケット/DTMFパケット)を判別し、判別結果をパケットロス判定部74に出力する。また、音声・非音声判定部73は、記憶装置に格納されているパケットを解析することで、DTMFパケットのタイプ(event/tone)や、音声パケットの送信間隔、非音声パケットの送信間隔、再送パケットの送信間隔などのデータを取得し、基本データ格納部75に格納する。なお、DTMFパケットのタイプや、音声パケットの送信間隔、DTMFパケットの送信間隔、再送パケットの送信間隔などの情報が伝送状況判定装置7に予め与えられている場合もある。パケットロス判定部74は、定期的に又は任意のタイミングでパケットロスが発生したか否か判定し、パケットロスの発生を検出した場合には、音声・非音声判定部73の判別結果を用いてロスパターンを特定し、ロスパターンを基本品質判定部76に通知する。基本品質判定部76は、パケットロス判定部74から通知されたロスパターンと基本データ格納部75に格納されているデータと記憶装置に格納されているパケットとを用いて、後で説明する基本品質判定を行い、判定結果を品質データ格納部78に格納する。また、基本品質判定部76は、必要に応じて、詳細品質判定を行うよう詳細品質判定部77に指示する。詳細品質判定部77は、基本品質判定部76からの指示を受信すると、基本データ格納部75に格納されているデータと記憶装置に格納されているパケットとを用いて、後で説明する詳細品質判定を行い、判定結果を品質データ格納部78に格納する。出力部79は、品質データ格納部78に格納されているデータを用いて、DTMFサービスの品質判定結果を表示装置に表示したりする。
なお、本実施の形態の詳細を説明する前に、DTMFパケットの特徴について説明しておく。DTMFパケットには、イベント(event)タイプとトーン(tone)タイプとの2つのタイプが存在し、それぞれ異なる特徴を持っている。
まず、図7及び図8を用いて、eventタイプのDTMFパケットの特徴のうち、本実施の形態と関連するものについて説明する。図7に、DTMFパケット(eventタイプ)のフォーマットの一例を示す。なお、図7では、主要なパラメータのみ示している。DTMFパケット(eventタイプ)には、RTPヘッダと、RTPペイロードとが含まれる。そして、RTPヘッダには、M(マーカー)ビットとペイロードタイプとシーケンス番号とタイムスタンプとが含まれ、RTPペイロードには、イベント番号とE(End)ビットと継続期間とが含まれる。
例えば図8に、プッシュボタン「5」が押された場合のDTMFパケット(eventタイプ)の設定例を示す。図8において、一連のパケット(シーケンス番号1〜11)のうち、シーケンス番号4から9までのパケットがDTMFパケット(eventタイプ)となっている。Mビットには、そのDTMFパケットがDTMFパケット群の先頭である場合、1が設定され、先頭ではない場合、0が設定される。例えば図8では、シーケンス番号4のパケットのMビットには1が設定され、シーケンス番号5から9までのパケットのMビットには0が設定されている。また、ペイロードタイプには、パケットの種別(音声パケット又はDTMFパケット)を表す情報が設定される。イベント番号には、プッシュ番号が設定される。図8では、プッシュボタン「5」が押された例であるため、イベント番号には5が設定されている。また、eventタイプのDTMFパケットの場合、Eビット=1の再送パケットが2個送信される。なお、再送パケットの直前のパケットである終端パケットについては、Eビットを1として送信する場合もあれば、Eビットを0として送信する場合もある。いずれにせよ、DTMFパケット群の最後に、Eビット=1のパケットが少なくとも2個存在することになる。また、継続期間は、プッシュボタンが押されてからの時間であり、タイムスタンプで表される。図8の例では、シーケンス番号4のパケットの継続期間が160となっており、その後160ずつ増加されている。なお、再送パケットの継続期間には、終端パケットの継続期間と同じ値が設定される。
次に、図9乃至図11を用いて、toneタイプのDTMFパケットの特徴について説明する。図9に、DTMFパケット(toneタイプ)のフォーマットの一例を示す。図9では、主要なパラメータのみ示している。DTMFパケット(toneタイプ)には、RTPヘッダと、RTPペイロードとが含まれる。そして、RTPヘッダには、Mビットとペイロードタイプとシーケンス番号とタイムスタンプとが含まれ、RTPペイロードには、継続期間と低群周波数と高群周波数とが含まれる。すなわち、eventタイプと比較すると、RTPペイロードの構成が異なっている。
例えば図10に、プッシュボタン「9」が押された場合のDTMFパケット(toneタイプ)の設定例を示す。図8に示した例と同様に、一連のパケット(シーケンス番号1〜11)のうち、シーケンス番号4から9までのパケットがDTMFパケット(toneタイプ)となっている。なお、Mビット、ペイロードタイプ及びシーケンス番号は、図8の例と同じである。toneタイプの場合、継続期間は、タイプスタンプの単位を表し、RTPヘッダのタイプスタンプは、継続期間に設定された値ずつ増えていく。図10の例では、継続期間は400となっており、シーケンス番号4のパケットのタイムスタンプを0として、その後400ずつ増加されている。また、toneタイプの場合、低群周波数及び高群周波数の組み合わせにてプッシュ番号(*、#、A、B、C、Dなどの記号を含む)を表すようになっている。図11に、低群周波数及び高群周波数の組み合わせとプッシュ番号との対応関係を示す。例えば図10では、低群周波数が852、高群周波数が1477となっているが、これは、図11に示すようにプッシュ番号「9」を示している。
以上のような特徴を前提に、本実施の形態の概要について説明する。本実施の形態では、以下で説明する判定処理(方式1乃至7)を実施することで、プッシュ信号の伝送状況を判定する。なお、方式1乃至3は、プッシュ信号のロスが生じているか否かを判定するものである。また、方式4乃至7は、プッシュ信号ロスが生じておらず且つロス前後のパケットがDTMFパケットであった場合に、パケットロス直前(以下、ロス直前という)のプッシュ信号とパケットロス直後(以下、ロス直後という)のプッシュ信号とが別信号であるか否かを判定するものである。なお、ここでは、方式1乃至3による判定を「基本品質判定」と呼び、方式4乃至7による判定を「詳細品質判定」と呼ぶ。以下、各方式について説明する。
[方式1]
図12及び図13を用いて、方式1について説明する。最初に、方式1における前提を示しておく。
(方式1の前提)
・音声パケットの送信間隔とDTMFパケットの送信間隔が異なる。
・DTMFパケットがtoneタイプである。
方式1では、このような前提の下、送信間隔の違いを利用してロスパケットの内訳を算出し、ロスパケットの中にDTMFパケットが存在しなかった場合に、プッシュ信号のロスは生じていない(OK)と判定する。
具体的には、基本品質判定部76が、図12に示すような処理を実施する。まず、基本品質判定部76は、記憶装置に格納されているパケットを用いて、パケットロス前後(以下、ロス前後という)のパケット間の時間差とシーケンス番号の差とを算出する(図12:ステップS1)。なお、図12に示す処理については、図13を用いて詳しく説明する。図13は、音声パケットの送信間隔とDTMFパケットの送信間隔とが異なっており、DTMFパケットがtoneタイプである場合に、パケットロスが発生した場合の一例を示している。なお、図13において、白色且つ点線枠の丸は、ロスパケットを示している(以下同じ)。図13の例では、音声パケットの送信間隔が20ms、DTMFパケットの送信間隔が50msとなっている。図13の例では、ロス前後のパケット間の時間差は290msとなっており、ロス前後のパケット間のシーケンス番号の差は10−3=7である。
また、基本品質判定部76は、基本データ格納部75から音声パケットの送信間隔とDTMFパケットの送信間隔とを取得する。そして、基本品質判定部76は、音声パケットの送信間隔と、DTMFパケットの送信間隔と、ステップS1において算出した時間差及びシーケンス番号の差とに基づき、ロスパケットの内訳を算出する(ステップS3)。具体的には、以下に示す連立方程式を用いて算出する。
20x + 50y = 290 (1)
x + y = 7 (2)
なお、(1)式において、「20」は、音声パケットの送信間隔であり、「50」は、DTMFパケットの送信間隔である。また、(1)式における「290」は、ステップS1において算出された、ロス前後のパケット間の時間差である。さらに、(2)式における「7」は、ステップS1において算出された、ロス前後のパケット間のシーケンス番号の差である。また、(1)及び(2)式における変数xは、ロスパケットとロス直後のパケットとを含む計算対象パケット(図13の例では、シーケンス番号4から10までのパケット)のうちの音声パケットの数を表し、変数yは、計算対象パケットのうちのDTMFパケットの数を表す。なお、(2)式における「7」は、計算対象パケットの個数でもある。
そして、上記連立方程式を解くと、x=2、y=5となる。ここで、計算対象パケットには、ロス直後のパケットが含まれているため、ロスパケットの内訳を算出するためには、変数x又はyの値から1を差し引く必要がある。図13の例では、ロス直後のパケットはDTMFパケットであるため、変数yの値から1を差し引く。従って、ロスパケット(6個)の内訳は、音声パケットが2個、DTMFパケットが4(=5−1)個となる。
なお、(1)及び(2)式を、以下のような(3)及び(4)式に変形することも可能である。
20x + 50(y+1) = 290 (3)
x + (y+1) = 7 (4)
(3)及び(4)式では、変数xが、音声パケットのロス数を表し、変数yがDTMFパケットのロス数を表している。この連立方程式を解くと、x=2、y=4となり、すなわち変数x又はyの値から1を差し引く必要はない。なお、「y+1」としているのは、ロス直後のパケット(DTMFパケット)が、計算対象パケットに含まれるためである。もし、ロス直後のパケットが音声パケットであった場合には、「x+1」とすればよい。
その後、基本品質判定部76は、ステップS3の処理結果に基づき、ロスパケットの中にDTMFパケットが存在していたか判断する(ステップS5)。なお、ロスパケットの中にDTMFパケットが存在しないということは、必然的に、ロスパケットの中にプッシュ信号も存在しないということになる。従って、ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS5:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号は存在しないと判定する(ステップS7)。この場合、プッシュ信号のロスは生じておらず、DTMFサービスの品質は「OK」であると判定する。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
一方、ロスパケットの中にDTMFパケットが存在していた場合(ステップS5:Yesルート)、ステップS7の処理をスキップし、処理を終了する。この場合、この時点では、プッシュ信号のロスが生じていたか否かは不明であり、必要に応じて、さらに方式2による判定を実施する。
このように、音声パケットとDTMFパケットの送信間隔の違いを利用して、ロスパケットの内訳を算出することにより、プッシュ信号のロスが生じていなかったことを認識できるようになる。なお、以下、ステップS1及びステップS3の処理を「処理P1」と呼ぶ。
[方式2]
次に、図14乃至図19を用いて、方式2について説明する。方式2では、1つのプッシュ信号を表すのに必要な最小限のDTMFパケットの数(以下、最小構成数と呼ぶ)と、ロスパケット(又はロスパケット中の不明パケット)の数とを比較し、ロスパケット(又はロスパケット中の不明パケット)の数が最小構成数より小さい場合に、プッシュ信号のロスは生じていないと判定する。
具体的には、基本品質判定部76が、図14及び図15に示すような処理を実施する。まず、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロス前後のパケットのうち少なくともいずれかがDTMFパケットであり且つDTMFパケットがeventタイプであるか判断する(図14:ステップS11)。ロス前後のパケットが両方とも音声パケット又はDTMFパケットがtoneタイプである場合(ステップS11:Noルート)、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロスパケットの数を、不明パケットの数として算出し、一旦記憶装置に格納する(ステップS13)。そして、端子Aを介してステップS39(図15)の処理に移行する。
一方、ロス前後のパケットのうち少なくともいずれかがDTMFパケットであり且つDTMFパケットがeventタイプである場合(ステップS11:Yesルート)、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロス直前のパケットがDTMFパケットであるか判断する(ステップS15)。なお、本ステップからステップS37(図15)までの処理が実施されるのは、DTMFパケットがeventタイプの時だけである。ロス直前のパケットがDTMFパケットではない場合(ステップS15:Noルート)、すなわちロス直前のパケットが音声パケットである場合、基本品質判定部76は、ロス直前の音声パケットのシーケンス番号を取得し、一旦記憶装置に格納する(ステップS17)。その後、ステップS25の処理に移行する。
一方、ロス直前のパケットがDTMFパケットである場合(ステップS15:Yesルート)、基本品質判定部76は、ロス直前のプッシュ信号に係るDTMFパケット群の中から終端パケットを特定する(ステップS19)。この処理については図16を用いて説明する。なお、図16は、パケットロスが発生した場合の一例を示している。図16では、シーケンス番号7から12までのパケットをロスしている。なお、図16において、網掛け(グレー)且つ実線枠の丸のうち、「R」の文字がふされているものは、再送パケット(すなわち、Eビット=1)を示している(以下同じ)。上で説明したように、DTMFパケットがeventタイプの場合、Eビットが1に設定された再送パケットが2回送信される。また、再送パケットの継続期間には、終端パケットの継続期間と同じ値が設定される。例えば図16では、シーケンス番号6は再送パケットとなっており、Eビットには1が設定されているはずである。また、シーケンス番号5及び6のDTMFパケットの継続期間には同じ値(480)が設定されている。従って、シーケンス番号5のDTMFパケットが終端パケットとして特定される。
そして、基本品質判定部76は、特定した終端パケットのシーケンス番号を取得する(ステップS21)。図16の例では、終端パケットのシーケンス番号として「5」が取得される。そして、基本品質判定部76は、ステップS21で取得したシーケンス番号と所定の再送回数とを用いて、DTMFパケット群における最後の再送パケット(以下、最終パケットと呼ぶ)のシーケンス番号を特定し、一旦記憶装置に格納する(ステップS23)。具体的には、ステップS21で取得したシーケンス番号に、再送回数を加算することにより、最終パケットのシーケンス番号を算出する。図16の例では、5+2=7となり、シーケンス番号7のパケットが最終パケットであることが分かる。これにより、ロスパケットのうち、シーケンス番号7のパケットが、DTMFパケットであったことが分かる。
そして、基本品質判定部76は、ロス直後のパケットがDTMFパケットであるか判断する(ステップS25)。ロス直後のパケットがDTMFパケットである場合(ステップS25:Yesルート)、端子Bを介してステップS29(図15)の処理に移行する。
一方、ロス直後のパケットがDTMFパケットではない場合(ステップS25:Noルート)、すなわちロス直後のパケットが音声パケットである場合、基本品質判定部76は、ロス直後の音声パケットのシーケンス番号を取得し、一旦記憶装置に格納する(ステップS27)。そして、端子Cを介してステップS37(図15)の処理に移行する。
図15の説明に移行して、端子Bの後、基本品質判定部76は、ロス直後のプッシュ信号に係るDTMFパケット群の中から終端パケットを特定する(図15:ステップS29)。この処理については図17を用いて説明する。なお、図17は、パケットロスが発生した場合の一例を示しており、パケットのロス状況は、図16と同じである。図17の例では、ロス直後に3個のDTMFパケットが存在しているが、後ろ2つは再送パケットである。従って、シーケンス番号13のDTMFパケットが終端パケットとして特定される。
そして、基本品質判定部76は、特定した終端パケットの継続期間とシーケンス番号とを取得する(ステップS31)。図17の例では、終端パケットの継続期間として「640」が取得され、シーケンス番号として「13」が取得される。
そして、基本品質判定部76は、取得した継続期間とDTMFパケットの送信間隔とに従って、先頭パケットから終端パケットまでのパケット数を算出する(ステップS33)。具体的には、継続期間を送信間隔で除することにより、先頭パケットから終端パケットまでのパケット数を算出する。図17の例では、160(例えば20ms)が送信間隔となっており、先頭パケットから終端パケットまでのパケット数は、640÷160=4となる。
そして、基本品質判定部76は、ステップS31において取得したシーケンス番号と、ステップS33において算出したパケット数とを用いて、DTMFパケット群における先頭パケットのシーケンス番号を特定し、一旦記憶装置に格納する(ステップS35)。図17の例では、終端パケットのシーケンス番号が13、先頭パケットから終端パケットまでのパケット数が4であるため、13−4+1=10となり、シーケンス番号10のパケットが先頭パケットであることが分かる。これにより、ロスパケットのうち、シーケンス番号10から12までのパケットが、DTMFパケットであったことが分かる。その後、ステップS37の処理に移行する。
そして、ステップS35の処理の後、又は、端子Cの後、基本品質判定部76は、ステップS17又はステップS23の処理結果と、ステップS27又はステップS35の処理結果とを用いて、不明パケットの数を算出する(ステップS37)。この処理については図18を用いて説明する。なお、図18は、パケットロスが発生した場合の一例を示しており、パケットのロス状況は、図16及び図17と同じである。ここで、ステップS23の処理を実施していれば、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が特定されているので、そのシーケンス番号まではDTMFパケットであったことが分かる。上の例では、シーケンス番号7のパケットまでがDTMFパケットであったことが分かる。また、ステップS35の処理を実施していれば、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が特定されているので、そのシーケンス番号以降のパケットがDTMFパケットであったことが分かる。上の例では、シーケンス番号10以降のパケットがDTMFパケットであったことが分かる。従って、上の例において、音声パケットとDTMFパケットとのいずれであるかが不明なのは、シーケンス番号8及び9のパケットとなる。従って、不明パケットの数は、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号と、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号との差から1を差し引くことにより算出することができる。図18の例では、不明パケットの数は、10−7−1=2となる。なお、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットを特定できない場合には、代わりに、ステップS17において取得した、ロス直前のパケットのシーケンス番号を用いる。また、ロス直後のプッシュ番号に係るDTMFパケット群における先頭パケットを特定できない場合には、代わりに、ステップS27において取得した、ロス直後のパケットのシーケンス番号を用いる。なお、終端パケット及び先頭パケットのいずれも特定できない場合には、ロスパケットの数が、不明パケットの数となる。その後、ステップS39の処理に移行する。
そして、ステップS37の処理の後、又は、端子Aの後、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS39)。なお、最小構成数については、例えば、1つのプッシュ信号につき、最低何個のDTMFパケットを送信するか定められており、その最小構成数を表すデータが予め基本データ格納部75に格納されているものとする。例えば図19に示すように、不明パケット(ロスパケット)の数(=3個)が最小構成数(=4個)より小さいということは、必然的に、不明パケットの中にプッシュ信号は存在しないということになる。従って、不明パケットの数が最小構成数より小さい場合(ステップS39:Yesルート)、基本品質判定部76は、不明パケットの中にプッシュ信号は存在しないと判定する(ステップS41)。この場合、プッシュ信号のロスは生じておらず、DTMFサービスの品質は「OK」であると判定する。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
一方、不明パケットの数が最小構成数以上の場合(ステップS39:Noルート)、ステップS41の処理をスキップし、処理を終了する。この場合、プッシュ信号のロスが生じていたか否かは不明である。
このように、1つのプッシュ信号を構成するDTMFパケットの最小構成数を利用することで、プッシュ信号のロスが生じていなかったことを認識できるようになる。なお、以下、ステップS19乃至ステップS23の処理を「処理Q」と呼び、ステップS29乃至ステップS35の処理を「処理R」と呼び、ステップS37の処理を「処理S」と呼ぶ。
[方式3]
次に、図20及び図21を用いて、方式3について説明する。最初に、方式3における前提を示しておく。
(方式3の前提)
・音声パケットの送信間隔とDTMFパケットの送信間隔が異なる。
・DTMFパケットがtoneタイプである。
・ロス前後のパケットが両方とも音声パケットである。
方式3では、このような前提の下、送信間隔の違いを利用してロスパケットの内訳を算出し、ロスパケットの中にDTMFパケットが存在していた場合に、プッシュ信号のロスが生じている(NG)と判定する。
具体的には、基本品質判定部76が、図20に示すような処理を実施する。まず、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロス前後のパケット間の時間差とシーケンス番号の差とを算出する(図20:ステップS51)。また、基本品質判定部76は、基本データ格納部75から音声パケットの送信間隔とDTMFパケットの送信間隔とを取得する。そして、基本品質判定部76は、音声パケットの送信間隔と、DTMFパケットの送信間隔と、ステップS51において算出した時間差及びシーケンス番号の差とに基づき、ロスパケットの内訳を算出する(ステップS53)。なお、ステップS51及びステップS53の処理は、上で説明したステップS1及びステップS3の処理(すなわち、処理P1)と同じであるため、ここでは詳細な説明は省略する。
その後、基本品質判定部76は、ステップS53の処理結果に基づき、ロスパケットの中にDTMFパケットが存在していたか判断する(ステップS55)。例えば図21に、パケットロス発生時、ロス前後が両方とも音声パケットであった場合の一例を示す。なお、図21の例では、1つのプッシュ信号を構成する4個のDTMFパケット(シーケンス番号6から9までのパケット)を全てロスしている。このように、ロス前後のパケットが両方とも音声パケットであるときに、ロスパケットの中にDTMFパケットが存在していたということは、必然的に、少なくとも1つのプッシュ信号を構成するDTMFパケットを全てロスしているということになる。従って、ロスパケットの中にDTMFパケットが存在していた場合(ステップS55:Yesルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在すると判定する(ステップS57)。この場合、プッシュ信号のロスが生じており、DTMFサービスの品質は「NG」であると判定する。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
一方、ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS55:Noルート)、ステップS57の処理をスキップし、処理を終了する。なお、この場合、上で説明した方式1と同様に、ロスパケットのロスは生じていない(OK)と判定できる。
このように、方式3によれば、プッシュ信号のロスが生じていることを認識できるようになる。
[方式4]
次に、図22及び図23を用いて、方式4について説明する。最初に、方式4における前提を示しておく。
(方式4の前提)
・ロス前後のパケットが両方ともDTMFパケットである。
・基本品質判定による判定結果が「OK」である。
方式4では、このような前提の下、ロス直前のプッシュ信号に係るプッシュ番号とロス直後のプッシュ信号に係るプッシュ番号とが異なっている場合に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。
具体的には、詳細品質判定部77が、図22に示すような処理を実施する。まず、詳細品質判定部77は、記憶装置に格納されているパケットに基づき、ロス前後のプッシュ信号に係るプッシュ番号を特定する(図22:ステップS61)。例えばDTMFパケットがeventタイプである場合には、ロス直前のDTMFパケットにおけるRTPペイロードに含まれるイベント番号から、ロス直前のプッシュ信号に係るプッシュ番号を特定し、ロス直後のDTMFパケットにおけるRTPペイロードに含まれるイベント番号から、ロス直後のプッシュ信号に係るプッシュ番号を特定する。一方、DTMFパケットがtoneタイプである場合には、ロス直前のDTMFパケットにおけるRTPペイロードに含まれる低群周波数及び高群周波数から、ロス直前のプッシュ信号に係るプッシュ番号を特定し、ロス直後のDTMFパケットにおけるRTPペイロードに含まれる低群周波数及び高群周波数から、ロス直後のプッシュ信号に係るプッシュ番号を特定する。
そして、詳細品質判定部77は、プッシュ番号がロス前後で異なっているか判断する(ステップS63)。なお、図23に示すように、プッシュ番号がロス前後で異なっているということは、必然的に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるということになる。図23において、網掛け(グレー)且つ実線枠の丸の中の数字は、プッシュ番号を示している(以下同じ)。図23の例では、ロス直前のプッシュ信号に係るプッシュ番号は「8」であり、ロス直後のプッシュ信号に係るプッシュ番号は「2」となっている。従って、プッシュ番号がロス前後で異なっている場合(ステップS63:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する(ステップS65)。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
一方、プッシュ番号がロス前後で同じ場合(ステップS63:Noルート)、ステップS65の処理をスキップし、処理を終了する。なお、プッシュ番号がロス前後で同じ場合には、ロス前後のプッシュ信号が別信号である可能性もあれば、同一信号である可能性もある。この場合、必要に応じて、他の方式による詳細品質判定を行い、ロス前後のプッシュ信号が別信号であるか判定する。
このように、方式4によれば、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であることを認識できるようになる。
[方式5]
次に、図24及び図25を用いて、方式5について説明する。最初に、方式5における前提を示しておく。
(方式5の前提)
・音声パケットの送信間隔とDTMFパケットの送信間隔が異なる。
・DTMFパケットがtoneタイプである。
・ロス前後のパケットが両方ともDTMFパケットである。
・基本品質判定による判定結果が「OK」である。
方式5では、このような前提の下、送信間隔の違いを利用してロスパケットの内訳を算出し、ロスパケットの中に音声パケットが存在していた場合に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。
具体的には、詳細品質判定部77が、図24に示すような処理を実施する。なお、ここでは、事前に、上で説明した処理P1が実施され、ロスパケットの内訳が算出されているものとする。まず、詳細品質判定部77は、ロスパケットの中に音声パケットが存在していたか判断する(図24:ステップS71)。なお、図25に示すように、ロスパケットの中に音声パケットが存在していたということは、その音声パケットの前方に存在するプッシュ信号と、後方に存在するプッシュ信号とは別信号ということになる。従って、ロスパケットの中に音声パケットが存在していた場合(ステップS71:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する(ステップS73)。なお、判定結果は、品質データ格納部78に格納される。図25の例では、20x + 50y = 210、x + y = 6という連立方程式を解くと、x=3、y=3となり、ロス直後のパケットがDTMFパケットであるため、変数yの値から1を差し引く。すなわち、ロスパケット(5個)の内訳は、音声パケットが3個、DTMFパケットが2(=3−1)個となり、ロスパケットの中に音声パケットが存在していたことが分かる。その後、処理を終了する。
一方、ロスパケットの中に音声パケットが存在しなかった場合(ステップS71:Noルート)、ステップS73の処理をスキップし、処理を終了する。なお、ロスパケットの中に音声パケットが存在しなかった場合には、ロス前後のプッシュ信号が別信号である可能性もあれば、同一信号である可能性もある。この場合、必要に応じて、他の方式による詳細品質判定を行い、ロス前後のプッシュ信号が別信号であるか判定する。
このように、方式5によれば、プッシュ番号がロス前後で同じ場合でも、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であることを認識できるようになる。
[方式6]
次に、図26及び図27を用いて、方式6について説明する。最初に、方式6における前提を示しておく。
(方式6の前提)
・ロス前後のパケットが両方ともDTMFパケットである。
・基本品質判定による判定結果が「OK」である。
方式6では、このような前提の下、ロス直後のパケットのRTPヘッダに含まれるMビットが1である場合、又は、Mビット=1のパケットがロスパケットの中に存在していた場合に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。
具体的には、詳細品質判定部77が、図26に示すような処理を実施する。まず、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、DTMFパケットがeventタイプであるか判断する(図26:ステップS81)。DTMFパケットがeventタイプである場合(ステップS81:Yesルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS83)。なお、図27に示すように、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるということは、ロス直後のDTMFパケットが、ロス直後のプッシュ信号を構成するパケット群の先頭ということになる。従って、ロス直後のプッシュ信号は、ロス直前のプッシュ信号とは別信号ということになる。なお、図27の例では、ロス直後のプッシュ信号は、シーケンス番号9から12までのDTMFパケットで構成されている。もし、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合には(ステップS83:Yesルート)、ステップS89の処理に移行する。
一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではなかった場合(ステップS83:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたか判断する(ステップS85)。具体的には、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケット(すなわち、Mビット=1のパケット)を特定し、その先頭パケットがロスパケットの中にあるか判断する。ここで、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたということは、ロス直後のプッシュ信号が、ロス直前のプッシュ信号とは別信号ということになる。なお、上で説明した処理Rを実施することで、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号を取得することができる。もし、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していた場合(ステップS85:Yesルート)、ステップS89の処理に移行する。
一方、ロスパケットの中に、Mビットが1であるDTMFパケットが存在しなかった場合(ステップS85:Noルート)、処理を終了する。なお、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではなく、且つ、Mビットが1であるDTMFパケットがロスパケットの中に存在しなかったということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが同一信号(すなわち、1つの信号)であるということになる。
一方、ステップS81においてDTMFパケットがtoneタイプであると判断された場合(ステップS81:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS87)。ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合には(ステップS87:Yesルート)、ステップS89の処理に移行する。一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではなかった場合(ステップS87:Noルート)、処理を終了する。
そして、ロス直後のDTMFパケットのMビットが1である場合、又は、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していた場合、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する(ステップS89)。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
このように、方式6によれば、プッシュ番号がロス前後で同じ場合や、ロスパケットの中に音声パケットが存在しなかった場合でも、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるか、同一信号であるかを認識できるようになる。
[方式7]
次に、図28及び図29を用いて、方式7について説明する。最初に、方式7における前提を示しておく。
(方式7の前提)
・音声パケットの送信間隔と再送パケット以外のDTMFパケット(以下、再送パケットと区別するため「通常のDTMFパケット」と呼ぶ)の送信間隔が同じ。
・DTMFパケットがeventタイプである。
・通常のDTMFパケットの送信間隔と再送パケットの送信間隔とが異なる。
・ロス前後のパケットが両方ともDTMFパケットである。
・基本品質判定による判定結果が「OK」である。
方式7では、このような前提の下、ロスパケットの中に再送パケットが存在していたか判断し、ロスパケットの中に再送パケットが存在していた場合に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。
具体的には、詳細品質判定部77が、図28に示すような処理を実施する。まず、記憶装置に格納されているパケットを用いて、ロス前後のパケット間の時間差とシーケンス番号の差とを算出する(図28:ステップS91)。なお、この処理は、ステップS1の処理と同じであるので、ここでは詳細な説明は省略する。
そして、詳細品質判定部77は、基本データ格納部75から再送パケットの送信間隔と再送パケット以外のパケット(音声パケット及び通常のDTMFパケット)の送信間隔とを取得する。そして、詳細品質判定部77は、再送パケットの送信間隔と、再送パケット以外のパケットの送信間隔と、ステップS91において算出した時間差及びシーケンス番号の差とに基づき、ロスパケットの内訳を算出する(ステップS93)。この処理については図29を用いて説明する。図29は、パケットロスが発生した場合の一例を示している。図29の例では、再送パケットの送信間隔が0msであり、再送パケット以外のパケットの送信間隔が20msであるものとする。この場合、以下に示す連立方程式を用いて、ロスパケットの内訳を算出する。
0a + 20b = 80 (5)
a + b = 6 (6)
なお、(5)式において、「0」は、再送パケットの送信間隔であり、「20」は、再送パケット以外のパケットの送信間隔である。また、(5)式における「80」は、ステップS91において算出された、ロス前後のパケット間の時間差である。さらに、(6)式における「6」は、ステップS91において算出された、ロス前後のパケット間のシーケンス番号の差である。また、(5)及び(6)式における変数aは、計算対象パケット(図29の例では、シーケンス番号4から9までのパケット)のうちの再送パケットの数を表し、変数bは、計算対象パケットのうちの再送パケット以外のパケットの数を表す。
そして、上記連立方程式を解くと、a=2、b=4となる。ここで、計算対象パケットには、ロス直後のパケットが含まれているため、ロスパケットの内訳を算出するためには、変数a又はbの値から1を差し引く必要がある。図29の例では、ロス直後のパケットは、通常のDTMFパケットであるため、変数bの値から1を差し引く。従って、ロスパケット(5個)の内訳は、再送パケットが2個、再送パケット以外のパケットが3個となる。なお、(5)及び(6)式については、方式1において説明したような変形を行うことも可能である。
その後、詳細品質判定部77は、ステップS93の処理結果に基づき、ロスパケットの中に再送パケットが存在していたか判断する(ステップS95)。なお、ロスパケットの中に再送パケットが存在していたということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるということになる。従って、ロスパケットの中に再送パケットが存在していた場合(ステップS95:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する(ステップS97)。なお、判定結果は、品質データ格納部78に格納される。そして、処理を終了する。
一方、ロスパケットの中に再送パケットが存在しなかった場合(ステップS95:Noルート)、ステップS97の処理をスキップし、処理を終了する。なお、ロスパケットの中に再送パケットが存在しなかったということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが同一信号(すなわち、1つの信号)であるということになる。
このように、再送パケットと再送パケット以外のパケットの送信間隔の違いを利用してロスパケットの内訳を算出することにより、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるか、同一信号であるかを認識できるようになる。なお、以下、ステップS91及びステップS93の処理を「処理P2」と呼ぶ。
なお、上で説明した処理P1、処理P2、処理Q、処理R及び処理Sの処理内容及び適用条件をまとめると図30に示すようになる。図30では、各処理について、処理内容と、適用条件1(ロスパターン)と、適用条件2(タイプ)と、適用条件3(その他)とを示している。例えば処理P1は、ロスパケットの中の音声パケットとDTMFパケットの数を算出する処理である。なお、処理P1は、DTMFパケットがtoneタイプで且つ音声パケットとDTMFパケットとで送信間隔が異なる場合に適用可能である。また、処理P2は、ロスパケットの中の再送パケットと再送パケット以外のパケットの数を算出する処理である。なお、処理P2は、DTMFパケットがeventタイプで且つ音声パケットとDTMFパケットとの送信間隔が同じ場合に適用可能である。さらに、処理Qは、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号を算出する処理である。なお、処理Qは、ロス直前のパケットがDTMFパケットで且つDTMFパケットがeventタイプの場合に適用可能である。また、処理Rは、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号を算出する処理である。なお、処理Rは、ロス直後のパケットがDTMFパケットで且つDTMFパケットがeventタイプの場合に適用可能である。さらに、処理Sは、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケット(又はロス直前のパケット)と、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケット(又はロス直後のパケット)との間にあるパケットの数を算出する処理である。なお、処理Sは、ロス前後のパケットのうち少なくともいずれかがDTMFパケットで且つDTMFパケットがeventタイプの場合に適用可能である。
[伝送状況判定装置の動作の具体例]
次に、図31乃至図69を用いて、伝送状況判定装置7の処理フローについて説明する。図31に、伝送状況判定装置7の全体の処理フローを示す。まず、パケットキャプチャ部71が、ネットワーク上を流れるパケットをTAP5を介してキャプチャし、パケット解析部72に出力する(図31:ステップS101)。
そして、パケット解析部72は、パケットキャプチャ部71からパケットを受信すると、RTPパケットであるか否か判別し、RTPパケットである場合には記憶装置に格納する(ステップS103)。また、パケット解析部72は、定期的に又は任意のタイミングで、キャプチャしたパケットが音声パケット又はDTMFパケットであるか判定するよう音声・非音声判定部73に指示する。例えば、予め一定間隔で処理するよう設定されている場合には、その間隔で指示を出力する。
そして、音声・非音声判定部73は、パケット解析部72からの指示を受信すると、記憶装置に格納されているRTPパケットを解析する(ステップS105)。具体的には、記憶装置に格納されているRTPパケットの各々について、RTPヘッダのペイロードタイプに従って、当該パケットの種別を判別し、判別結果をパケットロス判定部74に出力する。また、RTPパケットを解析することにより、RTPセッションを流れるDTMFパケットのタイプ(event/tone)や、音声パケットの送信間隔、DTMFパケットの送信間隔、再送パケットの送信間隔などのデータを取得し、基本データ格納部75に格納する。なお、送信間隔やDTMFパケットのタイプなどの情報は、予め与えられている場合もある。
そして、パケットロス判定部74は、定期的に又は任意のタイミングでパケットロスが発生したか否かを判定する(ステップS107)。例えば、記憶装置に格納されている一連のRTPパケットのシーケンス番号をチェックし、シーケンス番号に抜けがある場合にはパケットロス発生と判定する。パケットロスが発生していなければ(ステップS107:Noルート)、以下で説明するステップS109及びステップS111の処理をスキップし、ステップS113の処理に移行する。
一方、ロスパケットの発生を検出した場合には(ステップS107:Yesルート)、ステップS109の処理に移行する。そして、パケットロス判定部74は、基本データ格納部75に格納されているデータと音声・非音声判定部73の判別結果とに従って、音声パケット及びDTMFパケットの送信間隔とDTMFパケットのタイプとロスパターンとを取得する(ステップS109)。なお、ロスパターンとしては、(1)ロス前後のパケットが両方ともDTMFパケットであるパターンと、(2)ロス直前のパケットがDTMFパケットで且つロス直後のパケットが音声パケットであるパターンと、(3)ロス直前のパケットが音声パケットで且つロス直後のパケットがDTMFパケットであるパターンと、(4)ロス前後のパケットが両方とも音声パケットであるパターンとの4パターンがあるものとする。例えば、パケットロス判定部74が、音声・非音声判定部73の判別結果を用いて、いずれのパターンに該当するか判定する。また、音声パケット及びDTMFパケットの送信間隔とDTMFパケットのタイプは、基本データ格納部75から取得する。そして、パケットロス判定部74は、取得した音声パケット及びDTMFパケットの送信間隔とDTMFパケットのタイプとロスパターンとを基本品質判定部76に出力する。
そして、基本品質判定部76は、パケットロス判定部74からのデータを受信すると、詳細品質判定部77と連携し、音声パケット及びDTMFパケットの送信間隔とDTMFパケットのタイプとロスパターンとに応じた品質判定処理を実施する(ステップS111)。具体的には、後で詳細に説明する品質判定処理1乃至16のうちいずれか1つの処理を実施する。なお、図32に示すように、音声パケット及びDTMFパケットの送信間隔とDTMFパケットのタイプとロスパターンとに従って、実施すべき処理が決定される。例えば送信間隔については、音声パケットの送信間隔とDTMFパケットの送信間隔とが異なっている場合と同じ場合の2通りがある。また、DTMFパケットのタイプは、eventタイプとtoneタイプの2通りがある。さらに、ロス前後のパケットのパターン(すなわち、ロスパターン)は、上で述べたような4通りがある。従って、2×2×4=16通りの組み合わせとなる。図32に示すように、例えば、音声パケットの送信間隔とDTMFパケット送信間隔とが異なっており、DTMFパケットがeventタイプであり、さらにロス前後のパケットが両方ともDTMFパケットであった場合、ステップS111では、品質判定処理1を実施する。なお、詳細は後で説明するが、品質判定処理1乃至16では、プッシュ信号のロスが生じているかどうかを判定する。また、品質判定処理1、5、9及び13は、ロス前後のパケットが両方ともDTMFパケットである場合の処理であるため、プッシュ信号のロスが生じていない場合には、さらにロス前後のプッシュ信号が別信号であるかどうかを判定する。なお、品質判定処理の処理結果は、品質データ格納部78に格納される。図32では、品質判定処理毎に、その品質判定処理において使用される基本品質判定の方式と詳細品質判定の方式を示している。例えば品質判定処理1では、方式2による基本品質判定と方式4及び6による詳細品質判定を行う。
そして、いずれかの品質判定処理を実施した後(ステップS111の処理の後)、出力部79は、品質データ格納部78に格納されているデータを用いて、DTMFサービスの品質判定結果画面データを生成し、表示装置等に出力し(ステップS113)、処理を終了する。なお、例えば、交通機関、医療機関などの電話予約サービスや、金融機関のテレフォンバンキングサービスなどでは、1つでもプッシュ信号が欠けてしまうと、正常に処理を行うことができない。そのため、1つでもプッシュ信号をロスしている場合には、DTMFサービスの品質判定結果として「NG」を表示し、全てのプッシュ信号が伝わっている場合には、DTMFサービスの品質判定結果として「OK」を表示する。なお、DTMFサービスの品質判定結果の表示内容は、これに限られない。例えば、伝わったプッシュ信号の数とロスしたプッシュ信号の数とをそれぞれ計数するようにし、プッシュ信号のロス率(=伝わったプッシュ信号の数÷(伝わったプッシュ信号の数+ロスしたプッシュ信号の数))などを算出して表示するような構成を採用することも可能である。例えば、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定された場合には、伝わったプッシュ信号の数に2を加算し、同じプッシュ信号であると判定された場合には、伝わったプッシュ信号の数に1を加算するようにすればよい。
[品質判定処理1]
次に、品質判定処理1乃至16について説明する。まず、図33乃至図36を用いて、品質判定処理1について説明する。図33に、品質判定処理1の概要を示す。図33に示すように、品質判定処理1は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがeventタイプであり、さらにロス前後のパケットが両方ともDTMFパケットである場合に適用される処理である。そして、品質判定処理1では、方式2による基本品質判定を行い、その後、必要に応じて、方式4及び6による詳細品質判定を行う。なお、図33において、方式1から7までの全ての方式を図示しているが、網掛け(グレー)となっている方式(図33では、方式1、3、5及び7)は、その品質判定処理では使用されない方式であることを意味する(以下同じ)。
品質判定処理1の処理フローを図34及び図35に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理Qを実施する(図34:ステップS121)。処理Qについては上で説明しているので、ここでは説明は省略する。なお、処理Qを実施すると、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が算出される。また、基本品質判定部76は、記憶装置に格納されているパケットを用いて、処理Rを実施する(ステップS123)。処理Rについては上で説明しているので、ここでは説明は省略する。なお、処理Rを実施すると、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が算出される。そして、基本品質判定部76は、処理Q及び処理Rの処理結果を用いて、処理Sを実施する(ステップS125)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS127)。不明パケットの数が最小構成数より小さい場合(ステップS127:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていないと(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS129)。その後、端子Dを介してステップS133(図35)の処理に移行する。
一方、不明パケットの数が最小構成数以上の場合(ステップS127:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS131)。その後、端子Eを介して図35に移行し、処理を終了して元の処理に戻る。
図35の説明に移行して、端子Dの後、詳細品質判定部77が、パケットが格納されている記憶装置から、ロス前後の各々のプッシュ信号に係るプッシュ番号を取得する(図35:ステップS133)。そして、詳細品質判定部77は、プッシュ番号がロス前後で異なっているか判断する(ステップS135)。プッシュ番号がロス前後で異なっている場合には(ステップS135:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定し、判定結果を品質データ格納部78に格納する(ステップS137)。その後、処理を終了し、元の処理に戻る。
一方、プッシュ番号がロス前後で同じ場合(ステップS135:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS139)。ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合(ステップS139:Yesルート)、ステップS137の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではない場合(ステップS139:Noルート)、詳細品質判定部77は、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたか判断する(ステップS141)。なお、本ステップより前に処理R(ステップS123)が実施されているので、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケット(すなわち、Mビット=1のパケット)のシーケンス番号は既に算出されている。従って、ステップS141では、処理Rによって算出された、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号を用いて、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたか判断する。ロスパケットの中に、Mビットが1であるDTMFパケットが存在していた場合(ステップS141:Yesルート)、ステップS137の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロスパケットの中に、Mビットが1であるDTMFパケットが存在しなかった場合(ステップS141:Noルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とは1つの信号(同一信号)であると判定し、判定結果を品質データ格納部78に格納する(ステップS143)。その後、処理を終了し、元の処理に戻る。
例えば図36に示すようなパケットロスが発生した場合、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が15、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が16となり、不明パケットの数は0(=16−15−1)となる。なお、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号として15が算出され、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号として16が算出されたものとする。不明パケットの数が0の場合、図36に示すようなロス前後のプッシュ信号が別信号である可能性もあれば、ロス前後のプッシュ信号が同一信号である可能性もあるが、方式4又は方式6による判定を行うことで、ロス前後のプッシュ信号が別信号であるか同一信号であるかを認識できる。
なお、図35では、方式4による判定を行った後、方式6による判定を行うような処理フローを示しているが、必ずしも方式4による判定を先に行わなければならないわけではなく、方式6による判定を先に行うようにしてもよい。
[品質判定処理2]
次に、図37及び図38を用いて、品質判定処理2について説明する。図37に、品質判定処理2の概要を示す。図37に示すように、品質判定処理2は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがeventタイプであり、さらにロス直前のパケットがDTMFパケットで且つロス直後のパケットが音声パケットである場合に適用される処理である。そして、品質判定処理2では、方式2による基本品質判定を行う。なお、ロス直後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理2の処理フローを図38に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理Qを実施する(図38:ステップS151)。処理Qについては上で説明しているので、ここでは説明は省略する。なお、処理Qを実施すると、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が算出される。また、基本品質判定部76は、パケットが格納されている記憶装置から、ロス直後の音声パケットのシーケンス番号を取得する(ステップS153)。なお、この処理は、ステップS27(図14)の処理と同じである。そして、基本品質判定部76は、処理Qの処理結果と、ロス直後の音声パケットのシーケンス番号とを用いて、処理Sを実施する(ステップS155)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS157)。不明パケットの数が最小構成数より小さい場合(ステップS157:Yesルート)、基本品質判定部76は、ロス直前のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS159)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS157:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS161)。その後、処理を終了し、元の処理に戻る。
[品質判定処理3]
次に、図39及び図40を用いて、品質判定処理3について説明する。図39に、品質判定処理3の概要を示す。図39に示すように、品質判定処理3は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがeventタイプであり、さらにロス直前のパケットが音声パケットで且つロス直後のパケットがDTMFパケットである場合に適用される処理である。そして、品質判定処理3では、方式2による基本品質判定を行う。なお、ロス直前のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理3の処理フローを図40に示す。まず、基本品質判定部76が、パケットが格納されている記憶装置から、ロス直前の音声パケットのシーケンス番号を取得する(図40:ステップS171)。なお、この処理は、ステップS17(図14)の処理と同じである。また、基本品質判定部76は、記憶装置に格納されているパケットを用いて、処理Rを実施する(ステップS173)。処理Rについては上で説明しているので、ここでは説明は省略する。なお、処理Rを実施すると、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が算出される。そして、基本品質判定部76は、ロス直前の音声パケットのシーケンス番号と、処理Rの処理結果とを用いて、処理Sを実施する(ステップS175)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS177)。不明パケットの数が最小構成数より小さい場合(ステップS177:Yesルート)、基本品質判定部76は、ロス直後のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS179)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS177:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS181)。その後、処理を終了し、元の処理に戻る。
[品質判定処理4]
次に、図41及び図42を用いて、品質判定処理4について説明する。図41に、品質判定処理4の概要を示す。図41に示すように、品質判定処理4は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがeventタイプであり、さらにロス前後のパケットが両方とも音声パケットである場合に適用される処理である。そして、品質判定処理4では、方式2による基本品質判定を行う。なお、ロス前後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理4の処理フローを図42に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図42:ステップS191)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS193)。不明パケットの数が最小構成数より小さい場合(ステップS193:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS195)。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS193:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS197)。その後、処理を終了し、元の処理に戻る。
[品質判定処理5]
次に、図43乃至図45を用いて、品質判定処理5について説明する。図43に、品質判定処理5の概要を示す。図43に示すように、品質判定処理5は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがtoneタイプであり、さらにロス前後のパケットが両方ともDTMFパケットである場合に適用される処理である。そして、品質判定処理5では、方式1による基本品質判定を行い、さらに方式2による基本品質判定を行う。その後、必要に応じて、方式5による詳細品質判定を行い、さらに方式4及び6による詳細品質判定を行う。
品質判定処理5の処理フローを図44及び図45に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットと基本データ格納部75に格納されているデータとを用いて、処理P1を実施する(図44:ステップS201)。処理P1については上で説明しているので、ここでは説明は省略する。なお、処理P1を実施すると、ロスパケットの内訳が算出される。
そして、基本品質判定部76は、処理P1の処理結果を用いて、ロスパケットの中にDTMFパケットが存在していたか判断する(ステップS203)。ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS203:Noルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS205)。その後、端子Fを介してステップS217(図45)の処理に移行する。
一方、ロスパケットの中にDTMFパケットが存在していた場合(ステップS203:Yesルート)、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(ステップS207)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS209)。不明パケットの数が最小構成数より小さい場合(ステップS209:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS211)。その後、端子Gを介して、ステップS215(図45)の処理に移行する。
一方、不明パケットの数が最小構成数以上の場合(ステップS209:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS213)。その後、端子Hを介して図45に移行し、処理を終了して元の処理に戻る。
図45の説明に移行して、端子Gの後、詳細品質判定部77が、処理P1(ステップS201)の処理結果を用いて、ロスパケットの中に音声パケットが存在していたか判断する(図45:ステップS215)。ロスパケットの中に音声パケットが存在していた場合(ステップS215:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定し、判定結果を品質データ格納部78に格納する(ステップS217)。その後、処理を終了し、元の処理に戻る。なお、ステップS203において、ロスパケットの中にDTMFパケットが存在しなかったと判断された場合、ステップS205の処理の後、端子Fを介してステップS217の処理に移行してくる。ここで、ロスパケットの中にDTMFパケットが存在しなかったということは、ロスパケットが全て音声パケットであったということであるため、ステップS215のような判断を行わなくても、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるということが分かる。
一方、ロスパケットの中に音声パケットが存在しなかった場合(ステップS215:Noルート)、詳細品質判定部77は、パケットが格納されている記憶装置から、ロス前後の各々のプッシュ信号に係るプッシュ番号を取得する(ステップS219)。そして、詳細品質判定部77は、プッシュ番号がロス前後で異なっているか判断する(ステップS221)。プッシュ番号がロス前後で異なっている場合(ステップS221:Yesルート)、ステップS217の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、プッシュ番号がロス前後で同じ場合(ステップS221:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS223)。ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合(ステップS223:Yesルート)、ステップS217の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではない場合(ステップS223:Noルート)、詳細品質判定部77は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS225)。その後、処理を終了し、元の処理に戻る。
なお、図45では、方式5、方式4、方式6の順番で判定を行うような処理フローを示しているが、必ずしもこの順番で判定を行わなければならないわけではなく、同様の判定結果が得られるのであれば、どのような順番で判定を行ってもよい。
[品質判定処理6]
次に、図46及び図47を用いて、品質判定処理6について説明する。図46に、品質判定処理6の概要を示す。図46に示すように、品質判定処理6は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがtoneタイプであり、さらにロス直前のパケットがDTMFパケットで且つロス直後のパケットが音声パケットである場合に適用される処理である。そして、品質判定処理6では、方式1による基本品質判定を行い、さらに方式2による基本品質判定を行う。なお、ロス直後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理6の処理フローを図47に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理P1を実施する(図47:ステップS231)。処理P1については上で説明しているので、ここでは説明は省略する。なお、処理P1を実施すると、ロスパケットの内訳が算出される。
そして、基本品質判定部76は、処理P1の処理結果を用いて、ロスパケットの中にDTMFパケットが存在していたか判断する(ステップS233)。ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS233:Noルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS235)。その後、処理を終了し、元の処理に戻る。
一方、ロスパケットの中にDTMFパケットが存在していた場合(ステップS233:Yesルート)、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(ステップS237)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS239)。不明パケットの数が最小構成数より小さい場合(ステップS239:Yesルート)、基本品質判定部76は、ロス直前のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS241)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS239:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS243)。その後、処理を終了し、元の処理に戻る。
[品質判定処理7]
次に、図48及び図49を用いて、品質判定処理7について説明する。図48に、品質判定処理7の概要を示す。図48に示すように、品質判定処理7は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがtoneタイプであり、さらにロス直前のパケットが音声パケットで且つロス直後のパケットがDTMFパケットである場合に適用される処理である。そして、品質判定処理7では、方式1による基本品質判定を行い、さらに方式2による基本品質判定を行う。なお、ロス直前のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理7の処理フローを図49に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理P1を実施する(図49:ステップS251)。処理P1については上で説明しているので、ここでは説明は省略する。なお、処理P1を実施すると、ロスパケットの内訳が算出される。
そして、基本品質判定部76は、処理P1の処理結果を用いて、ロスパケットの中にDTMFパケットが存在していたか判断する(ステップS253)。ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS253:Noルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS255)。その後、処理を終了し、元の処理に戻る。
一方、ロスパケットの中にDTMFパケットが存在していた場合(ステップS253:Yesルート)、基本品質判定部76は、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(ステップS257)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS259)。不明パケットの数が最小構成数より小さい場合(ステップS259:Yesルート)、基本品質判定部76は、ロス直後のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS261)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS259:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS263)。その後、処理を終了し、元の処理に戻る。
[品質判定処理8]
次に、図50及び図51を用いて、品質判定処理8について説明する。図50に、品質判定処理8の概要を示す。図50に示すように、品質判定処理8は、送信間隔が音声パケットとDTMFパケットとで異なっており、DTMFパケットがtoneタイプであり、さらにロス前後のパケットが両方とも音声パケットである場合に適用される処理である。そして、品質判定処理8では、方式3による基本品質判定を行う。なお、ロス前後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理8の処理フローを図51に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理P1を実施する(図51:ステップS271)。処理P1については上で説明しているので、ここでは説明は省略する。なお、処理P1を実施すると、ロスパケットの内訳(音声パケットのロス数とDTMFパケットのロス数)が算出される。
そして、基本品質判定部76は、処理P1の処理結果を用いて、ロスパケットの中にDTMFパケットが存在しなかったか判断する(ステップS273)。ロスパケットの中にDTMFパケットが存在しなかった場合(ステップS273:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS275)。その後、処理を終了し、元の処理に戻る。
一方、ロスパケットの中にDTMFパケットが存在していた場合(ステップS273:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していた、すなわちプッシュ信号のロスが生じている(NG)と判定し、判定結果を品質データ格納部78に格納する(ステップS277)。その後、処理を終了し、元の処理に戻る。
[品質判定処理9]
次に、図52乃至図55を用いて、品質判定処理9について説明する。図52に、品質判定処理9の概要を示す。図52に示すように、品質判定処理9は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがeventタイプであり、さらにロス前後のパケットが両方ともDTMFパケットである場合に適用される処理である。そして、品質判定処理9では、方式2による基本品質判定を行い、その後、必要に応じて、方式4、6及び7による詳細品質判定を行う。
品質判定処理9の処理フローを図53乃至図55に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理Qを実施する(図53:ステップS281)。処理Qについては上で説明しているので、ここでは説明は省略する。なお、処理Qを実施すると、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が算出される。また、基本品質判定部76は、記憶装置に格納されているパケットを用いて、処理Rを実施する(ステップS283)。処理Rについては上で説明しているので、ここでは説明は省略する。なお、処理Rを実施すると、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が算出される。そして、基本品質判定部76は、処理Q及び処理Rの処理結果を用いて、処理Sを実施する(ステップS285)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS287)。不明パケットの数が最小構成数より小さい場合(ステップS287:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていないと(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS289)。その後、端子Iを介してステップS293(図54)の処理に移行する。
一方、不明パケットの数が最小構成数以上の場合(ステップS287:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS291)。その後、端子Jを介して図54に移行し、処理を終了して元の処理に戻る。
図54の説明に移行して、端子Iの後、詳細品質判定部77が、パケットが格納されている記憶装置から、ロス前後の各々のプッシュ信号に係るプッシュ番号を取得する(図54:ステップS293)。そして、詳細品質判定部77は、プッシュ番号がロス前後で異なっているか判断する(ステップS295)。プッシュ番号がロス前後で異なっている場合には(ステップS295:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定し、判定結果を品質データ格納部78に格納する(ステップS297)。その後、処理を終了し、元の処理に戻る。
一方、プッシュ番号がロス前後で同じ場合(ステップS295:Noルート)、詳細品質判定部77は、送信間隔が通常のDTMFパケットと再送パケットとで異なっているか判断する(ステップS299)。送信間隔が通常のDTMFパケットと再送パケットとで異なっている場合(ステップS299:Yesルート)、端子Kを介してステップS307(図55)の処理に移行する。
一方、送信間隔が通常のDTMFパケットと再送パケットとで同じ場合(ステップS299:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS301)。ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合(ステップS301:Yesルート)、ステップS297の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではない場合(ステップS301:Noルート)、詳細品質判定部77は、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたか判断する(ステップS303)。なお、本ステップより前に処理R(ステップS283)が実施されているので、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケット(すなわち、Mビット=1のパケット)のシーケンス番号は既に算出されている。従って、ステップS303では、処理Rによって算出された、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号を用いて、ロスパケットの中に、Mビットが1であるDTMFパケットが存在していたか判断する。ロスパケットの中に、Mビットが1であるDTMFパケットが存在していた場合(ステップS303:Yesルート)、ステップS297の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロスパケットの中に、Mビットが1であるDTMFパケットが存在しなかった場合(ステップS303:Noルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とは1つの信号(同一信号)であると判定し、判定結果を品質データ格納部78に格納する(ステップS305)。その後、処理を終了し、元の処理に戻る。
図55の説明に移行して、端子Kの後、詳細品質判定部77は、記憶装置に格納されているパケットと基本データ格納部75に格納されているデータとを用いて、処理P2を実施する(図55:ステップS307)。処理P2については上で説明しているので、ここでは説明は省略する。なお、処理P2を実施すると、ロスパケットの内訳(再送パケットのロス数と再送パケット以外のパケットのロス数)が算出される。
そして、詳細品質判定部77は、処理P2の処理結果を用いて、ロスパケットの中に再送パケットが存在していたか判断する(ステップS309)。ロスパケットの中に再送パケットが存在していた場合(ステップS309:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定し、判定結果を品質データ格納部78に格納する(ステップS311)。その後、端子Lを介して図54の処理フローに戻って処理を終了し、元の処理に戻る。
一方、ロスパケットの中に再送パケットが存在しなかった場合(ステップS309:Noルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とは1つの信号(同一信号)であると判定し、判定結果を品質データ格納部78に格納する(ステップS313)。その後、端子Lを介して図54の処理フローに戻って処理を終了し、元の処理に戻る。
なお、図54及び図55では、方式4による判定を行った後、方式6及び7による判定を行うような処理フローを示しているが、必ずしも方式4による判定を先に行わなければならないわけではなく、方式6及び7による判定を先に行うようにしてもよい。また、送信間隔が通常のDTMFパケットと再送パケットとで異なっている場合に(すなわち、ステップS299のYesルート)、方式7による判定を行うようになっているが、必ずしも方式7による判定を行わなければならないわけではなく、方式6による判定を行うことも可能である。
[品質判定処理10]
次に、図56及び図57を用いて、品質判定処理10について説明する。図56に、品質判定処理10の概要を示す。図56に示すように、品質判定処理10は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがeventタイプであり、さらにロス直前のパケットがDTMFパケットで且つロス直後のパケットが音声パケットである場合に適用される処理である。そして、品質判定処理10では、方式2による基本品質判定を行う。なお、ロス直後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理10の処理フローを図57に示す。なお、品質判定処理10の処理フローは、基本的には品質判定処理2の処理フロー(図38)と同じである。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、処理Qを実施する(図57:ステップS321)。処理Qについては上で説明しているので、ここでは説明は省略する。なお、処理Qを実施すると、ロス直前のプッシュ信号に係るDTMFパケット群における最終パケットのシーケンス番号が算出される。また、基本品質判定部76は、パケットが格納されている記憶装置から、ロス直後の音声パケットのシーケンス番号を取得する(ステップS323)。なお、この処理は、ステップS27(図14)の処理と同じである。そして、基本品質判定部76は、処理Qの処理結果と、ロス直後の音声パケットのシーケンス番号とを用いて、処理Sを実施する(ステップS325)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS327)。不明パケットの数が最小構成数より小さい場合(ステップS327:Yesルート)、基本品質判定部76は、ロス直前のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS329)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS327:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS331)。その後、処理を終了し、元の処理に戻る。
[品質判定処理11]
次に、図58及び図59を用いて、品質判定処理11について説明する。図58に、品質判定処理11の概要を示す。図58に示すように、品質判定処理11は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがeventタイプであり、さらにロス直前のパケットが音声パケットで且つロス直後のパケットがDTMFパケットである場合に適用される処理である。そして、品質判定処理11では、方式2による基本品質判定を行う。なお、ロス直前のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理11の処理フローを図59に示す。なお、品質判定処理11の処理フローは、基本的には品質判定処理3の処理フロー(図40)と同じである。まず、基本品質判定部76が、パケットが格納されている記憶装置から、ロス直前の音声パケットのシーケンス番号を取得する(図59:ステップS341)。なお、この処理は、ステップS17(図14)の処理と同じである。また、基本品質判定部76は、記憶装置に格納されているパケットを用いて、処理Rを実施する(ステップS343)。処理Rについては上で説明しているので、ここでは説明は省略する。なお、処理Rを実施すると、ロス直後のプッシュ信号に係るDTMFパケット群における先頭パケットのシーケンス番号が算出される。そして、基本品質判定部76は、ロス直前の音声パケットのシーケンス番号と、処理Rの処理結果とを用いて、処理Sを実施する(ステップS345)。処理Sについては上で説明しているので、ここでは説明は省略する。なお、処理Sを実施すると、ロスパケットのうちの不明パケットの数が算出される。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS347)。不明パケットの数が最小構成数より小さい場合(ステップS347:Yesルート)、基本品質判定部76は、ロス直後のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS349)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS347:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS351)。その後、処理を終了し、元の処理に戻る。
[品質判定処理12]
次に、図60及び図61を用いて、品質判定処理12について説明する。図60に、品質判定処理12の概要を示す。図60に示すように、品質判定処理12は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがeventタイプであり、さらにロス前後のパケットが両方とも音声パケットである場合に適用される処理である。そして、品質判定処理12では、方式2による基本品質判定を行う。なお、ロス前後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理12の処理フローを図61に示す。なお、品質判定処理12の処理フローは、基本的には品質判定処理4の処理フロー(図42)と同じである。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図61:ステップS361)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS363)。不明パケットの数が最小構成数より小さい場合(ステップS363:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS365)。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS363:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS367)。その後、処理を終了し、元の処理に戻る。
[品質判定処理13]
次に、図62及び図63を用いて、品質判定処理13について説明する。図62に、品質判定処理13の概要を示す。図62に示すように、品質判定処理13は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがtoneタイプであり、さらにロス前後のパケットが両方ともDTMFパケットである場合に適用される処理である。そして、品質判定処理13では、方式2による基本品質判定を行い、その後、必要に応じて、方式4及び6による詳細品質判定を行う。
品質判定処理13の処理フローを図63に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図63:ステップS371)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS373)。不明パケットの数が最小構成数以上の場合(ステップS373:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS375)。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数より小さい場合(ステップS373:Yesルート)、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS377)。
その後、詳細品質判定部77が、パケットが格納されている記憶装置から、ロス前後の各々のプッシュ信号に係るプッシュ番号を取得する(ステップS379)。そして、詳細品質判定部77は、プッシュ番号がロス前後で異なっているか判断する(ステップS381)。プッシュ番号がロス前後で異なっている場合(ステップS381:Yesルート)、詳細品質判定部77は、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定し、判定結果を品質データ格納部78に格納する(ステップS383)。その後、処理を終了し、元の処理に戻る。
一方、プッシュ番号がロス前後で同じ場合(ステップS381:Noルート)、詳細品質判定部77は、記憶装置に格納されているパケットを用いて、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1であるか判断する(ステップS385)。ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1である場合(ステップS385:Yesルート)、ステップS383の処理に移行し、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であると判定する。その後、処理を終了し、元の処理に戻る。
一方、ロス直後のDTMFパケットのRTPヘッダに含まれるMビットが1ではない場合(ステップS385:Noルート)、詳細品質判定部77は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS387)。その後、処理を終了し、元の処理に戻る。
なお、図63では、方式4による判定を行った後、方式6による判定を行うような処理フローを示しているが、必ずしも方式4による判定を先に行わなければならないわけではなく、方式6による判定を先に行うようにしてもよい。
[品質判定処理14]
次に、図64及び図65を用いて、品質判定処理14について説明する。図64に、品質判定処理14の概要を示す。図64に示すように、品質判定処理14は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがtoneタイプであり、さらにロス直前のパケットがDTMFパケットで且つロス直後のパケットが音声パケットである場合に適用される処理である。そして、品質判定処理14では、方式2による基本品質判定を行う。なお、ロス直後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理14の処理フローを図65に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図65:ステップS391)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS393)。不明パケットの数が最小構成数より小さい場合(ステップS393:Yesルート)、基本品質判定部76は、ロス直前のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS395)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS393:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS397)。その後、処理を終了し、元の処理に戻る。
[品質判定処理15]
次に、図66及び図67を用いて、品質判定処理15について説明する。図66に、品質判定処理15の概要を示す。図66に示すように、品質判定処理15は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがtoneタイプであり、さらにロス直前のパケットが音声パケットで且つロス直後のパケットがDTMFパケットである場合に適用される処理である。そして、品質判定処理15では、方式2による基本品質判定を行う。なお、ロス直前のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理15の処理フローを図67に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図67:ステップS401)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS403)。不明パケットの数が最小構成数より小さい場合(ステップS403:Yesルート)、基本品質判定部76は、ロス直後のプッシュ信号のみ存在していると判定し、判定結果を品質データ格納部78に格納する(ステップS405)。すなわち、プッシュ信号のロスは生じていない(OK)と判定する。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS403:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS407)。その後、処理を終了し、元の処理に戻る。
[品質判定処理16]
次に、図68及び図69を用いて、品質判定処理16について説明する。図68に、品質判定処理16の概要を示す。図68に示すように、品質判定処理16は、送信間隔が音声パケットとDTMFパケットとで同じであり、DTMFパケットがtoneタイプであり、さらにロス前後のパケットが両方とも音声パケットである場合に適用される処理である。そして、品質判定処理16では、方式2による基本品質判定を行う。なお、ロス前後のパケットが音声パケットであるため、詳細品質判定は行わない。
品質判定処理16の処理フローを図69に示す。まず、基本品質判定部76が、記憶装置に格納されているパケットを用いて、ロスパケットの数を不明パケットの数として算出する(図69:ステップS411)。なお、この処理は、ステップS13(図14)の処理と同じである。
そして、基本品質判定部76は、不明パケットの数が最小構成数より小さいか判断する(ステップS413)。不明パケットの数が最小構成数より小さい場合(ステップS413:Yesルート)、基本品質判定部76は、基本品質判定部76は、プッシュ信号のロスは生じていない(OK)と判定し、判定結果を品質データ格納部78に格納する(ステップS415)。その後、処理を終了し、元の処理に戻る。
一方、不明パケットの数が最小構成数以上の場合(ステップS413:Noルート)、基本品質判定部76は、ロスパケットの中にプッシュ信号が存在していたか否か、すなわちプッシュ信号のロスが生じているか否か不明であると判定し、判定結果を品質データ格納部78に格納する(ステップS417)。その後、処理を終了し、元の処理に戻る。
以上のような品質判定処理1乃至16を実施することにより、パケットロス発生時に、パケットのロス状況やDTMFパケットの特徴に従って、プッシュ信号のロスがあるか、ロス前後のプッシュ信号が別信号又は同一信号であるかを正確に認識できるようになる。また、プッシュ信号の伝送状況から、DTMFサービスの品質を正確に判定できるようになる。
[応用例]
上で述べた実施の形態では、伝送状況判定装置7がプッシュ信号の伝送状況を判定するものとして説明したが、上で説明した伝送状況判定装置7の機能を、発信先のIP電話機に実装することも可能である。上で述べたような処理を発信先のIP電話機において実施し、例えばパケットロス発生時に、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であることが分かれば、発信先のIP電話機は、2つのプッシュ信号を受信したものとして動作できるようになる。このように、例えば一方向の通信に着目した場合には、発信元を除く通信経路上の任意の箇所における端末において、上で述べたような処理を実施することが可能である。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した伝送状況判定装置7の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。また、データ格納部の構成も同様に一例にすぎない。
さらに、処理フローについては、処理結果が変わらなければ処理の順番を入れ替えることも可能である。また、並列に実行させるようにしてもよい。
なお、上で述べた伝送状況判定装置7は、コンピュータ装置であって、図70に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本技術の実施の形態をまとめると以下のとおりになる。
第1の態様に係るプッシュ信号の伝送状況判定方法は、音声パケットとプッシュ信号を表すための非音声パケットとを含み且つ発信元と発信先との間の特定のセッションを流れるパケットを、特定のセッションの経路上の任意の箇所において受信して記憶装置に格納するステップ(図71:S1001)と、記憶装置に格納されたパケットに含まれるシーケンス番号に基づき、特定のセッションにおいてパケットロスが発生したか判断するステップ(図71:S1003)と、パケットロスの発生を検出した場合、パケットロスの状況と非音声パケットの所定の特徴とに従って、プッシュ信号のロスが生じているか判定する第1判定ステップ(図71:S1005)とを含む。
このようにすれば、パケットロスの状況(例えば、ロスしたパケットの数やロス前後のパケットの種別など)と非音声パケットの所定の特徴(例えば、送信間隔、再送パケットの送信回数、1つのプッシュ信号を表すために必要な最小限の非音声パケットの数など)とに従って、プッシュ信号のロスが生じているか判定できるようになる。例えば、1つのプッシュ信号は複数の非音声パケットで表されるので、一部の非音声パケットをロスしていたとしても、一部が発信先に届いていれば、そのプッシュ信号はロスしていないと判定する。
また、上で述べた第1判定ステップが、ロスしたパケットの中に非音声パケットが存在していたか判断し、ロスしたパケットの中に非音声パケットが存在しなかった場合、プッシュ信号のロスは生じていないと判定するステップを含むようにしてもよい。このように、ロスパケットの中に非音声パケットが存在しないということは、音声パケットのみロスしたことになるので、プッシュ信号のロスは生じていないと判定できる。
さらに、上で述べた第1判定ステップが、1つのプッシュ信号を表すために必要な最小限の非音声パケットの数である最小構成数と、ロスしたパケットの数又はロスしたパケットの中から非音声パケットと推定されるパケットを除いた残余のパケットの数とを比較し、ロスしたパケットの数又は残余のパケットの数が最小構成数より小さい場合、プッシュ信号のロスは生じていないと判定するステップを含むようにしてもよい。このように、ロスパケット数が最小構成数より小さいということは、非音声パケットをロスしていたとしても、同じプッシュ信号を表す非音声パケット群の少なくとも一部は受信できていることになるので、プッシュ信号のロスは生じていないと判定できる。また、ロスパケットの中に非音声パケットと推定されるパケットが存在する場合には、それらを取り除くことで、ロスパケットにおいて、音声パケット又は非音声パケットであるかが不明なパケットを特定できる。この不明なパケットの数が最小構成数より小さいということは、不明パケットの中にプッシュ信号は含まれていないことになるので、プッシュ信号のロスは生じていないと判定できる。なお、ロスパケットの中に非音声パケットと推定されるパケットが存在するかどうかは、ロス直前又はロス直後のパケットの情報から判断可能である。
また、上で述べた第1判定ステップが、ロスしたパケットの中に非音声パケットが存在していたか判断し、ロスしたパケットの中に非音声パケットが存在し且つロス直前及びロス直後のパケットが音声パケットであった場合、プッシュ信号のロスが生じていると判定するステップを含むようにしてもよい。このように、ロスパケットの中に非音声パケットが存在し且つロス前後のパケットが音声パケットであるということは、あるプッシュ信号を表す非音声パケットを全てロスしていることになるので、プッシュ信号のロスが生じていると判定できる。
さらに、第1の態様において、音声パケットの送信間隔と非音声パケットの送信間隔とが異なる場合、ロスしたパケットのうちの音声パケットの数及び非音声パケットの数の各々を表す変数と、ロスしたパケットの数と、音声パケットの送信間隔と、非音声パケットの送信間隔と、ロス直前のパケットとロス直後のパケットとの時間差とで表される連立方程式を解く処理を実施し、連立方程式の解に基づき、ロスしたパケットの中に非音声パケットが存在していたか判断する場合もある。このような連立方程式を解くことで、ロスパケットの内訳を算出することができ、ロスパケットの中に非音声パケットが存在していたか判断できる。
また、第1判定ステップにおいてプッシュ信号のロスは生じていないと判断され且つロス直前及びロス直後のパケットが非音声パケットであった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるか判定する第2判定ステップをさらに含むようにしてもよい。例えば、プッシュ信号のロスが生じておらず、ロス前後のパケットが非音声パケットであるということは、ロス前後のプッシュ信号が別信号であるケースと、ロス前後のプッシュ信号が同じ信号(すなわち、1つのプッシュ信号)であるケースとが考えられる。このように、ロス前後のプッシュ信号が別信号であるか否かを判定することで、受信したプッシュ信号を正確に把握できるようになる。
さらに、上で述べた第2判定ステップが、ロス直前のプッシュ信号のプッシュ番号とロス直後のプッシュ信号のプッシュ番号とが異なっているか判断し、異なっている場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップを含むようにしてもよい。プッシュ番号がロス前後で異なっているということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるとみなすことができる。
また、上で述べた第2判定ステップが、ロスしたパケットの中に音声パケットが存在していたか判断し、ロスしたパケットの中に音声パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップを含むようにしてもよい。ロスパケットの中に音声パケットが存在していたということは、その音声パケットの前に存在するプッシュ信号と、その音声パケットの後ろに存在するプッシュ信号とが別信号であるとみなすことができる。
さらに、上で述べた第2判定ステップが、ロス直後のパケットが、プッシュ信号を表す非音声パケット群のうちの先頭の非音声パケットであるか判断し、ロス直後のパケットが先頭の非音声パケットであった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップを含むようにしてもよい。ロス直後のパケットが先頭の非音声パケットであるということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるとみなすことができる。なお、先頭の非音声パケットであるかは、例えば非音声パケットのRTPヘッダに含まれるM(マーカー)ビットによって判別可能である。
また、上で述べた第2判定ステップが、ロスしたパケットの中に先頭の非音声パケットが存在していたか判断し、ロスしたパケットの中に先頭の非音声パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップを含むようにしてもよい。ロスパケットの中に先頭の非音声パケットが存在しているということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるとみなすことができる。なお、ロスパケットの中に先頭の非音声パケットが存在しているかどうかは、非音声パケットの送信間隔と、ロス直後の非音声パケットに含まれる継続期間及びシーケンス番号とによって判断可能である。
さらに、上で述べた第2判定ステップが、ロス直後のパケットが先頭の非音声パケットではなく、且つ、ロスしたパケットの中に先頭の非音声パケットが存在しなかった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは同一信号であると判定するステップを含むようにしてもよい。このように、ロス直後のパケットが先頭の非音声パケットではなく、先頭の非音声パケットがロスパケットの中にも存在しなかったということは、ロス前後のプッシュ信号が1つのプッシュ信号(すなわち、同一信号)であるとみなすことができる。
また、上で述べた第2判定ステップが、音声パケットの送信間隔と非音声パケットの送信間隔とが同じであり、且つ、再送パケットの送信間隔と当該再送パケット以外の非音声パケットの送信間隔とが異なる場合、ロスしたパケットの中に再送パケットが存在していたか判断するステップと、ロスしたパケットの中に再送パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップとを含むようにしてもよい。ロスパケットの中に再送パケットが存在しているということは、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるとみなすことができる。なお、ロスパケットのうちの再送パケットの数及び再送パケット以外の非音声パケットの数の各々を表す変数と、ロスパケットの数と、再送パケットの送信間隔と、再送パケット以外の非音声パケットの送信間隔と、ロス前後のパケットの時間差とで表される連立方程式を解くことにより、ロスパケットの内訳を算出でき、ロスパケットの中に再送パケットが存在していたかどうか判断可能である。
さらに、上で述べた第2判定ステップが、ロスしたパケットの中に再送パケットが存在しなかった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは同一信号であると判定するステップをさらに含むようにしてもよい。ロスパケットの中に再送パケットが存在しないということは、ロス前後のプッシュ信号が1つのプッシュ信号(すなわち、同一信号)であるとみなすことができる。
第2の態様に係るプッシュ信号の伝送状況判定装置は、音声パケットとプッシュ信号を表すための非音声パケットとを含み且つ発信元と発信先との間の特定のセッションを流れるパケットを、特定のセッションの経路上の任意の箇所において受信して記憶装置(図72:1501)に格納するパケット受信手段(図72:パケット受信部1503)と、記憶装置に格納されたパケットに含まれるシーケンス番号に基づき、特定のセッションにおいてパケットロスが発生したか判断するパケットロス判断手段(図72:パケットロス判断部1505)と、パケットロスの発生を検出した場合、パケットロスの状況と非音声パケットの所定の特徴とに従って、プッシュ信号のロスが生じているか判定する伝送状況判定手段(図72:伝送状況判定部1507)とを有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶部に格納される。また、処理途中のデータについては、コンピュータのメモリ等の記憶部に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
音声パケットとプッシュ信号を表すための非音声パケットとを含み且つ発信元と発信先との間の特定のセッションを流れるパケットを、前記特定のセッションの経路上の任意の箇所において受信して記憶装置に格納するステップと、
前記記憶装置に格納された前記パケットに含まれるシーケンス番号に基づき、前記特定のセッションにおいてパケットロスが発生したか判断するステップと、
前記パケットロスの発生を検出した場合、前記パケットロスの状況と前記非音声パケットの所定の特徴とに従って、前記プッシュ信号のロスが生じているか判定する第1判定ステップと、
を含む、プッシュ信号の伝送状況判定方法。
(付記2)
前記第1判定ステップが、
ロスしたパケットの中に前記非音声パケットが存在していたか判断し、ロスしたパケットの中に前記非音声パケットが存在しなかった場合、前記プッシュ信号のロスは生じていないと判定するステップ
を含む、付記1記載のプッシュ信号の伝送状況判定方法。
(付記3)
前記第1判定ステップが、
1つの前記プッシュ信号を表すために必要な最小限の前記非音声パケットの数である最小構成数と、ロスしたパケットの数又はロスしたパケットの中から前記非音声パケットと推定されるパケットを除いた残余のパケットの数とを比較し、ロスしたパケットの数又は前記残余のパケットの数が前記最小構成数より小さい場合、前記プッシュ信号のロスは生じていないと判定するステップ
を含む、付記1又は2記載のプッシュ信号の伝送状況判定方法。
(付記4)
前記第1判定ステップが、
ロスしたパケットの中に前記非音声パケットが存在していたか判断し、ロスしたパケットの中に前記非音声パケットが存在し且つロス直前及びロス直後のパケットが前記音声パケットであった場合、前記プッシュ信号のロスが生じていると判定するステップ
を含む、付記1記載のプッシュ信号の伝送状況判定方法。
(付記5)
前記音声パケットの送信間隔と前記非音声パケットの送信間隔とが異なる場合、ロスしたパケットのうちの前記音声パケットの数及び前記非音声パケットの数の各々を表す変数と、ロスしたパケットの数と、前記音声パケットの送信間隔と、前記非音声パケットの送信間隔と、ロス直前のパケットとロス直後のパケットとの時間差とで表される連立方程式を解く処理を実施し、前記連立方程式の解に基づき、ロスしたパケットの中に前記非音声パケットが存在していたか判断する
ことを特徴とする付記2又は4記載のプッシュ信号の伝送状況判定方法。
(付記6)
前記第1判定ステップにおいて前記プッシュ信号のロスは生じていないと判断され且つロス直前及びロス直後のパケットが前記非音声パケットであった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とが別信号であるか判定する第2判定ステップ
をさらに含む、付記1乃至5のいずれか1つ記載のプッシュ信号の伝送状況判定方法。
(付記7)
前記第2判定ステップが、
ロス直前のプッシュ信号のプッシュ番号とロス直後のプッシュ信号のプッシュ番号とが異なっているか判断し、異なっている場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップ
を含む、付記6記載のプッシュ信号の伝送状況判定方法。
(付記8)
前記第2判定ステップが、
ロスしたパケットの中に前記音声パケットが存在していたか判断し、ロスしたパケットの中に前記音声パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップ
を含む、付記6又は7記載のプッシュ信号の伝送状況判定方法。
(付記9)
前記第2判定ステップが、
ロス直後のパケットが、前記プッシュ信号を表す前記非音声パケット群のうちの先頭の非音声パケットであるか判断し、ロス直後のパケットが前記先頭の非音声パケットであった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップ
を含む、付記6乃至8のいずれか1つ記載のプッシュ信号の伝送状況判定方法。
(付記10)
前記第2判定ステップが、
ロスしたパケットの中に前記先頭の非音声パケットが存在していたか判断し、ロスしたパケットの中に前記先頭の非音声パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップ
を含む、付記9記載のプッシュ信号の伝送状況判定方法。
(付記11)
前記第2判定ステップが、
ロス直後のパケットが前記先頭の非音声パケットではなく、且つ、ロスしたパケットの中に前記先頭の非音声パケットが存在しなかった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは同一信号であると判定するステップ
を含む、付記10記載のプッシュ信号の伝送状況判定方法。
(付記12)
前記第2判定ステップが、
前記音声パケットの送信間隔と前記非音声パケットの送信間隔とが同じであり、且つ、再送パケットの送信間隔と当該再送パケット以外の前記非音声パケットの送信間隔とが異なる場合、ロスしたパケットの中に前記再送パケットが存在していたか判断するステップと、
ロスしたパケットの中に前記再送パケットが存在していた場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは別信号であると判定するステップと、
を含む、付記6乃至11のいずれか1つ記載のプッシュ信号の伝送状況判定方法。
(付記13)
前記第2判定ステップが、
ロスしたパケットの中に前記再送パケットが存在しなかった場合、ロス直前のプッシュ信号とロス直後のプッシュ信号とは同一信号であると判定するステップ
をさらに含む、付記12記載のプッシュ信号の伝送状況判定方法。
(付記14)
付記1乃至13のいずれか1つ記載のプッシュ信号の伝送状況判定方法をコンピュータに実行させるためのプログラム。
(付記15)
音声パケットとプッシュ信号を表すための非音声パケットとを含み且つ発信元と発信先との間の特定のセッションを流れるパケットを、前記特定のセッションの経路上の任意の箇所において受信して記憶装置に格納するパケット受信手段と、
前記記憶装置に格納された前記パケットに含まれるシーケンス番号に基づき、前記特定のセッションにおいてパケットロスが発生したか判断するパケットロス判断手段と、
前記パケットロスの発生を検出した場合、前記パケットロスの状況と前記非音声パケットの所定の特徴とに従って、前記プッシュ信号のロスが生じているか判定する伝送状況判定手段と、
を有するプッシュ信号の伝送状況判定装置。