JP2008527799A - ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャ - Google Patents

ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャ Download PDF

Info

Publication number
JP2008527799A
JP2008527799A JP2007549345A JP2007549345A JP2008527799A JP 2008527799 A JP2008527799 A JP 2008527799A JP 2007549345 A JP2007549345 A JP 2007549345A JP 2007549345 A JP2007549345 A JP 2007549345A JP 2008527799 A JP2008527799 A JP 2008527799A
Authority
JP
Japan
Prior art keywords
media
agent
network
request
user agent
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
JP2007549345A
Other languages
English (en)
Other versions
JP2008527799A5 (ja
JP4746054B2 (ja
Inventor
ジェシー, ダブリュー. ベネット,
スリ マデュラ,
ドン, ダブリュー. ショッペ,
Original Assignee
ソニー エリクソン モバイル コミュニケーションズ, エービー
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 ソニー エリクソン モバイル コミュニケーションズ, エービー filed Critical ソニー エリクソン モバイル コミュニケーションズ, エービー
Publication of JP2008527799A publication Critical patent/JP2008527799A/ja
Publication of JP2008527799A5 publication Critical patent/JP2008527799A5/ja
Application granted granted Critical
Publication of JP4746054B2 publication Critical patent/JP4746054B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/1101Session protocols
    • 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/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

ネットワーク用通信デバイス(100)のためのメディアクライアント(200)は、ネットワーク用通信デバイス(100)内のマルチメディアアプリケーション(150)と通信するユーザエージェント(202)を含む。ユーザエージェント(202)は、マルチメディアアプリケーション(150)に対する高レベルのアプリケーションインタフェースを提供する。ユーザエージェント(202)の制御下にあるシグナリングエージェント(204)は、通信セッションを確立して維持するのに必要なシグナリング操作を実行する。ユーザエージェント(202)の制御下にあるメディアエージェント(206)は、メディア操作を実行する。メディアクライアント(200)はネットワーク(10)内に配置され、マルチメディアアプリケーション(150)によってリモートアクセスされてもよい。ユーザエージェント(202)、シグナリングエージェント(204)、及びメディアエージェント(206)は、ネットワークインタフェース(208,210,212)を備え、これにより、これらの要素がネットワーク(10)内に分散されてリモートアクセスされることが可能になる。

Description

本発明は、ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャに関する。
セルラ電話ネットワークは元来、回線交換ネットワークを介して主として音声サービスを提供するように開発された。回線交換ネットワークは依然として広く用いられているが、現在の傾向は、音声サービスだけではなく高速パケットデータサービスも提供するパケット交換ネットワークに向かっている。高速パケットデータサービスにより、移動体ユーザは、ウェブサーフィンをしたり、Eメールを読んだり、ビデオファイル及びオーディオファイルをダウンロードしたり、固定ネットワークにおいてインターネットユーザができるような多くの他のことをしたりできるようになる。しかしながら、移動体ネットワークにおいてリアルタイムのマルチメディアは問題のままである。なぜなら、ほとんどのパケットデータサービスはベストエフォート型のネットワークによって提供されるが、ベストエフォート型のネットワークは、リアルタイムのマルチメディアサービスのために必要な、サービス品質の保証を欠くからである。また、標準化が不十分であるため、ネットワークオペレータはしばしば、自身の設備のベンダがサポートしているIPサービスしか提供できないように制限される。また、標準化の不十分さにより、ネットワークオペレータは、サードパーティーの開発者からバンドルサービスを購入することが困難になっている。
IPマルチメディアサブシステム(IMS)は、移動体ネットワーク環境においてIPサービスを提供するための、共通の標準化されたアーキテクチャと標準化されたインタフェースとを提供するために開発された。IMSネットワークはアクセス技術に依存せず、UMTS、CDMA2000、GPRS、及びEDGEの各ネットワークを含む、事実上あらゆるパケット交換ネットワークと相互作用する。IMSは、サービス制御プロトコルとしてサービス開始プロトコル(SIP)を使用し、SIPにより、オペレータは、複数のアプリケーションを同時に提供することが可能になる。IMS標準は、移動体端末上でのIPサービスの採用を促進し、ユーザが移動体端末上の単一のクライアントを使用して、音声、ビデオ、或いはテキストを介した通信を行うことを可能にする。
IMSは移動体加入者により豊かなエクスペリエンスを約束するが、ネットワークオペレータは、投資を価値あるものにするだけの十分な数のIMS機能を持った加入者が登場するまで、IMSを実装する設備に投資することをためらっている。現在使用されているほとんどのセルラ電話はIMS機能を持たないので、IMSサービスに対する潜在的な加入者の集合は比較的小さい。内蔵のIMS機能を持たないレガシーの(旧来の)移動体端末にIMS機能を拡張することは、ネットワークオペレータにとって更に大きなマーケットを提供し、IMSの技術及び設備に対する投資を促すことになるであろう。
本発明は、SIP及び/又はIMS(SIP及びIMSのうちの少なくとも一方)の機能を移動体端末のユーザに提供する、ネットワーク中心の(network-centric)メディアクライアントに関する。メディアクライアントは、移動体端末内に組み込まれていてもよいし、移動体ネットワーク内に配置されて移動体端末によってリモートアクセスされてもよい。リモートアクセス機能により、内蔵のIMS機能を持たないレガシーの移動体端末にIMSサービスを提供することが可能になる。
メディアクライアントは、第1のネットワークインタフェースを介してマルチメディアアプリケーションと通信するユーザエージェントと、第2のネットワークインタフェースを介してユーザエージェントと通信するシグナリングエージェントと、第3のネットワークインタフェースを介してユーザエージェントと通信するメディアエージェントと、を備える。ネットワークインタフェースは、ローカルアクセス及びリモートアクセスのうちの少なくとも一方を可能にする。ユーザエージェントは、マルチメディアアプリケーションを下層のネットワークプロトコルの詳細から分離するマルチメディアアプリケーションへの、高レベルのアプリケーションインタフェースを提供する。メディアクライアントはまた、JAVA(登録商標)アプリケーションインタフェースを備えてもよい。シグナリングエージェントは、ユーザエージェントの指揮の下で動作し、メディア転送のための通信セッションを確立し、修正し、終了するために必要な、シグナリングタスクを実行する。メディアエージェントは、ユーザエージェントの制御下で動作し、例えばメディア接続を管理したりメディアを適切な再生デバイスへルーティングしたりするなどの、メディア操作を実行する。ユーザエージェント、シグナリングエージェント、及びメディアエージェントは、ネットワーク内に一緒に配置されていてもよいし、ネットワークの構成要素間に分散されていてもよい。
本発明はまた、例えばDVDプレーヤ及びCDプレーヤ、デジタルビデオレコーダ、ビデオカメラ、デジタルスチルカメラ、スキャナ、ホームステレオシステム、テレビシステム、及びコンピュータなどの、固定のネットワーク用通信デバイスに適用可能であり、通信ネットワークを介したネットワーク用通信デバイス間のメディアセッションを可能にする。本発明はまた、ネットワーク用通信デバイスを遠隔制御するためにも使用できる。
図1は、本発明を採用可能な移動体通信ネットワーク10を示す図である。移動体通信ネットワーク10の文脈で本発明を説明するが、本発明は固定ネットワーク用通信デバイス(fixed networked communication device)間の通信のための固定ネットワークにおいても使用可能であることが、当業者であれば理解できよう。本明細書で使用されるネットワーク用通信デバイス(networked communication device)という用語は、例えばインターネットなどのネットワークを介して通信可能なあらゆるデバイスを含む。
移動体通信ネットワーク10は、無線アクセスネットワーク(RAN)20、コアネットワーク(CN)30、及びIPマルチメディアサブシステム(IMS)40を含む。RAN20は、エアインタフェースを介した移動体端末100との無線通信をサポートする。移動体端末100は、本明細書で使用される用語としての、ネットワーク用通信デバイスである。移動体通信ネットワーク10は、典型的には複数のRAN20を含むが、図1には1つのみ示す。CN30は、インターネット12、又は例えばウェブブラウジング及びEメールなどのパケット交換サービスのための他のパケットデータネットワーク(PDN)への接続を提供する。CN30は更に、例えば音声サービス及びファックスサービスなどの回線交換サービスのための、公衆交換電話網(PSTN)14、及び/又はサービス総合デジタル網(ISDN)16(PSTN14及びISDNのうちの少なくとも一方)への接続を提供することができる。CN30は例えば、汎用パケット無線サービス(GPRS)ネットワーク、CDMA2000ネットワーク、或いはUMTSネットワークを含む。CN30は、IMS40と相互接続するためのアクセスゲートウェイ32を含む。アクセスゲートウェイ32は、GPRSネットワークのためのGGSN(GPRS Gateway Serving Node)、或いはCDMA2000ネットワークのためのPDSN(Packet Data Serving Node)を含んでもよい。IMS40は、アクセス技術から独立した(access independent)、IPベースのマルチメディアサービスを移動体端末100に提供し、多種多様なIPサービス(VoIP(voice over IP)、ビデオ及びオーディオのストリーミング、Eメール、ウェブブラウジング、ビデオ会議、インスタントメッセージング、プレゼンス(presence)、及び他のサービスを含む)をサポートする。
IMS40は、マルチメディアアプリケーションをサポートするために、オープンなインタフェース、及び、例えばセッション開始プロトコル(SIP)などの、アクセス技術から独立したセッション制御プロトコル(SCP)を使用する。セッション記述プロトコル(SDP)が、メディア能力交換(media negotiation)のために使用される。SDPは、IETFのRFC2327及びRFC3264に記載されている。SIPは、1以上の参加者間での通信セッションを確立し、修正し、そして終了させるための、セッション制御プロトコルである。これらのセッションは例えば、インターネットマルチメディア会議、インターネット電話の呼、及びマルチメディア配信を含み得る。SIPは、IETFの文書であるRFC3261に記載されている。本明細書で説明するように、本発明の好適な実施形態はSIPを使用するが、当業者であれば、本発明は同様に他のSCPを使用してもよいということが理解できよう。SIPに並んでよく知られている他のプロトコルは、H.323である。SIPの詳細は本発明にとって重要ではないが、本発明を文脈中により良く配置するために、SIPの短い概要を以下に示す。
SIPは、2以上の参加者間で通信セッションを確立するためにASCIIベースのシグナリングメッセージを使用する、シグナリングプロトコルである。ユーザは、本明細書ではSIPアドレスと呼ばれる、固有アドレスによって識別される。ユーザは、各自に割り当てられたSIPアドレスを使用して、登録サーバ(レジストラサーバ)に登録する。登録サーバは、要求に応じて、このアドレスを位置サーバへ提供する。
ユーザが呼を開始するとき、SIP要求(SIPリクエスト)がSIPサーバ(プロキシサーバ又はリダイレクトサーバのいずれか)へ送信される。SIP要求は、発呼者のアドレス及び被呼者のアドレスをメッセージヘッダに含む。プロキシサーバがSIP要求を受信する場合、プロキシサーバはSIP要求を被呼者へ転送する。被呼者は、他のユーザであってもよいし、ユーザのホームネットワーク内のアプリケーションサーバであってもよい。被呼者はプロキシサーバへ応答し、プロキシサーバは同様に、応答(レスポンス)を発呼者へ転送する。発呼者はその応答について確認応答を返し、次いで、発呼者と被呼者との間でセッションが確立される。IETFのRFCに記載されているリアルタイム伝送プロトコル(RTP)又はIETFのRFCに記載されているメッセージセッション中継プロトコル(MSRP)が、発呼者と被呼者との間の通信のために使用される。
リダイレクトサーバがSIP要求を受信する場合、リダイレクトサーバは位置サーバにコンタクトして被呼者への経路(パス)を決定し、その情報を発呼者へ送信する。発呼者はその情報の受信について確認応答を返し、そのリダイレクション情報において特定されるサーバへSIP要求を再送する(そのサーバは、プロキシサーバの被呼者である場合もあろう)。SIP要求が被呼者へ到達すると、被呼者は応答し、発呼者はその応答について確認応答を返す。次いで、RTP又はMSRPを使用した通信が開始する。SIPは、呼制御及びセッション管理に関するシグナリングメッセージを処理するためにのみ使用される。
上述の通り、SIPにより、移動体通信ネットワーク10内のアプリケーションは通信セッションを確立することが可能になる。このアプリケーションは、移動体端末100内に存在してもよいし、IMS40内のアプリケーションサーバ内に存在してもよい。更に、このアプリケーションは、異なるネットワーク10内に存在してもよい。
図2は、IMS40の基本的な要素、及びCN30との関係を示す図である。IMS40は、1以上の呼セッション制御機能(CSCF)42、メディアゲートウェイ制御機能(MGCF)44、メディアゲートウェイ(MGW)46、トランスポート・シグナリングゲートウェイ(T−SGW)48、及びホーム加入者サーバ(HSS)50を含み、これらはIPネットワークによって相互接続されている。IMS40は更に、移動体端末100へマルチメディアサービスを提供するアプリケーションサーバ52を含んでいてもよい。CSCF42はSIPサーバとして機能し、通信セッションを確立、修正、及び終了するために使用されるセッション制御シグナリングを処理する。CSCF42によって実行される機能は、呼制御、アドレス変換(address translation)、認証、能力交換、及び加入者プロファイル管理を含む。HSS50はCSCF42と接続(interface)し、加入者の現在位置に関する情報、及び加入契約情報を提供する。アプリケーションサーバ52は、マルチメディアサービス又は他のIPサービスを移動体端末100へ提供する。MGCF44、MGW46、及びT−SGW48は、例えばPSTN又はISDNなどの外部ネットワークとの相互作用をサポートする。MGCF44は、外部ネットワークとIMS40との間の接続を管理する1以上のMGW46を制御する。MGCF44は、MGW46を設定し、SIPメッセージを、例えばISDNユーザパート(ISPU)メッセージなどの異なるフォーマットに変換する。MGCF44は変換されたメッセージを、例えばSS7ネットワークなどの外部シグナリングネットワークに対してIMS40を接続させる、T−SGW48へ転送する。T−SGW48は、IPメッセージとSS7とを相互に変換するプロトコル変換器を含む。IMS40は追加の要素を含んでもよいが、これらは図2には示されておらず、本発明を理解するために重要なものではない。
本発明は、SIP機能及びIMS機能を移動体端末100へ提供するために、移動体端末100に対して図3に示すメディアクライアント200を提供する。メディアクライアント200は、移動体通信ネットワーク10内のIMS40と通信してIPサービスを移動体端末100へ提供することができる。更に、メディアクライアント200は、例えばインターネットなどの通信ネットワークを介して他のネットワークデバイスと直接通信することができる。提供され得るサービスの例には、プッシュ・トゥ・トーク・オーバー・セルラ(PoC)、プレゼンス及びインスタントメッセージング(IM)、ビデオ及びオーディオのストリーミング、VoIP(voice over IP)、ビデオ会議、インタラクティブゲーム、ホワイトボード機能、及びコンテンツ共有が含まれる。メディアクライアント200はユーザアプリケーション150と通信し、ユーザアプリケーション150を下層のネットワークプロトコルの詳細から切り離す、高レベルアプリケーションインタフェースを提供する。メディア接続は、ユーザアプリケーション150にとっては、パイプの別名でも知られる単純なデータストリームとして見える。パイプは、単純なオープン、クローズ、リード、ライトの各コマンドで操作することができる。
図3は、メディアクライアント200の基本的なアーキテクチャを示す図である。メディアクライアント200は、ユーザエージェント(UA)202、シグナリングエージェント(SA)204、及びメディアエージェント(MA)206を含む。US202は、ユーザアプリケーション150と通信し、アプリケーションコマンドを適切なシグナリングとメディア操作とに変換する。SA204及びMA206は、UA202による制御及び指示の下で動作する。UA202は、接続管理を通じて全体の制御を行うことができ、シグナリングのタスクとメディア管理のタスクとをそれぞれSA204とMA206とに委任する。図に示す実施形態において、SA204は、シグナリングのタスクを処理するためにSIP及びSDPのプロトコルを実装する。SA204は、メッセージの伝送のためにUDP over IPを使用する。例えばH.323などの他のセッション制御プロトコルが使用されてもよい。シグナリングのタスクは、通信セッションをセットアップし、修正し、切断することを含み、また、セッションパラメータを交換し、能力を判定するためにリモートデバイスに問い合わせ、プレゼンスを検出することを含む。MA206は、メッセージセッション中継プロトコル(MSRP)及びリアルタイム伝送プロトコル(RTP)を実装し、メディアを処理してメディア再生デバイス(media rendering device)へ出力するための1以上のメディアプレーヤを含む。MA206は、メディア接続を管理し、メディアの種類及びユーザの設定に従ってメディアをルーティングし、必要に応じてメディアを処理するようにメディアプレーヤを動作させる。MA206はRTPメッセージ及びMSRPメッセージを伝送するために、TCP over IP、及び/又はUDP over IPを使用する。
実現方法によっては、統合型アプローチが採用され、UA202、SA204、及びMA206を一緒に1つのアプリケーションに統合してもよい。図3に示される実施形態において、UA202、SA204、及びMA206の間の、ネットワークインタフェース208、210、及び212によって、UA202、SA204、及び206が移動体通信ネットワーク10内に分散されて分離したアプリケーションになり得るように実装することが可能になる。インタフェース208、210、及び212は、UA202、SA204、及び/又はMA206がユーザアプリケーション150から離れて配置されることを可能にする、TCPソケット接続又は他の種類のネットワークインタフェースを使用してもよい。
分散型アプローチは、統合型アプローチに比していくつかの利点を有する。メディアクライアント200は、IMS40又は他のIPネットワーク内のネットワークサーバ内に配置されてもよく、例えばソケット接続を開くためにtelnetを使用して、移動体端末100から遠隔的にアクセスされてもよい。このようにして、IMS機能を内蔵しない移動体端末100に対してIMSサービスを提供することが可能である。UA202、SA204、及びMA206の分離により、これらの要素はネットワーク10内に分散され、UA202、SA204、及びMA206はネットワーク10内の異なる位置に存在することが可能になる。帯域幅の小さな、或いは遅延の大きなネットワーク内にメディアクライアントを配置すると、性能の改善を実現することができる。なぜなら、メディアクライアント200のための高レベルのAPIは、エアインタフェースを介したシグナリングの量を減少させるからである。更に、大部分のシグナリングを生成するSA204及びMA206は、ネットワークのバックボーンに対してより近くに配置することができる。SA204及びMA206の分離により、スタンドアロン・メディア(例えば、テレビ)デバイス、及び制御(例えば、遠隔制御)デバイスを最適化して実装することも可能になる。
図4は、メディアクライアント200のいくつかの可能な構成を示す図である。図4において、NCD A、及びNCD Bは、通信ネットワークをまたぐマルチメディア通信セッションを確立している。NCD Aは、NCD100内のユーザアプリケーション150と通信する、完全に機能するメディアクライアント200を組み込んでいる。NCD Bは、内蔵のIMS機能を持たず、ネットワーク10内に配置されたリモートのメディアクライアント200のサービスを使用する。この場合、NCD B内に存在するユーザアプリケーション150は、TCPソケット接続(例えば、telnet)を介して、ネットワークサーバ内に存在するメディアクライアント200と通信することができる。ネットワーク内のメディアクライアント200は、NCD A内に存在するメディアクライアント200と同じ機能をNCD Bに提供する。メディアクライアント200へ遠隔アクセスする能力により、IMSサービスをレガシーの(旧来の)移動体端末に拡張することが可能になる。これにより、ネットワークオペレータにとって価値のある投資をIMS技術に対して行うのに必要な、最低限の数量(critical mass)の端末を提供することができる。NCD Cは、ネットワーク用通信デバイス100内のユーザアプリケーションと通信するUA202を組み込んでいるが、SA204及びMA206はネットワーク内に配置されている。
メディアクライアント200は、例えばPC又は移動体端末100などのホストデバイス上で動作する、プロセスとして実装される。ホストデバイスは、本発明を実装するコードを格納するためのメモリ、そのコードを実行する1以上のマイクロプロセッサ、及びネットワークアクセスを提供する通信インタフェースを含む。UA202、SA204、及びMA206は、異なるホストに存在しても構わない。起動後、メディアクライアント200は、指定されたポート(例えば、ポート3500)に、UA202とユーザアプリケーション150との間の通信のためのサーバソケットを開く。メディアクライアント200と通信することを望むユーザアプリケーション150はいずれも、同一のポートにクライアントソケットを開くことができる。UA202とユーザアプリケーション150との間の通信のためのポートは、設定ファイルにおいて指定されてもよい。UA202とSA204との間、或いはUA202とMA206との間の通信のために、異なるポートが開かれてもよい。
1つの代表的な実施形態において、ユーザアプリケーション150とメディアクライアント200との間の通信のために、メディアクライアント200はテキストベースのインタフェースプロトコル(UA API)を使用する。ユーザアプリケーション150とメディアクライアント200との間の全ての通信は、テキスト文字列によってTCPソケットに読み書きされる。IMSプロトコルは、通信のために2種類のメッセージ(リクエスト(request)とレスポンス(response))を使用する。ユーザアプリケーション150は一般的に、トランザクションを開始するためにUA202へリクエストを送信するが、UA202がユーザアプリケーション150へリクエストを送信してもよい。リクエストは一般的に、スペースによって区切られたパラメータを有する。UA202は一般的に、リクエストに応えて、レスポンスをクライアントへ送信する。暫定(provisional)レスポンスと最終(final)レスポンスという、2種類のレスポンスが存在する。暫定レスポンスは、対応するリクエストによって開始されたトランザクションを終了させない。最終レスポンスは、このトランザクションを終了させる。
UA202とSA204との間のアプリケーションインタフェース(SA API)、及びUA202とMA206との間のアプリケーションインタフェース(MA API)も、UA APIに類似したテキストベースのインタフェースプロトコルを使用する。SA204又はMA206のいずれかによる動作を要求する、UA202からのリクエストは、UA202と、SA204又はMA206との間のトランザクションを開始させる。付録Aのテーブル1は、UA APIのための代表的なリクエスト及びレスポンスを示す。付録Bのテーブル2は、SA APIのための代表的なリクエスト及びレスポンスを示す。付録Cのテーブル2は、MA APIのための代表的なリクエスト及びレスポンスを示す。
UA APIにおける主要なリクエストは、REGISTERリクエスト、CALLリクエスト、MSGリクエスト、ACCEPTリクエスト、HUNG−UPリクエスト、SUBSCRIBEリクエスト、NOTIFYイベント、及びPUBLISHリクエストである。REGISTERリクエスト、SUBSCRIBEリクエスト、NOTIFYリクエスト、及びPUBLISHリクエストは、標準的なSIPリクエストに対応するが、ユーザアプリケーション150のために高レベルの抽象化を提供する。
REGISTERリクエストは、SIPレジストラに登録するために、ユーザアプリケーション150によってメディアクライアント200へ送信される。典型的なREGISTERリクエストは、"register aol.com"又は"register msn.com:5050"という形式を持つ。REGISTERリクエストに応えて、UA202は、SIP登録を実行するようにSA204に指示する。SIPレジストラに登録後、SA204は、登録の試みに関するステータス(例えば、成功又は失敗)を示すメッセージをUA202へ送信する。代表的なREGISTERレスポンスは、登録が成功した場合は"register 200:OK"であり、登録が成功しなかった場合は"register 1xx:failed"である。図5は、登録手続のためのシグナルフローを示す図である(更に詳細な説明は後述)。
CALLリクエストは、リモートデバイスにコンタクトするために、ユーザアプリケーション150によってUA202へ送信される。CALLリクエストは、RTP又はMSRPのセッションを開始するために使用される。CALLリクエストは、例えばユーザID、別名(エイリアス)、或いは完全に記述されたネットワークアドレスなどの、被呼者及び呼の種類を特定する情報を含む。プロキシが関与する場合、CALLリクエストは、被呼者のユーザIDを特定するであろう。プロキシが関与しない場合、CALLリクエストは、接続先のリモートホストに関する、完全に記述されたアドレス、及びポートを与えるであろう。呼の種類は、例えば、マイムタイプ及びサブタイプ(例えば、video/h263又はaudio/amr)を含むことができる。CALLリクエストは、一般的に、"call alice video/h263"又は"call alice@ims.net:5060 video/h263"又は"call 10.0.0.1:5060 video/h263"の形式を持つ。複数の呼の種類が単一のCALLリクエストに含まれてもよい。CALLリクエストの結果に応じて、UA202は、CALLリクエストの結果或いはステータスを示す、CALLレスポンスを送信する。代表的なCALLレスポンスは、接続が成功裏に確立された場合は"call connected"であり、接続が成功しなかった場合は"call failed"である。CALLレスポンスは、オプションで(任意的に)、追加情報を提供するステータスコード(例えば、CALLリクエストが成功しなかった理由を示すエラーコードなど)を含んでもよい。接続が成功した場合、ユーザアプリケーション150はRTP又はMSRPの接続を介して、メディア及び/又はメッセージの送受信を開始することができる。
CALLリクエストは、着呼の場合にもUA202によってユーザアプリケーション150へ送信され得る。この場合、CALLリクエストは、被呼者ではなく発呼者を識別する情報を含む。それ以外の点では、CALLリクエストは同じである。発呼者を識別する情報は、被呼者のユーザID、又はリモートホストに関する完全に記述されたアドレスを含み得る。CALLリクエストがUA202からユーザアプリケーション150へ送信される場合、ユーザアプリケーションはCALLレスポンスを送信しない。代わりに、ユーザアプリケーション150は、CALLリクエストを終了させるACCEPTリクエストを送信する。
ACCEPTリクエストは、着呼を受け付け或いは拒絶するようにUA202に指示するために、CALLリクエストに応えて、ユーザアプリケーション150によって送信される。ACCEPTリクエストは、UA202が呼を受け付け或いは拒絶することを示すコマンドを含み、また、オプションで、例えば呼が拒絶された理由を示すコードを含む。複数の呼の種類がCALLリクエスト中で指定された場合、ユーザアプリケーション150は、一部分を受け付けて残りを拒絶することができる。指定された呼の種類全てよりも少ない種類だけ受け付けるために、ユーザアプリケーションは、受け付けられた呼の種類のリストをACCEPTリクエストに含める。UA202は、これらのリストされたものを受け付け、残りを拒絶する。ACCEPTリクエスト中でいかなる呼の種類も指定されていない場合、UA202は、デフォルト設定により、CALLリクエスト中で指定された全ての呼の種類を受け付けることができる。典型的なACCEPTリクエストは、呼を受け付ける"accept yes"、又は呼を拒絶する"accept no"の形式を有する。全ての指定された呼の種類よりも少ない種類だけ受け付けられる場合、ACCEPTリクエストは、受け付けられる呼の種類を指定する、"accept OK audio/amr"という形式を有する。
接続が成功裏に行われたか否かに応じて、UA202はACCEPTレスポンスをユーザアプリケーション150へ送信する。ACCEPTレスポンスは、接続が成功裏に行われたか否かを示すステータスメッセージを含み、また、オプションで、ステータスコードを含む。典型的なACCEPTレスポンスは、"accept OK"又は"ACCEPT Failed:1xx"の形式を有する。
MSGリクエストは、メッセージの送信を要求するために、ユーザアプリケーション150によってメディアクライアント200へ送信される。MSGリクエストは、メッセージが送信される呼を識別するコールID又はセッションID、メッセージ長、メッセージタイプ、及びメッセージデータを含む。テキストメッセージに対しては、MSGリクエストは、"text/plain\n this is the text"という形式である。ここで、xxxはコールID又はセッションIDであり、nnnはテキストのみの(改行又はヘッダを含まない)長さである。改行文字は、メッセージタイプをメッセージデータから分離する。MSGリクエストを使用して送信されるテキストメッセージの一例は、"msg 111 5 ext/plain\n hello"である。バイナリデータに対しては、MSGリクエストは、"msg xxx nnn mime/type\n"という形式である。ここで、xxxはコールIDであり、nnnはデータバッファの長さである。バイナリメッセージの一例は、"msg 111 43 image/jpg\n31290759...93285"である。UA202は、配信の成功又はMSGリクエストの失敗を示す、MSGレスポンスをユーザアプリケーション150へ送信する。代表的なMSGレスポンスは、メッセージが成功裏に配信された場合、"MSG OK"の形式を有し、メッセージが成功裏に配信されなかった場合、"MSG Failed:1xx"の形式を有する。
HANGUPリクエストは、接続を終了するために使用される。HANGUPリクエストは、ユーザアプリケーション150によってメディアクライアント200へ送信されてもよいし、その逆であってもよい。HANGUPリクエストは、1単語"hang-up"又は1文字"h"、及び終了される呼に割り当てられたコールIDを含む。代表的なHANGUPリクエストは、"hangup xxx"という形式である。ここで、xxxはコールIDである。HANGUPリクエストがユーザアプリケーションによってUA202へ送信されると、UA202は、呼が終了したことを確認するために、HANGUPレスポンスを送信する。HANGUPレスポンスは、"hangup OK"又は"hangup disconnected"の形式を持ち得る。
SUBSCRIBEリクエストは、プレゼンスサービス又は他の通知サービスに申し込むために、ユーザアプリケーション150によってUA202へ送信される。SUBSCRIBEリクエストは、サブスクリプションサービス(subscription service)に対するアドレス、SUBSCRIBEリクエストの有効期限(expiration time)、及びSUBSCRIBEリクエストが関与するイベントを含む。SUBSCRIBEリクエストの典型的な形式は、"subscribe someone@domain.com:3600 ttt presence"又は"subscribe someone at his domain.com:3600 ttt presence autofresh"である。ここで、tttはSUBSCRIBEリクエストの有効期限を秒単位で表す。SUBSCRIBEリクエストに応えて、UA202は、SIPサブスクリプション手続を実行するようにSA204に指示する。SIPサブスクリプション手続が成功裏に完了した後、SA204はUA202に通知し、UA202は同様に、SUBSCRIBEレスポンスを送信することによってユーザアプリケーション150に通知する。SUBSCRIBEレスポンスはサブスクリプションサービスに対するアドレス、サブスクリプションの有効期限(秒単位)、及びステータスメッセージを含む。有効期限は、要求されたものと異なっていてもよい。SUBSCRIBEリクエストは、オプションで、ステータスコード、及びSUBSCRIBEリクエストの有効期限が切れたときに自動的に更新(リフレッシュ)するための"autorefresh"コマンドを含んでもよい。リクエストのリダイレクトが原因でSUBSCRIBEリクエストが失敗する可能性がある。この場合、SUBSCRIBEレスポンスは新しいアドレスを返すことができ、UA202は、この新しいアドレスを使用して再申し込みする(re-subscribe)することができる。SUBSCRIBEレスポンスは、サブスクリプションが成功裏に実行された場合、"subscribe ttt me@mydomain.com:3600 successful:200"の形式を有し、サブスクリプションが失敗した場合、"subscribe ttt me@mydomain.com 3600 failed:481"の形式を有する。
NOTIFYリクエストは、プレゼンス通知をユーザアプリケーション150に与えるプレゼンスエンティティのプレゼンスステータスが変化したことを、ユーザアプリケーション150に通知するために、UA202からユーザアプリケーション150へ送信される。NOTIFYリクエストは、メッセージサイズ、NOTIFYをトリガした(引き起こした)イベントの種類、メッセージ本体のマイムタイプ、及びメッセージデータを含む。NOTIFYリクエストの典型的な形式は、"notify 30 someone@hisdomain.com presence application/pidf+xml\alice is now available"である。ユーザアプリケーション150は、NOTIFYリクエストに確認応答を返すために、"Notify OK"で応答する。
PUBLISHリクエストは、プレゼンスサービス、及び他の通知サービスのために使用される。PUBLISHリクエストは、ユーザのプレゼンス状態が変化したときにプレゼンスサーバに通知するために、ユーザアプリケーション150によってメディアクライアント200へ送信される。PUBLISHリクエストは、プレゼンスサーバのアドレス、及びPUBLISHリクエストの有効期限を含む。PUBLISHリクエストは、オプションで、PUBLISHリクエストの有効期限が切れたときに自動的にリフレッシュするための"autorefresh"コマンドを含んでもよい。典型的なPUBLISHリクエストは、"publish ttt me@mydomain.com 3600"の形式を持つ。UA202は、ユーザアプリケーション150に対して、publicationが成功した場合は"publish ttt me@mydomain.com 3600 successful:200"で応答し、publicationが失敗した場合は"publish ttt me@mydomain.com 3600 failed:481"で応答する。
付録Bのテーブル2は、SA APIにおいて使用されるリクエスト及びレスポンスを記載している。主要なリクエストは、REGISTERリクエスト、INVITEリクエスト、ACKリクエスト、SUBSCRIBEリクエスト、NOTIFYリクエスト、PUBLISHリクエスト、BYEリクエストを含み、これらは標準的なSIPリクエストに対応する。REGISTERリクエストは、SIPレジストラに登録するために使用される。INVITEリクエスト及びACKリクエストは、SIPセッションを確立するために使用される。SUBSCRIBEリクエスト、NOTIFYリクエスト、及びPUBLISHリクエストは、プレゼンスサービス又は他の通知サービスを実装するために使用される。BYEリクエストは、SIPセッションを終了するために使用される。SA APIにおいて使用されるリクエストのいくつかは、共通のSIPリクエストに対応し、同じ名前を使用する。どのリクエストが言及されているかは、文脈から明白であろう。しかし、混乱を回避するために、SA204に対して送受信される標準的な、SIPリクエスト及びSIPレスポンスを識別する、SIPというプレフィックス(接頭辞)が使用される。
REGISTERリクエストは、ユーザアプリケーション150からの対応するREGISTERリクエストに応えて、UA202からSA204へ送信される。REGISTERリクエストは、SIPレジストラ又はSIPプロキシのネットワークアドレスを含み、また、オプションで、ポートを含む。REGISTERリクエストは、"register server@network.com"という形式である。SA204は、REGISTERリクエストに応えて、IETFのRFC3261に記載されているSIPに従って、SIPレジストラへの登録を試みる。SA204は、REGISTERリクエストのステータスを示すREGISTERレスポンスをUA202へ送信する。代表的なREGISTERレスポンスは、登録の試みが成功した場合は"register OK"という形式であり、登録の試みが成功しなかった場合は"register failed"という形式である。
INVITEリクエストは、呼の開始側で、ユーザアプリケーション150からのCALLリクエストに応えて、UA202からSA204へ送信される。SA INVITEリクエストは、被呼者のアドレス或いは有効なアドレスへ解決(分解)可能なユーザID、確立される呼の種類を指定するコールタイプ、及び指定された各コールタイプのためのメディアセッションのために使用されるホストアドレスを含む。各コールタイプに対して同一のホストアドレスが使用されてもよいし、異なるアドレスが使用されてもよい。代表的なINVITEリクエストは、"invite alice@domain.com video/h263 me@mydomain.com:xxx audio/amr me@mydomain.com:xxx"という形式である。ここで、xxxはポート番号を示す。INVITEリクエストの送信後、UA202は、SA204からの応答を待つ。SA204は、INVITEリクエストに応えて、INVITEリクエストにおいて指定された被呼者へSIP INVITEリクエストを送信し、応答を待つ。接続が成功裏に確立された場合、SA204は、招待(invitation)が承認された(受け付けられた)ことを示す、INVITEレスポンスをUA202へ送信する。INVITEレスポンスは、本明細書においてコールIDと呼ぶ、セッション識別子を含む。
INVITEリクエストはまた、呼の受信側で、SIP INVITEの受信に応えて、SA204によってUA202へ送信され得る。この場合、INVITEリクエストは、シグナリングのために使用される発呼者のアドレス、及びメディアセッションのために発呼者によって使用される1以上のアドレスを含む。UA202からSA204へのINVITEレスポンスは、セッション識別子が含まれない点を除き、上述したものと同様である。この場合、セッション識別子は、SA204が発呼者からSIP ACKを受信後、SA204からUA202へのACKリクエスト中で送信される。
SUBSCRIBEリクエストは、プレゼンスサービス又は他の通知サービスへのサブスクリプションを開始するために、UA202によってSA204へ送信される。SUBSCRIBEリクエストは、ユーザがプレゼンス状態の情報を受信したい参加者、又はプレゼンスサーバの、アドレスを含む。SA204は、SUBSCRIBEリクエストをUA202から受信すると、SASUBSCRIBEリクエストにおいて指定されたホストへSIP SUBSCRIBEリクエストを送信し、応答を待つ。SIP SUBSCRIBEリクエストの送信先のホストは、SIP NOTIFYリクエストをSA204へ返す。SIP NOTIFYリクエストは、SIP SUBSCRIBEリクエストが許可(authorize)されたか否かを示し、許可された場合、現在のプレゼンス状態の情報を含む。SA204は、SIP NOTIFYリクエストに対して確認応答を返し、プレゼンスエージェントのプレゼンス状態の情報を含むNOTIFYリクエストをUA202へ送信する。サブスクリプションの有効期限が切れるまで、サブスクリプションを許可したプレゼンスエージェントは、プレゼンス状態の情報が変化する度にSIP NOTIFYリクエストを送信し、SA204は、プレゼンス情報をUA202へ転送するために、対応するNOTIFYリクエストをUA202へ送信する。
PUBLISHリクエストは、ユーザのプレゼンス状態に変化があったときにプレゼンスサーバに通知するために、UA202によってSA204へ送信される。SA204がプレゼンスサーバとして機能する場合、SA204は、プレゼンス状態の変化を自身の加入者(subscriber)に通知するために、NOTIFYリクエストを加入者へ送信する。別のプレゼンスサーバがプレゼンス情報を配信するために使用される場合、SA204は、対応するSIP PUBLISHリクエストをプレゼンスサーバへ送信する。SIP PUBLISHリクエストの送信後、SA204は、PUBLISHリクエストのステータスを示すPUBLISHレスポンスをUA202へ送信する。
BYEリクエストは、SIPセッションを終了させるために、UA202によってSA204へ、或いはその反対へ、送信される。SA204はUA202からBYEリクエストを受信すると、セッションを終了させるためにSIP BYEリクエストを相手方へ送信する。SIP BYEリクエストに対する確認応答が返されると、SA204は、BYEリクエストに対して確認応答を返すために、BYEレスポンスをUA202へ送信する。UA202がSA204からBYEリクエストを受信した場合、UA202は、BYEリクエストにおいて指定された呼のために開かれている接続を閉じる。この場合、BYEリクエストは強制的なものなので、BYEリクエストに対する応答は必要とされない。
付録Cのテーブル3は、MA APIを記載している。MA APIにおける主要なリクエストは、LISTENリクエスト、CONNECTリクエスト、SENDリクエスト、OPENリクエスト、PEERリクエスト、及びCLOSEリクエストを含む。
LISTENリクエストは、マルチメディアメッセージングのためのMSRPセッションを開始するために、UA202によってMA206へ送信される。UA202は、MSRPセッションを要求する、ユーザアプリケーション150からの呼のリクエストに応えて、LISTENリクエストを送信する。LISTENリクエストは、オプションで、接続の実行元のリモートホストのアドレスを含んでもよい。LISTENリクエストにおいてリモートホストが指定されると、特定のホストからのみ、接続が受け付けられることになるかもしれない。LISTENリクエストに応えて、MA206はメディア接続のためのポートを開き、メディア接続のためのアドレス及びポートを与えるLISTENレスポンスをUA202へ送信する。
CONNECTリクエストは、MSRP接続を確立するために、呼の受信側のUA202によってMA206へ送信される。CONNECTリクエストは、一般的に、呼の受信側のユーザが発呼者からの呼に参加する招待を受け付けた後に送信される。CONNECTリクエストは、SIP INVITEにおいて発呼側によって指定されたネットワークアドレス及びポートを含む。代表的なCONNECTリクエストは、"connect anybody@domain.com"という形式である。CONNECTリクエストに応えて、MA206はMSRPに従って接続を確立し、CONNECTレスポンスをUA202へ送信する。CONNECTレスポンスはCONNECTリクエストのステータスを含み、また、オプションで、ステータスコードを含む。代表的なCONNECTレスポンスは、"connect OK"又は"connect failed"という形式である。
SENDリクエストは、MSRPセッションが確立されると、マルチメディアメッセージを送信するために使用される。UA202がMSGリクエストをメディアクライアント200から受信すると、UA202は、SENDリクエストを生成してMA206へ送信する。SENDリクエストは、メッセージが送信される呼を固有に識別するコールID、メッセージ長、メッセージタイプ、及びメッセージデータを含む。代表的なSNEDリクエストは、"send xxx nnn text/plain\n this is the text"という形式である。MA206は同様に、MSRPに従ってメッセージを送信する。メッセージに対して確認応答が返されると、MA206は、呼を識別し、且つSENDリクエストのステータスを示す、SENDレスポンスをUA202へ送信する。SENDリクエストは、オプションで、ステータスコードを含んでもよい。代表的なSENDレスポンスは、配信の成功を示す"send xxx OK"、又はメッセージが成功裏に配信されなかったことを示す"send xxx failed"という形式である。
OPENリクエストは、RTPセッションを開始するために使用される。UA202は、ユーザアプリケーション150からのACCEPTリクエストに応えて、OPENリクエストをMA206へ送信する。OPENリクエストは、オプションで、メディア接続の受け付け元のリモートホストのネットワークアドレスを含む。リモートホストのアドレスがOPENリクエストに含まれる場合、メディア接続は、OPENリクエストにおいて指定されたアドレスからのみ受け付けられることになるかもしれない。OPENリクエストに応えて、MA206はメディア接続のためのポートを開き、メディア接続のためのネットワークアドレス及びポートを示すOPENレスポンスを返す。OPENレスポンスは、OPENリクエストのステータスを示し、成功した場合、ホストのアドレス、及びRTP接続のために開かれたポートを含む。
メディア接続が確立されると、呼の開始側のUA202は、ホストアドレス、及びRTPセッションのために相手方で開かれたポートを、MA206に提供するために、PEERリクエストをMA206へ送信する。PEERリクエストのためのパラメータは、メディア接続のためのネットワークアドレス及びポートのみである。PEERアドレスリクエストに対するレスポンスは要求されない。代表的なPEERリクエストは、"peer someone@domain.com"という形式である。
CLOSEリクエストは、RTPセッション又はMSRPセッションのいずれかのために使用されるメディア接続を終了させるために使用される。UA202は、ユーザアプリケーション150からのHANGUPリクエストに応えて、CLOSEリクエストをMA206へ送信する。
UA API、SA API、及びMA APIは更に、初期設定中に所定のパラメータを予め設定することを可能にする、SETリクエストを有してもよい。SETリクエストは、パラメータの名前、及びその名前のパラメータに割り当てられる値を含む。SETリクエストは、例えばユーザ名、エイリアス、コンタクトアドレス、各種メディアのためのデフォルトの送信元(source)及び送信先(sink)などの、ユーザ固有の設定内容を設定するために使用され得る。
図5乃至図7は、IMSのコマンド及びレスポンスがどのようにマルチメエリアアプリケーションによって使用されるかを説明する、呼のフロー図である。図5は、典型的なSIP登録手続を説明する図である。図6は、代表的なMSRPセッションを説明する、呼のフロー図である。図7は、代表的なRTPセッションを説明する、呼のフロー図である。
図5は、SIP登録手続を説明する、呼のフロー図である。図5において、ユーザAがSIPレジストラに登録しようとしている。ユーザAのユーザアプリケーション150は、テーブル1に示したAPIを使用して、REGISTERリクエストをUA202へ送信する(a)。UA202はリクエストを受信し、ユーザ固有の設定データを添付し、REGISTERリクエストをSA204へ転送する。ユーザ固有の設定データは、例えばユーザ名、エイリアス、及びコンタクトアドレスなどのデータを含み得る。REGISTERリクエストに応えて、SA204はSIP登録手続を開始する。SA204は、UA202から受信した情報に基づいてSIP REGISTERを構成し、必要に応じて完全なSIPリクエストのためのデフォルトの設定を用いてこの情報を補強する。SA204はSIP REGISTERリクエストをSIPレジストラへ送信する(c)。IMSコア40は、SIPリクエストの不必要な再送信を防止するために、暫定SIPレスポンス(SIP 100 Trying)をSA204へ返してもよい(d)。それゆえ、SA204による動作は何も求められない。登録が成功した場合、SIPレジストラは、SIPレスポンス(SIP 200 OK)をSIPプロキシへ送信し(f)、SIPプロキシはSIPレジストラのレスポンスをSA204へ中継する(g)。SA204は、SAレスポンスをユーザエージェントへ送信し(h)、ユーザエージェントは登録が成功したことをユーザアプリケーション150に通知する。この時点で、ユーザAは、自己の登録IDを使用して、SIPメッセージを送受信することが可能である。
図6は、2ユーザ間での典型的なMSRPセッションにおける呼のフローを示す図である。MSRPセッションの文脈では、SENDリクエストを用いて一連のメッセージを交換することができる。MSRPは、例えばTCPなどの信頼性のある伝送プロトコルを介したセッションモードでの、メッセージのエンド・トゥ・エンド伝送を提供する。MSRPセッションは、メッセージキャリアとして、SIPを利用したSDPオファー・アンサー・モデル(IETFのRFC3264)を用いて確立される。簡潔に要約すると、エンドポイントAは、エンドポイントAを表す一時アドレスを持つオファーメッセージ(SIP INVITE)を送信することにより、エンドポイントBとの通信セッションを開始することができる。セッションに参加することをエンドポイントBが望む場合、エンドポイントBはエンドポイントAへのTCP接続を開き、エンドポイントAによって提供されたアドレスへ宛ててMSRP VISITリクエストを送信する。セッションに参加(visit)した後、エンドポイントBは、SIP INVITEリクエストへのアンサー(返答)を送信する。この返答は、通信セッションのために使用される、エンドポイントBのアドレスを含む。このやりとりの後、エンドポイントA及びBは、メッセージを交換することができる。メッセージはSENDリクエストと共に送信され、受信側のエンドポイントはOKリプライにより応答する。エンドポイントA及びBは、MSRP VISITリクエストによって確立されたTCP接続を介して、SIP INVITEのSDP bodyにおいて示されるアドレスへメッセージを送信する。
本発明は、図6に示すように、エンドポイントA及びBのユーザアプリケーションを、UA202、SA204、及びMA206によって処理される、MSRP、SIP、及びSDPの詳細から分離する。図6に示す手続は、付録のテーブル1乃至3において定義されるAPIを使用する。ユーザアプリケーション150は、CALLリクエストをメディアクライアント200へ送信することにより、MSRPセッションを開始する(a)。CALLリクエストに応えて、UA202は、MA LISTENリクエストをMA206へ送信して、CALLリクエストにおいて指定される通信相手(ピア)からのTCP接続を受け付けるためにTCPソケットを開くようにMA206に指示する(b)。MA206は、ホストのネットワークアドレス、及びメディア接続のために開かれたポートを含む、MA LISTENレスポンスをUA202へ送信する(c)。次いで、UA202は、SA INVITEリクエストをSA204へ送信することにより、SA204が通信セッションを開始するように指示する(d)。SA INVITEリクエストは、CALLリクエストに含まれるパラメータと、MA206によって提供されたメディア接続のためのネットワークアドレス及びポートとを含む。SA INVITEは、オプションで、例えばユーザ名及びエイリアスなどのユーザ固有の設定データを含んでもよい。ユーザ固有の設定データに関するパラメータ値は、テーブル1に示すSETリクエストを使用してユーザアプリケーション150が設定してもよい。
SA204は、MSRPセッションを確立するために従来のSIPシグナリングを使用する。SA204は、UA202から受信した情報に基づいてSIP INVITEリクエストを構成し、必要に応じて完全なSIP INVITEリクエストのためにデフォルトの設定を用いてこの情報を補強する。SA204は、SIP INVITEリクエストをエンドポイントBへ送信する(e)。SIP INVITEリクエストは、マルチメディアセッションを記述する、SDP(セッション記述プロトコル) bodyを含む。エンドポイントBのSA204からのレスポンスを待つ間、エンドポイントAのSA204は、ネットワークがエンドポイントBとの接続を確立しようと試みていることを示す、暫定SIPレスポンス(100 Trying)をネットワークから受信してもよい(f)。
エンドポイントBのSA204によってSIP INVITEリクエストが受信されると、エンドポイントBのSA204はINVITEリクエストをUA202へ送信する(h)。また、SA204がエンドポイントBのユーザを「呼び出し中である(ringing)」ということを示す、暫定レスポンスをエンドポイントAのSA204へ送信してもよい(g)。エンドポイントAのSA204は同様に、エンドポイントAのUA202へ呼び出しの指示(表示)を提供するために、UA202へ暫定STATUSレスポンスを送信してもよい(k)。アプリケーションによっては、エンドポイントAのUA202は、エンドポイントBのユーザへ到達するための試みが行われていることをユーザに通知するために、ユーザアプリケーション150に暫定ステータス情報を提供してもよい(l)。
INVITEリクエストに応えて、エンドポイントBのUA202は、MSRPセッションへの招待が受信されたことをユーザアプリケーション150に通知するために、CALLリクエストをユーザアプリケーション150へ送信する(i)。CALLリクエストは、発呼者及び呼の種類を識別する情報を含む。CALLリクエストに応えて、ユーザアプリケーション150は、呼に応答することをユーザが望むか否かを示す、ACCEPTリクエストを送信する(j)。この例では、エンドポイントBのユーザは、招待を受け付ける。呼が複数の種類のメディアに関係する場合、エンドポイントBのユーザは、どのメディアを受け付けるかをACCEPTリクエスト中で指定する。次いで、エンドポイントBのUA202は、メディア接続(例えば、TCP接続)を開くために、CONNECTリクエストをMA206へ送信する(m)。エンドポイントBのMA206は、MSRP接続を確立するために、エンドポイントAのMA206へMSRP VISITメッセージを送信する(n)。エンドポイントAのMA206は、エンドポイントA及びBの間でMSRP接続を確立するために、MSRP VISITに対して肯定応答(positive response)(MSRP 200 OK)を送信する(o)。メディア接続の確立後、エンドポイントBのMA206は、メディア接続が成功裏に確立されたことを示すために、CONNECTレスポンス(Connect 200 OK)をエンドポイントBのUA202へ送信する(p)。
この時点で、SIP INVITEリクエストはまだ受け付けられていない。エンドポイントBのUA202は、SA204がエンドポイントAとのMSRPセッションに参加する招待を受け付けるべきであるということを示す、SA INVITEレスポンス(INVITE 200 OK)をエンドポイントBのSA204へ送信する(q)。エンドポイントBのSA204は、エンドポイントAのSA204へSIP INVITEレスポンス(SIP 200 OK + SDP body)を送信する(r)。SIP INVITEレスポンスは、MSRPセッションパラメータを確認するSDP bodyを含む。SIP INVITEレスポンスは、ステップ(e)におけるSIP INVITEリクエストへの返答であり、メディア接続のためにエンドポイントBによって使用されるネットワークアドレス及びポートを含む。エンドポイントAのSA204は、SIPハンドシェイクを完了するために、SIP 200 OKに対して確認応答を返す(s)。エンドポイントAにおいて、SA204は、ステップ(a)で要求された接続が成功裏に確立されたことを示す、SA INVITEレスポンスを送信する(t)。このメッセージは、呼を一意に識別するコールIDと、メディア接続のために使用される、エンドポイントBにおけるホストアドレス及びポートとを含む。エンドポイントAのUA202は同様に、ステップ(a)で要求された接続が成功裏に確立されたことを示す、CALLレスポンスをユーザアプリケーション150へ送信する(u)。エンドポイントBで、SA204はSIP ACKに応えて、エンドポイントAとの接続が成功したことを示し、且つSIPセッション識別情報を含む、ACKリクエストをUA202へ送信する(v)。UA202は同様に、エンドポイントAとの接続の確立を示す、ACCEPTレスポンスをユーザアプリケーション150へ送信する(w)。この時点で、エンドポイントA及びBは、メッセージの送受信を開始することができる。
エンドポイントAのユーザアプリケーションがマルチメディアメッセージを生成し、このメッセージはMSGリクエスト中でUA202へ渡される(x)。MSGリクエストは、セッション、メッセージタイプ、及びメッセージサイズを識別する情報を含む。UA202は、マルチメディアメッセージをエンドポイントBへ転送するために、MSGリクエストにおいて指定されたパラメータを用いて、MA206へ宛てられたSENDリクエストを構成し、MA206へ転送する(y)。MA206は、マルチメディアメセージを配信するためにMSRPプロトコルを使用する。MA206は、MSRP SENDリクエストを生成し、必要に応じて完全なMSRP SENDリクエストのためのデフォルトパラメータを補い、このリクエストをエンドポイントBのMA206へ送信する。エンドポイントBのMA206はMSRP SENDリクエストからメッセージコンテンツを抽出し、MA SENDリクエスト内でこのメッセージをエンドポイントBのUA202へ配信する(aa)。エンドポイントBのUA202は、メッセージコンテンツをユーザアプリケーション150へ転送するために、MSGリクエストを使用する(bb)。エンドポイントBのユーザアプリケーション150は、MSGレスポンス(MSG 200 OK)を送信することによりメッセージの受信に対して確認応答を返し(cc)、UA202は同様に、メッセージが成功裏に配信されたことを示すSENDレスポンスをMA206へ転送する(dd)。MA206は、メッセージの受信に対して確認応答を返すために、MSRP OKレスポンス(MSRP 200 OK)を送信する(ee)。エンドポイントAのMA206は、オプションで、MSRPレスポンス(MA SEND 200 OK)を変換してエンドポイントAのUA202へ転送してもよく(ff)、UA202は同様に、オプションで、メッセージが成功裏に配信されたことを示すMSGレスポンス(MSG 200 OK)をエンドポイントAのユーザアプリケーション150へ送信してもよい(gg)。
セッションを終了させるために、エンドポイントAのユーザアプリケーション150は、HANG−UPリクエストをエンドポイントAのUA202へ送信する(hh)。エンドポイントBも、同様の方法でセッションを終了させることができる。エンドポイントAのUA202は、リクエスト中で指定された呼が終了されるべきであるということを示す、SA BYEリクエストをエンドポイントAのSA204へ送信する(ii)。SA204は、先のステップで確立されたSIPセッションパラメータに基づいてSIP BYEリクエストを生成し、このメッセージをエンドポイントBへ送信する(jj)。エンドポイントBのSA204はSIP BYEリクエストを受信し、メッセージの受信に対して確認応答を返す(kk)。エンドポイントAで、SA204は、メディアセッションが閉じられたことを確認するBYEレスポンスをUA202へ送信する(ll)。UA202は、メディアセッションが閉じられたことをユーザアプリケーション150に通知するために、HANGUPレスポンスをユーザアプリケーション150へ送信し(mm)、メディアセッションのために開かれた接続を閉じるために、CLOSEリクエストをMA206へ送信する(nn)。エンドポイントBのSA204は、MSRPセッションが閉じられたことを示すBYEリクエストを生成し、UA202へ転送する(oo)。同様に、エンドポイントBのUA202は、MSRPセッションが閉じられたことをユーザアプリケーションに通知するために、HANGUPリクエストをユーザアプリケーション150へ送信し(pp)、メディアセッションのために開かれた接続を閉じるためにCLOSEリクエストをMA206へ送信する(qq)。
図7は、エンドポイントA及びBの間の代表的なRTPセッションを示す図である。図7に示される手続は、付録のテーブル1乃至3において定義されるAPIを使用する。エンドポイントAのユーザアプリケーション150は、RTPセッションを開始するために、CALLリクエストをメディアクライアント200へ送信する(a)。CALLリクエストは、被呼者、及び呼の種類を識別する情報を含む。CALLリクエストに応えて、エンドポイントAのUA202は、CALLリクエストにおいて指定された通信相手とのRTPセッションのためのUDP接続を開くようにMA206に指示する、MA OPENリクエストをUA206へ送信する(b)。MA206はUDPソケットを開き、ネットワークアドレス、及びRTPセッションのために開かれたUDPセッションのポートを含む、MA OPENレスポンスをUA202へ返す(c)。次いで、エンドポイントAのUA202は、SA INVITEリクエストをSA204へ送信する(d)。SA INVITEリクエストは、ステップ(a)において実行されたCALLリクエストに基づくパラメータ、及びステップ(c)においてMA206によって提供された接続情報を含み、また、オプションで、例えばユーザ名及びエイリアスなどのユーザ固有の設定を含む。ユーザ固有の設定データに関するパラメータ値は、テーブル1に示すSETリクエストを使用して、ユーザアプリケーション150が設定することができる。
SA204は、エンドポイントBとの通信セッションを確立するために、従来のSIPシグナリングを使用する。SA204は、SIP INVITEリクエストをエンドポイントBへ送信する(e)。SIP INVITEリクエストは、マルチメディアセッションを記述するSDP bodyを含む。SDP bodyは、セッションパラメータ及びコーデックパラメータを含むメディアを記述する。エンドポイントBのSA204から応答を待つ間、エンドポイントAのSA204は、ネットワークがエンドポイントBとの接続を確立しようと試みていることを示す暫定レスポンスをネットワークから受信してもよい(f)。
エンドポイントBのSA204によってSIP INVITEリクエストが受信されると、エンドポイントBのSA204は、RTP接続を開くために、SA INVITEリクエストをUA202へ送信する(h)。また、SA204がエンドポイントBのユーザを「呼び出し中である」ことを示す、暫定レスポンスをエンドポイントAのSA204へ送信してもよい(g)。エンドポイントAのSA204は同様に、エンドポイントAのUA202に対して呼び出し表示を提供するために、暫定STATUSレスポンスをUA202へ送信してもよい(k)。アプリケーションによっては、エンドポイントAのUA202は、エンドポイントBのユーザを呼び出す試みが行われていることをユーザに通知するために、ユーザアプリケーション150に暫定ステータス情報を提供してもよい(l)。
ステップ(h)におけるINVITEリクエストは、エンドポイントAと、RTPセッションのための1以上のメディアタイプとを識別する情報を含む。UA202は、CALLリクエストを送信することにより、RTPセッションへの招待が受信されたことをユーザアプリケーション150に通知する(i)。ユーザアプリケーション150は、ACCEPTリクエストを用いてCALLリクエストに対して応答する(j)。この例では、ACCEPTリクエストは、エンドポイントBのユーザがRTPセッションに参加する招待を受け付けたということを示す。呼が複数の種類のメディアに関係する場合、エンドポイントBのユーザは、ACCEPTリクエストにおいて、受け付けるメディアを指定することができる。例えば、ビデオ会議が要求された場合、エンドポイントBのユーザは、オーディオは受け付けるが、ビデオは拒否することができる。
エンドポイントBのユーザがSIP招待を受け付けた後、UA202は、RTPセッションのためのメディア接続を開くために、MA OPENリクエストをMA206へ送信する(m)。エンドポイントBのMA206はUDP接続を開き、UA202へMA OPENレスポンスを送信してRTPセッションのためのメディア接続に関するアドレス及びポートを与える(n)。この時点では、ステップ(e)で送信されたSIP INVITEリクエストは受け付けられていない。エンドポイントBのUA202は、エンドポイントAとのRTPセッションに参加する招待をSA204が受け付けるべきであるということを示すSA INVITEレスポンス(INVITE 200 OK)をエンドポイントBのSA204へ送信する(o)。このリクエストは、OPENレスポンスにおいてMA206によって返された、メディアホスト及びポートの情報を含む。エンドポイントBのSA204は、SIP INVITEレスポンス(SIP 200 OK+SDP body)をエンドポイントAのSA204へ送信する(p)。SIP INVITEレスポンスは、全二重通信を確立するために必要とされるRTP接続パラメータを確認する、SDP bodyを含む。SIP INVITEレスポンスは、ステップ(e)におけるSIP INVITEに対する返答である。エンドポイントAのSA204は、SIPハンドシェイクを完了させるために、SIP 200 OKレスポンスに対して確認応答を返す(q)。
エンドポイントAにおいて、SA204は、ステップ(d)で要求された接続が成功裏に確立されたことを示す、SA INVITEレスポンスを送信する(r)。このメッセージは、呼を一意に識別するコールIDと、メディア接続のために使用される、エンドポイントBにおけるホストアドレス及びポートとを含む。エンドポイントAのUA202は同様に、ステップ(a)で要求された接続が成功裏に確立されたことを示すCALLレスポンスをユーザアプリケーション150へ送信し(s)、SA INVITEレスポンスに含まれるRTP接続パラメータを伴うPEERリクエストをMA206へ送信する(t)。エンドポイントBにおいて、SA204はSIP ACKに応えて、エンドポイントAとの接続が成功裏に確立されたことを示すACKリクエストをUA202へ送信する(u)。UA202は同様に、エンドポイントAとの接続の確立を示すACCEPTレスポンスをユーザアプリケーション150へ送信する(v)。この時点で、エンドポイントA及びBは、RTPメディアの送受信を開始することができる(w)。
セッションを終了させるために、エンドポイントAのユーザアプリケーション150は、HANG−UPリクエストをエンドポイントAのUA202へ送信する(x)。エンドポイントBも同様の方法でセッションを終了させることができる。エンドポイントAのUA202は、リクエスト中で指定されたRTPセッションが終了されるべきであるということを示すSA BYEリクエストをエンドポイントBのSA204へ送信する(y)。SA204は、ステップ(p)で確立されたSIPセッションパラメータに基づいてSIP BYEリクエストを生成し、このメッセージをエンドポイントBへ送信する(z)。エンドポイントBのSA204はSIP BYEリクエストを受信し、メッセージの受信に対して確認応答を返す(aa)。エンドポイントAにおいて、SA204は、RTPセッションが閉じられることを確認するBYEレスポンスをUA202へ送信する(bb)。UA202は、RTPセッションが閉じられることをユーザアプリケーション150に通知するために、HANGUPレスポンスをユーザアプリケーション150へ送信し(cc)、RTPセッションのために開かれた接続を閉じるために、CLOSEリクエストをMA206へ送信する(dd)。エンドポイントBにおいて、SA204は、RTPセッションが閉じられたことを示すBYE リクエストを生成し、UA202へ転送する(ee)。エンドポイントBのUA202は、RTPセッションが閉じられたことをユーザアプリケーションに通知するために、HANGUPリクエストをユーザアプリケーション150へ送信し(ff)、メディアセッションのために開かれた接続を閉じるために、CLOSEリクエストをMA206へ送信する(gg)。
図8は、メディアクライアント200の他の実施形態を示す図であり、メディアクライアント200はJAVAアプリケーションのためのアプリケーションインタフェースを備える。図8に示す実施形態は、前述の様に、UA202、SA204、及びMA206を備える。元々の(native)UA APIに加えて、図8のメディアクライアント200は、JAVAアプリケーションのためのJAVAアプリケーションインタフェース(JAVA API)も含む。JAVA APIは、コネクション型のアプリケーションインタフェースである。JAVA APIは、JAVAアプリケーションがSIPプロキシに登録し、接続(呼)を開き、リモート側の能力について問い合わせ、メッセージを送受信し、メディアストリングをリダイレクトし、且つ接続を切ることを可能にする、コマンドを含む。元々のIMA APIのように、JAVA APIは高レベルの抽象化を提供し、これにより、JAVAアプリケーションが、他お手場SIP及びSDPなどの下層プロトコルの詳細から分離される。JAVA APIにより、JAVAアプリケーションは、ユーザエージェントと通信することが可能になる。一方で、シグナリングエージェント及びメディアエージェントは、下層のシグナリング操作及びメディア操作を処理する。JAVA APIを備えるメディアクライアント200では、JAVAアプリケーションは、JAVAアプリケーション中で普通に見つかるシグナリングタスク及びオペレーションタスクを処理することにより、書き込みをより容易に行えるようになる。JAVAアプリケーションは、例えばSIP及びSDPなどの低レベルのプロトコルに直接アクセスすることができないので、異なるオペレータのネットワークや異なる移動体端末において同一のアプリケーションが機能する可能性が高まる。加えて、できの悪いJAVAアプリケーションがネットワーク内で問題を引き起こす可能性が更に低くなる。また、JAVAアプリケーションは、低レベルのプロトコルに直接アクセスすることに伴う、設定や配備の問題について、心配する必要がない。代わりに、設定や配備の問題は、メディアクライアント200によって処理される。デバイスの製造者は、特定のオペレータのネットワークに固有の設定をセットする、カスタマイズ処理を既に使用しており、特定のオペレータのネットワークのためにメディアクライアント200を設定することは容易にできる。
本発明のいくつかの実施形態においては、MA206は、ユーザアプリケーション150がデータを処理する必要が無い場合に、ユーザアプリケーション150を迂回してメディアを直接メディア再生デバイスへルーティングすることが可能であってもよい。例えば、メディアストリーミングにおいて、ユーザアプリケーションは一般的にメディアストリームを受信し、データ処理をせずに円でリアストリームをメディアプレーヤへ出力する。この状況で、MA206は、メディアストリームを直接メディアプレーヤへルーティングすることができる。図9は、リモートデバイスからローカルメディア再生デバイス(例えば、移動体端末100のスピーカ及び/又はディスプレイ)への、典型的なメディア(例えば、ビデオ又はオーディオ)のストリーミングを示す図である。メディアストリームは、プロトコルスタックの下層を通り、MA206によって、例えばビデオデコーダなどのメディアプレーヤへ直接ルーティングされる。メディアストリームは、IPスタック、UDPスタック、及びRTPスタックを順に通って、ビデオデコーダへと、上層へ進む。図9はまた、カメラからの出力が、リモートデバイスへの送信のために、RTPスタック、UDPスタック、及びIPスタックを順に通って、下層へ進むことも示す。メディアストリームも、カメラの出力も、MA204の上層やアプリケーションレイヤーへ流れ込むことはない。アプリケーションによっては、ユーザアプリケーション150は、メディアストリームを受信することを望むかもしれない。図10は、ユーザアプリケーションからの、また、ユーザアプリケーションへの、典型的なメディアストリームを示す図である。
本発明の好適な実施形態において、ユーザアプリケーション150は、メディア又はメッセージがどのようにルーティングされるかを指示することができる。ユーザアプリケーション150によるメディアの選択的なルーティングを可能にするために、UA APIは、SETROUTEリクエストを含むことができる。SETROUTEリクエストは、メディアストリームの特定の送信元(source)又は送信先(sink)を指定するために、ユーザアプリケーション150によってメディアクライアント200へ送信される。送信元又は送信先は、移動体端末100の内部にあってもよいし外部にあってもよい。MA APIは、対応するSETROUTEリクエストを含み、これは、メディアストリームがどのようにルーティングされるかを指定するルーティングテーブルを設定するために、UA202によってMA206へ送信される。UA API及びMA APIはまた、例えば実行中の(アクティブな)メディアストリームを中断させるためのPAUSEリクエスト、及び中断されたメディアストリームを再開するためのRESUMEリクエストなどの、メディアストリームを制御するための他のリクエストを含んでもよい。
図11及び図12は、本発明のメディアクライアントを使用可能な多様な方法を示す図である。図11は、3つのネットワーク通信デバイス(移動体デバイス100、ビデオカメラ300、及びビデオプレーヤ350)を図示する。移動体デバイス100は、図3に示すように、メディアクライアント200を組み込んでおり、メディアクライアント200は、UA202、SA204、及びMA 206を含む。ビデオプレーヤ350は、MA206を組み込んでいる。この例では、移動体デバイス100のユーザは、ビデオカメラ300から遠隔地のビデオプレーヤ305へ向けてビデオを再生することを望む。これは例えば、休暇で不在のときに自分の家を監視するのに有用であろう。移動体デバイス100のUA202は、遠隔地のビデオプレーヤ350のMA206とのTCP接続を確立する。移動体デバイス100のSA204は、SIPを使用して、ビデオカメラ300とのシグナリング接続を確立する。移動体デバイス100、ビデオカメラ300、及びビデオプレーヤの間の通信は、インターネット又は他の通信ネットワーク12を介したピア・トゥ・ピアのものである。
メディアセッションを開始するために、移動体デバイス100のアプリケーション150は、図7に示す手続を使用する。アプリケーション150は、やはり移動体デバイス100に配置されているUA202へCALLリクエストを送信することにより、メディアセッションを開始する。移動体デバイス100のUA202は、RTPセッションのためのUDPソケット接続を開くために、遠隔地のビデオプレーヤ350のMA206へOPENリクエストを送信する。OPENリクエストは、TCPソケット接続を介して送信される。なお、この例における移動体デバイス100は、遠隔地に配置されているMA206を制御している。ビデオプレーヤ350のMA206は、RTP接続のためのネットワークアドレス及びポートを、移動体デバイス100のUA202へ返す。UA202は、INVITEリクエストをSA204へ送信することにより、RTPセッションを確立するようにSA204に指示する。SA204も、移動体デバイス100に配置されている。INVITEリクエストは、ビデオプレーヤ350のMA206によって提供されたネットワークアドレス及びポートを含む。ビデオプレーヤ350によって提供されたネットワークアドレス及びポートは、ビデオカメラ300へ送信されるSIP INVITEに含まれる。ビデオカメラ300は、RTP接続のためのネットワークアドレス及びポートを、移動体デバイス100のSA204へ返す。移動体デバイス100のSA204は同様に、この情報をUA202に提供する。移動体デバイス100のUA202は、ビデオプレーヤ350とビデオカメラ300との間でRTP接続を確立するために、ビデオカメラ300によって提供されたネットワークアドレス及びポートを含むPEERリクエストを、ビデオプレーヤ350のMA206へ送信する。その後、ビデオプレーヤ350は、ビデオカメラ300からビデオストリームを受信することができる。
図12に示す例では、2つのネットワーク用通信デバイス(移動体デバイス100、及びDVR/DVDプレーヤ400(ここでは、単に「DVDプレーヤ400」と呼ぶ))が存在する。移動体デバイス100のユーザは、遠隔地のDVDプレーヤ400から移動体デバイス100に向かって、DVD又は格納されたデジタルビデオを再生することを望む。DVDプレーヤ400は、例えば、ユーザの家に配置されている。移動体デバイス100及びDVDプレーヤ400は共に、図3に示すメディアクライアントを組み込んでいる。DVDプレーヤ400のアプリケーションは、DVDプレーヤ400の動作を制御し、以下に説明するようなインターネットを介した遠隔制御を可能にする。移動体デバイス100は、MSRPを使用してDVDプレーヤ400へコマンドを送信することにより、DVDプレーヤ400を遠隔制御する。遠隔制御コマンドは、移動体デバイス100からDVDプレーヤ400へテキストメッセージとして送信される。DVDプレーヤに適した代表的なコマンドには、「再生」「停止」「中断(一時停止)」「再開」「早送り」「選択」が含まれる。MSRPを介して送信されるテキストベースのコマンドを使用して、移動体デバイス100は、インターネットを介してビデオ及び/又はオーディオを移動体デバイス100へ流すようにDVDプレーヤ400に指示することができる。
DVDプレーヤ400を遠隔制御するために、移動体デバイス100は、コマンド及び/又は制御信号をDVDプレーヤへ送信するためのMSRPセッションと、DVDプレーヤ400から移動体デバイス100へビデオ及び/又はオーディオを流すための独立したRTPセッションとを、DVDプレーヤ400との間で確立する。MSRPセッション及びRTPセッションは、それぞれ図6及び図7に示すような手続を使用して確立される。MSRPを使用して、移動体デバイス100は、コマンドをテキストメッセージとしてDVDプレーヤ400へ送信する。この例では、MSRPメッセージは、DVDプレーヤ400のメディアクライアントによってアプリケーション150へ渡される。アプリケーション150は、ここでは、遠隔制御アプリケーションと呼ぶ。DVDプレーヤ400の遠隔制御アプリケーション150は、移動体デバイス100によって送信されたコマンドを解析し、それに従ってDVDプレーヤ400を制御する。図8及び図9に示すように、DVDプレーヤ400は、メディアストリームを選択的にルーティングする能力を備えていてもよい。DVDプレーヤ400の遠隔制御アプリケーション150は、SETROUTEリクエストを使用して、RTPセッション内でビデオ及び/又はオーディオのストリームを移動体デバイス100へ送信するようにDVDプレーヤ400に指示することができる。また、当業者であれば、移動体デバイス100は他の遠隔地のネットワーク用通信デバイスへメディアを送信するようにDVDプレーヤ400に指示できることが認識できよう。
図12に示す方法は、例えばビデオカメラ、デジタルスチルカメラ、プリンタ、スキャナ、コピー機、ホームステレオシステム、テレビ、或いはコンピュータなどの、多種多様なデバイスを遠隔制御するために使用可能である。また、当業者であれば、移動体デバイス100からリモートデバイスへメディアが流されてもよいことが認識できよう。例えば、本発明は、携帯(ポータブル)DVDプレーヤ又はポータブルCDプレーヤからホームコンピュータへオーディオを流し、オーディオがホームコンピュータで記録して格納されるように、使用可能である。他の例として、本発明は、ホームコンピュータでビデオ及び/又はオーディオを記録して格納するために、ポータブルビデオカメラからホームコンピュータへビデオ及び/又はオーディオを流すために使用可能である。
もちろん、本発明の精神及び本質的な特徴から逸脱すること無く、本明細書で説明した以外の特定の方法で、本発明を実施することも可能である。それゆえ、これらの各実施形態は全ての点において、説明的なものであり、限定するためのものではないと解釈されなければならない。そして、添付の請求の範囲の意味及び均等物の中で行われる全ての変更は、ここに包含されることが意図されている。
本発明のメディアクライアントを使用可能な無線通信ネットワークの機能ブロック図である。 移動体通信ネットワーク内のIPマルチメディアサブシステム(IMS)の基本的な構成要素を示すブロック図である。 本発明に係るメディアクライアントのアーキテクチャを示す図である。 メディアクライアントを実装する多様な方法を示す図である。 SIP登録手続を説明する、呼のフロー図である。 MSRPセッションを説明する、呼のフロー図である。 RTPセッションを説明する、呼のフロー図である。 JAVAアプリケーションインタフェースを備えるメディアクライアントに関する代替実施形態を示す図である。 本発明に従う、メディアコンテンツの選択的なルーティングを示す図である。 本発明に従う、メディアコンテンツの選択的なルーティングを示す図である。 ビデオサーバとリモートビデオプレーヤとの間でメディアセッションを確立するために本発明が使用される適用場面(アプリケーション)を示す図である。 DVDプレーヤを遠隔制御し、遠隔地のDVDプレーヤから移動体通信デバイスへメディアを流すために、本発明が使用される適用場面を示す図である。

Claims (36)

  1. ネットワーク用通信デバイス(100)のためのメディアクライアント(200)であって、
    前記ネットワーク用通信デバイス(100)内のマルチメディアアプリケーション(150)と通信するユーザエージェント(202)と、
    前記ユーザエージェント(202)と前記マルチメディアアプリケーション(150)との間の通信のための第1のネットワークインタフェース(208)と、
    前記ユーザエージェント(202)の制御下で、通信セッションを確立して終了するシグナリング操作を実行するシグナリングエージェント(204)と、
    前記ユーザエージェント(202)の制御下で、マルチメディアメッセージを送受信するメディアエージェント(206)と、
    を備えることを特徴とするメディアクライアント(200)。
  2. 前記ユーザエージェント(202)は、前記マルチメディアアプリケーション(150)の遠隔に配置されることを特徴とする請求項1に記載のメディアクライアント(200)。
  3. 前記ユーザエージェント(202)は、ネットワークサーバ(40)内に配置されることを特徴とする請求項2に記載のメディアクライアント(200)。
  4. 前記ユーザエージェント(202)と前記シグナリングエージェント(204)との間の通信のための第2のネットワークインタフェース(210)を更に備えることを特徴とする請求項1に記載のメディアクライアント(200)。
  5. 前記シグナリングエージェント(204)は、前記マルチメディアアプリケーション(150)の遠隔に配置されることを特徴とする請求項4に記載のメディアクライアント(200)。
  6. 前記シグナリングエージェント(204)は、ネットワークサーバ(40)内に配置されることを特徴とする請求項5に記載のメディアクライアント(200)。
  7. 前記シグナリングエージェント(204)は、前記ユーザエージェント(202)の遠隔に配置されることを特徴とする請求項4に記載のメディアクライアント(200)。
  8. 前記ユーザエージェント(202)と前記メディアエージェント(206)との間の通信のための第3のネットワークインタフェース(212)を更に備えることを特徴とする請求項4に記載のメディアクライアント(200)。
  9. 前記メディアエージェント(206)は、前記マルチメディアアプリケーション(150)の遠隔に配置されることを特徴とする請求項8に記載のメディアクライアント(200)。
  10. 前記メディアエージェント(206)は、ネットワークサーバ(40)内に配置されることを特徴とする請求項9に記載のメディアクライアント(200)。
  11. 前記メディアエージェント(206)は、前記ユーザエージェント(202)の遠隔に配置されることを特徴とする請求項9に記載のメディアクライアント(200)。
  12. 前記第1、第2、及び第3のネットワークインタフェース(208,210,212)は、TCP接続を含むことを特徴とする請求項8に記載のメディアクライアント(200)。
  13. 前記ユーザエージェント(202)、前記シグナリングエージェント(204)、及び前記メディアエージェント(206)は、通信ネットワーク(10)内のネットワークサーバ(40)内に存在し、
    前記マルチメディアアプリケーション(150)は前記ネットワーク用通信デバイス(100)内に存在し、前記メディアクライアント(200)にリモートアクセスする
    ことを特徴とする請求項1に記載のメディアクライアント(200)。
  14. 前記シグナリングエージェント(204)、及び前記メディアエージェント(206)は、通信ネットワーク(10)内のネットワークサーバ(40)内に存在し、
    前記ユーザエージェント(202)は前記ネットワーク用通信デバイス(100)内に存在し、前記シグナリングエージェント(204)、及び前記メディアエージェント(206)にリモートアクセスする
    ことを特徴とする請求項8に記載のメディアクライアント(200)。
  15. 前記メディアエージェント(206)は、前記マルチメディアアプリケーション(150)からのコマンドに応えて、前記マルチメディアアプリケーション(150)と1以上のメディアプレーヤ(300,350)との間のメディアストリームを選択的にルーティングすることを特徴とする請求項1に記載のメディアクライアント(200)。
  16. 前記ユーザエージェント(202)は、JAVAアプリケーションインタフェース(214)を備えることを特徴とする請求項1に記載のメディアクライアント(200)。
  17. 通信ネットワーク(10)と通信するように接続されたネットワーク用通信デバイス(100)内に存在するマルチメディアアプリケーション(150)に対してマルチメディアのサポートを提供するように構成されたメディアクライアント(200)であって、
    前記ネットワーク用通信デバイス(100)内の前記マルチメディアアプリケーション(150)と通信するユーザエージェント(202)と、
    前記ユーザエージェント(202)の制御下で、通信セッションを確立して終了するシグナリング操作を実行するシグナリングエージェント(204)と、
    前記ユーザエージェント(202)の制御下で、マルチメディアメッセージを送受信するメディアエージェント(206)と、
    を備え、
    前記ユーザエージェント(202)、前記シグナリングエージェント(204)、及び前記メディアエージェント(206)のうちの少なくとも1つは、前記ネットワーク用通信デバイス(100)の遠隔に配置される
    ことを特徴とするメディアクライアント(200)。
  18. 前記リモートエージェント(202,204,206)は、前記通信ネットワーク(10)を介した他の前記リモートエージェント(202,204,206)との通信をサポートするネットワークインタフェース(208,210,212)を備えることを特徴とする請求項17に記載のメディアクライアント(200)。
  19. 前記ユーザエージェント(202)、前記シグナリングエージェント(204)、及び前記メディアエージェント(206)は、前記ネットワーク用通信デバイス(100)の遠隔に配置され、
    前記ユーザエージェント(202)は、前記マルチメディアアプリケーション(150)と前記ユーザエージェント(202)との間の通信のためのネットワークインタフェース(208)を有する
    ことを特徴とする請求項17に記載のメディアクライアント(200)。
  20. 前記ユーザエージェント(202)、前記シグナリングエージェント(204)、及び前記メディアエージェント(206)は、前記通信ネットワーク(10)内に配置され、前記通信ネットワーク(10)を介してアクセス可能であることを特徴とする請求項19に記載のメディアクライアント(200)。
  21. 前記ユーザエージェント(202)は、前記ネットワーク用通信デバイス(100)内に存在し、
    前記シグナリングエージェント(204)は、前記ネットワーク用通信デバイス(100)の遠隔に配置され、前記ユーザエージェント(202)と前記シグナリングエージェント(204)との間の通信を可能にするネットワークインタフェース(210)を有する
    ことを特徴とする請求項17に記載のメディアクライアント(200)。
  22. 前記シグナリングエージェント(204)は、前記通信ネットワーク(10)内に配置され、前記通信ネットワーク(10)を介してアクセス可能であることを特徴とする請求項21に記載のメディアクライアント(200)。
  23. 前記ユーザエージェント(202)は、前記ネットワーク用通信デバイス(100)内に存在し、
    前記メディアエージェント(206)は、前記ネットワーク用通信デバイス(100)の遠隔に配置され、前記ユーザエージェント(202)と前記メディアエージェント(206)との間の通信を可能にするネットワークインタフェース(212)を有する
    ことを特徴とする請求項17に記載のメディアクライアント(200)。
  24. 前記メディアエージェント(206)は、前記通信ネットワーク(10)内に配置され、前記通信ネットワーク(10)を介してアクセス可能であることを特徴とする請求項23に記載のメディアクライアント(200)。
  25. 前記メディアエージェント(206)は、他のネットワーク用通信デバイス(100)内に配置され、前記通信ネットワーク(10)を介してアクセス可能であることを特徴とする請求項23に記載のメディアクライアント(200)。
  26. 移動体デバイス(100)のためのメディアセッションを確立する方法であって、
    前記移動体デバイス(100)内のメディアアプリケーション(150)と通信するメディアクライアント(200)の構成要素をネットワークサーバ(40)内に格納するステップと、
    前記メディアクライアント(200)によって前記メディアアプリケーション(150)からアプリケーションコマンドを受信するステップと、
    前記アプリケーションコマンドに応えて、メディアセッションを確立するために前記メディアクライアント(200)によってメディア操作及びシグナリング操作を実行するステップと、
    を備えることを特徴とする方法。
  27. 前記メディアクライアント(200)は、
    前記メディアアプリケーション(150)と通信するユーザエージェント(202)と、
    前記ユーザエージェント(202)の制御下で、メディアセッションを確立して終了するシグナリングエージェント(204)と、
    前記ユーザエージェント(202)の制御下で、メディアを送受信するメディアエージェント(206)と、
    を備えることを特徴とする請求項26に記載の方法。
  28. 前記ユーザエージェント(202)は、前記ネットワークサーバ(40)内に配置され、第1のネットワークインタフェース(208)を介して前記メディアアプリケーション(150)と通信することを特徴とする請求項27に記載の方法。
  29. 前記シグナリングエージェント(204)は、ネットワーク(10)内に前記ユーザエージェント(202)から遠隔に配置されることを特徴とする請求項28に記載の方法。
  30. 前記ユーザエージェント(202)と前記シグナリングエージェント(204)との間に第2のネットワークインタフェース(210)を確立するステップと、
    前記ユーザエージェント(202)と前記シグナリングエージェント(204)との間で前記第2のネットワークインタフェース(210)を介して通信を行うステップと、
    を更に備えることを特徴とする請求項29に記載の方法。
  31. 前記メディアエージェント(206)は、前記ネットワーク(10)内に前記ユーザエージェント(202)から遠隔に配置されることを特徴とする請求項30に記載の方法。
  32. 前記ユーザエージェント(202)と前記メディアエージェント(206)との間に第3のネットワークインタフェース(212)を確立するステップと、
    前記ユーザエージェント(202)と前記メディアエージェント(206)との間で前記第3のネットワークインタフェース(212)を介して通信を行うステップと、
    を更に備えることを特徴とする請求項31に記載の方法。
  33. 前記シグナリングエージェント(204)は前記ネットワークサーバ(40)内に配置されることを特徴とする請求項27に記載の方法。
  34. 前記シグナリングエージェント(204)は、ネットワークインタフェース(210)を介して前記ユーザエージェント(202)と通信し、
    前記ユーザエージェント(202)は、前記移動体デバイス(100)内に配置される
    ことを特徴とする請求項33に記載の方法。
  35. 前記メディアエージェント(206)は、ネットワーク(10)内に配置されることを特徴とする請求項27に記載の方法。
  36. 前記メディアエージェント(206)は、ネットワークインタフェース(212)を介して前記ユーザエージェント(202)と通信し、
    前記ユーザエージェント(202)は、前記移動体デバイス(100)内に配置される
    ことを特徴とする請求項35に記載の方法。
JP2007549345A 2004-12-31 2005-07-11 ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャ Expired - Fee Related JP4746054B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US64058304P 2004-12-31 2004-12-31
US60/640,583 2004-12-31
US11/114,427 2005-04-26
US11/114,427 US8473617B2 (en) 2004-12-31 2005-04-26 Media client architecture for networked communication devices
PCT/US2005/024404 WO2006073487A1 (en) 2004-12-31 2005-07-11 Media client architecture for networked communication devices

Publications (3)

Publication Number Publication Date
JP2008527799A true JP2008527799A (ja) 2008-07-24
JP2008527799A5 JP2008527799A5 (ja) 2008-09-04
JP4746054B2 JP4746054B2 (ja) 2011-08-10

Family

ID=34978962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007549345A Expired - Fee Related JP4746054B2 (ja) 2004-12-31 2005-07-11 ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャ

Country Status (4)

Country Link
US (1) US8473617B2 (ja)
EP (1) EP1832080A1 (ja)
JP (1) JP4746054B2 (ja)
WO (1) WO2006073487A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515363A (ja) * 2006-12-27 2010-05-06 トゥルーポジション・インコーポレーテッド 無加入ワイヤレス・デバイス位置検出

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810222B1 (ko) * 2005-02-01 2008-03-07 삼성전자주식회사 셀룰러 기반의 푸쉬 투 토크에서 전 이중 통화 제공 방법및 시스템
KR100673514B1 (ko) * 2005-02-04 2007-01-24 주식회사 파이오링크 SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서
US8527661B1 (en) * 2005-03-09 2013-09-03 Oracle America, Inc. Gateway for connecting clients and servers utilizing remote direct memory access controls to separate data path from control path
US20060291487A1 (en) * 2005-06-24 2006-12-28 Aylus Networks, Inc. IMS networks with AVS sessions with multiple access networks
US7792528B2 (en) 2005-06-24 2010-09-07 Aylus Networks, Inc. Method and system for provisioning IMS networks with virtual service organizations having distinct service logic
US7724753B2 (en) 2005-06-24 2010-05-25 Aylus Networks, Inc. Digital home networks having a control point located on a wide area network
US7561535B2 (en) * 2005-06-24 2009-07-14 Aylus Networks, Inc. System and method for providing dynamic call models for users as function of the user environment in an IMS network
US20060291412A1 (en) 2005-06-24 2006-12-28 Naqvi Shamim A Associated device discovery in IMS networks
US20060291489A1 (en) * 2005-06-24 2006-12-28 Aylus Networks, Inc. System and method to mediate delivery of legacy, non-IMS services into an IMS network
US7864936B2 (en) * 2005-06-24 2011-01-04 Aylus Networks, Inc. Method of avoiding or minimizing cost of stateful connections between application servers and S-CSCF nodes in an IMS network with multiple domains
US7672297B2 (en) * 2005-06-24 2010-03-02 Aylus Networks, Inc. Mediation system and method for hybrid network including an IMS network
KR100882187B1 (ko) * 2005-07-14 2009-02-06 삼성전자주식회사 아이피 멀티미디어 서브시스템 기반의 음성패킷서비스제공을 위한 장치 및 방법
PL1911207T3 (pl) * 2005-08-05 2016-12-30 Sterowanie sprzętem multimedialnym z terminala mobilnego
US7961622B2 (en) * 2005-09-02 2011-06-14 Tekelec Methods, systems, and computer program products for monitoring and analyzing signaling messages associated with delivery of streaming media content to subscribers via a broadcast and multicast service (BCMCS)
CN1794722B (zh) * 2005-09-19 2010-05-05 华为技术有限公司 一种离线消息发送方法以及即时消息服务器
US7792253B2 (en) * 2005-10-27 2010-09-07 International Business Machines Corporation Communications involving devices having different communication modes
ATE556547T1 (de) * 2005-10-28 2012-05-15 Ericsson Telefon Ab L M Verfahren und vorrichtung für push-to-talk dienst
US8238939B2 (en) 2005-12-02 2012-08-07 At&T Mobility Ii Llc Multilayer correlation profiling engines
US8155696B2 (en) * 2005-12-02 2012-04-10 At&T Mobility Ii Llc Devices, systems and methods for scenario based services and intelligent user feedback
KR100811882B1 (ko) * 2005-12-08 2008-03-10 한국전자통신연구원 Parla y X 웹서비스를 이용한 멀티미디어 메시지서비스 방법 및 장치
KR100810759B1 (ko) * 2006-02-17 2008-03-07 엔에이치엔(주) P2p 파일 전송 시스템 및 방법
TW200733754A (en) * 2006-02-27 2007-09-01 Benq Corp Method for push-to-talk over cellular phonemobile communication devices
US9077721B2 (en) * 2006-03-21 2015-07-07 Telefonaktiebolaget L M Ericsson (Publ) Methods and apparatus for registering or deregistering a user to or from an IP multimedia subsystem
US8920343B2 (en) 2006-03-23 2014-12-30 Michael Edward Sabatino Apparatus for acquiring and processing of physiological auditory signals
JP2007257475A (ja) * 2006-03-24 2007-10-04 Seiko Epson Corp 情報処理システム、クライアント装置制御方法をコンピュータに実行させるためのプログラム
KR100925733B1 (ko) * 2006-04-21 2009-11-11 엘지전자 주식회사 무선통신 시스템의 정보 전달방법 및 이를 지원하는무선통신 단말기
US7813305B2 (en) * 2006-05-09 2010-10-12 Avaya Inc. Setting up a conference call with a hashed address
US7983201B2 (en) * 2006-05-09 2011-07-19 Avaya Inc. Coordinated invitations to a conference call
US9026117B2 (en) 2006-05-16 2015-05-05 Aylus Networks, Inc. Systems and methods for real-time cellular-to-internet video transfer
US8432899B2 (en) * 2007-02-22 2013-04-30 Aylus Networks, Inc. Systems and methods for enabling IP signaling in wireless networks
US8730945B2 (en) * 2006-05-16 2014-05-20 Aylus Networks, Inc. Systems and methods for using a recipient handset as a remote screen
US8611334B2 (en) * 2006-05-16 2013-12-17 Aylus Networks, Inc. Systems and methods for presenting multimedia objects in conjunction with voice calls from a circuit-switched network
WO2008003355A1 (en) * 2006-07-06 2008-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Method of transmitting a multimedia message over a network
EP2043307A4 (en) * 2006-07-14 2009-09-09 Huawei Tech Co Ltd PACKET NETWORK AND METHOD FOR REALIZING THIS NETWORK
KR101115955B1 (ko) * 2006-07-26 2012-03-08 엘지전자 주식회사 이동통신단말기의 메시지 실시간 재생방법 및이동통신단말기
US20090298514A1 (en) 2006-09-14 2009-12-03 Shah Ullah Real world behavior measurement using identifiers specific to mobile devices
US20080133327A1 (en) * 2006-09-14 2008-06-05 Shah Ullah Methods and systems for securing content played on mobile devices
US9445353B2 (en) 2006-09-14 2016-09-13 Omnitrail Technologies Inc. Presence platform for passive radio access network-to-radio access network device transition
EP2063617A4 (en) * 2006-10-05 2012-11-21 Fujitsu Ltd CALL CONNECTION PROCESSING AND MESSAGE TRANSMISSION AND RECEPTION PROXY DEVICE
CN101166129A (zh) * 2006-10-20 2008-04-23 华为技术有限公司 获取应用服务器标识信息的方法、终端、设备和系统
FI20060972A0 (fi) * 2006-11-03 2006-11-03 Nokia Corp Instuntopohjainen viestintä
TWI335178B (en) * 2006-12-20 2010-12-21 Asustek Comp Inc Apparatus, system and method for remotely opearting multimedia streaming
US8254288B2 (en) * 2006-12-21 2012-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Method and an arrangement for handling a service request in a multimedia network
US20080160906A1 (en) * 2006-12-28 2008-07-03 Motorola, Inc. Discrete media transfer progress status indication
DE102007002617B4 (de) * 2007-01-12 2014-04-10 Thinprint Gmbh Verfahren und Anordnung zur Verwaltung von Daten, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
KR100879541B1 (ko) * 2007-04-09 2009-01-22 삼성전자주식회사 듀얼 모드 휴대 단말기의 무선 통신 장치 및 방법
US7856226B2 (en) * 2007-04-17 2010-12-21 Aylus Networks, Inc. Systems and methods for IMS user sessions with dynamic service selection
US20080317010A1 (en) * 2007-06-22 2008-12-25 Aylus Networks, Inc. System and method for signaling optimization in ims services by using a service delivery platform
US8233401B2 (en) * 2007-08-13 2012-07-31 Cisco Technology, Inc. Using an IP registration to automate SIP registration
CN101370026B (zh) 2007-08-17 2011-05-18 华为技术有限公司 多媒体会话的媒体流增加方法和用户设备及应用服务器
CN101127766B (zh) * 2007-09-24 2010-06-09 中兴通讯股份有限公司 基于sip协议的消息处理方法、装置及ip通信系统
CN101150812A (zh) * 2007-10-22 2008-03-26 中兴通讯股份有限公司 一种实现ims业务的手机客户端系统及其方法
EP2061204B1 (en) 2007-11-16 2012-02-22 Alcatel Lucent Method of establishing an IMS-session
EP2061203A1 (en) * 2007-11-16 2009-05-20 Alcatel Lucent Method for establishing an IMS-session
EP2210400B1 (en) * 2007-11-16 2016-06-01 Telefonaktiebolaget LM Ericsson (publ) A method for event packet handling
US20090144438A1 (en) * 2007-11-30 2009-06-04 General Instrument Corporation Standards enabled media streaming
US7912969B2 (en) 2008-01-09 2011-03-22 International Business Machines Corporation Methods and apparatus for randomization of periodic behavior in communication network
US8503462B2 (en) * 2008-03-14 2013-08-06 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for remote access to a local network
US20110082942A1 (en) * 2008-05-28 2011-04-07 Panasonic Corporation Communication terminal device, communication control method, and communication control program
US8392561B1 (en) * 2008-06-20 2013-03-05 Arrayent, Inc. Wireless internet product system
WO2010025551A1 (en) * 2008-09-08 2010-03-11 Research In Motion Limited Apparatus and method for macro operation involving a plurality of session protocol transactions
US20100260174A1 (en) * 2009-04-09 2010-10-14 Research In Motion Limited Relay access node with separate control and transport signaling for session-based communications
US8958795B2 (en) * 2009-05-04 2015-02-17 Qualcomm Incorporated Proximity based access control
CN101997842B (zh) * 2009-08-11 2015-05-20 中兴通讯股份有限公司 大消息模式cpm消息传输方法及系统
US9614641B2 (en) * 2010-05-12 2017-04-04 Qualcomm Incorporated Resource coordination for peer-to-peer groups through distributed negotiation
US20120054045A1 (en) * 2010-08-26 2012-03-01 Cbs Interactive, Inc. Managing Media Playback
US20140181312A1 (en) * 2010-09-24 2014-06-26 Nexios It Systems and Methods for Peer-to-Peer IMS
US8935369B2 (en) * 2010-10-05 2015-01-13 International Business Machines Corporation Information technology for exchanging structural organizational information
KR101653162B1 (ko) * 2010-10-13 2016-09-01 삼성전자주식회사 메시지 통신을 통해 위젯 확장 기능을 제공하는 모바일 통신 단말기 및 상기 모바일 통신 단말기의 동작 방법
JP5229299B2 (ja) * 2010-10-26 2013-07-03 ブラザー工業株式会社 通信装置、通信方法、および通信プログラム
CN103270807B (zh) * 2010-12-23 2017-06-27 黑莓有限公司 针对ip多媒体子系统的卡工具箱支持
US8719926B2 (en) * 2011-02-11 2014-05-06 Verizon Patent And Licensing Inc. Denial of service detection and prevention using dialog level filtering
WO2012145817A1 (en) 2011-04-26 2012-11-01 Research In Motion Limited Transmission of the pdp content activation rejection cause codes to the uicc
US8516144B2 (en) 2011-04-29 2013-08-20 Cbs Interactive Inc. Startup bitrate in adaptive bitrate streaming
JP5107451B2 (ja) * 2011-05-13 2012-12-26 株式会社エヌ・ティ・ティ・ドコモ 移動通信方法及びアプリケーションサーバ装置
US9819700B2 (en) * 2011-05-30 2017-11-14 Telefonaktiebolaget Lm Ericsson (Publ) System and method for passive communication services
US8908531B2 (en) * 2011-08-25 2014-12-09 At&T Mobility Ii Llc Communication gateway for facilitating communications with a supervisory control and data aquisition system
WO2013052964A2 (en) * 2011-10-07 2013-04-11 Interop Technologies, Llc Non-ims rich communication suite
US20130238725A1 (en) * 2012-03-12 2013-09-12 Unisys Corporation Chat and notification services for a web-based conference collaboration tool
US8639253B2 (en) 2012-06-19 2014-01-28 Ecrio, Inc. Real-time communications client architecture
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9723091B1 (en) * 2012-11-09 2017-08-01 Noble Systems Corporation Variable length protocol using serialized payload with compression support
US20140258444A1 (en) * 2013-03-05 2014-09-11 Zyxel Communications, Inc. Network cloud communication for ip camera
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US10091251B2 (en) * 2013-04-04 2018-10-02 Nvidia Corporation Establishing communications
WO2014190094A1 (en) * 2013-05-21 2014-11-27 Ecrio, Inc. Real-time rich communications client architecture
US10205624B2 (en) 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9525718B2 (en) * 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
US20150006610A1 (en) * 2013-06-30 2015-01-01 Avaya Inc. Virtual web real-time communications (webrtc) gateways, and related methods, systems, and computer-readable media
US9065969B2 (en) 2013-06-30 2015-06-23 Avaya Inc. Scalable web real-time communications (WebRTC) media engines, and related methods, systems, and computer-readable media
US9112840B2 (en) 2013-07-17 2015-08-18 Avaya Inc. Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US10225212B2 (en) 2013-09-26 2019-03-05 Avaya Inc. Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
GB2520976A (en) * 2013-12-05 2015-06-10 Ibm Correct port identification in a network host connection
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
US10581927B2 (en) * 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US9912705B2 (en) 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
US9729588B2 (en) * 2014-10-31 2017-08-08 T-Mobile Usa, Inc. SPI handling between UE and P-CSCF in an IMS network
US9760501B2 (en) * 2014-11-05 2017-09-12 Google Inc. In-field smart device updates
US20160149836A1 (en) * 2014-11-26 2016-05-26 Ecrio, Inc. Communication and Messaging Architecture for Affiliated Real-Time Rich Communications Client Devices
US9742818B2 (en) * 2014-12-10 2017-08-22 Oracle International Corporation Pushing events to web pages used for interaction with applications
US10270903B2 (en) * 2015-08-21 2019-04-23 Avaya Inc. Failover announcements
US10153993B2 (en) 2016-07-18 2018-12-11 T-Mobile Usa, Inc. RCS origination forking
US10237212B2 (en) * 2016-07-18 2019-03-19 T-Mobile Usa, Inc. RCS origination forking
EP4233272A1 (en) * 2020-10-26 2023-08-30 Telefonaktiebolaget LM Ericsson (publ) Interactive calling for internet-of-things

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103898A1 (en) * 2001-01-31 2002-08-01 Moyer Stanley L. System and method for using session initiation protocol (SIP) to communicate with networked appliances

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001047248A2 (en) 1999-12-22 2001-06-28 Koninklijke Philips Electronics N.V. Remote delivery of multimedia content from consumer electronics devices
US7050861B1 (en) * 1999-12-22 2006-05-23 Nortel Networks Limited Controlling a destination terminal from an originating terminal
US6738390B1 (en) 2000-04-03 2004-05-18 Siemens Information & Communication Networks, Inc. SIP-H.323 gateway implementation to integrate SIP agents into the H.323 system
US7024461B1 (en) * 2000-04-28 2006-04-04 Nortel Networks Limited Session initiation protocol enabled set-top device
US20020078150A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited And Bell Canada Method of team member profile selection within a virtual team environment
US20020103850A1 (en) 2001-01-31 2002-08-01 Moyer Stanley L. System and method for out-sourcing the functionality of session initiation protocol (SIP) user agents to proxies
US20020120746A1 (en) * 2001-02-23 2002-08-29 Basavaraj Patil Method and system for providing a service
JP3569241B2 (ja) 2001-05-29 2004-09-22 松下電器産業株式会社 パケット受信装置及びパケット受信方法
US7590692B2 (en) * 2001-07-09 2009-09-15 Dialogic Corporation Conferencing architecture employing media servers and enhanced session initiation protocol
JP2005159431A (ja) 2003-11-20 2005-06-16 Nec Infrontia Corp シグナリング方法並びにサーバ及びゲートウェイ端末
JP2005286475A (ja) 2004-03-29 2005-10-13 Ntt Comware Corp ゲートウェイ装置および同装置における通信サービス接続方法ならびにプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103898A1 (en) * 2001-01-31 2002-08-01 Moyer Stanley L. System and method for using session initiation protocol (SIP) to communicate with networked appliances

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010515363A (ja) * 2006-12-27 2010-05-06 トゥルーポジション・インコーポレーテッド 無加入ワイヤレス・デバイス位置検出

Also Published As

Publication number Publication date
US20060155814A1 (en) 2006-07-13
WO2006073487A1 (en) 2006-07-13
EP1832080A1 (en) 2007-09-12
JP4746054B2 (ja) 2011-08-10
US8473617B2 (en) 2013-06-25

Similar Documents

Publication Publication Date Title
JP4746054B2 (ja) ネットワーク用通信デバイスのためのメディアクライアントのアーキテクチャ
JP2008527800A (ja) 通信ネットワークを介してメディアデバイスを遠隔制御する方法
KR101630653B1 (ko) 홈 네트워크상에서 호 송수신을 위한 시스템 및 방법
JP4875169B2 (ja) ホームネットワークに対するリモートアクセスのための方法及び装置
JP4467220B2 (ja) 音声インスタント・メッセージング
US7301913B2 (en) Transcoding arrangement in a session initiation
US6965614B1 (en) Method and system for communications between different types of devices
AU773805B2 (en) Internet protocol telephony voice/video message deposit and retrieval
TWI229527B (en) Apparatus and method for computer telephone integration in packet switched telephone networks
US20070198669A1 (en) Plug-and-play device for videophony applications on packet-switched networks
JP2008523662A (ja) 画像ベースのプッシュ・ツー・トークのユーザインタフェース向き画像交換方法
US7512118B1 (en) CODEC negotiation considering quality and costs
CA2660926A1 (en) A method and apparatus for interactively sharing video content
TW200427268A (en) Method and system for group communications
WO2009018755A1 (fr) Procédé de session multi-terminal, système de communication et dispositifs associés
WO2007019777A1 (fr) Méthode d’établissement de session et nœud de contrôle de session
US20080208993A1 (en) Method For Distributing New Services in an Internet Multimedia Subsystem (Ims), and a Node Adapted Therefore
CN101133616A (zh) 用于联网通信设备的媒体客户端体系结构
KR100514196B1 (ko) 네트웍 어드레스 변환 및 세션 관리 시스템 및 그 방법
KR100969458B1 (ko) 세션 설정 프로토콜을 이용한 멀티미디어 링백 서비스시스템 및 그 방법
JP2011029827A (ja) 呼制御装置、情報通信方法、情報通信プログラム、及び情報通信システム
US7688763B2 (en) Method for establishing a communication connection in a direct communication network
WO2011054318A1 (zh) 媒体会话协商的方法、设备及系统
KR100695393B1 (ko) 화상 통화 중 추가 멀티미디어 콘텐츠 제공 방법 및 그시스템
KR100682374B1 (ko) 화상 통화 중 대체 멀티미디어 콘텐츠 제공 방법 및 그시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110404

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: 20110422

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4746054

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees