| 通信プロトコル | |
| 目的 | インスタントメッセージング |
|---|---|
| はじめに | 1999 (1999年) |
| OSI参照層 | アプリケーション層 |
| ポート | TCP 5222、5269、8010 |
| RFC | RFC 6120(コア)、RFC 6121(IMとプレゼンス)、RFC 7622(アドレス形式)、RFC 3922(CPIM)、RFC 3923(暗号化) |
| ウェブサイト | xmpp.org |
拡張メッセージングおよびプレゼンスプロトコル(略称XMPP、旧称Jabber [ 1 ])は、インスタントメッセージング(IM)、プレゼンス情報、連絡先リストの維持管理のために設計されたオープン通信プロトコルです。[ 2 ] XML (拡張マークアップ言語)に基づいており、2つ以上のネットワークエンティティ間で構造化データをほぼリアルタイムで交換できます。[ 3 ]拡張性を考慮して設計されたこのプロトコルは、 VoIP、ビデオ、ファイル転送、ゲームなど のシグナリングを含む、メッセージ指向ミドルウェアのより広範な領域において、従来のIMを超えた多数のアプリケーションを提供します
ほとんどの商用インスタントメッセージングプロトコルとは異なり、XMPPはアプリケーション層においてオープンスタンダードとして定義されています。XMPPネットワークのアーキテクチャは電子メールに似ており、誰でも独自のXMPPサーバーを実行でき、中央のマスターサーバーは存在しません。この連合型オープンシステムアプローチにより、ユーザーは電子メールアドレスに似たJabber識別子(JID)ユーザーアカウントを使用して、任意のサーバー上の他のユーザーと相互運用できます。XMPPの実装は任意のソフトウェアライセンスを使用して開発でき、多くのサーバー、クライアント、およびライブラリの実装が無料のオープンソースソフトウェアとして配布されています。また、フリーウェアや商用ソフトウェアによる実装も数多く存在します。
オープンソースコミュニティによって開発されたこのプロトコルは、2004年にインスタントメッセージングの標準規格として正式に承認され、その後も継続的に開発され、新しい拡張機能や機能が追加されてきました。デスクトップとモバイルの両方のプラットフォームとデバイスで、様々なXMPPクライアントソフトウェアが利用可能です。XMPP Standards Foundationによると、2003年までにこのプロトコルは世界中で1,000万人以上がネットワーク上で使用していました。[ 4 ]
| インターネットプロトコルスイート |
|---|
| アプリケーション層 |
| トランスポート層 |
| インターネット層 |
| リンク層 |
フェデレーテッド・インスタント・メッセージング
このプロトコルには他の用途もありますが、主な用途はフェデレーテッド・インスタント・メッセージングであり、以下に概説する 標準的なインスタント・メッセージングおよびプレゼンス・プロトコルを提供します
クライアントのアリス("[email protected]")は、他のユーザーであるベス("[email protected]")宛てのメッセージを持っており、XMPPを使用してexample.comサーバーにそのメッセージを送信します。ベスがオンラインの場合、サーバーはメッセージを即座に配信します。そうでない場合は、メッセージは後で配信されるまで保留されます。ベスがオフラインの場合、そのステータスはアリスに表示されます。
メッセージが別のサーバー上のユーザー、Charles("[email protected]")宛ての場合、 example.comサーバーはXMPPを使用して接続し、メッセージをexample.netサーバーに渡します。その後、メッセージは同様に配信または保留され、Aliceにステータスが通知されます。
最初のメッセージの配信後、エンド クライアントは「チャット」状態になり、その後、各当事者に相手のステータスの変更が通知されます。
クライアントからサーバーへの XMPP とサーバーからサーバーへの XMPP
XMPPクライアントは、ポート5222のTLS暗号化TCPストリームを介してサーバーと通信します。XMPPサーバーは、ポート5269のTLS暗号化TCPストリームを介して相互に通信します。[ 3 ] [ 5 ]
プロトコルの特性
分散化

XMPPネットワークアーキテクチャは、クライアントサーバーモデルであるSMTP( Simple Mail Transfer Protocol)を彷彿とさせます。分散型であるため、クライアントは互いに直接通信しません。つまり、誰でもサーバーを運用できます。設計上、AIM、WLM、WhatsApp、Telegramなどのメッセージングサービスにあるような中央の権威サーバーは存在しません。多くのユーザーが加入しているパブリックXMPPサーバーが運用されているため、この点で混乱が生じることがよくあります。しかし、誰でも独自のドメインで独自のXMPPサーバーを運用できます。 jabber.org
アドレス指定

ネットワーク上のすべてのユーザーには、Jabber IDと呼ばれる固有のXMPPアドレスがあります。[ 6 ] JIDは、ユーザー名とユーザーが登録されているサーバーのドメイン名(またはIPアドレス[ 7 ] )がアットマーク( )で区切られた電子メールアドレスのような構造になっています。たとえば、「」はユーザー名とユーザーが登録されているサーバーです。 @[email protected]aliceexample.com
ユーザーは複数の場所からログインする可能性があるため、リソースを指定できます。リソースは、ユーザーに属する特定のクライアント(自宅、職場、モバイルなど)を識別します。リソースは、スラッシュに続けてリソース名をJIDに含めることができます。例えば、ユーザーのモバイルアカウントの完全なJIDは となります[email protected]/mobile。
各リソースには、優先度と呼ばれる数値が指定されている場合があります。単に に送信されたメッセージは[email protected]、優先度が最も高いクライアントに送信されますが、 に送信されたメッセージはモバイルクライアントにのみ[email protected]/mobile送信されます。最も高い優先度とは、数値が最も大きいクライアントです。
ユーザー名部分を含まないJIDも有効であり、システムメッセージやサーバー上の特殊機能の制御に使用できます。これらのJIDでも、リソースはオプションです。
明示的なIPアドレスの代わりに論理エンドポイント識別子(JID)に基づいてメッセージをルーティングする手段は、XMPPを異なる基盤ネットワーク上のオーバーレイネットワーク実装として使用する機会を提供します。 [ 8 ]
HTTP経由のXMPP
XMPPのオリジナルかつ「ネイティブ」なトランスポートプロトコルは、長寿命のTCP接続上でオープンエンドのXMLストリームを使用する伝送制御プロトコル(TCP)です。TCPトランスポートの代替として、XMPPコミュニティは、Webクライアントと制限されたファイアウォールの背後にいるユーザー向けにHTTPトランスポートも開発しました。元の仕様では、XMPPはポーリング[ 9 ]とバインディングの2つの方法でHTTPを使用できました。現在では非推奨となっているポーリング方式は、基本的に、サーバー側のデータベースに保存されているメッセージが、XMPPクライアントによってHTTPの「GET」および「POST」リクエストを介して定期的に取得(および投稿)されることを意味します。同期HTTP経由の双方向ストリーム(BOSH)[ 10 ]を使用して実装されたバインディング方式により、サーバーはメッセージが送信されるとすぐにクライアントにメッセージをプッシュできます。このプッシュ通知モデルは、多くのポーリングが新しいデータを返さないポーリングよりも効率的です
クライアントはHTTPを使用するため、ほとんどのファイアウォールはクライアントが問題なくメッセージの取得と投稿を行うことを許可しています。そのため、XMPPが使用するTCPポートがブロックされている場合でも、サーバーは通常のHTTPポートでリッスンできるため、トラフィックは問題なく通過します。多くのウェブサイトでは、ブラウザ経由でXMPPにサインインできます。さらに、標準のhttp(ポート80)およびhttps(ポート443)ポートでリッスンする公開サーバーも存在し、ほとんどのファイアウォールの背後からの接続を許可しています。ただし、BOSHのIANA登録ポートは実際には80ではなく5280です。
拡張性
XMPP Standards Foundation(XSF、旧称Jabber Software Foundation)は、オープンXMPP拡張機能、いわゆるXEPの開発に積極的に取り組んでいます。[ 11 ]ただし、拡張機能は個人、ソフトウェアプロジェクト、または組織によって定義することもできます。相互運用性を維持するために、共通の拡張機能はXSFによって管理されています。IM以外のXMPPアプリケーションには、チャットルーム、ネットワーク管理、コンテンツシンジケーション、コラボレーションツール、ファイル共有、ゲーム、リモートシステムの制御と監視、地理位置情報、ミドルウェアとクラウドコンピューティング、VoIP、アイデンティティサービスなどがあります
XMPPは、ローカルネットワークドメイン間の検出をサポートする機能に基づいており、仮想マシン、ネットワーク、ファイアウォールが代替サービス検出やプレゼンスベースのソリューションの障害となるようなクラウドコンピューティングに最適です。クラウドコンピューティングとストレージシステムは、システム間のメッセージングによる状態中継だけでなく、ストレージや仮想マシンなどの大規模オブジェクトの移行や配布など、複数のレベルにわたる様々な通信形態に依存しています。認証や転送中のデータ保護に加え、XMPPは様々なレベルで適用でき、拡張可能なミドルウェアやメッセージ指向ミドルウェア(MOM)プロトコルとして最適な選択肢となる可能性があります。
現在の制限
XMLはテキストベースであるため、通常のXMPPは純粋なバイナリソリューションと比較してネットワークオーバーヘッドが大きくなります。この問題は、実験的なXEP-0322 Efficient XML Interchange (EXI) Formatによって解決されていました。この形式では、特にスキーマインフォームドモードで、XMLが効率的なバイナリ形式でシリアル化されます。このXEPは現在延期されています
インバンドバイナリデータ転送には制限があります。バイナリデータは、インバンドで転送する前に、まずBase64エンコードする必要があります。したがって、大量のバイナリデータ(例:ファイル転送)は、インバンドメッセージを使用して調整を行い、アウトオブバンドで転送するのが最適です。ほとんどの場合、これはメッセージへの添付ファイルと、広く実装されているXEP-0363 HTTPファイルアップロードメカニズムを使用することで対処されます。音声およびビデオチャットは、Jingle XMPP拡張プロトコル(XEP-0166)を介して行うことができます。
機能

ピアツーピアセッション
XMPPは、 Jingleと呼ばれる拡張機能を使用することで、多様なネットワーク間でマシン間またはピアツーピアの通信をサポートするオープンな手段を提供できます。この機能は主にIPテレフォニー(VoIP) に使用されます
マルチユーザーチャット
XMPPは、マルチユーザーチャット(MUC)(XEP-0045)仕様を使用して、複数ユーザーによる会議をサポートします。一般ユーザーの観点から見ると、インターネットリレーチャット(IRC) に相当します
セキュリティと暗号化
XMPPサーバーは分離可能(例:社内イントラネット上)であり、安全な認証(SASL)とポイントツーポイント暗号化(TLS)がXMPPコア仕様に組み込まれています
Off-the-Record Messaging (OTR) は、XMPP の拡張機能であり、メッセージとデータの暗号化を可能にします。その後、より優れた拡張機能であるマルチエンドツーマルチエンド暗号化 ( OMEMO、XEP-0384) に置き換えられました。これは、ユーザー間のエンドツーエンド暗号化です。これは、ソースクライアントからのすべてのデータを暗号化し、ターゲットクライアントで再度復号化することで、より高いレベルのセキュリティを実現します。サーバー管理者は転送データを復号化できません。
メッセージは、たとえばGajimソフトウェアを使用してOpenPGPで暗号化することもできます。
サービス検出
現在、 zeroconfやサービスロケーションプロトコルなど、いくつかのサービス検出プロトコルが存在しますが、XMPPは、XEP-0030 DISCOで規定されているように、ローカルまたはネットワーク全体に存在するサービスの検出と、これらのサービスの可用性(プレゼンス情報経由)のための強固な基盤を提供します。[ 12 ]
他のプロトコルへの接続

初期のJabberオープンソースコミュニティの当初の設計目標の一つは、ユーザーが単一のクライアントアプリケーションを通じて複数のインスタントメッセージングシステム(特にXMPP以外のシステム)に接続できるようにすることでした。これは、ICQ、AIM、Yahoo! Messengerなどの他のインスタントメッセージングプロトコルだけでなく、SMS、IRC、電子メールなどのプロトコルへのトランスポートまたはゲートウェイと呼ばれるエンティティを通じて実現されました。マルチプロトコルクライアントとは異なり、XMPPはXMPPサーバーと並行して実行される特別なゲートウェイサービスを介して通信することで、サーバーレベルでこのアクセスを提供します。ユーザーは、ネットワークへのログオンに必要な情報を提供することで、これらのゲートウェイのいずれかに「登録」することができ、その後、そのネットワークのユーザーとXMPPユーザーであるかのように通信できます。つまり、これらのゲートウェイはクライアントプロキシとして機能します(ゲートウェイは、XMPP以外のサービスにおいてユーザーに代わって認証を行います)。その結果、XMPPを完全にサポートするクライアントは、クライアントに追加のコードを追加することなく、またクライアントがインターネットに直接アクセスする必要もなく、ゲートウェイを介してあらゆるネットワークにアクセスできます。ただし、クライアント プロキシ モデルは、使用されているプロトコルの利用規約に違反する可能性があります (ただし、このような利用規約はいくつかの国では法的に強制できません)。また、ユーザーは IM ユーザー名とパスワードを、トランスポートを運用するサードパーティ サイトに送信することが必要になります (プライバシーとセキュリティに関する懸念が生じる可能性があります)。
ゲートウェイのもう1つの種類はサーバー間ゲートウェイです。これは、XMPP非対応サーバー環境から、XMPPのドメイン間フェデレーション機能を使用してネイティブXMPPサーバーに接続することを可能にします。このようなサーバー間ゲートウェイは、以下を含むいくつかのエンタープライズIMソフトウェア製品で提供されています。
- HCL Sametime プレミアム[ 13 ] [ 14 ]
- Skype for Business Server(旧称Microsoft Lync ServerおよびMicrosoft Office Communications Server – OCS)[ 15 ]
ソフトウェア
XMPPは多くのクライアント、サーバー、コードライブラリによって実装されています。[ 16 ]これらの実装は、さまざまなソフトウェアライセンスの下で提供されています
サーバー
XMPPサーバーソフトウェアは数多く存在し、よく知られているものとしてはejabberdやProsodyなど があります
モダンクライアント

