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; }
150 virtual unsigned GetSessionID()
const;
158 virtual bool SetSessionID(
168 virtual PBoolean GetMediaTransportAddress(
180 virtual PBoolean SetInitialBandwidth() = 0;
186 virtual PBoolean Open();
190 virtual PBoolean Start() = 0;
194 virtual void Close();
198 PBoolean
IsOpen()
const {
return opened && m_terminating == 0; }
212 virtual PBoolean OnSendingPDU(
213 H245_OpenLogicalChannel & openPDU
221 virtual void OnSendOpenAck(
222 const H245_OpenLogicalChannel & open,
223 H245_OpenLogicalChannelAck & ack
232 virtual PBoolean OnReceivedPDU(
233 const H245_OpenLogicalChannel & pdu,
243 virtual PBoolean OnReceivedAckPDU(
244 const H245_OpenLogicalChannelAck & pdu
250 virtual void OnFlowControl(
251 long bitRateRestriction
257 virtual void OnMiscellaneousCommand(
258 const H245_MiscellaneousCommand_type & type
264 virtual void OnMiscellaneousIndication(
265 const H245_MiscellaneousIndication_type & type
271 virtual void OnJitterIndication(
273 int skippedFrameCount,
302 PBoolean SetBandwidthUsed(
330 ) { paused = pause; }
336 virtual void InternalClose();
348 unsigned bandwidthUsed;
397 virtual PBoolean SetInitialBandwidth();
401 virtual PBoolean Open();
407 virtual PBoolean Start();
420 virtual void InternalClose();
460 virtual PBoolean Start();
489 virtual PBoolean OnSendingPDU(
490 H245_OpenLogicalChannel & openPDU
496 virtual void OnSendOpenAck(
497 const H245_OpenLogicalChannel & open,
498 H245_OpenLogicalChannelAck & ack
508 virtual PBoolean OnReceivedPDU(
509 const H245_OpenLogicalChannel & pdu,
520 virtual PBoolean OnReceivedAckPDU(
521 const H245_OpenLogicalChannelAck & pdu
529 virtual PBoolean OnSendingPDU(
530 H245_H2250LogicalChannelParameters & param
536 virtual void OnSendOpenAck(
537 H245_H2250LogicalChannelAckParameters & param
546 virtual PBoolean OnReceivedPDU(
547 const H245_H2250LogicalChannelParameters & param,
557 virtual PBoolean OnReceivedAckPDU(
558 const H245_H2250LogicalChannelAckParameters & param
596 virtual unsigned GetSessionID()
const;
604 virtual bool SetSessionID(
613 virtual PBoolean OnSendingPDU(
614 H245_H2250LogicalChannelParameters & param
620 virtual void OnSendOpenAck(
621 H245_H2250LogicalChannelAckParameters & param
630 virtual PBoolean OnReceivedPDU(
631 const H245_H2250LogicalChannelParameters & param,
641 virtual PBoolean OnReceivedAckPDU(
642 const H245_H2250LogicalChannelAckParameters & param
689 const PIPSocket::Address & ip,
700 virtual unsigned GetSessionID()
const;
708 virtual PBoolean GetMediaTransportAddress(
715 virtual PBoolean Start();
723 virtual void Receive();
731 virtual void Transmit();
738 virtual PBoolean OnSendingPDU(
739 H245_H2250LogicalChannelParameters & param
745 virtual void OnSendOpenAck(
746 H245_H2250LogicalChannelAckParameters & param
755 virtual PBoolean OnReceivedPDU(
756 const H245_H2250LogicalChannelParameters & param,
766 virtual PBoolean OnReceivedAckPDU(
767 const H245_H2250LogicalChannelAckParameters & param
771 void SetExternalAddress(
779 PBoolean GetRemoteAddress(
780 PIPSocket::Address & ip,
830 virtual unsigned GetSessionID()
const;
834 virtual PBoolean OnSendingPDU(
835 H245_OpenLogicalChannel & openPDU
841 virtual void OnSendOpenAck(
842 const H245_OpenLogicalChannel & open,
843 H245_OpenLogicalChannelAck & ack
853 virtual PBoolean OnReceivedPDU(
854 const H245_OpenLogicalChannel & pdu,
865 virtual PBoolean OnReceivedAckPDU(
866 const H245_OpenLogicalChannelAck & pdu
878 virtual PBoolean CreateListener();
887 virtual PBoolean CreateTransport();
891 virtual void InternalClose();
904 #endif // OPAL_H323_CHANNELS_H const H323ChannelNumber & GetNumber() const
Definition: channels.h:282
H323Connection & connection
Definition: channels.h:339
unsigned sessionID
Definition: channels.h:893
const H323ChannelNumber & GetReverseChannel() const
Definition: channels.h:290
PBoolean autoDeleteTransport
Definition: channels.h:897
Definition: channels.h:469
const H323TransportAddress & GetRemoteMediaAddress() const
Definition: channels.h:776
const H323Capability & GetCapability() const
Definition: channels.h:308
H323TransportAddress externalMediaAddress
Definition: channels.h:788
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
H323ChannelNumber number
Definition: channels.h:341
Definition: channels.h:570
H323TransportAddress remoteMediaControlAddress
Definition: channels.h:791
H323TransportAddress remoteMediaAddress
Definition: channels.h:790
PBoolean IsPaused() const
Definition: channels.h:318
const H323TransportAddress & GetRemoteMediaControlAddress() const
Definition: channels.h:777
Definition: transports.h:351
PayloadTypes
Definition: rtp.h:86
virtual PINDEX HashFunction() const
H323Capability * capability
Definition: channels.h:340
H323Listener * listener
Definition: channels.h:894
Definition: channels.h:99
H323_RTP_Session & rtpCallbacks
Definition: channels.h:648
Definition: channels.h:803
PAtomicInteger m_terminating
Definition: channels.h:345
void SetPause(PBoolean pause)
Definition: channels.h:328
unsigned GetBandwidthUsed() const
Definition: channels.h:298
virtual Comparison Compare(const PObject &obj) const
OpalMediaStreamPtr mediaStream
Definition: channels.h:423
Definition: channels.h:131
PLIST(H323LogicalChannelList, H323Channel)
Definition: h323con.h:130
virtual PObject * Clone() const
PBoolean IsOpen() const
Definition: channels.h:198
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
H323EndPoint & endpoint
Definition: channels.h:338
unsigned number
Definition: channels.h:88
bool paused
Definition: channels.h:344
bool opened
Definition: channels.h:343
unsigned sessionID
Definition: channels.h:787
Definition: channels.h:362
Definition: channels.h:433
Definition: channels.h:132
Definition: channels.h:70
PBoolean fromRemote
Definition: channels.h:89
H323ChannelNumber reverseChannel
Definition: channels.h:342
bool receiver
Definition: channels.h:422
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
H323ChannelNumber()
Definition: channels.h:75
RTP_Session & rtpSession
Definition: channels.h:647
Definition: transaddr.h:66
H323Transport * transport
Definition: channels.h:896
virtual void PrintOn(ostream &strm) const
H323ChannelNumber & operator++(int)
PBoolean IsFromRemote() const
Definition: channels.h:85