Design and Implementation of a Multimedia Session Controller for IP Networks
The subject of this thesis is the specification and implementation of a general Application Programming Interface (API) in the Java programming language, which offers the functionality of a multimedia session controller and facilitate the development of multimedia applications. This API facilitates the signalling for establishing, tearing down, controlling and modifying of multimedia sessions between applications over the Internet Protocol. The modification of the media streams allows an adaptive session controlling, which can adjust the media stream, for instance depending on the network type, the given communication bandwidth, Quality of Service indicators or the users presence. Furthermore, the API provides an event notification functionality and based on it a user presence awareness which is typical of current Instant Messaging applications and supports a wide range of presence describing attributes besides online and offline. The implementation makes use of the Session Inititation Protocol (SIP), which was specified by the IETF as a signalling protocol for the managing of mutimedia sessions and belongs to todays standard protocols for Voice Over IP services and applications. Session attributes are described by the Session Description Protocol (SDP). The Presence Information Data Format (PIDF) was choosen to carry user presence information, since it is a common presence data format specified by the IETF to provide interoperability between presence systems. The specification has been kept abstract and independent of the protocol, so that it allows a quick development of applications without requiring a greater effort and detailed knowledge of the Session Inititation Protocol. The detailed delimitation of the functionalities and the design of the API was guided by the specifications of the Session Initiation Protocol, its extensions and related themes as well as existing relevant interfaces. The implementation is based on a reference-implementation of the JAIN SIP specification, which provides the functionality of a low level SIP stack and parser. Methods of object-oriented software development have been applied to the analysis and design of the interface. For demonstration and test purposes there has been implemented an MSC-based user agent with a graphical user interface.