多数のXMPPクライアントソフトウェアが、グラフィカルクライアントとコマンドラインベースクライアントの両方を含む、さまざまな最新およびレガシープラットフォーム上に存在します。XMPPのウェブサイトによると、最も人気のあるソフトウェアには、Conversations、Cheogram、Monocles、Quicksy(Android)、Dino(BSD、Windows、Unix、Linux)、Converse.js(Webブラウザ、Linux、Windows、macOS)、[ 17 ] Gajim(Windows、Linux)、[ 17 ] Monal(macOS、iOS )、Swift.IM(macOS、Windows、Linux)などがあります。最近、MonalはiOS向けのQuicksyリリースとしてフォークされました。
他のクライアントには、Bombus、ChatSecure、Coccinella、Miranda NG、[ 17 ] Pidgin、Psi、[ 17 ] Tkabber、Trillian、およびXabberが含まれます。
展開と配布
世界中に数千のXMPPサーバーがあり、その多くはパブリックサーバーであるだけでなく、個人や組織が営利目的でなく独自のサーバーを運用しているものもあります。多くのウェブサイトでは、ユーザーが登録できるパブリックXMPPサーバーのリストが掲載されています(例:XMPP.netウェブサイト)。
LiveJournalの「LJ Talk」[ 18 ] 、 Nimbuzz、HipChatなど、いくつかの大規模なパブリックIMサービスは、ネイティブにXMPPを使用しているか、使用していました。DreamHostなどの様々なホスティングサービスでは、ホスティング顧客が従来のウェブサービスやメールサービスと並行してXMPPサービスを選択できるようになっています。また、 Cisco Webex Connect、Chrome.pl、Flosoft.biz、i-pobox.net、hosted.im など、クラウド型のXMPPホスティングサービスも存在するため、ドメイン所有者は独自のXMPPサーバーを直接運用する必要はありません。
これらのサービスの大部分はフェデレーション化されており、あるサービスのユーザーは別のサービスのユーザーと通信できます。
XMPP は、需要応答アプリケーションなどのスマート グリッド システム、メッセージ指向ミドルウェア、および多くのスマートフォンクライアント でテキスト メッセージングを提供するためのSMSの代替として、IM 以外のサービスの展開にも使用されます。
非ネイティブ展開
最大手のメッセージングプロバイダーの中には、バックエンドシステムでさまざまな形式の XMPP ベースのプロトコルを使用しているか、使用しているものがありますが、このことをエンドユーザーに必ずしも公開していません。[ 19 ] [ 20 ]一例として、 Googleは 2005 年 8 月にGoogle Talkを導入しました。これは、インスタントメッセージングに XMPP を使用し、音声およびファイル転送シグナリングプロトコルであるJingleのベースとして使用する VoIP と IM の組み合わせシステムです。最初のリリースではサーバー間通信は含まれていませんでしたが、Google は 2006 年 1 月 17 日にその機能を有効にしました。[ 21 ] Google は後に Google Talk にビデオ機能を追加しましたが、これもシグナリングに Jingle プロトコルを使用しています。2013 年 5 月、Google は、サーバー間フェデレーション用の Google Talk から XMPP 互換性が削除されるものの、クライアントとサーバー間のサポートは保持されると発表した。 [ 22 ]
2008年1月、AOLはAOLインスタントメッセンジャー(AIM)サービスにおいて試験的にXMPPサポートを導入し[ 23 ] 、 AIMユーザーはXMPPを使用して通信できるようになりました。しかし、2008年3月にこのサービスは終了しました。2011年5月現在、AOLは限定的なXMPPサポートを提供しています[ 24 ] 。
2010年2月、ソーシャルネットワーキングサイトFacebookは、 XMPPを介してサードパーティアプリケーションにチャット機能を開放しました。 [ 25 ]一部の機能はXMPPでは利用できず、2014年4月にサポートが中止されました。[ 26 ]同様に、2011年12月、MicrosoftはMicrosoft MessengerサービスにXMPPインターフェースをリリースしました。[ 27 ]事実上の後継であるSkypeも、限定的なXMPPサポートを提供していました。[ 28 ] Apache Waveも別の例です。[ 29 ]
XMPPはOrigin [ 30 ]やPlayStation、現在は廃止されたXfireやRaptr [ 31 ]などのゲーム関連プラットフォームにおけるプライベートチャットの事実上の標準です。2つの注目すべき例外はSteam [ 32 ]とXbox LIVEで、どちらも独自のメッセージングプロトコルを使用しています。
歴史と発展

