【文献】
Qualcomm Incorporated,Interaction between early media generated by UE and P-Early-Media header field[online], 3GPP TSG-CT WG1#94 C1-153455,2015年10月 3日
(58)【調査した分野】(Int.Cl.,DB名)
セッション開始要求発側ネットワーク及びセッション開始要求発側端末装置、セッション開始要求着側ネットワーク及びセッション開始要求着側端末装置がいずれもリソース予約有無の通知の規定に対応しているか否かを前記通信手段の受信信号に基づいて判定するサポート判定手段と、
前記サポート判定手段が、セッション開始要求発側ネットワーク及びセッション開始要求発側端末装置、セッション開始要求着側ネットワーク及びセッション開始要求着側端末装置の少なくともいずれかがリソース予約有無の通知の規定に対応していないと判定した場合、セッション開始要求に対する応答にセッション開始要求着側ネットワークがアーリメディアに対応していることを示すアーリメディア対応情報が含まれるか否かを判定するアーリメディア対応判定手段と、
前記アーリメディア対応判定手段が、前記応答に前記アーリメディア対応情報が含まれると判定した後、前記セッション開始要求着側ネットワークからリクエスト正常処理完了を示す処理完了信号を前記通信手段が受信したか否かを判定する処理完了判定手段と、
前記処理完了判定手段が、前記処理完了信号を前記通信手段が受信したと判定した場合、呼び出し中通知受信を要件の1つとしてアーリメディアのサービス実行を開始するアーリメディア方式のセッション開始要求発側端末装置に前記呼び出し中通知を送信するよう前記通信手段を制御する呼び出し中通知送信制御手段とを備え、
前記リソース予約状況判定手段は、前記サポート判定手段が、セッション開始要求発側ネットワーク及びセッション開始要求発側端末装置、セッション開始要求着側ネットワーク及びセッション開始要求着側端末装置がいずれもリソース予約有無の通知の規定に対応していると判定した場合、前記セッション開始要求発側端末装置が送信し前記通信手段が受信したセッション開始要求に含まれ、前記セッション開始要求発側端末装置のリソース予約状況を示すパラメータの値が、予約済みを示す値か否かを判定する、
請求項1に記載のアーリメディアサービス制御装置。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
まず、IMS相互接続でアーリメディアの方式が異なる場合の問題点について説明する。
【0018】
アーリメディアを規定する3GPP TS 24.628 Section 4.2.2では、以下の3つの方式のいずれか1つをサポートすることが求められている。
(1)RFC3960で定義されるGateway Model方式
(2)RFC5009で定義されるmultiple early dialog(= Forking model方式)
(3)「180Ringing」を用いたAlert-Info header方式
【0019】
IMSによる事業者間相互接続を行う通信事業者がアーリメディアを提供する場合、特に、(1)のGateway Model方式、又は、(2)のForking Model方式のいずれか一方をサポートすることが考えられる。
これら(1)のGateway Model方式、及び、(2)のForking Model方式について規定している3GPP TS 24.182では、異なるモデル間の連係を対象範囲外(out of scope)としている。すなわち、異なるモデルを採用している通信事業者間の相互接続は規定されておらず、この場合のアーリメディア提供の枠組みも示されていない。
さらに、(1)のGateway Model方式の特徴と、(2)のForking Model方式の特徴とを比較すると、特に以下の点で相違する。
【0020】
(1)Gateway Model方式
Gateway Model方式では、シングルダイアログ(SDP_Offer/SDP_Anser)でSDP(Session Description Protocol)の交換を行う。また、「180Ringing」を端末側に通知する。「180Ringing」は、呼び出し中であることを通知するメソッドである。
(2)Forking Model方式
Forking Model方式では、マルチプルダイアログ(SDP_O/A Dialog1, SDP_O/A Dialog2)でSDPの交換を行う。また、「180Ringing」を発端末側に通知せずCAT-ASで終端する。
【0021】
この相違点がアーリメディアに及ぼす影響について検討する。
Gateway Model方式とForking Model方式の組み合わせとして、
(A)発側、着側共にGateway Model方式
(B)発側がGateway Model方式、かつ、着側がForking Model方式
(C)発側がForking Model方式、かつ、着側 がGateway Model方式
(D)発側、着側共にForking Model方式
の4通りが考えられる。これらのうち、(A)発側、着側共にGateway Model方式の場合、及び、(D)発側、着側共にForking Model方式の場合は、発側と着側とで方式が同じなので、方式の相違に起因する問題は生じない。
また、(C)発側がForking Model方式、かつ、着側がGateway Model方式の場合、発側の端末装置はForking Model方式に基づくことで「180Ringing」を必要としないため、「180Ringing」着信の有無に起因する問題は生じない。
【0022】
一方、(B)発側がGateway Model方式、かつ、着側がForking Model方式の場合、着側のネットワークがサポートするForking Model方式では、上記のように「180Ringing」がCAT−ASで終端され、発側のネットワークに送信されない。
これに対し、発側のネットワークがサポートするGateway Model方式では、発呼を行った端末装置が「180Ringing」を受信した後にRBTを受信することになっている。
「180Ringing」を受信していない状態でRBTを受信した場合の発端末の動作については規定されていない。従って、「180Ringing」を受信していない状態でRBTを受信した場合に発端末がどのような動作を行うかは、発端末の実装に依存する。
このため、発側の端末装置に180Ringingが送信されないことに起因して、発側の端末装置がアーリメディアを正しく実行できない場合がある。
【0023】
また、端末装置に限らず発側のネットワーク内のノードについても、Gateway Model方式の規定に基づいて「180Ringing」を必要とするノードが存在する可能性がある。例えば、「180Ringing」が送信されないことで、発側のネットワーク内のノードが着側のネットワークからいつRBT(Ring Back Tone)が送信されるか分からない可能性がある。
そこで、本実施形態では、異なるモデル同士(Gateway Model方式、及びForking Model方式)のIMS相互接続で、Gateway model方式を採用している側のネットワークの機器が、同一ネットワーク内からセッション要求を送信した端末装置に対して「180Ringing」を送信する。
【0024】
図1は、本発明の一実施形態に係るIMSネットワークの機能構成を示す概略ブロック図である。同図に示すように、IMSネットワーク1は、発側ネットワーク100と、着側ネットワーク200とを備える。発側ネットワーク100は、発側P−CSCF111と、発側S−CSCF112と、発側IBCF113と、発側TrGW114とを備える。着側ネットワーク200は、着側P−CSCF211と、着側S−CSCF212と、着側IBCF213と、着側TrGW214と、着側CAT−AS221とを備える。発側ネットワーク100には発側端末装置311が通信接続されている。また、着側ネットワーク200には着側端末装置321が通信接続されている。
ここでいう発側は、発呼する側(セッション要求を送信する側)である。着側は、着呼する側(セッション要求を受ける側)である。以下では、発側端末装置311が着側端末装置321に通信要求を送信する場合を例に説明する。
【0025】
なお、発側端末装置311は、発側ネットワーク100に含まれていてもよいし、発側ネットワーク100には含まれない装置として発側ネットワーク100に通信接続していていてもよい。着側端末装置321は、着側ネットワーク200に含まれていてもよいし、着側ネットワーク200には含まれない装置として着側ネットワーク200に通信接続していてもよい。
【0026】
以下では、発側ネットワーク100が発側端末装置311を含まず、着側ネットワーク200が着側端末装置321を含まないものとして説明する。なお、発側ネットワーク100と発側端末装置311とを総称して発側ネットワーク100側と表記する。また、着側ネットワーク200と着側端末装置321とを総称して着側ネットワーク200側と表記する。
【0027】
IMSネットワーク1は、発側端末装置311と着側端末装置321との間にセッション(呼)を確立して、発側端末装置311と着側端末装置321との通信を仲介する通信ネットワークである。
発側ネットワーク100は、Gateway Model方式にてアーリメディアサービスを提供するコアネットワーク(Core Network)である。
着側ネットワーク200は、Forking Model方式にてアーリメディアサービスを提供するコアネットワークである。
発側ネットワーク100と着側ネットワーク200とはIMS接続されている。ここで、IMS接続とは、IMSの規定に基づくコアネットワーク間通信接続である。
【0028】
発側端末装置311は、発側P−CSCF111に接続して通信を行う端末装置である。発側端末装置311は発側ネットワーク100のアーリメディアサービス提供方式であるGateway Model方式に基づいて、RBTの受信の前に「180Ringing」を受信することを必要としている。
着側端末装置321は、着側P−CSCF211に接続して通信を行う端末装置である。着側端末装置321は着側ネットワーク200のアーリメディアサービス提供方式であるForking Model方式に基づいてアーリメディアサービスの処理を行う。
【0029】
発側P−CSCF(Proxy Call/Session Control Function)111は、発側端末装置311など発側ネットワーク100における端末装置のプロキシサーバとして機能するサーバ装置である。
着側P−CSCF211は、着側端末装置321など着側ネットワーク200における端末装置のプロキシサーバとして機能するサーバ装置である。
発側S−CSCF(Serving-Call Session Control Function)112及び着側S−CSCF212は、SIPサーバとして機能し、セッション制御を実行するサーバ装置である。
【0030】
発側IBCF(Interconnection Border Control Function)113及び着側IBCF213は、外部ネットワークとの境界に位置する。発側IBCF113及び着側IBCF213は、いずれも、外部ネットワークとのゲートウェイとして機能し、NAT(Network Address Translation、IPアドレスの変換)及びファイアウォール機能を提供するサーバ装置である。
発側TrGW(Transition Gateway)114及び着側TrGW214は、いずれも、IPv4とIPV6との変換などの変換を行うサーバ装置である。
着側CAT−AS(Customized Alerting Tones-Application Server)221は、カスタマイズされた呼び出し音(ユーザの好みの呼び出し音)を提供するサーバ装置である。
【0031】
本実施形態では、発側IBCF113が発側端末装置311に「180Ringing」を提供する場合を例に説明する。但し、発側端末装置311に「180Ringing」を提供する装置は、発側IBCF113に限らず、各装置に対して矛盾を生じさせずに「180Ringing」を提供できればよい。例えば、発側P−CSCF111が発側端末装置311に「180Ringing」を提供するようにしてもよい。
【0032】
図2は、発側IBCF113の機能構成を示す概略ブロック図である。同図に示すように発側IBCF113は、通信部410と、記憶部450と、制御部460とを備える。
制御部460は、通信制御部471と、サポート判定部481と、リソース予約状況判定部482と、アーリメディア対応判定部483と、処理完了判定部484と、信号調整部491とを備える。通信制御部471は、セッション開始要求送信制御部472と、呼び出し中通知送信制御部473とを備える。信号調整部491は、パラメータ値書換部492を備える。
【0033】
通信部410は、通信制御部471の制御に従って、発側ネットワーク100内の機器、発側ネットワーク100外の機器それぞれと通信を行う。特に、通信部410は、発側端末装置311が着側ネットワーク200側へ送信した信号を、発側P−CSCF111及び発側S−CSCF112を介して受信し、受信した信号、または、受信した信号に対して信号調整部491が加工した信号を着側ネットワーク200側へ送信する。また、通信部410は、着側ネットワーク200側から発側端末装置311宛ての信号を受信し、受信した信号、または、受信した信号に対して信号調整部491が加工した信号を、発側S−CSCF112及び発側P−CSCF111を介して発側端末装置311へ送信する。
【0034】
記憶部450は、各種情報を記憶する。記憶部450は、発側IBCF113が備える記憶デバイスを用いて構成される。あるいは、記憶部450が外付けの記憶デバイスを用いて構成されていてもよい。
制御部460は、発側IBCF113の各部を制御して各種処理を実行する。制御部460は、例えば、発側IBCF113が備えるCPU(Central Processing Unit、中央処理装置)が記憶部450からプログラムを読み出して実行することで構成される。
【0035】
通信制御部471は、通信部410を制御して通信を行わせる。
セッション開始要求送信制御部472は、通信部410を制御して「INVITE」を送信させる。発側端末装置311が送信し通信部410が受信した「INVITE」に対してパラメータ値書換部492がパラメータの書換を行った場合、セッション開始要求送信制御部472は、パラメータ書換後の「INVITE」を送信させる。一方、パラメータ値書換部492がパラメータの書換を行っていない場合、セッション開始要求送信制御部472は、通信部410が受信した「INVITE」を送信させる。「INVITE」は、セッション開始要求の例に該当する。
呼び出し中通知送信制御部473は、通信部410を制御して「180Ringing」を発側端末装置311へ送信させる。「180Ringing」は、呼び出し中通知の例に該当する。
【0036】
サポート判定部481は、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321共にPreconditionをサポートしているか否かを判定する。
ここでいうPreconditionは、アーリメディアのためのリソースの予約(確保)の有無を他機器に通知するための規定である。Preconditionのサポートには、ネットワークによるサポートと、端末装置によるサポートとがある。本実施形態では、発側ネットワーク100によるサポートと、着側ネットワーク200によるサポートと、発側端末装置311によるサポートと、着側端末装置321によるサポートとがある。ネットワークがPreconditionをサポートするとは、ネットワークに含まれている各機器がPreconditionをサポートすること(すなわち、Preconditionの規定に適合していること)である。なお、ネットワークに含まれている機器のうちPreconditionに関与しない機器は、Preconditionをサポートしているものとして扱う。すなわち、Preconditionに関与しない機器がネットワーク中に含まれていても、ネットワークがPreconditionをサポートしていないことにはならない。
【0037】
以下では、ネットワークがPreconditionをサポートしていない場合、端末装置がPreconditionをサポートしていない場合のいずれも、ネットワーク側がPreconditionをサポートしていないと表記する。一方、ネットワークがPreconditionをサポートしており、かつ、端末装置がPreconditionをサポートしている場合、ネットワーク側がPreconditionをサポートしていると表記する。
【0038】
ネットワークがPreconditionをサポートしていない場合、端末装置がPreconditionをサポートしていない場合のいずれも、ネットワークとしてPreconditionをサポートしていない動作となる。特に、本実施形態で、発側ネットワーク100、着側ネットワーク200、発側端末装置311、着側端末装置321のいずれがPreconditionをサポートしていない場合も、発側端末装置311のリソース予約状況を着側ネットワーク200の機器に通知するという後述の処理を適用することができない。
【0039】
発側ネットワーク100側がPreconditionをサポートしていない場合、着側ネットワーク200の機器及び着側端末装置321は、発側端末装置311が既にリソースを予約済みである前提で処理を行う。また、着側ネットワーク200側がPreconditionをサポートしていない場合、発側ネットワーク100の機器及び発側端末装置311は、着側端末装置321が既にリソースを予約済みである前提で処理を行う。
【0040】
サポート判定部481は、発側ネットワーク100側、着側ネットワーク200側のそれぞれがPreconditionをサポートしているか否かを判定する。サポート判定部481は、発側ネットワーク100側と着側ネットワーク200側との間の通信信号のヘッダ又はパラメータ(SDP等)を参照して当該判定を行う。
【0041】
ここで、発側端末装置311は、「INVITE」のSupported Headerに「precondition」のパラメータを付与して、発側端末装置311自らの能力を通知する。また、「INVITE」を受信した着側端末装置321は、着側端末装置321自らがPreconditionをサポートしている場合は、応答信号にPreconditionのパラメータ(SDP)を含めて送信する。一方、着側端末装置321自らがPreconditionをサポートしていない場合、着側端末装置321は、応答信号にSDPを含めずに送信する。
【0042】
そこで、発側IBCF113は、発側端末装置311が送信した「INVITE」のヘッダを参照して、発側ネットワーク100側がPreconditionをサポートしているか否かを判定する。また、発側IBCF113は、着側端末装置321が送信した応答信号(例えば「183(D1)」応答)のパラメータ、又はヘッダを参照して、着側ネットワーク200側がPreconditionをサポートしているか否かを判定する。
【0043】
リソース予約状況判定部482は、発側端末装置311が送信し通信部410が受信した「INVITE」に含まれ発側端末装置311のリソース予約状況を示すパラメータ(SDP)の値が、予約済みを示す値か否かを判定する。
アーリメディア対応判定部483は、「INVITE」に対して着側CAT−AS221が送信する「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されているか否かを判定する。「183」応答は、セッション開始要求に対する応答の例に該当する。「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータの設定は、セッション開始要求着側ネットワークがアーリメディアに対応していることを示すアーリメディア対応情報の例に該当する。
処理完了判定部484は、着側ネットワーク200の着側CAT−AS221が送信した「200OK(PRACK)」を通信部410が受信したか否かを判定する。「200OK(PRACK)」は、リクエスト正常処理完了を示す処理完了信号の例に該当する。
【0044】
信号調整部491は、通信部410が受信した信号に加工を加える。信号調整部491は、サポート判定部481の判定結果に応じて異なる処理を行う。発側ネットワーク100側がPreconditionをサポートしている場合、かつ、発側端末装置311がリソースを予約済みの場合、発側IBCF113は、一旦、リソース未予約として着側ネットワーク200側に通知を行う。これにより、発側IBCF113は、「18x(D2)」応答を受信し、「180Ringing」に変換して発側端末装置311へ送信する。なお、「x」は1文字の数字を示す。例えば、発側IBCF113は、「183(D2)」応答を受信する。
【0045】
一方、発側ネットワーク100側、着側ネットワーク200側のうちいずれか一方、又は両方がPreconditionをサポートしていない場合、発側IBCF113は、発側端末装置311のリソース予約状況を未に変更して着側ネットワーク200側に通知することができない。そこで、発側IBCF113は、着側ネットワーク200側から受信する信号のヘッダを参照してアーリメディアサービス開始の条件が整っているか否かを判定する。
【0046】
パラメータ値書換部492は、発側端末装置311が送信した「INVITE」のパラメータを書き換える。具体的には、パラメータ値書換部492は、発側端末装置311のリソース予約状況を示すパラメータ(SDP)の値が、予約済みを示す値である場合に、未予約を示す値に書き換える。
【0047】
ここで、
図3〜
図11を参照して、信号調整部491が行う処理について説明する。なお、
図3〜
図11では、発側端末装置311、着側端末装置321、及び、IMSネットワーク1の各部のうち発側IBCF113と、着側S−CSCF212と、着側CAT−AS221とを記載し、他の各部については記載を省略する。
【0048】
図3〜
図5は、発側ネットワーク100側、着側ネットワーク200側のいずれもPreconditionをサポートしている場合の、IMSネットワーク1の動作の第一の例を示す説明図である。発側ネットワーク100は、Gateway model方式を採用しており、着側ネットワーク200は、Forking Model方式を採用している。
同図では、発側端末装置311が「INVITE」を送信する際に、発側端末装置311、着側端末装置321のいずれも既にリソースを予約出来ている場合の例を示す。発側端末装置311は、シーケンスS111でリソースを予約済みである。また、着側端末装置321は、シーケンスS112でリソースを予約済みである。
【0049】
同図の処理で、発側端末装置311は「INVITE」を送信している(シーケンスS121)。この「INVITE」のパラメータ(Preconditionを示すSDP)のうち、「curr」は現在の状態を示し、「des」は、希望する状態(Preconditionが満たされるための条件)を示す。また、SDP値の「sendrecv」は、送受信可能な状態を示し、「none」は、送受信不可能な状態を示す。あるいは、送受信の可否が不明な状態を示す。
発側端末装置311は、リソースを予約済みなので、発側(「local」)の現在(「curr」)のSDPの値を、「sendrecv」にしている。
なお、発側端末装置311が送信した信号では、「local」が発側端末装置311を示し、「remote」が着側端末装置321を示す。一方、着側端末装置321が送信した信号では、「local」が着側端末装置321を示し、「remote」が発側端末装置311を示す。
【0050】
発側端末装置311からの「INVITE」を通信部410が受信した発側IBCF113では、信号調整部491のパラメータ値書換部492がSDP値を書き換える(シーケンスS122)。信号調整部491は、発側の現在のSDPの値を「sendrecv」から「none」に書き換えている。発側端末装置311がリソースを予約済みか否かにかかわらず、着側ネットワーク200側に一旦リソース未予約を通知して、「180Ringing」に相当する「18x(D2)」を取得する。
【0051】
パラメータ値書換部492は、リソース予約状況判定部482の判定結果に基づいて、シーケンスS122でのSDP値の書換を行う。具体的には、リソース予約状況判定部482は、「INVITE」の発側(「local」)の現在(「curr」)のSDPの値が、「sendrecv」か否かを判定することで、発側端末装置311がリソースを予約済みか否かを判定する。パラメータ値書換部492は、発側端末装置311がリソースを予約済みであるとリソース予約状況判定部482が判定した場合に、シーケンスS122でのSDP値の書換を行う。
【0052】
通信部410は、信号調整部491がSDP値を書き換えた「INVITE」を着側ネットワーク200側へ送信する(シーケンスS123)。通信部410は、通信制御部471のセッション開始要求送信制御部472の制御に従って、シーケンスS123での「INVITE」の送信を行う。
シーケンスS123で「INVITE」を受信した着側CAT−AS221は、CAT(Customized alerting tones)のリソースを準備する(シーケンスS131)。これにより、着側CAT−AS221は、カスタマイズされた着信音(例えば発呼者の好みの音楽など)を送信可能になっている。
【0053】
そして、着側CAT−AS221は、着側S−CSCF212に「INVITE」を送信する(シーケンスS132)。なお、SDPの「D1」(Dialog1)は、発側端末装置311と着側CAT−AS221との間のSDP交換(セッション確立)に関するダイアログであることを示す。
着側S−CSCF212は、着側端末装置321に「INVITE」を送信する(シーケンスS133)。
【0054】
また、着側CAT−AS221は、発側ネットワーク100へ向けて「INVITE」に対する「183(D1)」応答(183 Session Progress)を送信する(シーケンスS141)。
ここで、着側CAT−AS221がシーケンスS123で受信した「INVITE」で、発側の現在の状態を示すSDP(「curr」、「local」)がリソース未予約(「none」)になっている。これに対応して、着側CAT−AS221は、「183(D1)」応答のSDPのうち発側の現在の状態を示す「curr」、「remote」のSDPの値を「none」(リソース未予約を示す値)にしている。
【0055】
シーケンスS141で通信部410が「183(D1)」応答を受信した発側ネットワーク100では、信号調整部491がSDP値を書き換える(シーケンスS142)。信号調整部491は、「183」応答のSDPのうち、発側の現在の状態を示す「curr」、「remote」のSDPの値を「sendrecv」(リソース予約済みを示す値)に書き換えている。シーケンスS142で発側IBCF113は、いわばシーケンスS122の場合と逆のパラメータ書換を行っている。シーケンスS122での書換に対して発側ネットワーク100内での整合性をとるためである。
【0056】
通信部410は、信号調整部491がSDP値を書き換えた「183」応答を発側端末装置311へ送信する(シーケンスS143)。
なお、発側IBCFが、Gateway model方式に基づいて「183」応答を書き換えることから、シーケンスS143での「183」応答には「D1」、「D2」の区別が示されていない。
【0057】
シーケンスS143で「183」応答を受信した発側端末装置311は、「PRACK」(Provisional Response Acknowledgement)を送信する(シーケンスS151)。「PRACK」は、暫定応答に対する送達確認である。発側端末装置311は、シーケンスS143で受信した「183」応答のSDPでPreconditionが満たされたことを確認済みであるため、「PRACK」にSDPを付与せずに送信する。
【0058】
シーケンスS151で通信部410が「PRACK」を受信した発側IBCF113では、信号調整部491が、「PRACK」にSDPを付与する(シーケンスS152)。
特に、発側IBCF113は、発側がリソース未予約から予約済みに変わったように見せるために、発側の現在の状態を示す「curr」、「remote」のSDPの値を「sendrecv」としている。
【0059】
但し、発側IBCF113が発側のリソース予約済みを着側ネットワーク200側に通知する方法は、「PRACK」にSDPを付与する方法に限らない。例えば、発側IBCF113が、「PRACK」にはSPDを付与せず、着側からの「200OK(PRACK)」を受信した後に、「UPDATE」を送信するようにしてもよい。すなわち、発側IBCF113が、「PRACK」では発側IBCF113側のリソース予約済みを通知せず、リソース予約済み通知のための信号を別途送信するようにしてもよい
通信部410は、信号調整部491がSDPを付与した「PRACK」を着側ネットワーク200側へ送信する(シーケンスS153)。
【0060】
シーケンスS152で「PRACK」を受信した着側CAT−AS221は、「200OK(PRACK)」を返信する(シーケンスS161)。「200OK(PRACK)」は、リクエストが正常に処理されたことを示す応答である。
着側CAT−AS221は、シーケンスS153で受信した「PRACK」のSDPに応じたSDPを「200OK(PRACK)」に付している。特に、着側CAT−AS221は、「PRACK」の「curr」、「local」(発側の現在の状態を示すSDP)の値「sendrecv」に基づいて、「200OK(PRACK)」の「curr」、「remote」のSDP(発側の現在の状態を示すSDP)の値を「sendrecv」にしている。このSDP値は、発側のリソース未予約から予約済みに変更されPreconditionが満たされたことを着側CAT−AS221が把握した旨を示している。
【0061】
シーケンスS162で通信部410が「200OK(PRACK)」を受信した発側IBCF113では、信号調整部491がSDPを削除する(シーケンスS162)。信号調整部491は、いわば、シーケンスS152でSDPを付与したのと逆の処理を行っている。シーケンスS152での処理に対して発側ネットワーク100内での整合性をとるためである。
通信部410は、信号調整部491がSDPを削除した「200OK(PRACK)」を発側端末装置311へ送信する(シーケンスS163)。
【0062】
また、シーケンスS133で「INVITE」を受信した着側端末装置321は、呼び出しを開始すると「180Ringing」を送信する(シーケンスS171)。「180Ringing」は、例えば呼び出し音を鳴らすなど呼び出し中であることを示す応答である。
着側端末装置321は、シーケンスS133で受信した「INVITE」のSDPに応じて、発側の現在の状態を示す「curr」、「remote」のSDPの値を、リソース未予約を示す「none」にしている。
なお、SDPの「D2」(Dialog2)は、発側端末装置311と着側端末装置321との間のSDP交換(セッション確立)に関するSDPであることを示す。
【0063】
シーケンスS171で「180Ringing」を受信した着側S−CSCF212は、着側CAT−AS221へ「180Ringing」を送信する(シーケンスS172)。「180Ringing」を受信した着側CAT−AS221は、CATメディアを開始する(シーケンスS173)。すなわち、着側CAT−AS221は、カスタマイズされた着信音の送信処理を開始する。
また、着側CAT−AS221は、シーケンスS172で受信した「180Ringing」のSDPでPreconditionが満たされていないことから「183(D2)」応答を発側ネットワーク100側へ送信する(シーケンスS174)。
【0064】
Forking Model 方式では、着側CAT−AS221は、受信した「180Ringing」を終端し、発側ネットワーク100側へは送信しない。一方、発側ネットワーク100が、一旦、発側ネットワーク100側のリソース未予約で着側ネットワーク200側に通知した後、発側ネットワーク100側のリソース予約済で通知することで、着側CAT−AS221は、「180Ringing」に相当する「183(D2)」応答を発側ネットワーク100側へ送信する。
【0065】
シーケンスS174で通信部410が「183(D2)」を受信した発側IBCF113では、信号調整部491がメソッドを書き換える(シーケンスS175)。具体的には、発側IBCF113は、「183(D2)」応答から「180Ringing」に書き換えている。
上記のように、着側ネットワーク200がForking Modelに対応していることから、着側CAT−AS221が「180Ringing」を終端し、発側ネットワーク100側へは送信しない。一方、上記のように、着側CAT−AS221は「180Ringing」に相当する「183(D2)」応答を送信する。そこで、信号調整部491は、得られた「183(D2)」を、Gateway Model方式で必要とされている「180Ringing」に書き換える。
【0066】
通信部410は、信号調整部491が「183(D2)」応答から書き換えた「180Ringing」を発側端末装置311へ送信する(シーケンスS176)。通信部410は、通信制御部471の呼び出し中通知送信制御部473の制御に従って、シーケンスS176での「180Ringing」の送信を行う。
着側CAT−AS221は、シーケンスS174で「180Ringing」を送信した後、カスタマイズされた着信音(RBT;Ring Back Tone)を送信する(シーケンスS181)。
その後の処理については、図示及び説明を省略する。
【0067】
図3〜5の例では、発側ネットワーク100側がGateway Model方式を採用しているのに対し、着側ネットワーク200側がForking Model方式を採用している。発側ネットワーク100側が採用しているGateway Model方式では、「180Ringing」が送信されることが前提となっており、「180Ringing」が送信されずにRBTが送信された場合の処理については規定されていない。従って、発側端末装置311が「180Ringing」を受信せずにRBTを受信した場合の処理は、発側端末装置311の実装に依存し、発側端末装置311が正常に動作しない可能性がある。
【0068】
これに対し、発側IBCF113が、リソース予約済みの場合でもリソース未予約として「INVITE」を送信することで(シーケンスS113〜S114)、着側ネットワーク200側から発側ネットワーク100側へ「180Ringing」が送信されるようにすることができる(シーケンスS171〜S176)。これにより、発側端末装置311は、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。
【0069】
なお、「INVITE」の送信時に着側端末装置321が未だリソースを予約していない点のみが
図3〜
図5の例と異なる場合、着側ネットワーク200側の「Resource available」(
図3ではシーケンスS112)の位置が「INVITE」よりも後ろになるのみで、動作自体は
図3〜5の例の場合と同様である。
【0070】
図6〜
図7は、発側ネットワーク100側、着側ネットワーク200側のいずれもPreconditionをサポートしている場合の、IMSネットワーク1の動作の第二の例を示す説明図である。発側ネットワーク100は、Gateway model方式を採用しており、着側ネットワーク200は、Forking Model方式を採用している。
同図では、発側端末装置311が「INVITE」を送信する際に、着側端末装置321は既にリソースを予約出来ているが、発側端末装置311はリソースを未予約である場合の例を示す。着側端末装置321は、シーケンスS211でリソースを予約済みである。
【0071】
同図の処理で、発側端末装置311は「INVITE」を送信している(シーケンスS221)。
図6〜
図7の例では、
図3の場合と異なり、発側端末装置311は未だリソースを予約していない。このため、発側端末装置311は、「INVITE」の「curr」、「local」のSDP(発側の現在の状態を示すSDP)の値を「none」(リソース未予約を示す値)にしている。このため、
図6では、
図3のシーケンスS122の場合と異なり、発側IBCF113は、「INVITE」のSDP値を変更せずにそのまま着側ネットワーク200側へ送信している。具体的には、リソース予約状況判定部482が、SDP値を参照して、発側端末装置311がリソースを未予約であると判定する。この判定結果に応じて、通信制御部471のセッション開始要求送信制御部472が通信部410を制御して「INVITE」(SDP値を書き換えていない「INVITE」)を着側ネットワーク200側へ転送させている。
【0072】
シーケンスS231〜S233は、
図3のシーケンスS131〜S133の場合と同様である。
また、
図3の場合と同様、着側CAT−AS221は発側ネットワーク100側へ「183(D1)」応答を送信している(シーケンスS241)。
図6では、
図3の場合と異なり、着側CAT−AS221が送信した「183(D1)」応答のSDPの値(特に、「curr」、「remote」のSDPの値「none」)が、現在の状態と整合している。このため、発側IBCF113は、「183(D1)」応答のSDPを書き換えずにそのまま発側端末装置311へ送信している。具体的には、通信制御部471が通信部410を制御して、「183」応答を発側端末装置311へ転送させている。
【0073】
「183」応答を受信した発側端末装置311は、「PRACK」を着側ネットワーク200側へ送信する(シーケンスS242)。ここでは、「183」応答から状態変化がないため、発側端末装置311は状態を示すSDPを付さずに「PRACK」を送信している。この「PRACK」は発側ネットワーク100及び着側ネットワーク200の現在の状態に整合しているので、発側IBCF113は、「PRACK」をそのまま着側ネットワーク200側へ送信している。具体的には、通信制御部471が通信部410を制御して「PRACK」を発側ネットワーク100側へ送信させている。
Preconditionが整っていないことから、着側ネットワーク200側では着側CAT−AS221が「PRACK」を終端して「200OK(PRACK)」を応答している(シーケンスS243)。この「200OK」についても発側IBCF113は、そのまま発側端末装置311へ送信している。具体的には、通信制御部471が通信部410を制御して「200OK」を発側端末装置311へ送信させている。
【0074】
シーケンスS251〜S252は、
図5のシーケンスS171〜S172と同様である。
また、リソースを予約した発側端末装置311は(シーケンスS261)、「UPDATE」を着側ネットワーク200側へ送信する(シーケンスS262)。「UPDATE」は、SDPの更新を通知するメソッドである。この「UPDATE」についても発側IBCF113は、そのまま発側端末装置311へ送信している。具体的には、通信制御部471が通信部410を制御して「UPDATE」を発側端末装置311へ送信させている。着側CAT−AS221は、「UPDATE」を参照することで、Preconditionが整ったことを検出することができる。
【0075】
シーケンスS262で「UPDATE」を受信した着側CAT−AS221は、「200OK(UPDATE)」を応答している(シーケンスS263)。この「200OK」についても発側IBCF113は、そのまま発側端末装置311へ送信している。具体的には、通信制御部471が通信部410を制御して「200OK」を発側端末装置311へ送信させている。
【0076】
シーケンスS271〜S274は、
図5のシーケンスS173〜S176と同様である。シーケンスS281は、
図5のシーケンスS181と同様である。
図7の場合も
図5の場合と同様、発側端末装置311は、「180Ringing」を受信した後、RBTを受信している。
シーケンスS281より後の処理については、図示及び説明を省略する。
なお、「INVITE」の送信時に着側端末装置321が未だリソースを予約していない点のみが
図6〜
図7の例と異なる場合、着側ネットワーク200側の「Resource available」(
図6ではシーケンスS211)の位置が「INVITE」よりも後ろになるのみで、動作自体は
図6〜
図7の例の場合と同様である。
【0077】
図8〜
図9は、着側ネットワーク200がPreconditionをサポートしているが、発側ネットワーク100がPreconditionをサポートしていない場合の、IMSネットワーク1の動作の例を示す説明図である。発側ネットワーク100は、Gateway model方式を採用しており、着側ネットワーク200は、Forking Model方式を採用している。
同図では、発側端末装置311が「INVITE」を送信する際に、着側端末装置321がリソースを未予約である場合の例を示す。発側ネットワーク100がPreconditionをサポートしていないことから、シーケンスS311に示されるように、発側端末装置311は、「INVITE」を送信する際には必ずリソースを使用可能になっている。
【0078】
同図の処理で、発側端末装置311は「INVITE」を送信している(シーケンスS312)。発側端末装置311がPreconditionに未対応である場合、「INVITE」にSDPは付与されない。この場合、着側端末装置321がリソース予約を完了しているか否かにかかわらず、発側ネットワーク100の各機器(特に発側端末装置311)は、着側端末装置321がリソース予約を完了している前提で動作する。
シーケンスS313〜S315は、
図3のシーケンスS131〜S133と同様である。
【0079】
シーケンスS315で「INVITE」を受信した着側端末装置321は、リソースを予約して(シーケンスS316)、呼び出しを開始すると、「180Ringing」を送信する(シーケンスS317)。
そして、着側S−CSCF212は、シーケンスS317で受信した「180Ringing」を着側CAT−AS221へ送信する(シーケンスS318)。
着側CAT−AS221は、受信した「180Ringing」を終端する。また、着側CAT−AS221は、シーケンスS312で受信した「INVITE」に対応して「183(D1)」応答を送信する(シーケンスS319)。その際、着側CAT−AS221は、「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータを設定して送信する。
【0080】
なお、Forking Model方式におけるDialog「D1」と「D2」とは、並列(Parallel)に実行される。従って、着側CAT−AS221が「183(D1)」応答を送信するタイミングは、
図8の例のタイミングに限らない。例えば、着側CAT−AS221がシーケンスS318の「180Ringing(D2)」を受信する前にシーケンスS319の「183(D1)」応答を送信することもあり得る。
【0081】
通信部410が「183」応答を受信した発側IBCF113では、アーリメディア対応判定部483が、得られた「183」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されていることを検出する。発側IBCF113は、「183」応答自体はそのまま発側端末装置311へ送信する。具体的には、通信制御部471が通信部410を制御して「183」応答を発側端末装置311へ送信させる。
「183」応答を受信した発側端末装置311は、「PRACK」を送信する(シーケンスS321)。発側IBCF113は、この「PRACK」をそのまま着側ネットワーク200側へ送信する。具体的には、通信部410が「PRACK」を受信すると、通信制御部471が通信部410を制御して、この「PRACK」を着側ネットワーク200側へ転送させる。
【0082】
シーケンスS321で「PRACK」を受信した着側CAT−AS221は、CATメディアを開始する(シーケンスS322)。すなわち、着側CAT−AS221は、カスタマイズされた着信音の送信処理を開始する。
また、着側CAT−AS221は、発側ネットワーク100側に対して「200OK(PRACK)」を送信する(シーケンスS323)。通信部410が「200OK(PRACK)」を受信した発側IBCF113では、処理完了判定部484が「200OK(PRACK)」であることを確認する。そして、通信部410は、「200OK(PRACK)」をそのまま発側端末装置311へ送信する(シーケンスS324)。具体的には、通信制御部471の呼び出し中通知送信制御部473が通信部410を制御して、この「200OK(PRACK)」を発側端末装置311へ転送させる。
【0083】
また、「200OK(PRACK)」を確認した呼び出し中通知送信制御部473は、「180Ringing」を生成する。そして、通信部410が、呼び出し中通知送信制御部473が生成した「180Ringing」を呼び出し中通知送信制御部473の制御に従って発側端末装置311へ送信する(シーケンスS325)。
また、着側CAT−AS221は、シーケンスS323で「200OK(PRACK)」を送信した後、RBTを送信する(シーケンスS331)。
その後の処理については、図示及び説明を省略する。
【0084】
発側ネットワーク100がPreconditionに対応していない場合、発側ネットワーク100、着側ネットワーク200共にPreconditionに対応している場合とは異なり、発側ネットワーク100の側のリソース未予約をSDPで着側ネットワーク200側に通知することはできず、これによって「183(D2)」応答を得られない可能性がある。そこで、発側IBCF113は、着側ネットワーク200側からの「183(D1)」応答のP-Early-Media header fieldの「sendrecv」パラメータを確認することで、後に着側ネットワーク200側からRBTが送信されることを確認しておく。そして、発側IBCF113は、準備完了を示す「200OK(PRACK)」を検出すると、「180Ringing」を生成して発側端末装置311へ送信する。これにより、発側端末装置311は、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。
【0085】
なお、
図8〜
図9を参照して説明した方法は、発側ネットワーク100側がPreconditionに対応している場合にも適用できる。
なお、「INVITE」の送信時に着側端末装置321が既にリソースを予約している点のみが
図8〜
図9の例と異なる場合、着側ネットワーク200側の「Resource available」(
図9ではシーケンスS316)の位置が「INVITE」よりも前になるのみで、動作自体は
図8〜
図9の例の場合と同様である。
【0086】
図10〜
図11は、発側ネットワーク100がPreconditionをサポートしているが、着側ネットワーク200がPreconditionをサポートしていない場合の、IMSネットワーク1の動作の例を示す説明図である。発側ネットワーク100は、Gateway model方式を採用しており、着側ネットワーク200は、Forking Model方式を採用している。
同図では、発側端末装置311が「INVITE」を送信する際に、発側端末装置311がリソースを未予約である場合の例を示す。着側ネットワーク200がPreconditionをサポートしていないことから、シーケンスS411に示されるように、着側端末装置321は、「INVITE」を受信する際には必ずリソースを使用可能になっている。
【0087】
同図の処理で、発側端末装置311は「INVITE」を送信している(シーケンスS421)。発側端末装置311は、Preconditionに対応しているため、「INVITE」にPreconditionのSDPを付して送信している。但し、着側ネットワーク200側がPreconditionに未対応であるため、着側ネットワーク200側の装置はPreconditionのSDPを無視する。
【0088】
シーケンスS421で「INVITE」を受信した着側CAT−AS221は、CATのリソースを準備する(シーケンスS422)。着側CAT−AS221は、カスタマイズされた着信音を送信可能になっている。
そして、着側CAT−AS221は、着側S−CSCF212に「INVITE」を送信する(シーケンスS423)。着側S−CSCF212は、着側端末装置321に「INVITE」を送信する(シーケンスS424)。
【0089】
「INVITE」を受信した着側端末装置321は、呼び出しを開始すると「180Ringing」を送信する(シーケンスS425)。
シーケンスS425で「180Ringing」を受信した着側S−CSCF212は、「180Ringing」を着側CAT−AS221に送信する(シーケンスS426)。
【0090】
着側CAT−AS221は、受信した「180Ringing」に対して「183(D1)」応答を送信する(シーケンスS427)。その際、着側CAT−AS221は、「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータを設定して送信する。
通信部410が「183」応答を受信した発側IBCF113では、アーリメディア対応判定部483が、得られた「183」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されていることを検出する。発側IBCF113は、「183」応答自体はそのまま発側端末装置311へ送信する。具体的には、通信制御部471が通信部410を制御して「183」応答を発側端末装置311へ送信させる。
【0091】
「183」応答を受信した発側端末装置311は、「PRACK」を送信する(シーケンスS428)。発側IBCF113は、この「PRACK」をそのまま着側ネットワーク200側へ送信する。具体的には、通信部410が「PRACK」を受信すると、通信制御部471が通信部410を制御して、この「PRACK」を着側ネットワーク200側へ転送させる。
シーケンスS428で「PRACK」を受信した着側CAT−AS221は、CATメディアを開始する(シーケンスS429)。すなわち、着側CAT−AS221は、カスタマイズされた着信音の送信処理を開始する。
【0092】
また、着側CAT−AS221は、発側ネットワーク100側に対して「200OK(PRACK)」を送信する(シーケンスS431)。通信部410が「200OK(PRACK)」を受信した発側IBCF113では、信号調整部491が「200OK(PRACK)」であることを確認する。そして、発側ネットワーク100は、「200OK(PRACK)」をそのまま発側端末装置311へ送信する(シーケンスS432)。具体的には、通信制御部471が通信部410を制御して、この「200OK(PRACK)」を発側端末装置311へ転送させる。
また、発側端末装置311はリソースを予約している(シーケンスS433)。
【0093】
また、「200OK(PRACK)」を確認した発側IBCF113は、「180Ringing」を生成して発側端末装置311へ送信する(シーケンスS434)。具体的には、呼び出し中通知送信制御部473が、「180Ringing」を生成する。そして、呼び出し中通知送信制御部473は、通信部410を制御して当該「180Ringing」を発側端末装置311へ送信させる。
着側CAT−AS221は、シーケンスS431で「200OK(PRACK)」を送信した後、RBTを送信する(シーケンスS441)。
その後の処理については、図示及び説明を省略する。
【0094】
着側ネットワーク200がPreconditionに対応していない場合も、発側ネットワーク100がpreconditionに対応していない
図8〜
図9の例の場合と同様、発側ネットワーク100の側のリソース未予約をSDPで着側ネットワーク200側に通知することはできず、これによって「183(D2)」応答を得られない可能性がある。そこで、発側IBCF113は、着側ネットワーク200側からの「183(D1)」応答のP-Early-Media header fieldの「sendrecv」パラメータの設定を確認することで、後に着側ネットワーク200側からRBTが送信されることを確認しておく。そして、発側IBCF113は、準備完了を示す「200OK(PRACK)」を検出すると、「180Ringing」を生成して発側端末装置311へ送信する。これにより、発側端末装置311は、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。
【0095】
なお、発側IBCF113が「180Ringing」を生成して送信するタイミングは、
図8〜
図11を参照して説明した「200OK(PRACK)」を受信したタイミングに限らない。例えば、発側IBCF113が「18x(D1)」でP-Early-Media header fieldに「sendrecv」パラメータが設定された応答を受信したタイミングで「180Ringing」を生成して発側端末装置311へ送信するようにしてもよい。
【0096】
なお、
図10〜
図11を参照して説明した方法は、着側ネットワーク200側がPreconditionに対応している場合にも適用できる。
なお、「INVITE」の送信時に発側端末装置311が既にリソースを予約している点のみが
図10〜
図11の例と異なる場合、発側ネットワーク100側の「Resource available」(
図11ではシーケンスS433)の位置が「INVITE」よりも前になるのみで、動作自体は
図10〜
図11の例の場合と同様である。
【0097】
なお、着側ネットワーク200に加えて発側ネットワーク100もPreconditionに対応していない場合、発側端末装置311は、「INVITE」送信前にリソースを使用可能な状態になっており、また、着側ネットワーク200側も、発側ネットワーク100側がリソースを使用可能であることを前提に動作する。従って、この場合のIMSネットワーク1の動作としては、
図10〜
図11の例で「INVITE」の送信時に発側端末装置311が既にリソースを予約している場合と同様であり、IMSネットワーク1の動作の概要は、
図10〜
図11の例の場合と同様である。
【0098】
発側ネットワーク100側及び着側ネットワーク200側のいずれもPreconditionに対応している場合は、
図3〜
図7を参照して説明した、発側ネットワーク100側のリソース未予約をSDPで通知する方法を用いることができる。以下、この方法を第一の方法と称する。
一方、発側ネットワーク100側及び着側ネットワーク200側のうちいずれか一方又は両方がPreconditionに対応していない場合は、
図8〜
図11を参照して説明した、「18x」応答のP-Early-Media header fieldの「sendrecv」パラメータの設定を検出する方法を用いることができる。以下、この方法を第二の方法と称する。
【0099】
例えば、発側IBCF113は、
図12に示す手順に基づいて第一の方法及び第二の方法のうち何れを用いるかを決定することができる。
図12は、発側IBCF113が、第一の方法及び第二の方法のうちいずれを用いるかを決定する手順の例を示す説明図である。
同図の処理にて、サポート判定部481は、発側ネットワーク100側がPreconditionに対応しているか否かを判定する(ステップS501)。例えば、サポート判定部481は、上述したように発側端末装置311からの「INVITE」のヘッダを参照してステップS501での判定を行う。
【0100】
発側ネットワーク100側が対応していると判定した場合(ステップS501:YES)、サポート判定部481は、着側ネットワーク200側がPreconditionに対応しているか否かを判定する(ステップS502)。例えば、サポート判定部481は、上述したように着側ネットワーク200側からの応答信号(例えば「183(D1)」応答)のパラメータを参照して、着側ネットワーク200側がPreconditionをサポートしているか否かを判定する。
【0101】
着側ネットワーク200側が対応していると判定した場合(ステップS502:YES)、制御部460は、第一の方法を用いることに決定する(ステップS511)。ステップS511の後、
図12の処理を終了する。
一方、ステップS501で、発側ネットワーク100側がPreconditionに対応していないと判定した場合(ステップS501:NO)、制御部460は、第二の方法を用いることに決定する(ステップS521)。ステップS521の後、
図12の処理を終了する。
また、ステップS502で、着側ネットワーク200側がPreconditionに対応していないと判定した場合(ステップS502:NO)も、ステップS521へ進む。
【0102】
以上のように、リソース予約状況判定部482は、発側端末装置311が送信し通信部410が受信した「INVITE」に含まれ、発側端末装置311のリソース予約状況を示すパラメータの値(SDP値)が、予約済みを示す値か否かを判定する。リソース予約状況判定部482が、SDP値が予約済みを示す値であると判定した場合、パラメータ値書換部492は、当該SDP値を、リソース未予約を示す値に書き換える。
リソース予約状況判定部482が、SDP値が予約済みを示す値であると判定した場合、セッション開始要求送信制御部472は、パラメータ値書換部492がSDP値を書き換えた「INVITE」を着側ネットワーク200へ送信するよう通信部410を制御する。一方、リソース予約状況判定部482が、SDP値が予約済みを示す値でないと判定した場合、セッション開始要求送信制御部472は、発側端末装置311から受信した「INVITE」を着側ネットワーク200へ送信するよう通信部410を制御する。
「INVITE」に対する「183(D2)」応答が着側端末装置におけるソース予約済みを示す場合、呼び出し中通知送信制御部は、「180Ringing」を発側端末装置311へ送信するよう通信部410を制御する。
【0103】
これにより、発側端末装置311は、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。従って、発側IBCF113によれば、IMSにおいて発呼側と着呼側とでアーリメディアの方式が異なる場合でも、アーリメディアによるサービスを提供することができる。
【0104】
また、サポート判定部481は、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321がいずれもPreconditionに対応しているか否かを通信部410の受信信号に基づいて判定する。
サポート判定部481が、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321の少なくともいずれかがPreconditionに対応していないと判定した場合、アーリメディア対応判定部483は、着側ネットワーク200からの「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されているか否かを判定する。処理完了判定部484は、アーリメディア対応判定部が、「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されていると判定した後、着側ネットワーク200から「200OK(PRACK)」を通信部410が受信したか否かを判定する。
呼び出し中通知送信制御部473は、処理完了判定部484が、「200OK(PRACK)」を通信部410が受信したと判定した場合、発側端末装置311へ「180Ringing」を送信するよう通信部410を制御する。
また、リソース予約状況判定部482は、サポート判定部481が、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321がいずれもPreconditionに対応していると判定した場合に、発側端末装置311が送信し通信部410が受信した「INVITE」に含まれ、発側端末装置311のリソース予約状況を示すパラメータの値(SDP値)が、予約済みを示す値か否かを判定する。
【0105】
これにより、発側端末装置311は、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321のいずれかがPreconditionに対応していない場合でも、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。従って、発側IBCF113によれば、発側端末装置311は、IMSにおいて発呼側と着呼側とでアーリメディアの方式が異なり、かつ、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321がいずれかがPreconditionに対応していない場合でも、アーリメディアによるサービスを提供することができる。
【0106】
また、アーリメディア対応判定部483は、着側ネットワーク200からの「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されているか否かを判定する。処理完了判定部484は、アーリメディア対応判定部が、「183(D1)」応答のP-Early-Media header fieldに「sendrecv」パラメータが設定されていると判定した後、着側ネットワーク200から「200OK(PRACK)」を通信部410が受信したか否かを判定する。
呼び出し中通知送信制御部473は、処理完了判定部484が、「200OK(PRACK)」を通信部410が受信したと判定した場合、発側端末装置311へ「180Ringing」を送信するよう通信部410を制御する。
【0107】
これにより、発側端末装置311は、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321のいずれかがPreconditionに対応していない場合でも、「180Ringing」を受信してからRBTを受信することができ、発側端末装置311が、Gateway Model方式に従って正常に動作することが期待される。従って、発側IBCF113によれば、発側端末装置311は、IMSにおいて発呼側と着呼側とでアーリメディアの方式が異なり、かつ、発側ネットワーク100及び発側端末装置311、着側ネットワーク200及び着側端末装置321がいずれかがPreconditionに対応していない場合でも、アーリメディアによるサービスを提供することができる。
【0108】
次に、
図13及び
図14を参照して、本発明の最小構成について説明する。
図13は、本発明に係るアーリメディアサービス制御装置の最小構成の第一の例を示す説明図である。同図に示すアーリメディアサービス制御装置10は、通信部11と、リソース予約状況判定部12と、パラメータ値書換部13と、セッション開始要求送信制御部14と、呼び出し中通知送信制御部15とを備える。
【0109】
かかる構成にて、リソース予約状況判定部12は、呼び出し中通知受信を要件の1つとしてアーリメディアのサービス実行を開始するアーリメディア方式のセッション開始要求発側端末装置が送信し通信部11が受信したセッション開始要求に含まれ、セッション開始要求発側端末装置のリソース予約状況を示すパラメータの値が、予約済みを示す値か否かを判定する。
また、パラメータ値書換部13は、リソース予約状況判定部12が、パラメータの値が予約済みを示す値であると判定した場合、当該パラメータの値をリソース未予約を示す値に書き換える。
また、セッション開始要求送信制御部14は、リソース予約状況判定部12が、パラメータの値が予約済みを示す値であると判定した場合、パラメータ値書換部13がパラメータの値を書き換えたセッション開始要求をセッション開始要求着側ネットワークへ送信するよう通信部11を制御し、リソース予約状況判定部12が、パラメータの値が予約済みを示す値でないと判定した場合、セッション開始要求発側端末装置から受信したセッション開始要求をセッション開始要求着側ネットワークへ送信するよう通信部11を制御する。
そして、呼び出し中通知送信制御部15は、通信部11がセッション開始要求着側ネットワークへ送信したセッション開始要求に対して送信され、セッション開始要求着側端末装置におけるリソース予約済みを示す応答を通信部11が受信した場合、呼び出し中通知をセッション開始要求発側端末装置へ送信するよう通信部11を制御する。
【0110】
これにより、セッション開始要求発側端末装置は、呼び出し中通知を受信してからアーリメディアサービスのメディア(データ)を受信することができる。これにより、セッション開始要求発側端末装置が、呼び出し中通知を受信してからアーリメディアサービスのメディアを受信する方式に従って正常に動作することが期待される。従って、アーリメディアサービス制御装置10によれば、IMSにおいて発呼側と着呼側とでアーリメディアの方式が異なる場合でも、アーリメディアによるサービスを提供することができる。
【0111】
図14は、本発明に係るアーリメディアサービス制御装置の最小構成の第二の例を示す説明図である。同図に示すアーリメディアサービス制御装置20は、通信部21と、アーリメディア対応判定部22と、処理完了判定部23と、呼び出し中通知送信制御部24と、を備える。
かかる構成にて、アーリメディア対応判定部22は、セッション開始要求に対する応答にセッション開始要求着側ネットワークがアーリメディアに対応していることを示すアーリメディア対応情報が含まれるか否かを判定する。
また、処理完了判定部23は、アーリメディア対応判定部22が、応答にアーリメディア対応情報が含まれると判定した後、セッション開始要求着側ネットワークからリクエスト正常処理完了を示す処理完了信号を通信部が受信したか否かを判定する。
そして、呼び出し中通知送信制御部24は、処理完了判定部23が、処理完了信号を通信部21が受信したと判定した場合、呼び出し中通知受信を要件の1つとしてアーリメディアのサービス実行を開始するアーリメディア方式のセッション開始要求発側端末装置に呼び出し中通知を送信するよう通信部21を制御する。
【0112】
これにより、セッション開始要求発側ネットワーク及びセッション開始要求発側端末装置、セッション開始要求着側ネットワーク及びセッション開始要求着側端末装置のいずれかがリソース予約通知の規定に対応していない場合でも、セッション開始要求発側端末装置は、呼び出し中通知を受信してからアーリメディアサービスのメディアを受信することができる。これにより、セッション開始要求発側端末装置が、呼び出し中通知を受信してからアーリメディアサービスのメディアを受信する方式に従って正常に動作することが期待される。従って、アーリメディアサービス制御装置10によれば、IMSにおいて発呼側と着呼側とでアーリメディアの方式が異なり、かつ、セッション開始要求発側ネットワーク及びセッション開始要求発側端末装置、セッション開始要求着側ネットワーク及びセッション開始要求着側端末装置のいずれかがリソース予約通知の規定に対応していない場合でも、アーリメディアによるサービスを提供することができる。
【0113】
なお、発側IBCF113の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0114】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2016年2月29日に出願された日本出願特願2016−038277を基礎とする優先権を主張し、その開示の全てをここに取り込む。