説明

セッション開始プロトコルアダプタ

【課題】異なるセッション開始プロトコルを実装する個々のネットワークにおいて発呼側と着呼側との間で通信セッションを開始するためのニーズが存在し、SIPアダプタは異なるSIP標準を用いるネットワーク内のエンドポイント間でセッション情報を通信する上での技術的問題を解決する。
【解決手段】SIPアダプタがSIPメッセージのフォーマットを変更する。第1のフォーマット形式のSIPメッセージが、第1のフォーマットに基づきSIPアダプタにより第1のSIPサーバから受信される。SIPアダプタはSIPメッセージを第2のフォーマットに変更し、この変更済みSIPメッセージを第2のメッセージフォーマットに基づき第2のSIPサーバへ転送する。SIPアダプタはSIPメッセージを変更して、異なるSIPメッセージフォーマットを利用するSIPサーバのクライアント間で通信セッションを確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ネットワーク通信の分野に関し、より具体的には、異なるセッション開始プロトコルを実装する個々のネットワークにおける参加者間での通信セッションの開始に関する。
【背景技術】
【0002】
セッション開始プロトコル(SIP)とは、メッセージングネットワークなどの、インタネットプロトコル(IP)ネットワークにおいて2人(又はそれ以上)の参加者間で通信セッションを開始するために使用されるシグナリングプロトコルのことである。この通信セッションは、インターネット上の電話呼、インスタントメッセージング(IM)セッション、マルチメディア会議セッション、又は参加者間におけるその他の種類の通信行為であってもよい。参加者(発呼側及び着呼側)は、IMクライアントアプリケーションなどのコンピュータ上で実行するアプリケーション、或いはIP電話などの装置によってネットワークにインタフェース接続することができる。本明細書を通じて、特に指示しない限り、「発呼側」及び「着呼側」という用語は、クライアントアプリケーション、装置、又はその他のネットワーク通信のエンドポイントを意味するものとし、参加者自身を意味するものではない。「エンドポイント」という用語は、(単複の)ネットワーク内において或いは(単複の)ネットワーク間において参加者が相互に通信できるようにするクライアントアプリケーション、IP電話、又は任意のプログラム(ソフトウェアエンドポイント)、プログラムの組、装置(ハードウェアエンドポイント)又は装置の組などの1又はそれ以上のインタフェースを意味するものである。
【0003】
通信セッションの開始(「シグナリング」とも呼ばれる)段階中に、発呼側と、発呼側のネットワークに関連するSIPサーバとの間でSIPメッセージングがまず発生する。通信セッションを開始するために、発呼側はSIP招待メッセージ(SIP invitation message)をSIPサーバへ送信する。SIP招待メッセージには、通常、着呼側のアドレスと同時にセッション記述が含まれる。例えば、セッション記述は、予想されるセッションが、ボイス・オーバ・インターネット・プロトコル(VoIP)電話セッション、テレビ会議セッション又はその他の種類のメディアセッションであることを示すことができる。次に、SIPサーバは、着呼側へSIP招待メッセージを通信する。SIP招待メッセージには、SIPサーバを介する発呼側と着呼側との間のさらなるSIPメッセージングが後続する。このSIPメッセージングは、発呼側と着呼側に通信セッションの準備をさせるために使用する情報を提供するものである。
【0004】
SIPメッセージングは、着呼側のアドレス(例えば、IPアドレス)が正しいかどうか、また、着呼側が利用可能であるかどうかを確認することもできる。SIPメッセージングは、着呼側の一定のコンピュータリソース及び/又はネットワークリソースが通信セッションのために必要であり、通信セッションが行われようとしている場合には、これらリソースを予約すべきである旨を示すことができる。例えば、SIPメッセージングにより、通信セッションがテレビ会議セッションであることが示される場合、着呼側のコンピュータにおいてビデオアプリケーションがアクセス可能でありかつ実行可能であることが必要になる場合がある。更に、SIPメッセージングは、密接な通信交換を保証するためにメモリなどのコンピュータリソース及び/又はネットワークリソースをセッションに割り当てなければならない旨を示すことができる。着呼側がこの通信要件を満たすことができる場合、その旨を表示するSIPメッセージが着呼側からSIPサーバへ送信される。それに応じてSIPサーバは発呼側に通知を行う。セッションの開始後、セッション設定が変更されない限り、或いは発呼側又は着呼側によりセッションが終了されるまで、エンドポイントは、SIP又はSIPサーバを更に呼び出すことなく、IPなどのデータ指向プロトコルを介してデータ交換を行う。
【0005】
各種のSIP標準が存在する。例えば、インターネット技術タスクフォース(IETF)は、SIP標準としてRFC3261を指定している。RFC3261は、VoIP向けのシグナリングプロトコルとして広く用いられており、技術が進むにつれて進化し、拡張されてきている。特定のネットワークドメインをサポートするSIPサーバ向けにカスタマイズされたSIP標準のような他のSIP標準も存在する。例えば、Microsoft(登録商標)社は、広く使われているMicrosoft(登録商標)Office Communicator(MOC)のクライアントをサポートするためにカスタマイズされたSIPを利用する。MOCのSIPフィールドがRFC3261のSIPフィールドと異なるという理由で重要な問題が生じている。すなわち、MOCのSIPメッセージは、RFC3261ドメイン内では認識されず、またRFC3261のSIPメッセージは、MOCドメイン内では認識されない。従って、MOCドメイン内の参加者とRFC3621ドメイン内の参加者との間で通信セッションを確立することはできない。
【発明の開示】
【発明が解決しようとする課題】
【0006】
そこで、異なるセッション開始プロトコルを実装する個々のネットワークにおいて発呼側と着呼側との間で通信セッションを開始するためのニーズが存在する。SIPアダプタは、異なるSIP標準を用いるネットワーク内のエンドポイント間においてセッション情報を通信する上での技術的問題を解決するものである。
【課題を解決するための手段】
【0007】
セッション開始プロトコル(SIP)アダプタを開示する。1つの実施形態によれば、このSIPアダプタは、第1のSIPサーバから受信したSIPメッセージのフィールド内容を変更するように構成されたプロキシサーバを含むことにより、このSIPメッセージは、第2のSIPサーバのメッセージングフォーマットに従うようになり、その結果、第2のSIPサーバに認識されるようになる。変換プロトコルを実装して、第1のSIPサーバから受信したSIPメッセージを変更することにより、SIPメッセージを受信することになる第2のSIPサーバのドメインに、このSIPメッセージを一致させることができるようになる。この目的のために、変換プロトコルは、変換規則及び(メッセージ)フォーマット規則を含む、SIPサーバに関する情報がプログラムされたリポジトリにアクセスするステップを含むことができる。この規則は、SIPメッセージパラメータを特定のフォーマット、特性及び/又は行われるアクションに合致させるステップを含むことができる。更に、この規則は、SIPメッセージが第2のSIPサーバのメッセージングフォーマットにどのようにマッピングを行うかについて規定するものである。この規則は、パラメータの削除、挿入及び変更などの1又はそれ以上のパラメータに関して行われるアクションを定義することができる。このようにアクションを実行して、SIPメッセージの任意の側面を第2のSIPサーバのメッセージフォーマットに変換することができるようになる。
【0008】
変換プロトコルは、第2のSIPサーバが認識できないSIPメッセージから(メディアタイプなどの)パラメータを除去することができる。或いは、又はこれに加えて、変換プロトコルは、SIPメッセージの他の側面を変更して、メッセージが第2のSIPサーバのメッセージフォーマットに適合するようにすることができる。SIPメッセージを変更するために行うことができる様々な種類の変換がある。時には、1回の変換で十分な場合もある。別のときには、2回又はそれ以上の変換を行う場合もある。様々な種類の実行可能な変換には、SIPメッセージへのデータフィールドの追加及び/又はSIPメッセージからのデータフィールドの削除が含まれる。データフィールドを変換し、拡張及び/又は切り捨てることができる。データフィールドを他のデータフィールドの周りに追加し、短縮し及び/又は延長することもできる。データフィールドは、SIPメッセージの任意の部分又は一部に対応することができる。変換はまた、SIPメッセージの符号化フォーマットの変更、符号化の除去、又はその他の何らかのアクションの実行も含むことができる。
【0009】
したがって、特に異なるセッション開始プロトコルを実装する個々のネットワークにおいて発呼側と着呼側との間で通信セッションを開始することが望ましい。SIPアダプタは、異なるプラットフォーム上で動作する異なるSIPサーバ間の通信の信頼性をこのように大幅に改善する。更に、ネットワークトラフィックもまた、信頼性と同様に、ネットワークの速度及び効率を改善することができる。特にシステム要件の不一致に起因する不要なトラフィックを回避することにより、通信も強化される。
【0010】
1つのアダプタ実装構成において、SIPアダプタは、第2のSIPサーバによって認識されそうにないSIPメッセージからメディアタイプを除去することによりフィールド内容を変更する。除去されたメディアタイプは、他の任意のSIPメッセージの変更と同様、SIPアダプタのパラメータとして構成することが可能である。
【0011】
プロキシサーバは、アプリケーションプログラム、コンピュータ、コンピュータシステム、コンピュータ群,又は他の処理エンティティであってもよい。好ましい形態では、プロキシサーバは、インバウンドインタフェース、アウトバウンドインタフェース、コア、及びリポジトリを含む。インバウンドインタフェースは、第1のSIPサーバメッセージングフォーマットに従う第1のSIPサーバと通信する。アウトバウンドインタフェースは、第2のSIPサーバメッセージングフォーマットに従う第2のSIPサーバと通信する。コアは、第1のSIPサーバ及び/又は第2のSIPサーバから受信したSIPメッセージを変更し、それによって、メッセージを受信すべきSIPサーバのフォーマットに各メッセージを従わせる。リポジトリは、ユーザ名及びドメイン名を特定のSIPメッセージングフォーマット及びネットワークフォーマットにマッピングするための情報と、各ドメイン名に関連するSIPサーバを識別するための情報とを記憶する。
【0012】
1つの実施形態によれば、SIPアダプタは、第1のSIPサーバのメッセージングフォーマットを有する第1のSIPサーバ、及び第2のSIPサーバのメッセージングフォーマットを有する第2のSIPサーバと通信する。第1のSIPサーバは、第1のネットワークドメインと関連し、また第2のSIPサーバは、第2のネットワークドメインと関連する。第1のドメイン内のクライアント(発呼側)から送信されるSIPメッセージは、第1のSIPサーバが受信する。第1のSIPサーバは、データベースを参照して、目的とする受信者(着呼側)が、登録済みのuniform resource identifier(URI)を有しているかどうかを判定する。第1のSIPサーバは、例えば、(username@domain.comなどの)URIのユーザ名部分又はドメイン部分を用いて、データベースクエリーを実行することができる。着呼側が、第1のSIPサーバのドメイン内にあれば、このクエリーはその旨を示す情報を返す。この情報には、着呼側に通信するために用いることができる、着呼側に関連する追加の識別情報が含まれる。したがって、URIが登録されていれば、第1のSIPサーバがクライアントと受信者との間のSIPメッセージングを担うことになる。
【0013】
したがって、第1のSIPにおいて、SIPアダプタが必要であるかどうか、及び第1のSIPサーバを介して発呼側と着呼側との間に通信チャネルが確立されているかどうかを判定することが望ましい。
【0014】
URIが登録されていない場合、第1のSIPサーバは、SIPメッセージをSIPアダプタへ経路指定する。SIPアダプタは、SIPフィールドの内容を変更し、それによって、SIPメッセージが第2のSIPサーバのメッセージングフォーマットに従うようにする。一例として、SIPアダプタは、上述した変換プロトコルの任意の部分又は全てを実装することによりSIPメッセージを変更することができる。次に、SIPアダプタは、変更されたSIPメッセージを第2のSIPサーバへ転送する。SIPアダプタは、(第1のSIPサーバを介する)第1のドメイン内のクライアントと、(第2のSIPサーバを介した)第2のドメイン内の受信者との間の更なるSIPメッセージングのためのプロキシの役割を担うことになる。
【0015】
以下の図面及び詳細な説明の検証において、本発明の他のシステム、方法及び特徴が当業者には明らかになるであろう。これらの追加のシステム、方法、特徴及び利点が、全てこの説明の中に含まれ、本発明の範囲内に含まれ、また以下の請求項により保護されることが意図されている。
【0016】
本開示は、以下の図面及び説明を参照することでより一層に理解することができる。図中の構成要素は必ずしも縮尺通りではなく、代わりに本発明の原理を例示する際には強調表示が行われている。更に、図において、同一の参照番号は、異なる図面を通じて一致する部分又は要素を示すものとする。
【発明を実施するための最良の形態】
【0017】
図1は、異なるセッション開始プロトコル(SIP)を用いるメッセージング/ネットワークドメインを含む複数のメッセージング/ネットワークドメイン10を示す。第1のSIPサーバ(SIPX)14は、SIPXドメイン内のSIPメッセージを通信する。第2のSIPサーバ(SIPY)26は、SIPYドメイン内のSIPメッセージを通信する。本図では、SIPXドメイン内のメッセージのフォーマットは、SIPYドメイン内のメッセージのフォーマットと異なるものである。本明細書を通じて、メッセージング/ネットワークドメインとは、クライアントアプリケーション及びクライアントドメインを意味し、一方、SIPドメインとは、SIPサーバ及びクライアントが実装する(単複の)SIPメッセージングフォーマットを意味することを付記しておく。したがって、クライアント(発呼側又は着呼側)は、通常、メッセージング/ネットワークドメインとSIPドメイン双方の一部であることになる。本明細書を通じて、メッセージング/ネットワークドメインを単にメッセージングドメインと呼ぶ場合がある。
【0018】
クライアントA16及びクライアントB20は、メッセージングドメイン36及び12の各々におけるエンドポイントである。クライアント16及び20は、個々のメッセージングドメイン36、12内でSIPXドメイン固有のプロトコルを用いてSIPメッセージ18及び22を準備する。したがって、SIPxサーバ14は、クライアントA16とクライアントB20との間で通信セッションを正常に開始することができる。
【0019】
VoIP電話機128及びVoIP電話機232は、メッセージングドメイン24及び38の各々におけるエンドポイントである。電話機28及び32は、SIPYドメイン固有のプロトコルを用いて個々のメッセージングドメイン24、38内においてSIPメッセージ30及び34を準備する。したがって、SIPYサーバ26は、VoIP電話機128とVoIP電話機232との間で通信セッションを正常に開始することができる。しかしながら、SIPXドメインにおけるメッセージのフォーマットは、SIPYドメインにおけるメッセージのフォーマットと異なっているため、SIPXサーバ14とSIPYサーバ26のいずれも、クライアントA16又はクライアントB20と、VoIP電話機128又はVoIP電話機232との間で通信セッションを開始することはできない。
【0020】
図2は、SIPXドメイン104とSIPYドメイン108との両方におけるSIPサーバ間でSIPメッセージ106、110を通信するSIPアダプタを示す図である。SIPアダプタ102は、SIPXドメインメッセージのフォーマットを変更して、SIPYドメイン108に準拠させることができる。或いは、又はこれに加えて、SIPアダプタ102は、SIPYドメインメッセージのフォーマットを変更して、SIPXドメイン104に準拠させることができる。SIPアダプタ102は、SIPメッセージを変更すると共に、SIPX104及びSIPYドメイン108内のSIPサーバと通信して、エンドポイント(図示せず)間の通信セッションを開始する。通信セッションが開始されると、エンドポイントは、IP又は他のデータ指向プロトコル112を介して通信を行うことができる。SIPアダプタ102は、プロキシサーバ、及び/又はSIPメッセージを変更するように構成された他の種類のコンピュータ、回路、論理回路又はそれらの任意の組み合わせであってもよい。
【0021】
図3は、図1のSIPサーバ14及び26と通信するSIPアダプタ200を示す図である。図3は、図1に、SIPXドメイン214とSIPYドメイン212との間に、SIPXサーバ14及びSIPYサーバ26と通信するSIPアダプタ200を追加したものと同一のものである。SIPアダプタ200により、SIPXサーバ14及びSIPYサーバ26は、クライアントA16又はクライアントB20のいずれかと、VoIP電話機128又はVoIP電話機232のいずれかとの間の通信セッション、或いはSIPドメイン214又は212のいずれかにおける任意のエンドポイント間の通信セッションを開始できるようになる。例として、クライアントB20は、SIP招待メッセージ206をSIPXサーバ14へ送信することにより、VoIP電話機128とVoIP電話セッションを開始することができる。以下に説明するように、SIPXサーバ14は、SIP招待メッセージ206が、SIPXドメイン内の着呼側に対して意図されたものであるかどうかを判定する。この例では、SIPXサーバ14は、メッセージがSIPXドメイン内の着呼側に対して意図されたものではないと判定したため、このSIPXサーバ14は、SIP転送メッセージ202を用いてSIPアダプタ200にメッセージを通信する。SIPXサーバ14は、着呼側にサービスを提供するSIPアダプタを(例えば、イーサネット(登録商標)又はIPアドレスを使用して)識別するルーティング規則についてのライブラリを有するフィルター210を実装することができる。以下の表1は、フィルター210が実行することができるルーティングテーブルの例を示す表である。

