Java APIs for Integrated Networks ( JAIN ) は、 Java Community Process内の活動であり、電話(音声およびデータ)サービスの作成のための API を開発しています。当初、JAIN はJava APIs for Intelligent Networkの略でしたが、プロジェクトの範囲が拡大したことを反映して、後にJava APIs for Integrated Networksに変更されました。JAIN 活動は、それぞれが単一の API 仕様を開発する複数の「エキスパート グループ」で構成されています。
JAINは、電話網におけるサービス創出を開放するという一般的な潮流の一環であり、インターネットと同様に、開放性によってサービス創出に参加する参加者が増加し、ひいては需要の増加と、より質の高い、より的を絞ったサービスの提供につながることが期待される。
JAIN APIの目標は、基盤となるネットワークを抽象化することで、従来のPSTNであろうと次世代ネットワークであろうと、ネットワーク技術に依存しないサービスを開発できるようにすることです。
JAINの取り組みにより、標準化のさまざまな段階にある約20のAPIが開発されました。これには、 SIPやTCAPなどの特定のネットワークプロトコル用のJava APIから、通話制御や課金などのより抽象的なAPI 、さらにはXMLで電話サービスを記述するためのJava以外の取り組みまでが含まれます。
JAINとParlay / OSAは、どちらも類似した問題領域に取り組んでいるため、両者の間には重複する部分があります。しかし、当初の構想では、JAINはネットワーク事業者がインテリジェントネットワーク(IN)プロトコルの枠組みの中で独自のサービスを開発しやすくするためのAPIに重点を置いていました。そのため、最初のJAIN APIはSS7メッセージの構築と解釈のための手法に焦点を当てており、JAINがより高レベルの呼制御手法に注目したのは後のことでした。一方、JAINが始動したのとほぼ同時期に、Parlayの開発も始まり、非事業者の第三者がネットワークサービスを開発できるようにするためのAPIに重点を置いていました。
2001年から2003年頃にかけて、まだ標準化されていなかったJAINの呼び出し制御APIを、当時すでに標準化されていたParlayのAPIと調和させようとする試みがありました。多くの困難に直面しましたが、おそらく最も深刻だったのは技術的な問題ではなく、手続き上の問題でした。Javaコミュニティプロセスでは、標準化されたJava APIごとにリファレンス実装を作成することが求められています。Parlayにはこの要件がありません。JAIN呼び出し制御のリファレンス実装を作成するのに必要な労力を考えると、標準化コミュニティが暗黙のうちに、あるいは明示的に、Parlayの呼び出し制御APIで十分であると判断し、JAIN呼び出し制御に関する作業が立ち消えになったのは当然のことでした。しかしながら、JAIN呼び出し制御に関する作業は、ParlayとJava言語のマッピングに関する合意された定義を推進するのに役立ったため、Parlayに重要な影響を与えました。