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.
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.
The key architectural classes are::