【0022】
以下に説明するように、SIPアダプタ200は、着呼側の情報を利用して、SIP招待メッセージがSIPYドメイン212又は他の何らかのSIPドメイン内の着呼側に対して意図されたものであるかどうかを判定する。この例では、SIPアダプタ200は、SIP招待メッセージが、SIPYドメイン212内の着呼側に対して意図されたものであると判定する。SIPアダプタ200がメッセージのフォーマットを変更することにより、変更されたメッセージはSIPYドメイン212において認識可能となり、その後SIPアダプタ200は、変更されたメッセージ204をSIPYサーバ26に通信する。次に、SIPYサーバ26は、変更されたメッセージ208を着呼側であるVoIP電話機128に通信する。SIPダイアログは、SIPXサーバ14、SIPアダプタ200及びSIPYサーバ26を経由して、クライアントB20とVoIP電話機128との間で通信セッションの開始を継続することができる。
【0023】
図4は、異なるSIPメッセージフォーマット(異なるSIPドメイン)を有する2つのSIPサーバ、すなわちSIPXサーバ324及びSIPYサーバ326と通信するSIPアダプタ302を示す図である。SIPXサーバ324は、ネットワークA304内のユーザにサービスを提供し、またSIPYサーバ326は、ネットワークB306内のユーザにサービスを提供する。SIPアダプタ302は、追加のSIPサーバ(図示せず)にもサービスを提供することができる。
【0024】
インバウンド通信インタフェース308は、SIPXドメインメッセージを送受信するための論理回路を含む。例として、インタネットプロトコル参照モデルに従って実装されるトランスポート層においてSIPXドメインメッセージを通信することができる。1つの形態では、この論理回路は、トランスポート層において伝送制御プロトコル(TCP/IP)を用いてSIPメッセージを送受信するように構成される。一例として、Microsoft(登録商標)Office Live Communicationサーバ(LCS)は、TCP/IP層においてSIPメッセージを通信する。
【0025】
アウトバウンド通信インタフェース310は、SIPYドメインメッセージを送受信するための論理回路を含む。SIPYドメインメッセージもまた、インタネットプロトコル参照モデルに従って実装されるトランスポート層において通信することができる。1つの形態では、この論理回路は、トランスポート層においてユーザデータグラムプロトコル(UDP)を用いてSIPメッセージを送受信するように構成される。一例として、VoIP電話サーバは、UDP層においてSIPメッセージを通信することができる。
【0026】
低水準SIPサーバ312は、インバウンドインタフェース308と、アウトバウンドインタフェース310と、コア314との間の中間インタフェースとして機能する。この低水準SIPサーバ312は、インバウンドインタフェース308及びアウトバウンドインタフェース310で受信されたSIPメッセージを復号化し、SIPメッセージの形で搬送される変数及びパラメータを抽出し、SIPデータをコア314に提供する。この低水準SIPサーバ312はまた、変更されたSIPデータ構造をコア314から受信し、SIPメッセージを符号化し、この符号化されたSIPメッセージをインバウンドインタフェース308及びアウトバウンドインタフェース310へ送信する。1つの形態では、この低水準SIPサーバ312は、Java(登録商標) Specification Request(JSR)116仕様に従って開発されたBEA WebLogic(登録商標)SIPサーバである。
【0027】
コア314は、SIPメッセージをSIPXドメインからSIPYドメインへ及び/又はSIPYドメインからSIPXドメインへ変更する。1つの形態では、このコア314は、SIPメッセージのフォーマットを、SIPメッセージを受信するSIPサーバのドメインに従うように変更するための変換プロトコルを実装する。この変換プロトコルは、SIPサーバによって認識されない(メディアタイプなどの)パラメータを除去することができると共に、SIPメッセージの追加の又はその他の側面を変更することにより、メッセージがターゲットとするSIPフォーマットに従うようにすることができる。変換処理は、ユーザ名、ドメイン、IPアドレス、メディアタイプ、符号化データ、及びメディア初期化パラメータなどのSIPメッセージパラメータを変換することができる。任意の2つ(又はそれ以上)のSIPドメイン間で変更が行われる特定の態様は、レポジトリ322内で定義することができ、このレポジトリ322は、起点SIPフォーマットがターゲットとするSIPフォーマットにどのようにマッピングを行うかについて規定する、変換及びフォーマット規則などの規則(例えば、SIPXメッセージからSIPYメッセージに変換するためのパラメータの削除、挿入、又は変更を指定する変換規則など)を記憶するものである。
【0028】
或いは、又は上記のいずれかに加えて、変換プロトコルは、SIPメッセージの他の態様を変更することにより、このメッセージが第2のSIPサーバのメッセージングフォーマットに従うようにすることができる。SIPメッセージを変更するために実行することができる様々な種類の変換が存在する。時には、1回の変換で十分な場合もある。別のときには、2回又はそれ以上の変換を行う場合もある。様々な種類の変換には、SIPメッセージへのデータフィールド(すなわちSIPメッセージの任意の部分)の追加及び/又はSIPメッセージからのデータフィールドの削除が含まれる。データフィールドを変換し、拡張し及び/又は切り捨てることができる。データフィールドを他のデータフィールドの周りに追加し、短縮し及び/又は延ばすこともできる。変換はまた、SIPメッセージの符号化フォーマットの変更、符号化の除去、又はその他の何らかのアクションの実行も含むことができる。
【0029】
図5は、コア314が実行することができるプロトコル変換処理350の形態を示すフローチャートである。コア314は、SIPメッセージから第1のパラメータを取得し(352)、リポジトリ322から取得したデータに基づいて、パラメータを除去すべきであるかどうかを判定する(354)。パラメータを除去すべき場合、コア314はパラメータを除去し(356)、次に別のパラメータが存在するかどうかを判定する(372)。第1のパラメータを除去すべきでない場合、コア314は、パラメータ名を変更すべきかどうかを判定する(358)。変更すべき場合、SIPメッセージを受信することになっているSIPサーバのドメインに従ってパラメータ名が変更される(360)。
【0030】
コア314はまた、パラメータを変更する必要があるかどうかを判定する(362)。変更する必要がある場合、新しいパラメータ値が設定され(364)、コア314は、追加のパラメータが存在するかどうかを判定する(372)。パラメータを変更すべきでない場合、コア314は、パラメータがuniform resource identifier(URI)を含むかどうかを判定する(366)。パラメータがURIを含まない場合、コア314は、追加のパラメータが存在するかどうかを判定する(372)。パラメータがURIを含む場合、コア314は、以下に説明するように、ユーザ名(368)及び受信側SIPサーバに対するドメイン(370)を照合し、適合させる。コア314は、追加のパラメータが存在しなくなるまで(354〜374)を繰り返す(376)。
【0031】
コア314は、音声呼マネージャモジュール316、ビデオ呼マネージャモジュール318、及び/又はその他のモジュール320などの、特定の呼の種類に関連したSIPメッセージの管理専用モジュールを含む。これらの専用モジュールは、SIPメッセージに変更を加えて特定の種類の呼を使用可能にする。例えば、SIPXサーバ324により開始される音声呼は、音声呼用のSIPYサーバ326によって認識されるために、オーディオコーデックCy1に取って代わられる必要があるオーディオコーデックCxを指定することができる。しかしながら、ビデオ呼用のSIPYサーバ326によって認識されるためには、この同じオーディオコーデックCxはオーディオコーデックCy2に取って代わられることが必要になる場合がある。この例では、前者の適合は音声呼マネージャモジュール316により管理されるが、後者はビデオ呼マネージャモジュール318により管理される。
【0032】
コア314は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、個別論理回路、或いはこれらの組み合わせ及び/又はその他の種類の回路及び論理回路などのプロセッサであってもよい。
【0033】
上述のように、変更すべきSIPメッセージの特定の態様は、リポジトリ322内に記憶することができる。リポジトリ322は、SIPサーバであるSIPX324とSIPY326の一方又は両方のクライアントに関する、個々のクライアント向けのメッセージフォーマット規則を含む情報を記憶することができる。メッセージフォーマット規則は、着信メッセージを、属性及びとるべきアクションを示すリストに一致させるために使用するパラメータを含むことができる。このアクションは、属性を除去、変更、又は追加する必要があるかどうかを指示するものである。リポジトリ322は、各クライアントを特定の発呼線識別子(CLI)にマッピングするための情報などの追加の情報を記憶することができる。例えば、CLIは(「user@domain」の形で)クライアントのユーザIDを含むことができる。
【0034】
1つの形態では、リポジトリ322は、ユーザ/クライアントの識別情報を特定のSIPサーバにマッピングするテーブルを記憶することができる。下記の表2は、マッピングテーブルの例を示すものである。

