Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

OPAL - Open Phone Abstraction Library


Open Phone Abstraction Library

This is a Open Source class library for the development of applications that wish to use the SIP and H.323 protocols for multi-media communications over packet based networks.

Last updated 10 May, 2005

Copyright (C) 1999-2003 Equivalence Pty Ltd, All right reserved

Portions Copyright (C) 2004 Post Increment, All Rights Reserved


The fundamental object in the ownership hierarchy is the OpalManager class.

There are endpoint classes, which control the specifics for that particular protocol. Thus, SIPEndPoint controls SIP specific things, and H323EndPoint controls h.323 specific things. An application would typically create one instance of a descendant of either (or both) endpoint classes.

of the RTP data.

The flow of RTP data is from the "source"-->patch-->"sink". The patch is a thread which reads from the "source", and writes to the "sink". For example, the source OpalMediaStream reads UDP data in, which the patch then writes to a sink media stream (e.g. the attached sound card).

Opal clases

There are four key classes in opal. - OpalManager, OpalEndPoint, OpalConnection, and OpalCall.

The OpalManager maintains state on the entire application.

There is an EndPoint (descended of OpalEndPoint) for each protocol the application supports. Thus, you have (for example) the classes H323EndPoint, SIPEndPoint, OpalLIDEndPoint, OpalPCSSEndPoint

The Connection class does the state handling for each call of that protocol. Thus, if there are four concurrent H.323 calls being handled by the application, there will be four instances of the H323Connection class.

The OpalCall provides the glue between two Connection instances. Thus, if use a OpalCall class to glue a H323Connection and PCSSConnection, H.323 calls are connected to the PC Sound System, and the application behaves like ohphone. Conversely, if OpalCall is used to glue a H323Connection and SIP connection together, you have a H.323 - SIP gateway.

Opal Classes

Classes with the word "Opal" in their name are independent of protocol. Thus, the OpalEndPoint class will be used for the H.323 and SIP voip protocols. It is expected that the implementation of any VOIP protocol requires the user to subclass from this list.

The key architectural classes are::

The remaining Opal classes are listed below.


Generated on Thu Nov 10 18:45:12 2005 for OPAL by doxygen1.2.18