OPAL  Version 3.18.8
h323rtp.h
Go to the documentation of this file.
1 /*
2  * h323rtp.h
3  *
4  * H.323 RTP protocol handler
5  *
6  * Open H323 Library
7  *
8  * Copyright (c) 1998-2001 Equivalence Pty. Ltd.
9  *
10  * The contents of this file are subject to the Mozilla Public License
11  * Version 1.0 (the "License"); you may not use this file except in
12  * compliance with the License. You may obtain a copy of the License at
13  * http://www.mozilla.org/MPL/
14  *
15  * Software distributed under the License is distributed on an "AS IS"
16  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17  * the License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * The Original Code is Open H323 Library.
21  *
22  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23  *
24  * Portions of this code were written with the assisance of funding from
25  * Vovida Networks, Inc. http://www.vovida.com.
26  *
27  * Contributor(s): ______________________________________.
28  */
29 
30 #ifndef OPAL_H323_H323RTP_H
31 #define OPAL_H323_H323RTP_H
32 
33 #ifdef P_USE_PRAGMA
34 #pragma interface
35 #endif
36 
37 #include <opal_config.h>
38 
39 #if OPAL_H323
40 
41 #include <h323/channels.h>
42 #include <rtp/rtp_session.h>
43 
44 
45 class H225_RTPSession;
46 
47 class H245_TransportAddress;
48 class H245_H2250LogicalChannelParameters;
49 class H245_H2250LogicalChannelAckParameters;
50 class H245_ArrayOf_GenericInformation;
51 
52 class H323Connection;
53 class H323_RTPChannel;
54 
55 class H245_TransportCapability;
56 
57 
59 
63 {
65  public:
72  const H323Capability & capability,
73  Directions direction,
74  OpalMediaSession & session
75  );
76 
80 
87  virtual unsigned GetSessionID() const;
88 
95  virtual bool SetSessionID(
96  unsigned sessionID
97  );
98 
105  virtual PBoolean GetMediaTransportAddress(
106  OpalTransportAddress & data,
107  OpalTransportAddress & control
108  ) const;
110 
115  virtual PBoolean OnSendingPDU(
116  H245_H2250LogicalChannelParameters & param
117  ) const;
118 
121  virtual PBoolean OnSendingAltPDU(
122  H245_ArrayOf_GenericInformation & alternate
123  ) const;
124 
128  virtual void OnSendOpenAck(
129  H245_H2250LogicalChannelAckParameters & param
130  ) const;
131 
138  virtual PBoolean OnReceivedPDU(
139  const H245_H2250LogicalChannelParameters & param,
140  unsigned & errorCode
141  );
142 
149  virtual PBoolean OnReceivedAckPDU(
150  const H245_H2250LogicalChannelAckParameters & param
151  );
153 
162  virtual void OnSendRasInfo(
163  H225_RTPSession & info
164  );
166 
167 #if 0 // NOTE QOS?
168 
172  virtual PBoolean WriteTransportCapPDU(
173  H245_TransportCapability & cap,
174  const H323_RTPChannel & channel
175  ) const;
176 
179  virtual void ReadTransportCapPDU(
180  const H245_TransportCapability & cap,
181  H323_RTPChannel & channel
182  );
184 #endif
185 
186  protected:
187  virtual bool ExtractTransport(
188  const H245_TransportAddress & pdu,
189  bool isDataPort,
190  unsigned & errorCode
191  );
192 
193  protected:
195 };
196 
197 
198 #endif // OPAL_H323
199 
200 #endif // OPAL_H323_H323RTP_H
201 
202 
H323Connection & connection
Definition: channels.h:326
Definition: channels.h:459
Definition: mediasession.h:647
H323_RTPChannel(H323Connection &connection, const H323Capability &capability, Directions direction, OpalMediaSession &session)
Definition: h323caps.h:95
Directions
Definition: channels.h:125
OpalMediaSession * m_session
Definition: h323rtp.h:194
virtual bool SetSessionID(unsigned sessionID)
Definition: h323rtp.h:62
virtual void OnSendOpenAck(H245_H2250LogicalChannelAckParameters &param) const
virtual bool ExtractTransport(const H245_TransportAddress &pdu, bool isDataPort, unsigned &errorCode)
virtual void OnSendRasInfo(H225_RTPSession &info)
H323Capability * capability
Definition: channels.h:327
~H323_RTPChannel()
Destroy the channel.
virtual PBoolean OnReceivedPDU(const H245_H2250LogicalChannelParameters &param, unsigned &errorCode)
virtual PBoolean OnSendingAltPDU(H245_ArrayOf_GenericInformation &alternate) const
virtual PBoolean GetMediaTransportAddress(OpalTransportAddress &data, OpalTransportAddress &control) const
Definition: h323con.h:137
virtual unsigned GetSessionID() const
virtual PBoolean OnSendingPDU(H245_H2250LogicalChannelParameters &param) const
Definition: transports.h:151
virtual PBoolean OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters &param)