【0035】
SIPアダプタ302は、リポジトリ322内のユーザ/クライアントの識別情報を参照して、変更されたSIPメッセージを受信することになっているSIPサーバを位置決めする。
【0036】
例えば、SIPアダプタ302は、オプションとしてノースバウンドインタフェース328を含み、保証、プロビジョニング及びプレゼンス情報などを提供する外部システムとの統合を管理することができる。
【0037】
図6は、図4に関連して説明したような、SIPアダプタ302を含むサーバネットワーク402を有するネットワークシナリオ400を示す図である。SIPアダプタ302は、図4に示した構成以外の構成を有することができる。
【0038】
ネットワークシナリオ400は、SIPXサーバ324がサービスを提供するクライアントを含むユーザネットワーク404と、SIPYサーバ326がサービスを提供するクライアントを含むユーザネットワーク406及び408とを含む。SIPXサーバ324及びSIPYサーバ326は、SIPメッセージ424(a)及び424(b)をユーザネットワーク404及び408に各々通信する。例示の形態では、SIPYサーバ326はまた、統合サービスデジタル網(ISDN)のユーザメッセージをユーザネットワーク406に通信する。例として、ユーザネットワーク404はMicrosoft(登録商標)Office Communicatorなどの統合型企業向けアプリケーションであり、ユーザネットワーク406は公衆交換電話網(PSTN)であり、ユーザネットワーク408はVoIPネットワークであってもよい。
【0039】
1つの形態では、SIPYサーバはソフトスイッチとして機能し、RFC3261標準のインタフェースを実装し、メディアゲートウェイコントローラ機能及びシグナリングゲートウエイ機能を含む。メディアゲートウェイコントローラ機能とは、メディアゲートウェイ及びPSTN406上の音声呼を制御するものである。1つの形態では、このメディアゲートウェイコントローラ機能は、メディアゲートウェイ制御プロトコル(MGCP)を実装してPSTN406音声呼を制御する。
【0040】
例示の形態では、SIPYサーバ326は、メディアゲートウェイ412を備えたルータ410と通信して、回線網とパケット網との間で相互作用を行う。MGCP414、H.248プロトコル又はその他のシグナリングプロトコルを介して、SIPYサーバ326のメディアゲートウェイコントローラ機能によって、このメディアゲートウェイ412を制御することができる。
【0041】
セッションダイレクタ(SD)416は、VoIPネットワーク408をキャリアネットワーク418から分離するゲートウェイである。SD416は、VoIPネットワーク408用のネットワークアドレス変換(NATing)を管理し、SIPメッセージのNAT越えを実行し、オーディオ及びビデオパケット用のリアルタイム転送プロトコル(RTP)420を実装する。
【0042】
図7は、異なるSIPドメイン506及び508内の発呼側502と着呼側504との間における図4のSIPアダプタ302を介するSIPメッセージング500を示す図である。SIPドメイン506及び508は、それらの各々のSIPサーバによりサービスを受けている。SIPXドメイン506はSIPXサーバ324によりサービスを受け、SIPYドメイン508はSIPYサーバ326によりサービスを受けている。
【0043】
発呼側502と着呼側504との間の呼を開始するために、発呼側502は、SIP開始メッセージ(1)をSIPXサーバ324へ送信する。例示的なSIP開始メッセージを以下の表3に示す。

