JPWO2012164830A1 - 通信制御装置 - Google Patents

通信制御装置 Download PDF

Info

Publication number
JPWO2012164830A1
JPWO2012164830A1 JP2013517834A JP2013517834A JPWO2012164830A1 JP WO2012164830 A1 JPWO2012164830 A1 JP WO2012164830A1 JP 2013517834 A JP2013517834 A JP 2013517834A JP 2013517834 A JP2013517834 A JP 2013517834A JP WO2012164830 A1 JPWO2012164830 A1 JP WO2012164830A1
Authority
JP
Japan
Prior art keywords
sequence
communication control
communication
control device
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013517834A
Other languages
English (en)
Other versions
JP5668846B2 (ja
Inventor
真吾 牧村
真吾 牧村
剛志 渡邉
剛志 渡邉
智基 村上
智基 村上
厚志 橋口
厚志 橋口
栗原 浩
浩 栗原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013517834A priority Critical patent/JP5668846B2/ja
Application granted granted Critical
Publication of JP5668846B2 publication Critical patent/JP5668846B2/ja
Publication of JPWO2012164830A1 publication Critical patent/JPWO2012164830A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

通信制御装置100は、複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する。通信制御装置は、通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行される第1のシーケンス、及び、他の第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付けるシナリオ情報受付部101と、あるシーケンスの実行中に、受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、シーケンス実行指示情報が含む同期情報に基づいてシーケンスを新たに実行するシナリオ実行部102と、を備える。

Description

本発明は、複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置に関する。
複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置が知られている。この種の通信制御装置の一つとして、特許文献1に記載の通信制御装置は、通信先を特定する通信先特定情報と対応付けられ、当該通信先からの応答の種別と対応付けられ、且つ、転送先を特定する転送先特定情報を含むシナリオ情報を受け付ける。
そして、通信制御装置は、上記通信先特定情報により特定される通信先との間でセッションを確立するためのメッセージを受信した場合、当該通信先の応答を取得し、当該応答の種別と対応付けられた転送先特定情報により特定される転送先へ、メッセージを転送する。このように、通信制御装置は、受け付けられたシナリオ情報に基づいてシーケンスを実行する。
特開2006−203311号公報
ところで、ある通信装置から、セッションを確立するためのメッセージを受信した際に、当該セッションと関連する他のセッションを同時に確立する場合、各セッションを確立するためのシーケンス間で、同一の通信イベントを略同時に実行させる必要がある場合がある。
また、複数のシーケンス間で、メディア情報(例えば、SDP(Session Description Protocol)に従って記述される情報等)を整合させる必要がある場合と、その必要がない場合と、がある。このように、通信制御装置は、複数のシーケンス間の同期を制御する必要がある。
しかしながら、特許文献1に記載の通信制御装置においては、シナリオ情報に基づいて複数のシーケンス間の同期を制御することができないという問題があった。
このため、本発明の目的は、上述した課題である「シナリオ情報に基づいて複数のシーケンス間の同期を制御することができないこと」を解決することが可能な通信制御装置を提供することにある。
かかる目的を達成するため本発明の一形態である通信制御装置は、
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する装置である。
更に、この通信制御装置は、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付けるシナリオ情報受付手段と、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、上記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む上記同期情報に基づいてシーケンスを新たに実行するシナリオ実行手段と、
を備える。
また、本発明の他の形態である通信制御方法は、
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する方法である。
更に、この通信制御方法は、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、上記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む上記同期情報に基づいてシーケンスを新たに実行する方法である。
また、本発明の他の形態である通信制御プログラムは、
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置に、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、上記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む上記同期情報に基づいてシーケンスを新たに実行する、処理を実行させるためのプログラムである。
本発明は、以上のように構成されることにより、シナリオ情報に基づいて複数のシーケンス間の同期を制御することができる。
本発明の第1実施形態に係る通信システムの概略構成を表す図である。 本発明の第1実施形態に係る通信システムにおいて第1の装置と第2の装置との間にセッションを確立するために実行されるシーケンスの一例を示したシーケンス図である。 本発明の第1実施形態に係る通信制御装置の機能を表すブロック図である。 本発明の第1実施形態に係るシナリオ情報の一例を示した図である。 本発明の第1実施形態に係るシナリオ情報の一例を示した図である。 本発明の第1実施形態に係るシナリオ情報の一例を示した図である。 本発明の第1実施形態に係るシナリオ情報の一例を示した図である。 本発明の第1実施形態に係る通信システムの作動を示したシーケンス図である。 本発明の第1実施形態に係る通信システムの作動を示したシーケンス図である。 本発明の第1実施形態に係る通信システムの作動を示したシーケンス図である。 本発明の第1実施形態に係る通信システムの作動を示したシーケンス図である。 本発明の第2実施形態に係る通信制御装置の機能を表すブロック図である。
以下、本発明に係る、通信制御装置、通信制御方法、及び、通信制御プログラム、の各実施形態について図1〜図12を参照しながら説明する。
<第1実施形態>
(構成)
図1に示したように、第1実施形態に係る通信システム1は、アプリケーション・サーバ10と、通信制御装置20と、複数のユーザ端末31,32,…と、を備える。アプリケーション・サーバ10と通信制御装置20とは、互いに通信可能に接続されている。
また、通信制御装置20と、複数のユーザ端末31,32,…のそれぞれと、は、通信網(本例では、SIP(Session Initiation Protocol)網)NWを介して、互いに通信可能に接続されている。通信網NWは、互いに通信可能に接続された、複数のサーバ装置(本例では、SIPサーバ)により構成されている。
アプリケーション・サーバ10は、情報処理装置である。アプリケーション・サーバ10は、図示しない中央処理装置(CPU;Central Processing Unit)、及び、記憶装置(メモリ及びハードディスク駆動装置(HDD;Hard Disk Drive))を備える。アプリケーション・サーバ10は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
通信制御装置20は、情報処理装置である。通信制御装置20は、図示しないCPU、記憶装置(メモリ及びHDD)、入力装置(本例では、キーボード、及び、マウス等)、及び、出力装置(本例では、ディスプレイ)を備える。通信制御装置20は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
各ユーザ端末31,32,…は、携帯電話端末である。なお、各ユーザ端末31,32,…は、固定電話機、パーソナル・コンピュータ、PHS(Personal Handyphone System)、PDA(Personal Data Assistance、Personal Digital Assistant)、スマートフォン、カーナビゲーション端末、又は、ゲーム端末等であってもよい。
各ユーザ端末31,32,…は、図示しないCPU、記憶装置(メモリ)、入力装置(本例では、キー)、及び、出力装置(本例では、ディスプレイ)を備える。各ユーザ端末31,32,…は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
(機能)
アプリケーション・サーバ10、通信制御装置20、及び、複数のユーザ端末31,32,…のそれぞれ(各装置)は、通信イベントを実行する機能を有する。通信イベントは、SIPに従ったメッセージの送信、又は、受信である。
アプリケーション・サーバ10、及び、通信制御装置20は、1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置としてのアプリケーション・サーバ10と通信制御装置20との間でセッションを確立する。
同様に、ユーザ端末31、及び、通信制御装置20は、1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置としてのユーザ端末31と通信制御装置20との間でセッションを確立する。なお、他のユーザ端末32,…もユーザ端末31と同様の機能を有する。
具体的には、図2に示したように、ステップS101〜S104の通信イベントが順に実行されることにより、第1の装置と第2の装置との間にセッションが確立される。
先ず、第1の装置は、第2の装置へ、SIPメッセージのうちのINVITEメッセージ(メソッドとして「INVITE」が設定されたメッセージ)を送信する(ステップS101)。
次いで、第2の装置は、第1の装置へ、SIPメッセージのうちの18xメッセージ(ステータスコードとしての「18x」を開始行に含むレスポンス、ここで、「x」は、0〜9の整数)を送信する(ステップS102)。
その後、第2の装置は、第1の装置へ、SIPメッセージのうちの200メッセージ(ステータスコードとしての「200」と、「OK」と、を開始行に含むレスポンス)を送信する(ステップS103)。
次いで、第1の装置は、第2の装置へ、SIPメッセージのうちのACKメッセージ(メソッドとして「ACK」が設定されたメッセージ)を送信する(ステップS104)。
このようにして、第1の装置と第2の装置との間にセッションが確立される。
そして、確立されたセッションを用いて、第1の装置及び第2の装置は、通信を行う。
その後、第1の装置は、第2の装置へ、SIPメッセージのうちのBYEメッセージ(メソッドとして「BYE」が設定されたメッセージ)を送信する(ステップS105)。
次いで、第2の装置は、第1の装置へ、SIPメッセージのうちの200メッセージを送信する(ステップS106)。
このようにして、第1の装置と第2の装置との間に確立されていたセッションは終了する。なお、第2の装置が第1の装置へ、BYEメッセージを送信してもよい。
更に、通信制御装置20の機能は、図3に示したように、シナリオ情報受付部(シナリオ情報受付手段)21と、シナリオ実行部(シナリオ実行手段)22と、を含む。
シナリオ情報受付部21は、ユーザが入力装置を介して入力したシナリオ情報を受け付ける。なお、シナリオ情報受付部21は、シナリオ情報を他の装置から受信し、受信したシナリオ情報を受け付けるように構成されていてもよい。また、シナリオ情報受付部21は、シナリオ情報を予め記憶装置に記憶しておき、記憶されているシナリオ情報を読み出すことにより、読み出したシナリオ情報を受け付けるように構成されていてもよい。
本例では、シナリオ情報受付部21は、受け付けられたシナリオ情報を記憶装置に記憶させる。
本例では、シナリオ情報は、XML(Extensible Markup Language)に従って記述された情報である。なお、シナリオ情報は、XML以外の形式に従って記述された情報であってもよい。本例における要素の名称は、一例である。即ち、要素の名称として、本例にて示した名称以外の名称が用いられてもよい。
シナリオ情報は、シーケンス実行指示情報を含む。シーケンス実行指示情報は、通信イベント(以下、単に「イベント」とも表記する)と対応付けられた情報である。更に、シーケンス実行指示情報は、シーケンスを新たに実行する旨を指示する情報である。加えて、シーケンス実行指示情報は、同期情報を含む。
同期情報は、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す情報である。
シナリオ情報の一例は、図4に示したように、要素「scenario」の属性「scenarioname」の値として「normal0」が設定されている。属性「scenarioname」の値は、シナリオの名称を表す。
更に、要素「scenario」の子要素「event」の属性「eventname」の値として「rcv1stINV」が設定されている。要素「event」は、発生したイベントに対する動作を表す。属性「eventname」の値は、イベントを特定するための情報である。「rcv」は、受信を表し、「1st」は、1番目であることを表し、「INV」は、INVITEメッセージであることを表す。即ち、「rcv1stINV」は、1番目のINVITEメッセージの受信としてのイベントを表す。
加えて、要素「event」の子要素「actionX」(Xは、1以上の整数、ここでは、Xは、1)は、イベント内の処理を表す。Xは、処理の順序を表し、Xが小さくなるほど、早期に実行される処理であることを表す。即ち、同一のXが付与されている処理は、非同期に実行される。
更に、要素「action1」の子要素「newcall」の属性「callname」の値として「snd1stINV」が設定されている。要素「newcall」は、セッションを確立するためのシーケンスを新たに実行する旨を指示する。属性「callname」の値は、シーケンスの名称を表す。
加えて、要素「newcall」の子要素「callopt」の属性「sync」の値として「rcv1stINV」が設定されている。要素「callopt」は、シーケンスを新たに実行する際のオプション(付加情報)を表す。属性「sync」の値は、同期させる対象となるシーケンスを特定するための情報である。
属性「sync」の値として、属性「eventname」の値、属性「callname」の値、又は、「none」が設定される。属性「sync」の値は、属性「eventname」の値、又は、属性「callname」の値が設定された場合、当該値により特定されるシーケンスと同期させることを表す。属性「sync」の値は、「none」が設定された場合、他のシーケンスと同期させないことを表す。
このように、要素「newcall」は、シーケンス実行指示情報を構成している。また、要素「callopt」の属性「sync」の値は、同期情報を構成している。更に、要素「newcall」を要素として含む要素「event」の属性「eventname」の値は、シーケンス実行指示情報と対応付けられたイベントを特定するための情報を構成している。
なお、後述するように、シナリオ実行部22は、第1のシーケンス及び第2のシーケンスを同期させる場合、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した直後に実行する。
更に、後述するように、シナリオ実行部22は、第1のシーケンス及び第2のシーケンスを同期させる場合、当該第1のシーケンスにより確立される第1のセッション、及び、当該第2のシーケンスにより確立される第2のセッションの一方が終了したとき、他方も終了させる。
図5は、シナリオ情報の他の例を示している。この例においては、要素「scenario」は、2つの子要素「event」を含んでいる。このように、シナリオ情報は、複数の要素「event」を含んでいてもよい。
図6は、シナリオ情報の他の例を示している。この例においては、要素「newcall」は、子要素「eventnotify」を含んでいる。また、要素「eventnotify」の属性「sipevent」の値として、「200ok」が設定されている。また、要素「eventnotify」の属性「eventname」の値として、「rcv200_snd1stINV」が設定されている。
要素「eventnotify」は、属性「sipevent」の値により特定されるイベントが発生した(実行された)時に、属性「eventname」の値により特定されるイベントを実行する旨を指示する。この例においては、要素「eventnotify」は、200メッセージを受信した時に、「rcv200_snd1stINV」により特定されるイベントを実行することを表す。
また、要素「newcall」の属性「RURIheader」の値として「ガイダンス1」が設定されている。属性「RURIheader」の値は、新たに実行されるシーケンスのRURI(Request Uniform Resource Identifier)ヘッダを表す。
図7は、シナリオ情報の他の例を示している。この例においては、要素「event」は、子要素「if」を含んでいる。要素「if」は、子要素「condition」と、子要素「exec」と、子要素「else」と、を含む。
要素「condition」の属性「type」の値として「header」が設定されている。要素「condition」は、子要素「conditionopt」を含む。要素「conditionopt」の属性「header」の値として「X−Service−Name」が設定されている。更に、要素「conditionopt」の属性「value」の値として「AnsMachine」が設定されている。
要素「exec」の属性「name」の値として「action1」が設定されている。
要素「if」は、要素「condition」の属性「type」の値により特定される情報が、要素「conditionopt」により定められる条件を満足するか否かを判定することを表す。更に、要素「if」は、当該情報が当該条件を満足する場合、要素「exec」により特定される処理を実行し、当該情報が当該条件を満足しない場合、要素「else」により特定される処理を実行することを表す。
本例では、要素「if」は、受信されたメッセージに含まれるヘッダ内の「X−Service−Name」の値が、「AnsMachine」である場合、「action1」により特定される処理を実行し、当該値が「AnsMachine」でない場合、何も処理を実行しないことを表す。
また、要素「action1」は、子要素「releasecall」と、子要素「updatecall」と、を含む。
この例においては、要素「releasecall」の属性「name」の値として「snd1stINV」が設定されている。更に、要素「releasecall」の子要素「releaseopt」の属性「sync」の値として「disable」が設定されている。
要素「releasecall」は、属性「name」の値により特定されるシーケンスによって確立されたセッションを終了する旨を指示する。このとき、要素「releasecall」は、要素「releaseopt」の属性「sync」の値として「disable」が設定されている場合、終了させるセッションに係るシーケンスと同期されているシーケンスが存在していても、当該シーケンスに係るセッションを終了させない。
このように、要素「releaseopt」の属性「sync」の値は、第1のシーケンス及び第2のシーケンスの同期を解除する旨を指示する同期解除指示情報を構成している。更に、要素「releaseopt」を要素として含む要素「event」の属性「eventname」の値は、同期解除指示情報と対応付けられたイベントを特定するための情報を構成している。
また、上記例においては、要素「updatecall」の属性「name」の値として「rcv1stINV」が設定されている。更に、要素「updatecall」の子要素「updatecallopt」の属性「sync」の値として「snd2ndINV」が設定されている。
要素「updatecall」は、属性「name」の値により特定されるシーケンスと、要素「updatecallopt」の属性「sync」の値により特定されるシーケンスと、を同期させる旨を指示する。
このように、要素「updatecallopt」の属性「sync」の値は、第1のシーケンス及び第2のシーケンスを同期させる旨を指示する同期設定指示情報を構成している。更に、要素「updatecall」を要素として含む要素「event」の属性「eventname」の値は、同期設定指示情報と対応付けられたイベントを特定するための情報を構成している。
シナリオ実行部22は、シナリオ情報受付部21により受け付けられたシナリオ情報に基づいてシーケンスを実行する。本例では、シナリオ実行部22は、最初のメッセージを受信した場合、記憶装置に記憶されているシナリオ情報の中から1つのシナリオ情報を選択する。例えば、シナリオ実行部22は、受信されたメッセージに含まれる情報(送信先のアドレス、及び、送信元のアドレス等)、及び、メッセージが受信された日時等に基づいてシナリオ情報を選択する。
具体的には、シナリオ実行部22は、シナリオ情報をパースする(シナリオ情報の構文を解析する)。
そして、シナリオ実行部22は、あるシーケンスを実行する。更に、シナリオ実行部22は、シナリオ情報において処理と対応付けられたイベントが実行されるまで待機する。そして、シナリオ実行部22は、当該シーケンスの実行中に、当該イベントが実行された場合、当該イベントと対応付けられた処理を実行する。
より具体的に述べると、シナリオ実行部22は、当該シーケンスの実行中に、シナリオ情報受付部21により受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられたイベントが実行された場合、当該シーケンス実行指示情報が含む同期情報に基づいてシーケンス(第1のシーケンス)を新たに実行する。
更に、シナリオ実行部22は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した直後に実行する。
なお、シナリオ実行部22は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に(例えば、直前に、又は、同時に)実行するように構成されていてもよい。
加えて、シナリオ実行部22は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスにより確立される第1のセッション、及び、当該第2のシーケンスにより確立される第2のセッションの一方が終了したとき、他方も終了させる。
更に、シナリオ実行部22は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合、メディア情報を同期させる。具体的には、シナリオ実行部22は、第1のシーケンス及び第2のシーケンスの一方において、通信先の通信装置である第1の通信装置から受信した第1のメディア情報と、第1のシーケンス及び第2のシーケンスの他方において、通信先の通信装置である第2の通信装置へ送信した第2のメディア情報と、が異なるとき、当該第1のメディア情報を当該第2の通信装置へ再送信する。
加えて、シナリオ実行部22は、上記シーケンスの実行中に、シナリオ情報受付部21により受け付けられたシナリオ情報に含まれる同期解除指示情報と対応付けられた通信イベントが実行された時点以降、第1のシーケンス及び第2のシーケンスの同期を解除する。
更に、シナリオ実行部22は、上記シーケンスの実行中に、シナリオ情報受付部21により受け付けられたシナリオ情報に含まれる同期設定指示情報と対応付けられた通信イベントが実行された時点以降、第1のシーケンス及び第2のシーケンスを同期させる。
(作動)
次に、上述した通信システム1の作動について説明する。
いま、通信制御装置20が図4に示したシナリオ情報を選択する場合を想定する。この場合、図8に示したように、先ず、ユーザ端末31は、INVITEメッセージを通信制御装置20へ送信する(ステップS201)。
これにより、通信制御装置20は、1番目のINVITEメッセージを受信する。即ち、通信制御装置20は、ユーザ端末31との間でセッションを確立するためのシーケンス#1を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv1stINV」により特定されるイベント(即ち、1番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#2を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd1stINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#2(第1のシーケンス)と、ユーザ端末31との間でセッションを確立するためのシーケンス#1(即ち、「rcv1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
従って、以降において、通信制御装置20は、第2のシーケンスにおける残余の通信イベント(本例では、18xメッセージの送信、及び、200メッセージの送信)のそれぞれを、第1のシーケンスにおける対応する通信イベント(本例では、18xメッセージの受信、及び、200メッセージの受信)を実行した直後に実行する。
更に、通信制御装置20は、第1のシーケンスにおけるACKメッセージの送信を、第2のシーケンスにおける対応する通信イベント(ここでは、ACKメッセージの受信)を実行した直後に実行する。
より具体的に述べると、通信制御装置20は、INVITEメッセージをアプリケーション・サーバ10へ送信する(ステップS202)。これにより、アプリケーション・サーバ10は、18xメッセージを通信制御装置20へ送信する(ステップS203)。
そして、通信制御装置20は、アプリケーション・サーバ10から18xメッセージを受信すると、18xメッセージをユーザ端末31へ送信する(ステップS204)。即ち、通信制御装置20は、第1のシーケンスにおける対応するイベントが実行されるまで、第2のシーケンスにおける次のイベントの実行を待機する、と言うことができる。
その後、アプリケーション・サーバ10は、200メッセージを通信制御装置20へ送信する(ステップS205)。そして、通信制御装置20は、アプリケーション・サーバ10から200メッセージを受信すると、200メッセージをユーザ端末31へ送信する(ステップS206)。
その後、ユーザ端末31は、ACKメッセージを通信制御装置20へ送信する(ステップS207)。これにより、ユーザ端末31と通信制御装置20との間のセッションが確立される。
更に、通信制御装置20は、ユーザ端末31からACKメッセージを受信すると、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS208)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
その後、ユーザ端末31は、BYEメッセージを通信制御装置20へ送信する(ステップS209)。通信制御装置20は、ユーザ端末31からBYEメッセージを受信すると、BYEメッセージをアプリケーション・サーバ10へ送信する(ステップS210)。更に、通信制御装置20は、200メッセージをユーザ端末31へ送信する(ステップS211)。これにより、ユーザ端末31と通信制御装置20との間のセッションが終了する。
更に、アプリケーション・サーバ10は、200メッセージを通信制御装置20へ送信する(ステップS212)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションも終了する。
このようにして、通信制御装置20は、第2のシーケンスにより確立された第2のセッションが終了したとき、第1のシーケンスにより確立された第1のセッションも終了させる。
次に、通信制御装置20が図5に示したシナリオ情報を選択する場合を想定する。この場合、図9に示したように、先ず、ユーザ端末(第1のユーザ端末)31は、INVITEメッセージを通信制御装置20へ送信する(ステップS301)。
これにより、通信制御装置20は、1番目のINVITEメッセージを受信する。即ち、通信制御装置20は、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv1stINV」により特定されるイベント(即ち、1番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#2を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd1stINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#2(第1のシーケンス)と、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1(即ち、「rcv1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージをアプリケーション・サーバ10へ送信する(ステップS302)。これにより、アプリケーション・サーバ10は、18xメッセージを通信制御装置20へ送信する(ステップS303)。
そして、通信制御装置20は、アプリケーション・サーバ10から18xメッセージを受信すると、18xメッセージをユーザ端末31へ送信する(ステップS304)。
その後、アプリケーション・サーバ10は、通信制御装置20との間でセッションを新たに確立するため、INVITEメッセージを通信制御装置20へ送信する(ステップS305)。
これにより、通信制御装置20は、2番目のINVITEメッセージを受信する。即ち、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#3を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv2ndINV」により特定されるイベント(即ち、2番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、第2のユーザ端末32との間でセッションを確立するためのシーケンス#4を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd2ndINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#4(第1のシーケンス)と、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#3(即ち、「rcv2ndINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージを第2のユーザ端末32へ送信する(ステップS306)。これにより、第2のユーザ端末32は、18xメッセージを通信制御装置20へ送信する(ステップS307)。そして、通信制御装置20は、第2のユーザ端末32から18xメッセージを受信すると、18xメッセージをアプリケーション・サーバ10へ送信する(ステップS308)。
その後、第2のユーザ端末32は、ステップS306にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS309)。そして、通信制御装置20は、第2のユーザ端末32から200メッセージを受信すると、ステップS305にて受信したINVITEメッセージに対する200メッセージをアプリケーション・サーバ10へ送信する(ステップS310)。
その後、アプリケーション・サーバ10は、ACKメッセージを通信制御装置20へ送信する(ステップS311)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
更に、通信制御装置20は、アプリケーション・サーバ10からACKメッセージを受信すると、ACKメッセージを第2のユーザ端末32へ送信する(ステップS312)。これにより、第2のユーザ端末32と通信制御装置20との間のセッションが確立される。
その後、アプリケーション・サーバ10は、ステップS302にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS313)。そして、通信制御装置20は、アプリケーション・サーバ10から200メッセージを受信すると、ステップS301にて受信したINVITEメッセージに対する200メッセージを第1のユーザ端末31へ送信する(ステップS314)。
その後、第1のユーザ端末31は、ACKメッセージを通信制御装置20へ送信する(ステップS315)。これにより、第1のユーザ端末31と通信制御装置20との間のセッションが確立される。
更に、通信制御装置20は、第1のユーザ端末31からACKメッセージを受信すると、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS316)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
その後、第2のユーザ端末32は、BYEメッセージを通信制御装置20へ送信する(ステップS317)。通信制御装置20は、第2のユーザ端末32からBYEメッセージを受信すると、BYEメッセージをアプリケーション・サーバ10へ送信する(ステップS318)。
次いで、通信制御装置20は、BYEメッセージを第1のユーザ端末31へ送信する(ステップS319)。更に、アプリケーション・サーバ10は、BYEメッセージを通信制御装置20へ送信する(ステップS320)。
次いで、第1のユーザ端末31は、ステップS319にて受信したBYEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS321)。これにより、第1のユーザ端末31と通信制御装置20との間のセッション(シーケンス#1を実行することにより確立されたセッション)が終了する。
更に、通信制御装置20は、ステップS320にて受信したBYEメッセージに対する200メッセージをアプリケーション・サーバ10へ送信する(ステップS322)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッション(シーケンス#2を実行することにより確立されたセッション)が終了する。
このようにして、通信制御装置20は、シーケンス#1により確立されたセッションが終了したとき、シーケンス#2により確立されたセッションも終了させる。
更に、アプリケーション・サーバ10は、ステップS318にて受信したBYEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS323)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッション(シーケンス#3を実行することにより確立されたセッション)が終了する。
次いで、通信制御装置20は、ステップS317にて受信したBYEメッセージに対する200メッセージを第2のユーザ端末32へ送信する(ステップS324)。これにより、第2のユーザ端末32と通信制御装置20との間のセッション(シーケンス#4を実行することにより確立されたセッション)が終了する。
このようにして、通信制御装置20は、シーケンス#3により確立されたセッションが終了したとき、シーケンス#4により確立されたセッションも終了させる。
次に、通信制御装置20が図6に示したシナリオ情報を選択する場合を想定する。この場合、図10に示したように、先ず、ユーザ端末(第1のユーザ端末)31は、INVITEメッセージを通信制御装置20へ送信する(ステップS401)。
ここで、このINVITEメッセージは、第1のユーザ端末31に対して設定されたメディア情報「A」を含む。本例では、メディア情報は、SDP(Session Description Protocol)に従って記述される情報である。
これにより、通信制御装置20は、1番目のINVITEメッセージを受信する。即ち、通信制御装置20は、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv1stINV」により特定されるイベント(即ち、1番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#2を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd1stINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#2(第1のシーケンス)と、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1(即ち、「rcv1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させない。
より具体的に述べると、通信制御装置20は、INVITEメッセージをアプリケーション・サーバ10へ送信する(ステップS402)。ここで、このINVITEメッセージは、空のメディア情報「」を含む。
これにより、アプリケーション・サーバ10は、18xメッセージを通信制御装置20へ送信する(ステップS403)。ここで、この18xメッセージは、アプリケーション・サーバ10に対して設定されたメディア情報「MB」を含む。
その後、アプリケーション・サーバ10は、ステップS402にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS404)。
これにより、通信制御装置20は、要素「newcall」の属性「callname」の値「snd1stINV」により特定されるシーケンスにおいて、200メッセージを受信する。即ち、通信制御装置20は、要素「eventnotify」の属性「sipevent」の値「200ok」により特定されるイベント(即ち、200メッセージの受信)が実行されたことを検出する。
更に、通信制御装置20は、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS405)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
次いで、通信制御装置20は、第2のユーザ端末32との間でセッションを確立するためのシーケンス#4を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd2ndINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#4(第1のシーケンス)と、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#2(即ち、「snd1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージを第2のユーザ端末32へ送信する(ステップS406)。ここで、このINVITEメッセージは、ステップS403にて受信した18xメッセージに含まれるメディア情報「MB」を含む。
これにより、第2のユーザ端末32は、18xメッセージを通信制御装置20へ送信する(ステップS407)。ここで、このINVITEメッセージは、第2のユーザ端末32に対して設定されたメディア情報「B」を含む。その後、第2のユーザ端末32は、ステップS406にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS408)。
通信制御装置20は、シーケンス#4(第1のシーケンス)において、第2のユーザ端末32(通信先の通信装置である第1の通信装置)から受信したメディア情報(第1のメディア情報)と、シーケンス#2(第2のシーケンス)において、アプリケーション・サーバ10(通信先の通信装置である第2の通信装置)へ送信したメディア情報(第2のメディア情報)と、が同じであるか否かを判定する。
ここでは、第1のメディア情報は、「B」であり、第2のメディア情報は、空の情報である。従って、通信制御装置20は、第1のメディア情報と第2のメディア情報とが異なると判定する。これにより、通信制御装置20は、第1のメディア情報を、アプリケーション・サーバ10(第2の通信装置)へ再送信する。
具体的には、通信制御装置20は、reINVITEメッセージ(メソッドとして「INVITE」が設定されたメッセージ)をアプリケーション・サーバ10へ送信する(ステップS409)。ここで、このreINVITEメッセージは、ステップS407にて受信した18xメッセージに含まれるメディア情報「B」を含む。
その後、アプリケーション・サーバ10は、ステップS409にて受信したreINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS410)。
次いで、通信制御装置20は、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS411)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
次いで、通信制御装置20は、ACKメッセージを第2のユーザ端末32へ送信する(ステップS412)。これにより、第2のユーザ端末32と通信制御装置20との間のセッションが確立される。
次いで、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#3を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd3rdINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#3(第1のシーケンス)と、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1(即ち、「rcv1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージをアプリケーション・サーバ10へ送信する(ステップS413)。ここで、このINVITEメッセージは、ステップS401にて受信したINVITEメッセージに含まれるメディア情報「A」を含む。
これにより、アプリケーション・サーバ10は、18xメッセージを通信制御装置20へ送信する(ステップS414)。ここで、このINVITEメッセージは、アプリケーション・サーバ10に対して設定されたメディア情報「MB」を含む。
そして、通信制御装置20は、アプリケーション・サーバ10から18xメッセージを受信すると、18xメッセージを第1のユーザ端末31へ送信する(ステップS415)。ここで、このINVITEメッセージは、ステップS416にて受信したメディア情報「MB」を含む。
その後、アプリケーション・サーバ10は、ステップS413にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS416)。そして、通信制御装置20は、アプリケーション・サーバ10から200メッセージを受信すると、ステップS401にて受信したINVITEメッセージに対する200メッセージを第1のユーザ端末31へ送信する(ステップS417)。
次いで、第1のユーザ端末31は、ACKメッセージを通信制御装置20へ送信する(ステップS418)。これにより、第1のユーザ端末31と通信制御装置20との間のセッションが確立される。
次いで、通信制御装置20は、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS419)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
次に、通信制御装置20が図7に示したシナリオ情報を選択する場合を想定する。この場合、図11に示したように、先ず、ユーザ端末(第1のユーザ端末)31は、INVITEメッセージを通信制御装置20へ送信する(ステップS501)。
これにより、通信制御装置20は、1番目のINVITEメッセージを受信する。即ち、通信制御装置20は、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv1stINV」により特定されるイベント(即ち、1番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#2を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd1stINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#2(第1のシーケンス)と、第1のユーザ端末31との間でセッションを確立するためのシーケンス#1(即ち、「rcv1stINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージをアプリケーション・サーバ10へ送信する(ステップS502)。
その後、アプリケーション・サーバ10は、通信制御装置20との間でセッションを新たに確立するため、INVITEメッセージを通信制御装置20へ送信する(ステップS503)。
これにより、通信制御装置20は、2番目のINVITEメッセージを受信する。即ち、通信制御装置20は、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#3を実行する。加えて、通信制御装置20は、要素「event」の属性「eventname」の値「rcv2ndINV」により特定されるイベント(即ち、2番目のINVITEメッセージの受信)が実行されたことを検出する。
従って、通信制御装置20は、第2のユーザ端末32との間でセッションを確立するためのシーケンス#4を新たに実行する。ここで、この新たに実行されるシーケンスは、「snd2ndINV」により特定されるシーケンスである。更に、通信制御装置20は、この新たに実行されるシーケンス#4(第1のシーケンス)と、アプリケーション・サーバ10との間でセッションを確立するためのシーケンス#3(即ち、「rcv2ndINV」により特定されるシーケンス、第2のシーケンス)と、を同期させる。
より具体的に述べると、通信制御装置20は、INVITEメッセージを第2のユーザ端末32へ送信する(ステップS504)。これにより、第2のユーザ端末32は、18xメッセージを通信制御装置20へ送信する(ステップS505)。そして、通信制御装置20は、第2のユーザ端末32から18xメッセージを受信すると、18xメッセージをアプリケーション・サーバ10へ送信する(ステップS506)。
その後、第2のユーザ端末32は、ステップS504にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS507)。
これにより、通信制御装置20は、要素「newcall」の属性「callname」の値「snd2ndINV」により特定されるシーケンスにおいて、200メッセージを受信する。即ち、通信制御装置20は、要素「eventnotify」の属性「sipevent」の値「200ok」により特定されるイベント(即ち、200メッセージの受信)が実行されたことを検出する。
次いで、18xメッセージを通信制御装置20へ送信する(ステップS508)。そして、通信制御装置20は、アプリケーション・サーバ10から18xメッセージを受信すると、18xメッセージを第1のユーザ端末31へ送信する(ステップS509)。
その後、通信制御装置20は、ステップS503にて受信したINVITEメッセージに対する200メッセージをアプリケーション・サーバ10へ送信する(ステップS510)。
次いで、アプリケーション・サーバ10は、ACKメッセージを通信制御装置20へ送信する(ステップS511)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
次いで、アプリケーション・サーバ10は、ステップS502にて受信したINVITEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS512)。そして、通信制御装置20は、アプリケーション・サーバ10から200メッセージを受信すると、ステップS501にて受信したINVITEメッセージに対する200メッセージを第1のユーザ端末31へ送信する(ステップS513)。
次いで、通信制御装置20は、ACKメッセージをアプリケーション・サーバ10へ送信する(ステップS514)。これにより、アプリケーション・サーバ10と通信制御装置20との間のセッションが確立される。
ところで、通信制御装置20は、ステップS507にて、ヘッダ内の「X−Service−Name」の値が、「AnsMachine」である200メッセージを第2のユーザ端末32から受信している。
従って、通信制御装置20は、要素「releasecall」の属性「name」の値「rcv2ndINV」により特定されるシーケンス#3により確立されたセッションを終了させる。このとき、通信制御装置20は、終了させるセッションに係るシーケンス#3と同期されているシーケンス#4に係るセッションを終了させない。即ち、通信制御装置20は、シーケンス#3及びシーケンス#4の同期を解除する。
具体的には、通信制御装置20は、BYEメッセージをアプリケーション・サーバ10へ送信する(ステップS515)。これにより、アプリケーション・サーバ10は、ステップS515にて受信したBYEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS516)。
これにより、アプリケーション・サーバ10と通信制御装置20との間のセッション(シーケンス#3を実行することにより確立されたセッション)が終了する。
更に、通信制御装置20は、要素「releasecall」の属性「name」の値「snd1stINV」により特定されるシーケンス#2により確立されたセッションを終了させる。このとき、通信制御装置20は、終了させるセッションに係るシーケンス#2と同期されているシーケンス#1に係るセッションを終了させない。即ち、通信制御装置20は、シーケンス#2及びシーケンス#1の同期を解除する。
具体的には、通信制御装置20は、BYEメッセージをアプリケーション・サーバ10へ送信する(ステップS517)。これにより、アプリケーション・サーバ10は、ステップS517にて受信したBYEメッセージに対する200メッセージを通信制御装置20へ送信する(ステップS518)。
これにより、アプリケーション・サーバ10と通信制御装置20との間のセッション(シーケンス#2を実行することにより確立されたセッション)が終了する。
その後、第1のユーザ端末31は、ACKメッセージを通信制御装置20へ送信する(ステップS519)。これにより、第1のユーザ端末31と通信制御装置20との間のセッションが確立される。
次いで、通信制御装置20は、ACKメッセージを第2のユーザ端末32へ送信する(ステップS520)。これにより、第2のユーザ端末32と通信制御装置20との間のセッションが確立される。
以上、説明したように、本発明の第1実施形態に係る通信制御装置20によれば、通信制御装置20は、シナリオ情報に基づいて、第1のシーケンス及び第2のシーケンス間の同期を制御することができる。従って、ユーザは、シナリオ情報を適切に設定することにより、容易に複数のシーケンス間の同期を制御することができる。
更に、第1実施形態に係る通信制御装置20は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行する。
これによれば、通信制御装置20は、第1のシーケンス及び第2のシーケンスをより一層確実に同期させることができる。
加えて、第1実施形態に係る通信制御装置20は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスにより確立される第1のセッション、及び、当該第2のシーケンスにより確立される第2のセッションの一方が終了したとき、他方も終了させる。
これによれば、無駄にセッションが継続することを回避することができる。
更に、第1実施形態に係る通信制御装置20は、同期情報が第1のシーケンス及び第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンス及び当該第2のシーケンスの一方において、第1の通信装置から受信した第1のメディア情報と、他方において、第2の通信装置へ送信した第2のメディア情報と、が異なるとき、当該第1のメディア情報を当該第2の通信装置へ再送信する。
これによれば、通信制御装置20は、シナリオ情報に基づいて、同期させる複数のシーケンス間で、メディア情報を整合させることができる。
<第2実施形態>
次に、本発明の第2実施形態に係る通信制御装置について図12を参照しながら説明する。
第2実施形態に係る通信制御装置100は、
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する装置である。
更に、この通信制御装置100は、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付けるシナリオ情報受付部(シナリオ情報受付手段)101と、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、上記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む上記同期情報に基づいてシーケンスを新たに実行するシナリオ実行部(シナリオ実行手段)102と、
を備える。
これによれば、通信制御装置100は、シナリオ情報に基づいて、第1のシーケンス及び第2のシーケンス間の同期を制御することができる。従って、ユーザは、シナリオ情報を適切に設定することにより、容易に複数のシーケンス間の同期を制御することができる。
以上、上記実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
例えば、上記実施形態の変形例において、通信システムは、複数のアプリケーション・サーバを備えていてもよい。
なお、上記各実施形態において通信システム1の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
<付記>
上記実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限られない。
(付記1)
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置であって、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付けるシナリオ情報受付手段と、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行するシナリオ実行手段と、
を備える通信制御装置。
これによれば、通信制御装置は、シナリオ情報に基づいて、第1のシーケンス及び第2のシーケンス間の同期を制御することができる。従って、ユーザは、シナリオ情報を適切に設定することにより、容易に複数のシーケンス間の同期を制御することができる。
(付記2)
付記1に記載の通信制御装置であって、
前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御装置。
これによれば、通信制御装置は、第1のシーケンス及び第2のシーケンスをより一層確実に同期させることができる。
(付記3)
付記2に記載の通信制御装置であって、
前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した直後に実行するように構成された通信制御装置。
(付記4)
付記1乃至付記3のいずれかに記載の通信制御装置であって、
前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスにより確立される第1のセッション、及び、当該第2のシーケンスにより確立される第2のセッションの一方が終了したとき、他方も終了させるように構成された通信制御装置。
これによれば、無駄にセッションが継続することを回避することができる。
(付記5)
付記1乃至付記4のいずれかに記載の通信制御装置であって、
前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンス及び当該第2のシーケンスの一方において、通信先の通信装置である第1の通信装置から受信した第1のメディア情報と、他方において、通信先の通信装置である第2の通信装置へ送信した第2のメディア情報と、が異なるとき、当該第1のメディア情報を当該第2の通信装置へ再送信するように構成された通信制御装置。
これによれば、通信制御装置は、シナリオ情報に基づいて、同期させる複数のシーケンス間で、メディア情報を整合させることができる。
(付記6)
付記1乃至付記5のいずれかに記載の通信制御装置であって、
前記シナリオ情報は、通信イベントと対応付けられ、且つ、前記第1のシーケンス及び前記第2のシーケンスの同期を解除する旨を指示する同期解除指示情報を含み、
前記シナリオ実行手段は、
前記シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれる同期解除指示情報と対応付けられた通信イベントが実行された時点以降、前記第1のシーケンス及び前記第2のシーケンスの同期を解除するように構成された通信制御装置。
これによれば、通信制御装置は、シナリオ情報に基づいて、複数のシーケンス間に設定されていた同期を解除することができる。
(付記7)
付記1乃至付記6のいずれかに記載の通信制御装置であって、
前記シナリオ情報は、通信イベントと対応付けられ、且つ、前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を指示する同期設定指示情報を含み、
前記シナリオ実行手段は、
前記シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれる同期設定指示情報と対応付けられた通信イベントが実行された時点以降、前記第1のシーケンス及び前記第2のシーケンスを同期させるように構成された通信制御装置。
これによれば、通信制御装置は、シナリオ情報に基づいて、同期されていなかった複数のシーケンスを同期させることができる。
(付記8)
付記1乃至付記7のいずれかに記載の通信制御装置であって、
前記通信イベントは、SIP(Session Initiation Protocol)に従ったメッセージの送信、又は、受信である通信制御装置。
(付記9)
付記1乃至付記8のいずれかに記載の通信制御装置であって、
前記シナリオ情報は、XML(Extensible Markup Language)に従って記述された情報である通信制御装置。
(付記10)
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御方法であって、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行する、通信制御方法。
(付記11)
付記10に記載の通信制御方法であって、
前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御方法。
(付記12)
1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置に、
通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行する、処理を実行させるための通信制御プログラム。
(付記13)
付記12に記載の通信制御プログラムであって、
前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御プログラム。
なお、本発明は、日本国にて2011年5月31日に出願された特願2011−121237の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願にて開示された内容のすべてが本明細書に含まれるものとする。
本発明は、複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置等に適用可能である。
1 通信システム
10 アプリケーション・サーバ
20 通信制御装置
21 シナリオ情報受付部
22 シナリオ実行部
31,32,… ユーザ端末
100 通信制御装置
101 シナリオ情報受付部
102 シナリオ実行部
NW 通信網

Claims (13)

  1. 1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置であって、
    通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付けるシナリオ情報受付手段と、
    あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行するシナリオ実行手段と、
    を備える通信制御装置。
  2. 請求項1に記載の通信制御装置であって、
    前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御装置。
  3. 請求項2に記載の通信制御装置であって、
    前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した直後に実行するように構成された通信制御装置。
  4. 請求項1乃至請求項3のいずれかに記載の通信制御装置であって、
    前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスにより確立される第1のセッション、及び、当該第2のシーケンスにより確立される第2のセッションの一方が終了したとき、他方も終了させるように構成された通信制御装置。
  5. 請求項1乃至請求項4のいずれかに記載の通信制御装置であって、
    前記シナリオ実行手段は、前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンス及び当該第2のシーケンスの一方において、通信先の通信装置である第1の通信装置から受信した第1のメディア情報と、他方において、通信先の通信装置である第2の通信装置へ送信した第2のメディア情報と、が異なるとき、当該第1のメディア情報を当該第2の通信装置へ再送信するように構成された通信制御装置。
  6. 請求項1乃至請求項5のいずれかに記載の通信制御装置であって、
    前記シナリオ情報は、通信イベントと対応付けられ、且つ、前記第1のシーケンス及び前記第2のシーケンスの同期を解除する旨を指示する同期解除指示情報を含み、
    前記シナリオ実行手段は、
    前記シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれる同期解除指示情報と対応付けられた通信イベントが実行された時点以降、前記第1のシーケンス及び前記第2のシーケンスの同期を解除するように構成された通信制御装置。
  7. 請求項1乃至請求項6のいずれかに記載の通信制御装置であって、
    前記シナリオ情報は、通信イベントと対応付けられ、且つ、前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を指示する同期設定指示情報を含み、
    前記シナリオ実行手段は、
    前記シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれる同期設定指示情報と対応付けられた通信イベントが実行された時点以降、前記第1のシーケンス及び前記第2のシーケンスを同期させるように構成された通信制御装置。
  8. 請求項1乃至請求項7のいずれかに記載の通信制御装置であって、
    前記通信イベントは、SIP(Session Initiation Protocol)に従ったメッセージの送信、又は、受信である通信制御装置。
  9. 請求項1乃至請求項8のいずれかに記載の通信制御装置であって、
    前記シナリオ情報は、XML(Extensible Markup Language)に従って記述された情報である通信制御装置。
  10. 1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御方法であって、
    通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
    あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行する、通信制御方法。
  11. 請求項10に記載の通信制御方法であって、
    前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御方法。
  12. 1つずつ順に実行される複数の通信イベントからなるシーケンスを実行することにより、通信装置との間でセッションを確立する通信制御装置に、
    通信イベントと対応付けられ、シーケンスを新たに実行する旨を指示し、且つ、当該新たに実行されるシーケンスである第1のシーケンス、及び、他のシーケンスである第2のシーケンスを同期させるか否かを表す同期情報を含むシーケンス実行指示情報を含むシナリオ情報を受け付け、
    あるシーケンスを実行するとともに、当該シーケンスの実行中に、前記受け付けられたシナリオ情報に含まれるシーケンス実行指示情報と対応付けられた通信イベントが実行された場合、当該シーケンス実行指示情報が含む前記同期情報に基づいてシーケンスを新たに実行する、処理を実行させるための通信制御プログラム。
  13. 請求項12に記載の通信制御プログラムであって、
    前記同期情報が前記第1のシーケンス及び前記第2のシーケンスを同期させる旨を表す場合において、当該第1のシーケンスの実行を開始した時点以降、当該第2のシーケンスにおける残余の通信イベントのそれぞれを、当該第1のシーケンスにおける対応する通信イベントを実行した時点と略同時に実行するように構成された通信制御プログラム。
JP2013517834A 2011-05-31 2012-05-09 通信制御装置 Active JP5668846B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013517834A JP5668846B2 (ja) 2011-05-31 2012-05-09 通信制御装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011121237 2011-05-31
JP2011121237 2011-05-31
PCT/JP2012/003014 WO2012164830A1 (ja) 2011-05-31 2012-05-09 通信制御装置
JP2013517834A JP5668846B2 (ja) 2011-05-31 2012-05-09 通信制御装置

Publications (2)

Publication Number Publication Date
JP5668846B2 JP5668846B2 (ja) 2015-02-12
JPWO2012164830A1 true JPWO2012164830A1 (ja) 2015-02-23

Family

ID=47258708

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013517834A Active JP5668846B2 (ja) 2011-05-31 2012-05-09 通信制御装置

Country Status (5)

Country Link
US (1) US20140101224A1 (ja)
EP (1) EP2717521A4 (ja)
JP (1) JP5668846B2 (ja)
CN (1) CN103609086B (ja)
WO (1) WO2012164830A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015090656A (ja) * 2013-11-07 2015-05-11 株式会社三菱東京Ufj銀行 インターネットバンキングシステム及び不正アクセス遮断用中継装置
JP7118044B2 (ja) * 2019-12-26 2022-08-15 株式会社三菱Ufj銀行 インターネットシステム及びインターネットシステムが実行する方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089534B2 (en) * 2002-05-01 2006-08-08 International Business Machines Corporation Model based test generation for validation of parallel and concurrent software
EP1538778A1 (fr) * 2003-12-05 2005-06-08 Andrea Informatique SARL Système de génération automatique de tests pour valider un appareil de télécommunication
JP2006196956A (ja) * 2005-01-11 2006-07-27 Matsushita Electric Ind Co Ltd 端末装置
JP4839620B2 (ja) * 2005-01-18 2011-12-21 沖電気工業株式会社 呼制御システム、呼制御方法、および呼制御プログラム
CN101494656A (zh) * 2008-01-22 2009-07-29 华为技术有限公司 Sip业务增强的方法及sip代理服务器
US8281039B2 (en) * 2008-09-04 2012-10-02 University Of Ottawa Reconfigurable multimedia collaboration system
JP2010199854A (ja) * 2009-02-24 2010-09-09 Oki Networks Co Ltd アプリケーション提供装置、プログラム及び方法、並びにネットワークシステム

Also Published As

Publication number Publication date
EP2717521A4 (en) 2015-03-18
CN103609086B (zh) 2016-03-16
US20140101224A1 (en) 2014-04-10
JP5668846B2 (ja) 2015-02-12
CN103609086A (zh) 2014-02-26
WO2012164830A1 (ja) 2012-12-06
EP2717521A1 (en) 2014-04-09

Similar Documents

Publication Publication Date Title
US8850031B2 (en) Pairing system, pairing management device, pairing method, and program
EP3039564B1 (en) Method for sharing media data and electronic device thereof
EP4009549A1 (en) Time synchronization method and apparatus, computer readable medium, and electronic device
JP2018093433A (ja) 通信システム、画像形成装置とその制御方法、及びプログラム
JP5668846B2 (ja) 通信制御装置
JP2016208506A (ja) 時間同期化方法
JP5873278B2 (ja) 情報処理装置、サーバ装置、データ通信システム、データ通信方法、及びデータ通信プログラム
US9363290B2 (en) Access control information generating system
JP7204940B2 (ja) 通信方法、装置及びデバイス
CN111225423B (zh) 一种数据前转的方法和设备
JP2018006814A (ja) 情報処理装置とその制御方法、及びプログラム
JP2015207801A (ja) 通信装置
JP6721471B2 (ja) 情報処理装置、及びプログラム
JP2012065259A (ja) 遠隔利用制御システム
US11617106B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
WO2016206358A1 (zh) 一种通信方法、装置及融合通信设备
JP2017147484A (ja) 無線端末装置、通信システム、通信方法
JP2024015873A (ja) 端末装置、基地局装置、および通信方法。
JP6085008B2 (ja) 中継装置および中継プログラム
KR101612830B1 (ko) 효율적인 기기 검색을 수행하는 차량의 멀티미디어 시스템 및 그 제어 방법
JP4505359B2 (ja) 遠隔制御システムおよび方法、プログラム
JP5635053B2 (ja) 位置情報送信装置及びその方法
JP2022151391A (ja) 情報処理装置、情報処理システム及び情報処理プログラム
WO2016185686A1 (ja) 基地局、無線通信システム、通信方法
JP2009206648A (ja) シグナリングサーバ、データ通信システム、シグナリング処理代行方法およびプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141201

R150 Certificate of patent or registration of utility model

Ref document number: 5668846

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150