ジェレミー・ミラーは1998年にJabber技術の開発を開始し、jabberd1999年1月4日にサーバーの最初のバージョンをリリースしました。 [ 33 ]初期のJabberコミュニティはオープンソースソフトウェア、主にjabberdサーバーに重点を置いていましたが、その主な成果はXMPPプロトコルの開発であることが証明されました。
インターネット技術特別調査委員会(IETF)は、2002年にXMPPワーキンググループを結成し、IETFインスタントメッセージングおよびプレゼンス技術としてコアプロトコルを正式化しました。1999年と2000年に開発された初期のJabberプロトコルは、2004年10月にRFC 3920およびRFC 3921で公開されたXMPPの基礎となりました(IETFのXMPPワーキンググループによる正式化における主な変更点は、チャネル暗号化のためのTLSと認証のためのSASLの追加でした)。XMPPワーキンググループは、RFC 3922およびRFC 3923の仕様も作成しました。2011年に、RFC 3920とRFC 3921はそれぞれRFC 6120とRFC 6121に置き換えられ、RFC 6122でXMPPのアドレス形式が規定されました。 2015 年に、RFC 6122 は RFC 7622 に置き換えられました。IETF で標準化されたこれらのコア プロトコルに加えて、XMPP Standards Foundation (旧 Jabber Software Foundation) はオープン XMPP 拡張機能の開発に積極的に取り組んでいます。
XMPPをベースとした最初のIMサービスはJabber.org [ 17 ]であり、 1999年から継続的に運営され、無料アカウントを提供してきました。[ 34 ] 1999年から2006年2月まで、このサービスはサーバーソフトウェアとしてjabberdを使用していましたが、その後ejabberd(どちらもフリーソフトウェアのアプリケーションサーバー)に移行しました。2010年1月には、Isode Ltd.が開発した独自のM-Linkサーバーソフトウェアに移行しました。[ 35 ]
2008年9月、シスコシステムズは商用製品Jabber XCPの開発元であるJabber, Inc.を買収した。[ 36 ]
XMPP Standards Foundation (XSF) は、XMPP 拡張プロトコル(XEP、旧称 Jabber Enhancement Proposals、JEP)を中心とした標準化プロセスを通じて、XMPP の拡張機能を開発・公開しています。特に広く利用されている拡張機能は次のとおりです。
- データフォーム[ 37 ]
- サービスディスカバリー[ 12 ]
- マルチユーザーチャット[ 38 ]
- パブリッシュ・サブスクライブ[ 39 ]とパーソナルイベントプロトコル[ 40 ]
- XHTML-IM [ 41 ]
- ファイル転送[ 42 ]
- エンティティの機能[ 43 ]
- HTTPバインディング[ 10 ]
- 音声とビデオのジングル
モノのインターネット
ドメイン間のフェデレーション、パブリッシュ/サブスクライブ、認証、そしてモバイルエンドポイントを含むセキュリティなどのXMPP機能は、モノのインターネットの実装に使用されています。いくつかのXMPP拡張機能は、実験的な実装の一部です。効率的なXML交換(EXI)フォーマット、[ 44 ]センサーデータ、[ 45 ]プロビジョニング、[ 46 ]制御、[ 47 ]コンセントレーター、[ 48 ]検出[ 49 ]
これらの取り組みは、XMPP wikiのモノのインターネット専用のページ[ 50 ]とXMPP IoTメーリングリスト[ 51 ]に文書化されています。
仕様と標準
IETF XMPPワーキンググループは、一連のRequest for Comments(RFC)文書 を作成しました
- RFC 3920(RFC 6120に置き換えられました)
- RFC 3921(RFC 6121に置き換えられました)
- RFC 3922
- RFC 3923
- RFC 4622(RFC 5122に置き換えられました)
- RFC 4854
- RFC 4979
- RFC 6122(RFC 7622に置き換えられました)
これらの仕様の中で最も重要で最も広く実装されているのは次のとおりです
- RFC 6120、Extensible Messaging and Presence Protocol (XMPP): Core は、2つのオープンエンドXMLストリームを用いたクライアント・サーバー間メッセージングを規定しています。XMLストリームは、<presence/>、<message/>、<iq/>(情報/クエリ)で構成されます。接続はSASL(Simple Authentication and Security Layer )で認証され、 TLS(Transport Layer Security )で暗号化されます。
- RFC 6121 、拡張可能なメッセージングおよびプレゼンス プロトコル (XMPP): インスタント メッセージングおよびプレゼンスでは、XMPP の最も一般的なアプリケーションであるインスタント メッセージング(IM)について説明します。
- RFC 7622「拡張メッセージングおよびプレゼンスプロトコル(XMPP):アドレス形式」は、XMPPアドレス(JabberIDまたはJIDとも呼ばれる)の規則を規定しています。現在、JIDはASCII範囲外のUnicode文字の処理にPRECIS(RFC 7564で定義)を使用しています。
競合する標準
XMPPは、インスタントメッセージングとプレゼンス通知の標準プロトコルとして、セッション開始プロトコル(SIP)に基づくSIMPLEの競合相手とみなされることがよくあります。 [ 52 ] [ 53 ]
マルチユーザーチャット用のXMPP拡張機能[ 38 ]はIRCの競合製品とみなすことができますが、IRCははるかにシンプルで、機能もはるかに少なく、はるかに広く使用されています。
パブリッシュ・サブスクライブ用のXMPP拡張機能[ 39 ]は、Advanced Message Queuing Protocol(AMQP) と同じ機能を多く提供します。
参照
参考文献
- ^ "Jabber Inc" . Cisco.com . 2012年11月24日閲覧。
- ^ Johansson, Leif (2005年4月18日). 「XMPP as MOM – Greater NOrdic MIddleware Symposium (GNOMIS)」(PDF) . オスロ: ストックホルム大学. 2011年5月10日時点のオリジナル(PDF)からアーカイブ。
- ^ a b Saint-Andre, P. (2011年3月). Extensible Messaging and Presence Protocol (XMPP): Core . IETF . doi : 10.17487/RFC6120 . RFC 6120 . 2014年5月4日閲覧。
- ^ 「Jabber Instant MessagingのユーザーベースがICQを上回る」(プレスリリース)XMPP Standards Foundation 2003年9月22日。 2007年11月3日時点のオリジナルよりアーカイブ。 2007年11月30日閲覧。
- ^ 「XMPP(Extensible Messaging and Presence Protocol)RFC 7590におけるトランスポート層セキュリティ(TLS)の使用」IETF。2026年1月4日閲覧。
- ^ XMPP Standards Foundation (2003 年 10 月 3 日) .「XEP-0029: Jabber識別子(JID)の定義」「 .拡張メッセージングおよびプレゼンスプロトコル. 2019年11月10日閲覧。
- ^ RFC 6122
- ^ 「Extensible Messaging and Presence Protocol (XMPP): Core」 . xmpp.org . 2023年9月21日閲覧。
- ^ Joe Hildebrand、Craig Kaes、David Waite (2009年6月3日). 「XEP-0025: Jabber HTTP Polling」 . Xmpp.org . 2012年11月24日閲覧。
- ^ a b Ian Paterson、Dave Smith、Peter Saint-Andre、Jack Moffitt (2010年7月2日). 「XEP-0124: 同期HTTP経由の双方向ストリーム ([BOSH])」 . Xmpp.org . 2012年11月24日閲覧。
- ^ "仕様" . xmpp.org . XSF . p. 1. 2017年1月6日閲覧。
- ^ a b「XEP-0030: サービスディスカバリ」 . xmpp.org . 2017年10月3日.
- ^「Lotus Sametime 7.5 は AIM および Google Talk と相互運用可能」、eWeek、2006 年 12 月 6 日、 Eweek.com
- ^「Lotus、AOL、Yahoo、GoogleとIMを統合するゲートウェイを出荷」、Network World、2006年12月6日Networkworld.com 2008年11月1日アーカイブ、 Wayback Machine
- ^「ユニファイドコミュニケーション:異なるネットワーク間のコミュニケーションの統合」、Microsoftプレスリリース、2009年10月1日Microsoft.com 2010年1月5日アーカイブ、 Wayback Machine
- ^ 「クライアント」 . xmpp.org .
- ^ a b c d e f「XMPPソフトウェア」。XMPP Org 。 2024年9月19日閲覧。
- ^ 「質問FAQ #270-LJ Talkとは何ですか?」 Livejournal.com、2010年9月27日。 2012年11月24日閲覧。
- ^ 「XMPPメッセージングプロトコルリファレンス」 . www.sent.dm. 2024年12月25日. 2024年12月25日閲覧。
- ^ Rémond, Mickaël (2014年2月23日). 「Whatsapp、Facebook、Erlang、そしてリアルタイムメッセージング:すべてはejabberdから始まった」 . ProcessOne — ブログ. 2020年9月17日閲覧。
- ^ Burd, Gary (2006年1月17日). 「XMPP Federation」 . 2007年11月30日閲覧。
- ^ 「社内の XMPP クライアントまたはサーバーが Talk サービスに接続できるようにするにはどうすればよいですか?」support.google.com。
- ^ Jensen, Florian (2008年1月17日). 「AOLがXMPP(別名Jabber)を採用」 . 2008年1月20日時点のオリジナルよりアーカイブ。2008年1月17日閲覧。
- ^ 「AOL XMPP Gateway」 . 2011年5月14日.オリジナルより2011年5月22日時点のアーカイブ。2011年5月14日閲覧。
- ^ 「Facebook Chat Now Available Everywhere」 。 2010年2月11日閲覧。
- ^ “Chat API (deprecated)” . 2015年7月14日時点のオリジナルよりアーカイブ。2015年7月5日閲覧。
- ^ Obasanjo, Dare (2011年12月14日). 「XMPP経由のオープンスタンダードアクセスで、誰でもMessengerクライアントを構築できる」 . Windowsteamblog.com . 2012年11月24日閲覧。
- ^ Roettgers, Janko (2011年6月28日). 「SkypeがXMPPサポートを追加、次はIM相互運用性? — 技術ニュースと分析」 Gigaom.com. 2011年6月29日時点のオリジナルよりアーカイブ。 2012年11月24日閲覧。
- ^ 「Google Wave Federation Protocol」 。2016年3月4日時点のオリジナルよりアーカイブ。
- ^ 「Originゲームプラットフォーム、ログイン情報とメッセージをプレーンテキストで送信」 Slight Future、2015年6月30日。2017年1月17日時点のオリジナルよりアーカイブ。2016年2月22日閲覧。
- ^ 「Raptrは終了。AMDがアプリを廃止してから1年、Gaming Evolvedはもう存在しない」。Pcgamesn.com。2017年9月13日。 2020年10月16日閲覧。
- ^ "libsteam.c" . Github . 2016年2月22日閲覧。
- ^ 「Open Real Time Messaging System」 Tech.slashdot.org、1999年1月4日。 2012年11月24日閲覧。
- ^マルセル・ガニエ (2003 年 3 月 1 日)。「シェフのおしゃべり」。Linux ジャーナル。
- ^ 「Jabber.org – XMPP Server Migration」 2009年8月12日. 2009年12月13日時点のオリジナルよりアーカイブ。 2009年12月14日閲覧。
- ^ 「シスコ、Jabber買収の正式契約を発表」 。 2009年12月23日時点のオリジナルよりアーカイブ。2010年1月2日閲覧。
- ^ 「XEP-0004: データフォーム」 . xmpp.org . 2021年6月8日.
- ^ a b「XEP-0045: マルチユーザーチャット」 . xmpp.org . 2021年3月4日.
- ^ a b「XEP-0060: パブリッシュ・サブスクライブ」 . xmpp.org . 2021年9月7日.
- ^ 「XEP-0163: パーソナルイベントプロトコル」 . xmpp.org . 2018年3月18日.
- ^ "XEP-0071: XHTML-IM" . xmpp.org . 2018年3月8日.
- ^ 「XEP-0096: SI ファイル転送」 . xmpp.org . 2017年11月29日.
- ^ 「XEP-0115: エンティティ機能」 . xmpp.org . 2020年5月5日.
- ^ 「XEP-0322: 効率的なXML交換(EXI)フォーマット」xmpp.org . 2018年1月25日。
- ^ 「XEP-0323: モノのインターネット - センサーデータ」xmpp.org . 2017年5月20日。
- ^ 「XEP-0324: モノのインターネット - プロビジョニング」 . xmpp.org . 2021年3月4日.
- ^ 「XEP-0325: モノのインターネット - 制御」 . xmpp.org . 2021年3月4日.
- ^ 「XEP-0326: モノのインターネット - コンセントレータ」 . xmpp.org . 2017年5月20日.
- ^ 「XEP-0347: Internet of Things - Discovery」 . xmpp.org . 2018年11月3日.
- ^ 「技術ページ/IoTシステム」 . xmpp.org .
- ^ 「IOT情報ページ」jabber.org。2014年6月30日時点のオリジナルよりアーカイブ。2014年8月26日閲覧。
- ^「XMPP が SIMPLE 標準に挑む」、Infoworld 誌、2003 年 4 月 17 日XMPP が SIMPLE 標準に挑む
- ^「XMPP vs SIMPLE: メッセージング標準の競争」、Infoworld 誌、2003 年 5 月 23 日Infoworld.com