【0044】
「招待」フィールドは、着呼側を識別するための着呼側URIを含む。「発信元」フィールドは、発呼側を識別するための発呼側URIを含む。「宛先」フィードは、着呼側と連絡をとるための連絡先アドレスを含む。着呼側の識別情報が着呼側の連絡先アドレスと異なる場合、及び/又は、着呼側が複数の連絡先アドレスを有する場合など、場合によっては、この連絡先アドレスは着呼側のURIと異なるものであってもよい。一般に、識別子としてのURIは、ドメイン名を伴うか、或いは伴わないユーザ名であるか、若しくは電話番号(例えば、01122334455)である。
【0045】
SIPXサーバ324は、発呼側メッセージ(1)を受信し、レジストラデータベース510を参照する。このレジストラデータベース510は、(図のように)SIPサーバ内部に統合するか、又は外部に統合することができる。レジストラデータベース510は、ネットワークA304内に(及び、SIPXサーバ324によりサービスを受けているその他の任意のネットワーク内に)登録されているユーザのリストを有する。レジストラデータベース510はまた、個々の登録ユーザに対する少なくとも1つの連絡先アドレスも含む。
【0046】
SIPXサーバ324は、例えば、着呼側のURIのユーザ名の部分又はドメインの部分を用いて、データベースクエリーを実行することができる。着呼側がSIPXサーバ324のドメイン内にある場合、クエリーはその旨を示す情報を返す。この情報には、着呼側との通信に使用される着呼側に関する追加の識別情報が含まれる。従って、URIが登録されている場合、SIPXサーバ324が発呼側と着呼側との間のSIPメッセージングを担うことになる。
【0047】
「内容」フィールドは、メディアセッションを開始するために必要なメディアパラメータを含む。例えば、メディアパラメータは、発呼側がサポートするコーデックのリストを示すことができる。コーデックは、IPネットワーク上で(音声データ又はビデオデータなどの)メディアフローを圧縮し、転送するために使用されるアルゴリズムである。コーデックの例としては、国際電気通信連合によりサポートされるG.711及びG.729標準がある。コーデックは、発呼側502及び着呼側504がメディアセッションのための共通コーデックを選択できるように招待メッセージ内に含まれている。選択されたコーデックは、発呼側502と着呼側504の両方によりサポートされるようになる。
【0048】
ユーザが、SIPXサーバ324によりサービスを受けているネットワークに登録されていないか、及び/又は属していない場合、SIPXサーバ324は、SIP開始メッセージ(1)をSIPアダプタ302へ経路指定し、SIPフィールドを操作する。転送されたSIPメッセージ(2)は、通常、SIP開始メッセージ(1)と同一であるが、必ずしも同一である必要はない。表4は、SIPアダプタ302に送信されたSIPメッセージ内のSIPフィールドの例を示している。この例では、招待フィールド内のドメイン名は、レジストラデータベース510から取り出された情報に基づいて、SIP.abc.comから192.156.0.60に変更されている。

