Saturday, November 17, 2007

A Hitchhikers Guide on Jingle

Abstract

The Jingle is subject of numerous specifications produced by XSF. It can be difficult to locate the set of documents or lot of documents where the big picture lies in a different group.This document serves as a guide to the jingle series. It lists the specifications under Jingle umbrella, briefly summarizes and groups into categories.



Table of Contents

1. Introduction
2. Scope of this Document
3. Jingle Session management Specifications
3.1 Overall session management
Jingle
XMPP Core
3.2 Content formats
Jingle Audio
Jingle Video
Jingle File Transfer
3.3 Transport formats
Raw UDP
ICE
3.4 General Support specifications
Resource Application Priority
Service Discovery
External service Discovery
Jingle DTMF
3.5 Other documents
Bootstrapping Implementation of Jingle

4. Interworking

5. Security Mechanisms






1.0 Introduction

The Jingle is subject to numerous specifications produced by XSF. It is tough to get the big picture of the related technologies and relevance with jingle as the different technologies spread across different standard bodies. By giving emphasis on the big picture, this document tries to give the big picture and helps to identify the areas and importance.


2.0 Scope of this Document:


This document does not update jingle or related specifications. This is an informational document meant to guide newcomers, implementers and deployers to the Jingle suite of specifications.


3.0 Jingle Session management Specifications

Jingle consists of three parts, each with its own syntax, semantics, and state machine


Overall session management
Content description formats (the "what")
Content transport methods (the "how")


3.1 Overall session management

The Overall session management represents the group of specifications that defines the core session generation,maintenance and tear down.

Jingle Core

This document defines a framework for initiating and managing peer-to-peer multimedia sessions (e.g., voice and video chat) between two Jabber/XMPP endpoints in a way that is interoperable with existing Internet standards.

Jingle is defined in XSF XEP 0166 http://www.xmpp.org/extensions/xep-0166.html


Extensible Messaging and Presence Protocol (XMPP): Core

This memo defines the core features of the Extensible Messaging and Presence Protocol (XMPP), a protocol for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network endpoints. While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications that meet the requirements of RFC 2779.

Extensible Messaging and Presence Protocol (XMPP): Core is defined in IETF RFC 3920 ( http://www.faqs.org/rfcs/rfc3920.html )


Content description formats


Jingle Audio

This document defines methods for negotiating Jingle audio sessions that use the Real-time Transport Protocol (RTP) for media exchange.

Jingle Audio is defined in XSF XEP 0167 http://www.xmpp.org/extensions/xep-0167.html


Jingle Video

This document defines methods for negotiating Jingle video sessions that use the Real-time Transport Protocol (RTP) for media exchange.

Jingle Video is defined in XSF XEP 0180 http://www.xmpp.org/extensions/xep-0180.html

Jingle File Transfer

This document defines methods for negotiating Jingle file transfer sessions that use the Real-time Transport Protocol (RTP) for media exchange.

Jingle File transfer is defined in an expired draft in XSF http://www.xmpp.org/extensions/inbox/jingle-ft.html

This is a not an approved standard.

Transport description formats

Raw UDP

This document defines a Jingle transport method that results in sending data over a raw User Datagram Protocol (UDP) connection.

Jingle Raw UDP Transport is defined in http://www.xmpp.org/extensions/xep-0177.html


ICE

This document defines a Jingle transport method that results in sending data between two entities using the Interactive Connectivity Establishment (ICE) methodology.

Jingle Ice transport is defined in http://www.xmpp.org/extensions/xep-0176.html


General Support specifications


Resource Application Priority

This document defines an XMPP protocol extension to indicate the presence priority of XMPP resources for applications other than messaging.

Resource Application Priority is defined in http://www.xmpp.org/extensions/xep-0168.html


Service Discovery
This document defines an XMPP protocol extension for discovering (1) information about Jabber entities and (2) the items associated with such entities.


Service discovery is defined in http://www.xmpp.org/extensions/xep-0030.html


External service discovery

This document specifies an XMPP protocol extension for discovering services external to the XMPP network.

External Service discovery is defined in http://www.xmpp.org/extensions/xep-0215.html

Jingle DTMF

This document specifies an XML format for encapsulating DTMF data in informational messages sent within the context of Jingle audio interactions.

jingle DTMF is specified in http://www.xmpp.org/extensions/xep-0181.html

Other support Documents

Bootstrapping Implementation of Jingle

This document provides guidelines to client and library developers for bootstrapping implementation of the encrypted sessions technology.

Bootstrapping Implementation of Jingle is defined in http://www.xmpp.org/extensions/xep-0208.html

4. Interworking
In progress, A draft is in progress for interworking with SIP.

5. Security Mechanisms

Currently jingle supports secure transport as specified in RTP Over DTLS via a profile of "UDP/TLS/RTP/AVP".


DTLS extensions for SDP is defined in XSF http://tools.ietf.org/html/draft-fischl-mmusic-sdp-dtls-03

No comments: