\r\n\r\n
SIP & XMPP (Jabber)
SIPとXMPPは、主にインターネット上で音声やIMを送信するために使われるアプリケーション層のプロトコルで、SIPはRFC3621、XMPPはRFC3920で定義されています。基本的にXMPPはIMとPresenceから、SIPはVoiceとVideo over IPから発展したもので、XMPPはセッションネゴシエーションのためにJingleという拡張機能を、SIPはIMとPresenceをサポートするためにSIMPLEという拡張機能を追加しています。
セッション初期化プロトコル
SIP(Session Initiation Protocol)は、VoIP通話などのマルチメディアセッションを確立、変更、終了するためのアプリケーション層プロトコルです。 SIPはまた、マルチキャスト会議など、既存のセッションに新しいセッションを招待することもできます。基本的にはVoIP環境における信号プロトコルを指し、呼の確立、呼の制御、呼の終了を処理し、課金目的のCDR(call Detail Record)を生成するものです。
エックスエムピーピー
XMPPは、リアルタイムのメッセージング、プレゼンテーション、リクエスト・レスポンスサービスのためのオープンなXML(Extensible Markup Language)プロトコルである。1999年にJabberオープンソースコミュニティによって開発され、2002年にXMPPワーキンググループがIM(インスタントメッセージング)用のJabberプロトコルを開発したのが起源です。
SIPとXMPPの違い
SIPとXMPPは、それぞれセッションの確立や構造化されたデータの交換など、異なる目的で使用されているため、比較することはできません。しかし、「プロファイル」と「ディングトーン」は、似たような機能を紹介しています。
(1) SIPはセッションの作成、変更、終了を提供し、XMPPはクライアントグループ間で構造化されたデータ交換のためのストリーミングパイプを提供します。
(2) SIPはテキストベースのリクエスト・レスポンス型のプロトコル、XMPPはXMLベースのクライアント・サーバー型のプロトコルである。
(3) SIPシグナリングのメッセージはSIPヘッダーとボディで配信されますが,XMPPではメッセージはストリーミングパイプで配信されます.xMPPではXMLを使用してリクエスト,レスポンス,指示またはエラーをストリーミングパイプで送信します.
(4) SIPはUDP、TCP、TLSで動作しますが、XMPPはTCPとTLSのみです。
(5) SIPでは、ユーザーエージェントはサーバーにもクライアントにもなるため、メッセージの送受信が可能ですが、XMPPでは、クライアントはサーバーにリクエストを送るだけなので、NATやファイアウォールでも機能します。
(6) SIP、XMPPともに実装が容易であること。