(57)【特許請求の範囲】
【請求項１】
通信システムの機能レイヤ間、および該通信システムと所定のシグナリングプロトコルに従って通信する１以上の外部通信システムまたは装置との間での、標準化された対話的呼処理通信のためのユニバーサルアプリケーションプログラムインタフェース（ＡＰＩ）（８１０）において、 前記通信システムはラインカード（１１４）および機能カード（１１６）を有する通信交換機（１１０）を含み、 前記ラインカードは前記複数の外部通信システムおよび装置に接続するための複数のポートを有し、 前記ユニバーサルアプリケーションプログラムインタフェースが、
（Ａ）前記通信交換機の機能レイヤ間のメッセージの形式で、ホスト（８１０）から前記通信交換機（８２０、８３０）へ、および前記通信交換機から前記外部通信システムおよび装置に接続されたポート（８４０）へ、呼制御処理コマンドおよびデータを通信する手段（１１２）を有し、該手段が、
（１）プロトコル固有データをユニバーサルアプリケーションプログラムインタフェース・メッセージフォーマット（４００）に変換する手段（７１０）であって、ネットワークシグナリングメッセージを第１のプロトコルを用いる外部システムから前記通信交換機内のローカルオブジェクト（７２０）へ送信する手段を有する、手段（７１０）、
（２）入ネットワークシグナリングメッセージ内のフォーマットフィールドをチェックし、前記メッセージがユニバーサルＡＰＩフォーマットであるかを判定するための手段、
（３）前記メッセージが前記ユニバーサルＡＰＩフォーマットのものである場合、前記メッセージを、第２のリモードオブジェクト（７６０）へ、そして宛先リモートオブジェクト（７８０）へ更に送信するために、出発リモートオブジェクト（７５０）に転送する手段、及び
（４）前記メッセージがユニバーサルＡＰＩフォーマットとは異なるフォーマットであると判定された場合、前記ユニバーサルＡＰＩフォーマットへの変換のためのレイヤに関連する第３のリモートオブジェクト（７７０）へ前記メッセージを送信し、意図された宛先リモートオブジェクト（７８０）へその後に送信するために前記メッセージを第２の出発リモートオブジェクト（７６０）へ転送する手段
を含み、
レイヤに入ってくるデータのタイプを規定するタグフィールド（４０２）、データ構造体の長さを指定する長さフィールド（４０４）、および各データ構造体にデータ情報を格納するための値フィールド（４０６）を有するユニバーサルデータ構造体を含む汎用メッセージングフォーマット（４００）を有することを特徴とするユニバーサルアプリケーションプログラムインタフェース。
【請求項２】
前記外部通信システム（７２０、７４０）の１つからの、所定のネットワークシグナリングプロトコルによる入メッセージを、前記ユニバーサルデータ構造体を利用した前記汎用メッセージングフォーマットに変換する手段をさらに有することを特徴とする請求項１記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項３】
前記ユニバーサルデータ構造体は被呼者番号を表し、前記タグフィールドは前記データ構造体が被呼者番号を含むことを示すことを特徴とする請求項１記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項４】
前記値フィールドは、番号タイプ、番号方式識別子、ディジット数、および番号を含むディジット自体を表す情報を有するデータを含むことを特徴とする請求項３記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項５】
前記番号タイプフィールドは、前記被呼者番号が国際番号であることを指定する情報（５０６ｃ）を含むことを特徴とする請求項４記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項６】
前記番号タイプフィールドは、前記被呼者番号がネットワーク固有番号であることを指定する情報（５０６ｅ）を含むことを特徴とする請求項４記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項７】
前記番号タイプフィールドは加入者番号（５０６ｆ）も含むことを特徴とする請求項４記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項８】
前記番号タイプフィールドは、前記番号が省略番号であることを指定する情報（５０６ｇ）を含むことを特徴とする請求項４記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項９】
前記番号方式識別子フィールドは、ＩＳＤＮ（５０８ａ）、データ（５０８ｂ）、テレックス（５０８ｃ）、国内標準（５０８ｄ）およびプライベート（５０８ｅ）のうちの１つを示すことを特徴とする請求項４記載のユニバーサルアプリケーションプログラムインタフェース。
【請求項１０】
ソースプロトコル固有データを送信する外部処理ソースと、通信交換機（１１０）のアプリケーションレイヤとの間の通信方法において、前記交換機は第１メモリバッファを含むメモリ記憶装置を有し、前記方法が、
（Ａ）前記第１メモリバッファ内に入データのためにメモリ空間を割り当てるステップ、
（Ｂ）割り当てられたメモリ空間を初期化するステップ、
（Ｃ）ソースプロトコル固有データを初期化されたメモリにコピーするステップ、
（Ｄ）前記ソースプロトコル固有データをユニバーサルアプリケーションプログラムインタフェース（ＡＰＩ）メッセージフォーマットに変換するステップ、
（１）ネットワークシグナリングメッセージを、前記交換機において第１のプロトコルを用いる前記外部処理ソースからローカルオブジェクト（７２０）へ送信するステップ、
（２）前記ネットワークシグナリングメッセージがユニバーサルＡＰＩフォーマットであるかを判定するために、前記外部処理ソースから入ってくる前記ネットワークシグナリングメッセージのフォーマットフィールドをチェックするステップ、
（３）前記ネットワークシグナリングメッセージがユニバーサルＡＰＩフォーマットでないと判定すると、前記メッセージを前記ユニバーサルＡＰＩフォーマットへの変換のために第２のローカルオブジェクト（７４０）へ転送するステップ、
（４）前記ユニバーサルＡＰＩフォーマットの前記メッセージを、変換された前記メッセージの宛先レイヤであるアプリケーションレイヤに関連するリモートオブジェクト（７５０）へ送信するステップ、及び
（５）前記リモートオブジェクトにおいて、意図された前記宛先レイヤに関連するリモートオブジェクト（７８０）で実行されているアプリケーションが、前記ユニバーサルＡＰＩメッセージフォーマットを理解する能力があるか否かを判定するステップ、
（Ｅ）前記意図された宛先レイヤに関連するリモートオブジェクト（７８０）において実行されているアプリケーションが前記ユニバーサルＡＰＩメッセージフォーマットを理解する能力がないと判定すると、前記ユニバーサルＡＰＩメッセージフォーマットを、第２のネットワークプロトコルのものである前記意図された宛先レイヤに関連するリモートオブジェクト（７８０）で使用される前記ネットワークシグナリングプロトコルに変換するために前記メッセージを第３のリモートオブジェクト（７７０）へ転送し、変換後に、前記第２のネットワークプロトコルの前記メッセージを前記宛先レイヤに関連するリモートオブジェクト（７８０）に送信するステップ、並びに
（Ｆ）前記宛先レイヤが前記ユニバーサルＡＰＩメッセージフォーマットを理解する能力があると判定すると、前記ユニバーサルＡＰＩメッセージフォーマットの前記メッセージを前記宛先レイヤに関連するリモートオブジェクト（７８０）へ送信するステップ
を有することを特徴とする通信方法。
【請求項１１】
前記プロトコル固有データをユニバーサルメッセージングフォーマット（４００）に変換するステップであって、前記データからタグフィールド（４０２）、長さフィールド（４０４）および値フィールド（４０６）を含むデータ構造体を形成するステップを含むことを特徴とする請求項１０記載の方法。
【請求項１２】
前記プロトコル固有データは被呼者番号を含み、前記データを変換するステップは、番号タイプ、番号方式識別子、番号を含むディジットの数および番号を含むディジット自体を含むデータ構造体を前記値フィールドとして使用して、前記データをユニバーサルメッセージフォーマット（４００）に翻訳することを含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記番号タイプフィールドにおいて、国際番号ルーティング表示、逆課金があるかどうかを示す表示および国際番号自体を指定する情報（それぞれ５０６ａ、５０６ｂおよび５０６ｃ）を通信するステップをさらに有することを特徴とする請求項１２記載の方法。
【請求項１４】
前記番号タイプフィールドとして、番号が国内番号であるかどうかを指定する情報（５０６ｄ）を通信するステップをさらに有することを特徴とする請求項１３記載の方法。
【請求項１５】
前記番号タイプフィールドにおいて、ネットワーク固有番号を指定する情報（５０６ｅ）を通信するステップをさらに有することを特徴とする請求項１４記載の方法。
【請求項１６】
前記番号タイプフィールドにおいて、加入者番号（５０６ｆ）および省略番号（５０６ｇ）のうちの少なくとも一方を通信するステップをさらに有することを特徴とする請求項１５記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に通信の分野に関し、特に、さまざまなネットワークシグナリングプロトコルを、標準化されたプロトコルに翻訳するためのユニバーサルなアプリケーションプログラミングインタフェース（ＡＰＩ）に関する。
【０００２】
【従来の技術】
プログラム可能（プログラマブル）な通信交換機（スイッチ）は、音声メッセージング、テレマーケティングサービスなどのような広範なアプリケーションで用いられている。プログラマブル交換機は通常、ホスト装置（これは通常、通信アプリケーションプログラムを実行するコンピュータである）によって制御される。顧客は、ホストおよび交換機ハードウェアと互換性のある市販のアプリケーションプログラムを購入することも可能であるし、あるいは、カスタムプログラムを書くことを選択することも可能である。
【０００３】
ほとんどのアプリケーションでは、交換機は、複数のポートをもつラインカードを有する。各ラインカードは、ＰＳＴＮトランクのような他の装置に接続される１つまたは複数のアナログトランクあるいはディジタルスパン（例えば、Ｔ１スパン）を終端する。また、ラインカードは、電話機のような装置に接続される１つまたは複数の「ライン」も終端することが可能である。交換機はまた、システム内のあるポートで受ける呼を別のポートへと交換（スイッチング）するための、交換機／マトリクスカードおよび少なくとも２個のシステムバスを有する。これらのバスの一方は、ラインカードからマトリクスカードへメッセージを渡す入バスであり、他方は、マトリクスカードからラインカードへメッセージを送信する出バスである。与えられたトランク、スパンあるいはラインを通じての通信は、割り当てられたシグナリングプロトコルに従って実行される。
【０００４】
通信システム内の交換機どうしは、ノード間スイッチングネットワークによって相互接続される。「ホストネットワーク」という第２のネットワークが、交換機と、監視制御用のホストコンピュータとの間を相互接続する。ホスト、交換機およびラインカードはそれぞれ、システムの当該レベルにおける呼を処理するソフトウェアプロトコルアプリケーションを有する。具体的には、ホスト内のレイヤ５（Ｌ５）プロトコルアプリケーションは、ホストレベルで呼を管理する。交換機内のレイヤ４（Ｌ４）プロトコルアプリケーションは、交換機レベルで呼を管理する。ラインカード内のレイヤ３（Ｌ３）プロトコルアプリケーションは、システムのラインカードレベルで呼を処理する。
【０００５】
さまざまなスイッチングシステムアプリケーションに応じて、必要なプロトコルに従って、スイッチングイベントの順序を制御しなければならず、また、スイッチング機能を実行しなければならない。世界中で、Ｅ＆Ｍウィンクスタート、ループスタート、グランドスタート、ＭＦＲ２アドレスシグナリングを用いた国際強制Ｒ２、および、ＤＴＭＦ／ＭＦＲ１シグナリングを用いたＥ１個別線シグナリング（ＣＡＳ：Channel Associated Signaling）プロトコルなどの多くの「標準」シグナリングプロトコルが使用されている。一般に、従来のプログラマブル交換機は、特定のトランク、スパンあるいはラインに特定のシグナリングプロトコルが対応するように、設定される。
【０００６】
上記のシステムは通常、より大きな通信ネットワーク内の他の通信システムに接続される。ラインカード内の各Ｌ３アプリケーションは、パケットやフレームのような単位で、下位のネットワークシグナリングメッセージを受信し、これらの単位をＬ４アプリケーションに送信する。Ｌ３アプリケーションに入るメッセージは、そのメッセージが発信または着信するネットワーク上のそれぞれのシステムに対応する特定のプロトコルに従って構造化されている。このため、Ｌ４アプリケーションは、相異なるネットワークシグナリングプロトコルに対応するポートで発着信する呼に対してスイッチング機能を実行するために、相異なるプロトコルどうしの間でメッセージを変換しなければならない。
【０００７】
さらに、従来のプログラマブル交換機は、公衆電話ネットワークと、音声メッセージングシステムのような他の装置との間に接続されることもある。このような装置は特殊な機能を実行し、公衆電話ネットワークに直接に接続されることを意図していないため、一般に標準のシグナリングプロトコルに忠実ではない。このため、公衆電話ネットワークと、交換機に接続される他の装置との両方で正しい通信が維持されるようにユーザがプログラマブル交換機を制御することができるためには、さまざまの複雑なシグナリングプロトコル要件を満たさなければならない。従来の通信交換機は、これらのさまざまな要件をサポートするアプリケーションプログラミングインタフェース（ＡＰＩ）メッセージのいくつかの具体的なセットを実装している。
【０００８】
さまざまな通信アプリケーションおよびシグナリングプロトコル要件の結果として、ホストアプリケーションと、交換機と、外部のシステムあるいは装置との間ではインタフェースの標準化がされていない。このため、ホストアプリケーション要件と、それぞれのトランク、スパン、およびラインに対するシグナリングプロトコル要件とを満たすための特定のプロトコルをサポートするのに必要なハードウェアおよびソフトウェアを開発する際のコストが増大している。
【０００９】
さらに、特定のコマンドやデータ転送にそれぞれ専用の別個のＡＰＩメッセージおよびフォーマットがある結果、通信交換機への機能の追加は、対応するシグナリングプロトコルをサポートするために１つまたは複数の追加ＡＰＩメッセージあるいはフォーマットの作成および実装を必要とする。それぞれの新しい固有のメッセージを実装するには、交換機およびホストに対して、高価で時間のかかるソフトウェア変更をしなければならない。
【００１０】
【発明が解決しようとする課題】
したがって、ホストアプリケーションやシグナリングプロトコルの要件にかかわらず使用可能な１つまたは複数の汎用メッセージフォーマットを利用し、同じくホストアプリケーションやシグナリングプロトコルの要件にかかわらず使用可能なホスト・交換機間および交換機・ラインカード間の呼制御処理をサポートすることによって、標準化された呼制御処理を提供するユニバーサルなＡＰＩが必要とされている。さらに、この汎用メッセージフォーマットは、今後開発される通信アプリケーションおよびシグナリングプロトコルの現在および将来の要件をサポートするようにカスタム化されるべく十分にフレキシブルで自由度の高いものでなければならない。
【００１１】
【課題を解決するための手段】
本発明は、呼制御処理を実行するために汎用メッセージフォーマットを利用し、通信アプリケーションおよびネットワークシグナリングプロトコルの要件を満たすようにカスタム化可能な、ユニバーサルなアプリケーションプログラムインタフェース（ＡＰＩ）を提供する。この汎用メッセージフォーマットは、ホストアプリケーションと交換機の間でコマンド、ステータス、およびデータを送信するためのプログラマブルなフィールドを有する。本発明はさらに、ホストアプリケーションからの監視なしで相異なるプロトコルに対応するポートどうしの間のスイッチング機能を実行する能力を交換機に提供する。
【００１２】
本発明のユニバーサルＡＰＩは、交換機内部の通信を達成するためにも実装可能である。例えば、ユニバーサルＡＰＩの汎用メッセージは、交換機内のソフトウェアレイヤどうしの間の通信をサポートするために使用可能である。
【００１３】
本発明の汎用メッセージ構造体の利点は、アプリケーション開発のための汎用インタフェースであるために必要な共通性とフレキシビリティとを提供することである。これは、ホスト・交換機間インタフェースの複雑さを大幅に低減し、さまざまの特殊なメッセージおよびフォーマットからなるインタフェースをサポートするためのコストを節約する。
【００１４】
本発明のもう１つの利点は、各プロトコルによるメッセージをユニバーサルＡＰＩに翻訳することによって、複数の相異なるネットワークシグナリングプロトコルどうしの間、および、これらのプロトコルと別のホストプロトコルとの間での呼スイッチングを可能にすることである。こうして、複数のシグナリングプロトコルが交換機によってサポートされるのにもかかわらず、ホスト・交換機間インタフェースを含むメッセージの構造は不変のままとすることが可能となる。
【００１５】
本発明のその他の特徴および利点は、本発明のさまざまな実施例の構成および作用とともに、添付図面を参照して以下で詳細に説明される。図中、同一の参照符号は、同一または機能的に類似の要素を示す。さらに、参照符号の上から１桁または２桁は、その参照符号が最初に現れる図面を示す。
【００１６】
【発明の実施の形態】
図１に、市販のパーソナルコンピュータ（ＰＣ）１０２を示す。ＰＣ１０２は、ＰＣ中央処理装置（ＣＰＵ）１０４とハードディスクドライブ１０６を有し、これらはＰＣ入出力（Ｉ／Ｏ）バス１０８およびＰＣ電源バス１０９によって相互接続される。ＰＣ１０２は、好ましくは、ＩＢＭ(International Business Machines)から販売されているＰＣ−ＡＴ(R)またはその互換機である。ＰＣ−ＡＴ(R)より多くのメモリあるいはより強力なＣＰＵを有する他のパーソナルコンピュータを使用することも可能である。ＰＣ１０２は、好ましくは、ＤＯＳ(R)やＵＮＩＸ(R)のようなアプリケーション指向のオペレーティングシステムの下で動作する。
【００１７】
ＰＣ１０２は、マザーボードが装着されたシャーシあるいは筐体と、フロッピーディスクドライブ、モデムなどのようなディスクドライブ１０６およびその他のオプション部品とからなる。ＰＣ  ＣＰＵ１０４はマザーボード上にマウントされる。マザーボードは一連のエッジコネクタを有し、これに他のボード（カード）を挿入することによりＰＣ  Ｉ／Ｏバス１０８およびＰＣ電源バス１０９に接続可能である。
【００１８】
プログラマブル通信交換機１１０はＰＣ１０２内に存在する。ＣＰＵ／マトリクスカード１１２が、マザーボード上のスロットのうちの１つに挿入され、それによりバス１０８および１０９に接続される。ＣＰＵ／マトリクスカード１１２は、４個のバス、すなわち、ハイレベルデータリンク制御（ＨＤＬＣ）あるいはプロセッサ間バス１２０、時分割多重（ＴＤＭ）バス１２２、ラインカード（ＬＣ）ステータス／制御バス１２４、およびタイミング／制御バス１２６によって、ディジタル（Ｔ１）ラインカード１１４、ディジタル（Ｅ１）ラインカード１１５、ディジタル信号処理（ＤＳＰ）カード１１６、パケットエンジンカード１１７、アナログ（ユニバーサル）ラインカード１１８およびターミネータカード１１９と相互接続される。バッテリ／リング電圧バス１２８は、バッテリ電圧（４８Ｖ  ＤＣ）およびリンギング電圧（１０９Ｖ  ＤＣ）をアナログラインカード１１８に供給する。ターミネータカード１１９は、バス１２０、１２２、１２４、１２６および１２８を物理的に終端するように作用する。
【００１９】
ラインカード１１４、１１５および１１８ならびにＤＳＰカード１１６はすべて、ＰＣ電源バス１０９に接続され、これから基本動作電源を受け取る。１個のディジタル（Ｔ１）ラインカード１１４、１個のディジタル（Ｅ１）ラインカード１１５および１個のアナログラインカード１１８のみが図示されているが、いずれのタイプのラインカードも次の２つの物理的制限に従う限り追加可能である：（１）ＣＰＵ／マトリクスカード１１２の最大スイッチング容量、（２）ＰＣ１０２のシャーシ内の物理的スペース。
【００２０】
外部ホスト１３０（これは、別のパーソナルコンピュータ、ワークステーションあるいはその他のコンピュータからなることが可能である）を、オプションとして、通信チャネル１３２を通じてＣＰＵ／マトリクスカード１１２に接続することも可能である。ＣＰＵ／マトリクスカード１１２は、好ましくは、チャネル１３２を接続するための従来のＲＳ−２３２互換インタフェースを有する。外部ホスト１３０は、好ましくは、アプリケーション指向のオペレーティングシステムの下で動作する。
【００２１】
必要であれば、交換機１１０は、パッシブバックプレーン（ＰＣ  ＣＰＵ１０４やディスク１０６がない）上に存在することも可能であり、その場合、交換機１１０は、このバックプレーンから電源を受け取り、外部ホスト１３０によって制御される。例えば、本発明は、米国特許出願第０８／２０７，９３１号（発明の名称：Expandable Telecommunications System）に記載されている拡張可能通信交換機のような他の処理プラットフォームにおいて実装されることも可能である。
【００２２】
外部バッテリ／リング電源１３１は、パス１３３を通じてターミネータカード１１９に接続される。電源１３１は、例えば、市販の電源からなることが可能である。
【００２３】
ディジタル（Ｅ１）ラインカード１１５、ＤＳＰカード１１６およびパケットエンジンカード１１７を除いては、図１に示したさまざまなカードの構成に関する詳細は、米国特許第５，３２１，７４４号（発明の名称：Programmable Telecommunications Switch for Personal Computer）に記載されている。ディジタル（Ｅ１）ラインカード１１５は、好ましくは、Ｔ１ラインカード１１４について開示されているのと同様の（ただし、ラインカード１１５がＴ１スパンではなくＥ１スパンを終端することができるような通常の回路構成の相違点を除いて）ハードウェアを用いて構成される。
【００２４】
ＤＳＰカード１１６およびパケットエンジンカード１１７の構成に関する詳細は、米国特許第５，３４９，５７９号（発明の名称：Telecommunications Switch With Programmable Communications Services）に記載されている。
【００２５】
図２に、図１のプログラマブル交換機１１０を制御するために使用されるソフトウェアのレイヤモデルを示す。図２の左側の列は、開放型システム間相互接続（ＯＳＩ）参照モデルで定義される７つの層（レイヤ）を示す。図２の右側の列は、交換機１１０を制御するために使用される５つのレイヤと、それらとＯＳＩモデルとの一般的対応関係とを示す。
【００２６】
図１および図２の両方を参照すると、ホスト内のアプリケーションレイヤ５（Ｌ５）は、一般にＯＳＩモデルのアプリケーション層に対応し、通常ＰＣ  ＣＰＵ１０４または外部ホスト１３０のいずれかで動作するアプリケーションソフトウェアを表す。Ｌ５ソフトウェアは、少し例を挙げれば無料（北米における８００番）サービス、ボイスメール、自動呼分配（ＡＣＤ）のような多くの所望の通信サービスの任意のものを実装するように使用可能である。Ｌ５は、本発明のユニバーサルアプリケーションプログラムインタフェース（ＡＰＩ）を通じて、プログラマブル交換機の他のいずれのレイヤと通信することも可能である。Ｌ５が外部ホスト１３０にある場合、ＡＰＩは、通信チャネル１３２を通じての通信を管理する。Ｌ５がＰＣ  ＣＰＵ１０４上にある場合、ＡＰＩは、ＰＣ  Ｉ／Ｏバス１０８を通じての呼処理通信を管理する。
【００２７】
交換機内の呼管理レイヤ４（Ｌ４）は、一般にＯＳＩモデルのプレゼンテーション層、セッション層およびトランスポート層に対応し、ＣＰＵ／マトリクスカード１１２上で動作するソフトウェアを表す。Ｌ４は、集中呼処理機能を実行すること、および、交換機１１０内で使用可能なネットワークシグナリングプロトコルのタイプにかかわらずにＬ５への共通インタフェースを提供することを担当する。通常、Ｌ４は、呼設定に続いて要求される機能を実行する。
【００２８】
ネットワークシグナリングプロトコルレイヤ３（Ｌ３）は、一般にＯＳＩモデルのネットワーク層に対応する。Ｌ３によって表されるソフトウェアは、ＣＰＵ／マトリクスカード１１２上、あるいは、ラインカード１１４もしくは１１５またはパケットエンジンカード１１７のような固有のマイクロプロセッサを有するラインカード上のいずれかで動作し、インバンドおよびアウトオブバンドのネットワークシグナリング監視と、出入りする呼のネットワークプロトコルレベルの制御とを担当する。Ｌ４は、本発明のユニバーサルアプリケーションプログラムインタフェース（ＡＰＩ）を通じてＬ３と通信することも可能である。
【００２９】
リンクレイヤ２は、一般にＯＳＩモデルのデータリンク層に対応する。リンクレイヤ２ソフトウェアは、ＣＰＵ／マトリクスカード１１２、固有のマイクロプロセッサを有するラインカード、ＤＳＰカード１１６またはパケットエンジンカード１１７（これらはそれぞれ固有のマイクロプロセッサを有する）上で動作し、ネットワークあるいはラインインタフェースを通じてのネットワークシグナリング情報の検出と物理転送とを担当する。
【００３０】
最後に、物理レイヤ１は、ＯＳＩモデルの物理層に対応する。ラインカード１１４、１１５および１１８はそれぞれ、物理Ｔ１、Ｅ１およびアナログ電気インタフェースを交換機１１０に提供する。
【００３１】
図３に、図２のソフトウェアレイヤ２〜５のそれぞれによって提供される代表的な機能および作用の一覧表を示す。本発明は、図３に示す機能および作用の任意のものを実装する適当なソフトウェアを開発するための開発ツールとして使用可能である。レイヤ２〜５のそれぞれについて、本発明の利用の具体例は、米国特許第５，４２６，６９４号に記載されている。
【００３２】
図４に、スイッチングシステムによって使用されるユニバーサルＡＰＩデータ構造体４００を示す。このデータ構造体は、１つまたは複数の論理データセットを含み、各セットは３つのセクションを有する。第１セクションは、データを識別するタグフィールド４０２を含む。第２セクションは、データの長さ４０４を示し、第３セクションは、データ自体を格納する１つまたは複数のフィールド４０６を含む。
【００３３】
図５Ａ〜図５Ｃに、被呼者番号を表すユニバーサルＡＰＩデータ構造体の例を示す。タグフィールド５０２の内容は、被呼者番号がデータ構造体に格納されていることを示す。長さフィールド５０４の内容は、データの長さを示す。データフィールド５０６〜５１４の内容は、被呼者番号に関連するデータを表す。図５Ｂに、番号タイプフィールド５０６のデータ内容を示す。番号タイプフィールド５０６の第１ビット５０６ａは、国際番号ルーティングが許容されているかどうかを示す。第２ビット５０６ｂは、逆課金が要求されているかどうかを示す。第４〜第８ビットはそれぞれ、この番号が国際番号、国内番号、ネットワーク固有番号、加入者番号および省略番号であるかどうかを示す。図５Ｃに、番号方式識別子フィールド５０８のデータ内容を示す。番号方式識別子フィールドのビット５０８ａ〜５０８ｅはそれぞれ、番号方式がＩＳＤＮ、データ、テレックス、国内標準または私設（プライベート）方式であるかどうかを示す。
【００３４】
図６に、「通常」の呼フロー中に入シグナリングメッセージにアクセスするためにユニバーサルＡＰＩを使用するアプリケーションによって実行されるステップを示す。このアプリケーションは、Ｌ４アプリケーション内のオブジェクトであるか、あるいは、ホストＬ５アプリケーションであることが可能である。ステップ１で、アプリケーションは、入データが格納されるべき第１メモリバッファを割り当てる。ステップ２で、アプリケーションは、割り当てられたメモリを初期化する交換機内のオブジェクトを呼び出す。ステップ３で、アプリケーションは、プロトコル固有の入データを初期化されたバッファにコピーする。ステップ４で、アプリケーションは、プロトコル固有データをユニバーサルＡＰＩフォーマットに変換する交換機内のオブジェクトを呼び出す。ステップ５で、アプリケーションは、得られたユニバーサルＡＰＩによる翻訳を第２メモリバッファにコピーする。ステップ６で、交換機内のオブジェクトが第１メモリバッファを初期化解除し、アプリケーションは初期化解除されたメモリを解放する。
【００３５】
図７は、Ｌ４アプリケーションが、非類似のプロトコルを使用するシステムどうしの間で情報を交換するために、どのようにしてプロトコル固有データをユニバーサルＡＰＩフォーマットに変換するかを示すデータフロー図である。ローカルＬ３アプリケーション７１０は、プロトコルＡを使用するシステムから交換機内のローカルオブジェクト７２０へネットワークシグナリングメッセージを送信する。ローカルオブジェクト７２０は、入メッセージ内のフォーマットフィールドをチェックして、そのメッセージがユニバーサルＡＰＩフォーマットのものであるかどうかを判定する。そのメッセージがユニバーサルＡＰＩフォーマットのものである場合、ローカルオブジェクト７２０は、そのメッセージを、交換機内のリモートオブジェクト７５０へさらに送信するために、第２ローカルオブジェクト７４０に転送する。そのメッセージがユニバーサルＡＰＩフォーマットのものでない場合、ローカルオブジェクト７２０は、そのメッセージを、ユニバーサルＡＰＩフォーマットに変換するために第３ローカルオブジェクト７３０に送信する。ローカルオブジェクト７２０は、変換されたメッセージを受け取ると、そのユニバーサルＡＰＩメッセージを、リモートオブジェクト７５０へさらに送信するために第２ローカルオブジェクト７４０に転送する。リモートオブジェクト７５０は、メッセージを第２リモートオブジェクト７６０に転送する。リモートＬ３アプリケーション７８０に接続されたネットワークシステムがユニバーサルＡＰＩフォーマットを「理解」しない場合、第２リモートオブジェクト７６０は、そのメッセージを、ユニバーサルＡＰＩフォーマットからリモートＬ３アプリケーション７８０に関連するネットワークシグナリングプロトコルに変換するために、第３リモートオブジェクト７７０に転送する。第３リモートオブジェクト７７０は、メッセージを変換して第２リモートオブジェクト７６０に返し、第２リモートオブジェクト７６０は、そのメッセージを、ネットワークプロトコルＢを使用するシステムにさらに送信するために、リモートＬ３アプリケーション７８０に送信する。
【００３６】
図８は、Ｌ４アプリケーションがどのようにして、あるプロトコルを使用するＬ５アプリケーション８１０からのメッセージを、相異なるプロトコルによる等価なメッセージに変換するかを示すデータフロー図である。ホスト内のＬ５アプリケーション８１０は、ホストプロトコル固有のメッセージを交換機内のローカルオブジェクト８２０へ送信する。ローカルオブジェクト８２０は、そのメッセージを、ホストプロトコルから別のネットワークシグナリングプロトコルに変換するために、第２ローカルオブジェクト８３０に転送する。ローカルオブジェクト８２０は、変換されたメッセージを第２ローカルオブジェクト８３０から受信すると、そのメッセージを、通常のプロセスを通じて、当該別のプロトコルに関連するＬ３アプリケーション８４０へ送信する。
【図面の簡単な説明】
【図１】  本発明の好ましい実施例による、ユーザによりプログラム可能なプログラマブル通信交換機のブロック図である。
【図２】  図１の交換機を制御するために使用されるソフトウェアのレイヤを示す図である。
【図３】  図２の各ソフトウェアレイヤに関連する具体的機能および作用のいくつかを示す図である。
【図４】  スイッチングシステムにより使用されるユニバーサルＡＰＩデータ構造体を示す図である。
【図５】  Ａは、被呼者番号を表すユニバーサルＡＰＩデータ構造体の例である。Ｂは、番号タイプフィールドのデータ内容を示す図である。Ｃは、番号方式識別子フィールドのデータ内容を示す図である。
【図６】  「通常」の呼フロー中にユニバーサルＡＰＩを使用するアプリケーションによって実行されるステップを示す図である。
【図７】  相異なるプロトコルに関連するポートどうしの間でデータを転送するために、Ｌ４アプリケーションがどのようにして、プロトコル固有データをユニバーサルＡＰＩメッセージフォーマットに変換するかを示すデータフロー図である。
【図８】  Ｌ４アプリケーションがどのようにして、Ｌ５ホストアプリケーションからのプロトコル固有データを非類似のネットワークシグナリングプロトコルに変換するかを示すデータフロー図である。
【符号の説明】
１０２  パーソナルコンピュータ（ＰＣ）
１０４  ＰＣ中央処理装置（ＣＰＵ）
１０６  ハードディスクドライブ
１０８  ＰＣ入出力（Ｉ／Ｏ）バス
１０９  ＰＣ電源バス
１１０  プログラマブル通信交換機
１１２  ＣＰＵ／マトリクスカード
１１４  ディジタル（Ｔ１）ラインカード
１１５  ディジタル（Ｅ１）ラインカード
１１６  ディジタル信号処理（ＤＳＰ）カード
１１７  パケットエンジンカード
１１８  アナログ（ユニバーサル）ラインカード
１１９  ターミネータカード
１２０  ハイレベルデータリンク制御（ＨＤＬＣ）あるいはプロセッサ間バス
１２２  時分割多重（ＴＤＭ）バス
１２４  ラインカード（ＬＣ）ステータス／制御バス
１２６  タイミング／制御バス
１２８  バッテリ／リング電圧バス
１３０  外部ホスト
１３１  外部バッテリ／リング電源
１３２  通信チャネル
４００  ユニバーサルＡＰＩデータ構造体
４０２  タグフィールド
５０２  タグフィールド
５０４  長さフィールド
５０６  番号タイプフィールド
５０８  番号方式識別子フィールド
７１０  ローカルＬ３アプリケーション
７２０  ローカルオブジェクト
７３０  第３ローカルオブジェクト
７４０  第２ローカルオブジェクト
７５０  リモートオブジェクト
７６０  第２リモートオブジェクト
７７０  第３リモートオブジェクト
７８０  リモートＬ３アプリケーション
８１０  Ｌ５アプリケーション
８２０  ローカルオブジェクト
８３０  第２ローカルオブジェクト
８４０  Ｌ３アプリケーション
【図１】
0003901944.tif 000002
【図２】
0003901944.tif 000003
【図３】
0003901944.tif 000004
【図４】
0003901944.tif 000005
【図５】
0003901944.tif 000006
【図６】
0003901944.tif 000007
【図７】
0003901944.tif 000008
【図８】
0003901944.tif 000009