【0049】
SIPアダプタ302は、招待メッセージ内の特定のURI(「招待」、「発信元」、及び「宛先」フィールド)を着呼側ネットワーク(ネットワークB306)内及びSIPYドメイン508内で認識可能なパラメータに変更する。表5は、SIPアダプタ302によって変更されたフィールドの例を示している。

【0050】
この例では、ネットワークA304内で有効なアドレス及び論理名を置き換えて、ユーザ名フィールドとドメインフィールドの両方が、ネットワークB306内で認識可能なフォーマットに変更されている。ドメインアドレスはネットワークに属しているため、それぞれのネットワーク要件に合致するように変更される。 この例では、ドメインアドレスがネットワークB306の要件に合致するように変更される。一方、ユーザ名はSIPドメインに属しているため、これらはSIPYドメイン508に合致するように変更される。表5はまた、「発信元」フィールド内のユーザ識別子を、SIPXドメイン506内でのみ有効である論理名からSIPYドメイン508内で有効な電話番号に変更する例も示している。リポジトリ322は、ネットワークA304とネットワークB306との間で招待メッセージのURIを変更するための規則を記憶する。リポジトリ322は、2つのネットワーク間でSIPメッセージの変換をサポートするために必要な全ての規則を用いてプログラムされることが理想的である。従って、URIはSIPアダプタ302により変更されて、ネットワークB306内の招待メッセージを正しくルーティングできるようになる。リポジトリ322が、対応する変更規則を含まない場合、URI及び/又はパラメータは変更されないことになる。
【0051】
SIPアダプタ302はまた、SIPメッセージのSDPの内容も変更して、SIPYサーバ326が受け入れるSDPフォーマットに従う変更済みSIPメッセージを提供する。SIPメッセージのSDP部分からいくつかのメディアタイプを除去するか、及び/又は、図5に関して上述したようにその他の変更を行うことができる。SIPメッセージの変更後、SIPアダプタ302は、開始メッセージ(3)をSIPYサーバ326へ経路指定する。(4)において、SIPYサーバ326は、内部ルーティングテーブルに基づいて、(SIPアダプタ302において適合されたことよりSIPYサーバ326によって理解される)変更済みSIPメッセージを着呼側504へ転送する。
【0052】
図8は、発呼側と着呼側との間の通信セッションを開始するために、サーバネットワークが実行することができる処理フロー600を示す図である。SIPサーバは、クライアントからSIPメッセージを受信する(602)。SIPメッセージは、着呼側と通信セッションを確立するために送信される。SIPサーバは、「招待」フィールド及び「宛先」フィールド内で指定される着呼側のSIPのURIを参照して、着呼側が登録されているかどうか(604)、すなわち、着呼側が現存しており、かつそのドメイン内でSIP呼を受信できるかどうかを判定する。着呼側が登録されていれば、SIPサーバはSIPメッセージを着呼側へ通信する(606)。
【0053】
着呼側が登録されていなければ、SIPサーバはSIPメッセージをSIPアダプタへ経路指定する(608)。SIPアダプタは、SIPメッセージを受信し、着呼側ドメインに基づいて、メッセージフォーマット規則用のリポジトリを参照する(610)。SIPアダプタは、メッセージフォーマット規則に基づいてSIPメッセージを変更し、その結果、着呼側ドメインのSIPサーバによりSIPメッセージを認識できるようになる(612)。変更処理の例を図5に示す。SIPアダプタは、変更済みSIPメッセージを着呼側のSIPサーバへ通信し、このSIPサーバは、上記変更済みSIPメッセージを着呼側へ通信する(614)。SIPメッセージングは、発呼側SIPサーバと着呼側SIPサーバとの間でSIPメッセージを変更するSIPアダプタを用いて、通信セッションを確立できるまで継続する(616)。通信セッションが確立されると、発呼側及び着呼側は、IP又はその他のプロトコルを用いて直接メディアデータを通信するようになる(618)。
【0054】
上記説明した特定の実施構成にかかわらず、上記説明の全ては、本発明を限定するものではなく、事実上例示的なものである。例えば、選択した態様、機能、又は構成要素は、サーバ内で実施するように示してはいるが、SIPアダプタに従うシステム及び方法の全て又は一部は、機械により読み込み可能な他の媒体、例えば、ハードディスク、フロッピー(登録商標)ディスク、及びCD−ROMなどの2次記憶装置、ネットワークから受信される信号、又は、現在知られている、或いは今後開発されるその他の形式のROM又はRAM上に記憶し、配信し、又は読み込むことができるものである。
【0055】
上記の論理は、同じか、或いは異なるスレッド、ファイバ又は処理内のコード及びデータを構成するその他の方法の中に存在するものであってもよい。更に、ある種の論理は、関数呼び出し機能を通じて相互に作用できるものであるが、メッセージパッシング、ミューテックス又はセマフォー型システムを含むか、或いは他の通信技術によって他の通信方法も実現可能である。
【0056】
システムの特定の構成要素は、追加の又は異なる構成要素を含むことができる。サーバは、マイクロプロセッサ、マイクロコントローラ、DSP、特定用途向け集積回路(ASIC)、個別論理回路、或いはその他の形式の回路又は論理回路の組み合わせとして実装することができる。同様に、メモリは、DRAM、SRAM、Flash又はその他の任意の種類のメモリであってもよい。システムの処理能力は、複数の分散処理システムを任意に含む、複数のプロセッサ及びメモリなどの複数のシステムコンポーネントの間で分散することができる。パラメータ、データベース、及びその他のデータ構造は、別個に保存及び管理し、単一のメモリ又はデータベースに組み入れ、多くの異なる方法で論理的及び物理的に体系化し、リンク化したリスト、ハッシュテーブル、又は間接的な保存メカニズムなどのデータ構造を含む多くの方法で実装することができる。プログラム及び規則セットは、単一のプログラム又は規則セット、個別のプログラム又は規則セットの一部であってもよく、これらを複数のメモリ又はプロセッサにわたって配信することができる。
【0057】
したがって、前述の詳細な説明は、本発明を限定するものではなく例示的なものであると考えること、並びに、本発明の思想及び範囲を定義するように意図されるものは、全ての同等物を含む以下の請求項であると理解されるように意図するものである。
【図面の簡単な説明】
【0058】
【図1】(従来技術)異なるセッション開始プロトコル(SIP)を用いた少なくとも2つのメッセージングドメインを含む複数のメッセージングドメインを示す図である。
【図2】異なるSIPメッセージフォーマットを実現する2つのSIPドメインと通信するSIPアダプタを示す図である。
【図3】図1のSIPサーバと通信するSIPアダプタを示す図である。
【図4】異なるSIPメッセージフォーマットを有する2つのSIPドメインと通信するSIPアダプタの態様を示す図である。
【図5】SIPメッセージ内のフィールドを変更するためにSIPアダプタが実行することができるプロトコル変換処理の形態を示すフロー図である。
【図6】SIPアダプタを有するサーバネットワークを示す図である。
【図7】異なるSIPドメインにおける発呼側と着呼側との間のSIPアダプタを通じたSIPメッセージングを示す図である。
【図8】発呼側と着呼側との間の通信セッションを開始するためにサーバネットワークがとることができる行為を示す。

