34 #ifndef OPAL_H323_CHANNELS_H
35 #define OPAL_H323_CHANNELS_H
50 class H245_OpenLogicalChannel;
51 class H245_OpenLogicalChannelAck;
52 class H245_OpenLogicalChannel_forwardLogicalChannelParameters;
53 class H245_OpenLogicalChannel_reverseLogicalChannelParameters;
54 class H245_H2250LogicalChannelParameters;
55 class H245_H2250LogicalChannelAckParameters;
56 class H245_MiscellaneousCommand_type;
57 class H245_MiscellaneousIndication_type;
78 virtual PObject *
Clone()
const;
80 virtual void PrintOn(ostream & strm)
const;
81 virtual Comparison
Compare(
const PObject & obj)
const;
84 operator unsigned()
const {
return number; }
186 virtual PBoolean
Open();
190 virtual PBoolean
Start() = 0;
194 virtual void Close();
213 H245_OpenLogicalChannel & openPDU
222 const H245_OpenLogicalChannel & open,
223 H245_OpenLogicalChannelAck & ack
233 const H245_OpenLogicalChannel & pdu,
244 const H245_OpenLogicalChannelAck & pdu
251 long bitRateRestriction
258 const H245_MiscellaneousCommand_type & type
265 const H245_MiscellaneousIndication_type & type
273 int skippedFrameCount,
348 unsigned bandwidthUsed;
401 virtual PBoolean
Open();
407 virtual PBoolean
Start();
460 virtual PBoolean
Start();
490 H245_OpenLogicalChannel & openPDU
497 const H245_OpenLogicalChannel & open,
498 H245_OpenLogicalChannelAck & ack
509 const H245_OpenLogicalChannel & pdu,
521 const H245_OpenLogicalChannelAck & pdu
530 H245_H2250LogicalChannelParameters & param
537 H245_H2250LogicalChannelAckParameters & param
547 const H245_H2250LogicalChannelParameters & param,
558 const H245_H2250LogicalChannelAckParameters & param
614 H245_H2250LogicalChannelParameters & param
621 H245_H2250LogicalChannelAckParameters & param
631 const H245_H2250LogicalChannelParameters & param,
642 const H245_H2250LogicalChannelAckParameters & param
689 const PIPSocket::Address & ip,
715 virtual PBoolean
Start();
739 H245_H2250LogicalChannelParameters & param
746 H245_H2250LogicalChannelAckParameters & param
756 const H245_H2250LogicalChannelParameters & param,
767 const H245_H2250LogicalChannelAckParameters & param
780 PIPSocket::Address & ip,
835 H245_OpenLogicalChannel & openPDU
842 const H245_OpenLogicalChannel & open,
843 H245_OpenLogicalChannelAck & ack
854 const H245_OpenLogicalChannel & pdu,
866 const H245_OpenLogicalChannelAck & pdu
904 #endif // OPAL_H323_CHANNELS_H
virtual PBoolean GetMediaTransportAddress(OpalTransportAddress &data, OpalTransportAddress &control) const
H323Connection & connection
Definition: channels.h:339
unsigned sessionID
Definition: channels.h:893
H323DataChannel(H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID)
virtual Directions GetDirection() const
virtual void InternalClose()
const H323Capability & GetCapability() const
Definition: channels.h:308
virtual PINDEX HashFunction() const
PBoolean autoDeleteTransport
Definition: channels.h:897
Definition: channels.h:469
virtual OpalMediaStreamPtr GetMediaStream() const
H323TransportAddress externalMediaAddress
Definition: channels.h:788
virtual bool SetSessionID(unsigned sessionID)
virtual OpalMediaStreamPtr GetMediaStream() const
Definition: h323caps.h:89
PBoolean autoDeleteListener
Definition: channels.h:895
H323TransportAddress externalMediaControlAddress
Definition: channels.h:789
Directions
Definition: channels.h:129
Definition: transports.h:703
virtual PBoolean CreateListener()
H323ChannelNumber number
Definition: channels.h:341
virtual bool SetSessionID(unsigned sessionID)
const H323ChannelNumber & GetReverseChannel() const
Definition: channels.h:290
Definition: channels.h:570
virtual PBoolean OnReceivedAckPDU(const H245_OpenLogicalChannelAck &pdu)
Definition: channels.h:133
virtual void OnSendOpenAck(H245_H2250LogicalChannelAckParameters ¶m) const
H323TransportAddress remoteMediaControlAddress
Definition: channels.h:791
H323TransportAddress remoteMediaAddress
Definition: channels.h:790
unsigned GetBandwidthUsed() const
Definition: channels.h:298
virtual unsigned GetSessionID() const
PBoolean IsFromRemote() const
Definition: channels.h:85
H323Channel(H323Connection &connection, const H323Capability &capability)
virtual void OnMiscellaneousCommand(const H245_MiscellaneousCommand_type &type)
virtual void InternalClose()
virtual void OnSendOpenAck(H245_H2250LogicalChannelAckParameters ¶m) const
H323_RTPChannel(H323Connection &connection, const H323Capability &capability, Directions direction, RTP_Session &rtp)
virtual bool OnMediaCommand(const OpalMediaCommand &)
virtual PBoolean SetInitialBandwidth()
Definition: transports.h:351
PayloadTypes
Definition: rtp.h:86
virtual PBoolean OnSendingPDU(H245_OpenLogicalChannel &openPDU) const =0
H323Capability * capability
Definition: channels.h:340
H323Listener * listener
Definition: channels.h:894
Definition: channels.h:99
H323_RTP_Session & rtpCallbacks
Definition: channels.h:648
virtual unsigned GetSessionID() const
void Construct(H323Connection &conn, unsigned id)
Definition: channels.h:803
PBoolean SetBandwidthUsed(unsigned bandwidth)
PAtomicInteger m_terminating
Definition: channels.h:345
virtual Directions GetDirection() const =0
~H323_RTPChannel()
Destroy the channel.
virtual PBoolean OnReceivedPDU(const H245_H2250LogicalChannelParameters ¶m, unsigned &errorCode)
void SetPause(PBoolean pause)
Definition: channels.h:328
virtual PObject * Clone() const
virtual Directions GetDirection() const
virtual PBoolean OnReceivedPDU(const H245_H2250LogicalChannelParameters ¶m, unsigned &errorCode)
PBoolean IsOpen() const
Definition: channels.h:198
const H323TransportAddress & GetRemoteMediaAddress() const
Definition: channels.h:776
OpalMediaStreamPtr mediaStream
Definition: channels.h:423
PBoolean GetRemoteAddress(PIPSocket::Address &ip, WORD &dataPort) const
virtual PBoolean OnReceivedAckPDU(const H245_OpenLogicalChannelAck &pdu)
virtual Comparison Compare(const PObject &obj) const
Definition: channels.h:131
virtual PBoolean CreateTransport()
PLIST(H323LogicalChannelList, H323Channel)
Definition: h323con.h:130
virtual PBoolean OnReceivedPDU(const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
virtual unsigned GetSessionID() const
virtual void OnSendOpenAck(const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
~H323UnidirectionalChannel()
H323UnidirectionalChannel(H323Connection &connection, const H323Capability &capability, Directions direction)
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
void SetExternalAddress(const H323TransportAddress &data, const H323TransportAddress &control)
virtual void OnJitterIndication(DWORD jitter, int skippedFrameCount, int additionalBuffer)
virtual PBoolean SetInitialBandwidth()=0
H323EndPoint & endpoint
Definition: channels.h:338
H323_RealTimeChannel(H323Connection &connection, const H323Capability &capability, Directions direction)
virtual PBoolean OnSendingPDU(H245_H2250LogicalChannelParameters ¶m) const
unsigned number
Definition: channels.h:88
virtual PBoolean OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters ¶m)
virtual PBoolean OnSendingPDU(H245_H2250LogicalChannelParameters ¶m) const
virtual PBoolean OnReceivedPDU(const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
bool paused
Definition: channels.h:344
bool opened
Definition: channels.h:343
unsigned sessionID
Definition: channels.h:787
PBoolean IsPaused() const
Definition: channels.h:318
virtual void InternalClose()
Definition: channels.h:362
virtual PBoolean GetMediaTransportAddress(OpalTransportAddress &data, OpalTransportAddress &control) const
virtual void OnMiscellaneousIndication(const H245_MiscellaneousIndication_type &type)
H323BidirectionalChannel(H323Connection &connection, const H323Capability &capability)
Definition: channels.h:433
const H323TransportAddress & GetRemoteMediaControlAddress() const
Definition: channels.h:777
Definition: channels.h:132
Definition: channels.h:70
virtual unsigned GetSessionID() const
PBoolean fromRemote
Definition: channels.h:89
H323ChannelNumber reverseChannel
Definition: channels.h:342
bool receiver
Definition: channels.h:422
virtual void OnSendOpenAck(const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
H323_ExternalRTPChannel(H323Connection &connection, const H323Capability &capability, Directions direction, unsigned sessionID)
void SetNumber(const H323ChannelNumber &num)
Definition: channels.h:286
PBoolean separateReverseChannel
Definition: channels.h:898
Definition: channels.h:130
Definition: transports.h:149
void SetReverseChannel(const H323ChannelNumber &num)
Definition: channels.h:294
Definition: channels.h:657
virtual PBoolean OnSendingPDU(H245_OpenLogicalChannel &openPDU) const
H323ChannelNumber()
Definition: channels.h:75
virtual void PrintOn(ostream &strm) const
const H323ChannelNumber & GetNumber() const
Definition: channels.h:282
RTP_Session & rtpSession
Definition: channels.h:647
Definition: transaddr.h:66
virtual PBoolean OnReceivedAckPDU(const H245_OpenLogicalChannelAck &pdu)
H323Transport * transport
Definition: channels.h:896
virtual void OnFlowControl(long bitRateRestriction)
virtual PBoolean OnReceivedPDU(const H245_OpenLogicalChannel &pdu, unsigned &errorCode)
RTP_DataFrame::PayloadTypes GetDynamicRTPPayloadType() const
virtual void OnSendOpenAck(const H245_OpenLogicalChannel &open, H245_OpenLogicalChannelAck &ack) const
virtual PBoolean Start()=0
virtual void PrintOn(ostream &strm) const
H323ChannelNumber & operator++(int)
virtual PBoolean OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters ¶m)
virtual PBoolean OnSendingPDU(H245_OpenLogicalChannel &openPDU) const