A voip call that is handled in OPAL consists of two instances of the OpalConnection class (or derivative) plus instances of the OpalMediaStream class (or derivatives). Consequently, for handling a H.323 call which is directed to the PC speaker/microphone, there will H323Connection and a PCSSConnection. OPAL requires that media can be transferred between these two clases. To transfer the media, OPAL uses the OpalMediaStream.
Key to understanding the OpalMediaStream class is that this class is responsible for transferring media from one instance of an OpalConnection to another instance of an OpalConnection.
The standard output format of an OpalMediaStream (or derivative) is a RTP_DataFrame. Consequently, different OpalConnection instances (or derivatives) can be connected together and exchange media (where the media is encapsulated inside instances of the RTP_DataFrame class).
When handling an audio only call, each OpalConnection instance (or derivative) has two attached OpalMediaStream instances (or derivatives). When the call contains video and audio, each OpalConnection instance (or derivative) will have four attached OpalMediaStream instances (or derivatives).
For handling a H.323 call, which is an audio only call, that goes the speaker/microphone of the box, there will be