【特許請求の範囲】
【請求項1】
第1のメッセージングドメインのフォーマットに従うセッション開始メッセージを受信するステップと、
前記セッション開始メッセージを、第2のメッセージングドメインフォーマットに従うように変更するステップとを含む、コンピュータで実行される方法。
【請求項2】
前記セッション開始メッセージを変更するために、変換プロトコルにアクセスするステップを含む、請求項1に記載の方法。
【請求項3】
前記第1のメッセージングドメインのフォーマットは、第1のSIPサーバが実装する第1のセッション開始プロトコル(SIP)フォーマットであり、前記第2のメッセージングドメインのフォーマットは、第2のSIPサーバが実装する第2のSIPフォーマットである、請求項1又は2に記載の方法。
【請求項4】
前記セッション開始メッセージのパラメータを変更するステップを含む、請求項1〜3の何れか1項に記載の方法。
【請求項5】
前記セッション開始メッセージのパラメータを除去するステップを含む、請求項1〜4の何れか1項に記載の方法。
【請求項6】
前記セッション開始メッセージを変更するステップは、識別子フィールドを変更するステップを含む、請求項1〜5の何れか1項に記載の方法。
【請求項7】
前記第1のメッセージングドメインのフォーマットは、統合型企業向けドメインの形で存在し、かつ前記第2のメッセージングドメインのフォーマットは、ボイス・オーバ・インターネット・プロトコル(VoIP)のドメインの形で存在する、請求項1〜6の何れか1項に記載の方法。
【請求項8】
前記セッション開始メッセージを変更するステップは、ドメイン名を前記第2のメッセージングドメインのフォーマットにマッピングするデータベースから取り出した情報に基づくものである、請求項1〜7の何れか1項に記載の方法。
【請求項9】
変更済みセッション開始メッセージをプロキシサーバへ通信するステップを含む、請求項1〜8の何れか1項に記載の方法。
【請求項10】
上記請求項1〜9の1つ以上に記載の方法を実行するために、プロセッサ実行可能な命令を有するコンピュータ読み出し可能な記憶媒体。
【請求項11】
第1のメッセージングドメインのフォーマットに従うセッション開始プロトコルメッセージを受信するインタフェースと、
前記セッション開始プロトコルメッセージを、第2のメッセージングドメインのフォーマットに従うように変更するプロセッサとを備えた装置。
【請求項12】
少なくとも1つのフォーマット規則にマッピングされた少なくとも1つのクライアントドメイン名を有するデータベースを更に備え、
前記プロセッサは、前記フォーマット規則に従って前記セッション開始プロトコルメッセージを変更する、請求項11記載の装置。
【請求項13】
前記セッション開始プロトコルメッセージを第1のセッション開始プロトコルサーバから受信する第1のインタフェースと、
変更済みセッション開始プロトコルメッセージを第2のセッション開始プロトコルサーバへ通信する第2のインタフェースとをさらに備えた請求項11又は12記載の装置。
【請求項14】
前記プロセッサは、プロトコル変換処理を実行して前記セッション開始プロトコルメッセージのパラメータを変更する、請求項11〜13の何れか1項に記載の装置。
【請求項15】
前記プロセッサと通信する第1のセッション開始プロトコルサーバと、
前記プロセッサと通信する第2のセッション開始プロトコルサーバと、
を更に備え、
前記第1のセッション開始プロトコルサーバ及び前記第2のセッション開始プロトコルサーバは異なるメッセージフォーマットを実装する、請求項11〜14の何れか1項に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−5373(P2009−5373A)
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−186527(P2008−186527)
【出願日】平成20年6月20日(2008.6.20)
【出願人】(504051087)アクセンチュア グローバル サーヴィシズ ゲゼルシャフト ミット ベシュレンクテル ハフツング (17)
【Fターム(参考)】