34 #ifndef OPAL_H323_H323NEG_H
35 #define OPAL_H323_H323NEG_H
83 PBoolean
Start(PBoolean renegotiate);
85 PBoolean
HandleIncoming(
const H245_MasterSlaveDetermination & pdu);
86 PBoolean
HandleAck(
const H245_MasterSlaveDeterminationAck & pdu);
87 PBoolean
HandleReject(
const H245_MasterSlaveDeterminationReject & pdu);
88 PBoolean
HandleRelease(
const H245_MasterSlaveDeterminationRelease & pdu);
102 static const char * GetStateName(
States s);
103 friend ostream &
operator<<(ostream & o,
States s) {
return o << GetStateName(s); }
129 PBoolean
Start(PBoolean renegotiate, PBoolean empty =
false);
130 void Stop(PBoolean dec =
false);
132 PBoolean
HandleAck(
const H245_TerminalCapabilitySetAck & pdu);
133 PBoolean
HandleReject(
const H245_TerminalCapabilitySetReject & pdu);
134 PBoolean
HandleRelease(
const H245_TerminalCapabilitySetRelease & pdu);
148 static const char * GetStateName(
States s);
149 friend ostream &
operator<<(ostream & o,
States s) {
return o << GetStateName(s); }
174 virtual PBoolean
Open(
177 unsigned replacementFor = 0
179 virtual PBoolean
Close();
180 virtual PBoolean
HandleOpen(
const H245_OpenLogicalChannel & pdu);
181 virtual PBoolean
HandleOpenAck(
const H245_OpenLogicalChannelAck & pdu);
183 virtual PBoolean
HandleReject(
const H245_OpenLogicalChannelReject & pdu);
184 virtual PBoolean
HandleClose(
const H245_CloseLogicalChannel & pdu);
185 virtual PBoolean
HandleCloseAck(
const H245_CloseLogicalChannelAck & pdu);
215 static const char * GetStateName(
States s);
216 friend ostream &
operator<<(ostream & o,
States s) {
return o << GetStateName(s); }
237 virtual PBoolean
Open(
240 unsigned replacementFor = 0
242 virtual PBoolean
Close(
unsigned channelNumber, PBoolean fromRemote);
243 virtual PBoolean
HandleOpen(
const H245_OpenLogicalChannel & pdu);
244 virtual PBoolean
HandleOpenAck(
const H245_OpenLogicalChannelAck & pdu);
246 virtual PBoolean
HandleReject(
const H245_OpenLogicalChannelReject & pdu);
247 virtual PBoolean
HandleClose(
const H245_CloseLogicalChannel & pdu);
248 virtual PBoolean
HandleCloseAck(
const H245_CloseLogicalChannelAck & pdu);
278 virtual PBoolean
StartRequest(
const PString & newModes);
279 virtual PBoolean
StartRequest(
const H245_ArrayOf_ModeDescription & newModes);
280 virtual PBoolean
HandleRequest(
const H245_RequestMode & pdu);
281 virtual PBoolean
HandleAck(
const H245_RequestModeAck & pdu);
282 virtual PBoolean
HandleReject(
const H245_RequestModeReject & pdu);
283 virtual PBoolean
HandleRelease(
const H245_RequestModeRelease & pdu);
303 PBoolean
HandleRequest(
const H245_RoundTripDelayRequest & pdu);
321 #endif // OPAL_H323_H323NEG_H
void Stop(PBoolean dec=false)
enum H245NegMasterSlaveDetermination::States state
PBoolean HandleIncoming(const H245_TerminalCapabilitySet &pdu)
Definition: h323neg.h:161
virtual PBoolean HandleRequest(const H245_RequestMode &pdu)
H323ChannelNumber lastChannelNumber
Definition: h323neg.h:264
bool IsSendingCapabilities() const
Definition: h323neg.h:138
Definition: h323neg.h:144
virtual PBoolean HandleReject(const H245_OpenLogicalChannelReject &pdu)
States
Definition: h323neg.h:143
H323Connection & connection
Definition: h323neg.h:69
unsigned retryCount
Definition: h323neg.h:107
virtual PBoolean HandleRequestCloseRelease(const H245_RequestChannelCloseRelease &pdu)
PBoolean HandleRelease(const H245_MasterSlaveDeterminationRelease &pdu)
H245NegLogicalChannel * FindNegLogicalChannel(unsigned channelNumber, PBoolean fromRemote)
H323Channel * FindChannel(unsigned channelNumber, PBoolean fromRemote)
virtual PBoolean HandleRequestCloseReject(const H245_RequestChannelCloseReject &pdu)
PBoolean HandleReject(const H245_TerminalCapabilitySetReject &pdu)
PDICTIONARY(H245LogicalChannelDict, H323ChannelNumber, H245NegLogicalChannel)
virtual PBoolean HandleOpenConfirm(const H245_OpenLogicalChannelConfirm &pdu)
Definition: h323neg.h:228
H323ChannelNumber channelNumber
Definition: h323neg.h:203
H245LogicalChannelDict channels
Definition: h323neg.h:265
virtual void HandleTimeout()
Definition: h323caps.h:89
virtual PBoolean HandleRequestCloseReject(const H245_RequestChannelCloseReject &pdu)
H245NegLogicalChannel(H323EndPoint &endpoint, H323Connection &connection, const H323ChannelNumber &channelNumber)
virtual PBoolean HandleCloseAck(const H245_CloseLogicalChannelAck &pdu)
virtual void Add(H323Channel &channel)
Definition: h323neg.h:207
enum H245NegTerminalCapabilitySet::States state
Definition: h323neg.h:295
PBoolean awaitingResponse
Definition: h323neg.h:287
H245NegLogicalChannels(H323EndPoint &endpoint, H323Connection &connection)
bool HasReceivedCapabilities() const
Definition: h323neg.h:140
DWORD determinationNumber
Definition: h323neg.h:106
virtual PBoolean HandleOpenConfirm(const H245_OpenLogicalChannelConfirm &pdu)
Definition: h323neg.h:110
virtual PBoolean HandleRequestCloseAck(const H245_RequestChannelCloseAck &pdu)
unsigned retryCount
Definition: h323neg.h:315
H323Channel * GetChannelAt(PINDEX i)
Definition: h323neg.h:144
bool IsAwaitingEstablishment() const
Definition: h323neg.h:194
H245NegLogicalChannel & GetNegLogicalChannelAt(PINDEX i)
H323ChannelNumber GetNextChannelNumber()
enum H245NegMasterSlaveDetermination::MasterSlaveStatus status
bool ConfrimedCapabilitiesSent() const
Definition: h323neg.h:139
enum H245NegLogicalChannel::States state
PTimeInterval tripStartTime
Definition: h323neg.h:313
States
Definition: h323neg.h:205
virtual PBoolean Close(unsigned channelNumber, PBoolean fromRemote)
virtual PBoolean HandleRequestClose(const H245_RequestChannelClose &pdu)
H245NegMasterSlaveDetermination(H323EndPoint &endpoint, H323Connection &connection)
virtual PBoolean HandleClose(const H245_CloseLogicalChannel &pdu)
PBoolean HandleRelease(const H245_TerminalCapabilitySetRelease &pdu)
Definition: h323neg.h:111
Definition: channels.h:99
virtual PBoolean HandleAck(const H245_RequestModeAck &pdu)
unsigned inSequenceNumber
Definition: h323neg.h:288
PBoolean HandleReject(const H245_MasterSlaveDeterminationReject &pdu)
MasterSlaveStatus
Definition: h323neg.h:109
bool HasSentCapabilities() const
Definition: h323neg.h:137
unsigned outSequenceNumber
Definition: h323neg.h:153
H323Channel * GetChannel()
PBoolean awaitingResponse
Definition: h323neg.h:311
PBoolean Start(PBoolean renegotiate)
PINDEX GetSize() const
Definition: h323neg.h:255
bool IsEstablished() const
Definition: h323neg.h:195
PBoolean HandleAck(const H245_TerminalCapabilitySetAck &pdu)
PTimeInterval GetRoundTripDelay() const
Definition: h323neg.h:307
Definition: h323neg.h:210
PBoolean receivedCapabilites
Definition: h323neg.h:155
Definition: h323con.h:130
virtual PBoolean HandleOpen(const H245_OpenLogicalChannel &pdu)
unsigned inSequenceNumber
Definition: h323neg.h:152
Definition: h323neg.h:208
virtual PBoolean HandleClose(const H245_CloseLogicalChannel &pdu)
virtual PBoolean HandleOpenAck(const H245_OpenLogicalChannelAck &pdu)
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
H323Channel * FindChannelBySession(unsigned rtpSessionId, PBoolean fromRemote)
H323Channel * channel
Definition: h323neg.h:201
PBoolean IsMaster() const
Definition: h323neg.h:91
H323EndPoint & endpoint
Definition: h323neg.h:68
Definition: h323neg.h:212
virtual PBoolean HandleRelease(const H245_RequestModeRelease &pdu)
PTimeInterval roundTripTime
Definition: h323neg.h:314
H245NegRequestMode(H323EndPoint &endpoint, H323Connection &connection)
Definition: h323neg.h:209
PBoolean IsDetermined() const
Definition: h323neg.h:92
Definition: h323neg.h:122
virtual PBoolean Open(const H323Capability &capability, unsigned sessionID, unsigned replacementFor=0)
virtual PBoolean HandleOpenAck(const H245_OpenLogicalChannelAck &pdu)
virtual PBoolean HandleCloseAck(const H245_CloseLogicalChannelAck &pdu)
virtual PBoolean StartRequest(const PString &newModes)
virtual PBoolean HandleOpen(const H245_OpenLogicalChannel &pdu)
Definition: channels.h:70
PBoolean HandleIncoming(const H245_MasterSlaveDetermination &pdu)
Definition: h323neg.h:144
States
Definition: h323neg.h:97
virtual PBoolean HandleRequestClose(const H245_RequestChannelClose &pdu)
virtual PBoolean Open(const H323Capability &capability, unsigned sessionID, unsigned replacementFor=0)
PBoolean HandleRequest(const H245_RoundTripDelayRequest &pdu)
Definition: h323neg.h:110
virtual PBoolean HandleReject(const H245_OpenLogicalChannelReject &pdu)
virtual PBoolean HandleRequestCloseAck(const H245_RequestChannelCloseAck &pdu)
H245NegTerminalCapabilitySet(H323EndPoint &endpoint, H323Connection &connection)
PBoolean IsRemoteOffline() const
Definition: h323neg.h:308
virtual void HandleTimeout()
PDECLARE_NOTIFIER(PTimer, H245Negotiator, HandleTimeoutUnlocked)
Definition: h323neg.h:211
Definition: h323neg.h:206
virtual void HandleTimeout()
virtual PBoolean HandleRequestCloseRelease(const H245_RequestChannelCloseRelease &pdu)
H245Negotiator(H323EndPoint &endpoint, H323Connection &connection)
Definition: h323neg.h:145
unsigned sequenceNumber
Definition: h323neg.h:312
unsigned outSequenceNumber
Definition: h323neg.h:289
PBoolean Start(PBoolean renegotiate, PBoolean empty=false)
Definition: h323neg.h:110
virtual PBoolean HandleReject(const H245_RequestModeReject &pdu)
PBoolean HandleResponse(const H245_RoundTripDelayResponse &pdu)
PTimer replyTimer
Definition: h323neg.h:70
PBoolean HandleAck(const H245_MasterSlaveDeterminationAck &pdu)
H245NegRoundTripDelay(H323EndPoint &endpoint, H323Connection &connection)
Definition: h323neg.h:271