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);
91 PBoolean
IsMaster()
const {
return status == e_DeterminedMaster; }
92 PBoolean
IsDetermined()
const {
return state == e_Idle && status != e_Indeterminate; }
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);
131 PBoolean HandleIncoming(
const H245_TerminalCapabilitySet & pdu);
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);
182 virtual PBoolean HandleOpenConfirm(
const H245_OpenLogicalChannelConfirm & 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);
186 virtual PBoolean HandleRequestClose(
const H245_RequestChannelClose & pdu);
187 virtual PBoolean HandleRequestCloseAck(
const H245_RequestChannelCloseAck & pdu);
188 virtual PBoolean HandleRequestCloseReject(
const H245_RequestChannelCloseReject & pdu);
189 virtual PBoolean HandleRequestCloseRelease(
const H245_RequestChannelCloseRelease & pdu);
198 virtual void Release();
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);
245 virtual PBoolean HandleOpenConfirm(
const H245_OpenLogicalChannelConfirm & 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);
249 virtual PBoolean HandleRequestClose(
const H245_RequestChannelClose & pdu);
250 virtual PBoolean HandleRequestCloseAck(
const H245_RequestChannelCloseAck & pdu);
251 virtual PBoolean HandleRequestCloseReject(
const H245_RequestChannelCloseReject & pdu);
252 virtual PBoolean HandleRequestCloseRelease(
const H245_RequestChannelCloseRelease & pdu);
255 PINDEX
GetSize()
const {
return channels.GetSize(); }
257 H323Channel * FindChannel(
unsigned channelNumber, PBoolean fromRemote);
260 H323Channel * FindChannelBySession(
unsigned rtpSessionId, PBoolean fromRemote);
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);
302 PBoolean StartRequest();
303 PBoolean HandleRequest(
const H245_RoundTripDelayRequest & pdu);
304 PBoolean HandleResponse(
const H245_RoundTripDelayResponse & pdu);
321 #endif // OPAL_H323_H323NEG_H
Definition: h323neg.h:161
H323ChannelNumber lastChannelNumber
Definition: h323neg.h:264
bool IsSendingCapabilities() const
Definition: h323neg.h:138
Definition: h323neg.h:144
States
Definition: h323neg.h:143
H323Connection & connection
Definition: h323neg.h:69
unsigned retryCount
Definition: h323neg.h:107
PDICTIONARY(H245LogicalChannelDict, H323ChannelNumber, H245NegLogicalChannel)
Definition: h323neg.h:228
H323ChannelNumber channelNumber
Definition: h323neg.h:203
H245LogicalChannelDict channels
Definition: h323neg.h:265
Definition: h323caps.h:89
Definition: h323neg.h:207
Definition: h323neg.h:295
PBoolean awaitingResponse
Definition: h323neg.h:287
bool HasReceivedCapabilities() const
Definition: h323neg.h:140
DWORD determinationNumber
Definition: h323neg.h:106
unsigned retryCount
Definition: h323neg.h:315
bool IsAwaitingEstablishment() const
Definition: h323neg.h:194
bool ConfrimedCapabilitiesSent() const
Definition: h323neg.h:139
PTimeInterval tripStartTime
Definition: h323neg.h:313
States
Definition: h323neg.h:205
Definition: channels.h:99
unsigned inSequenceNumber
Definition: h323neg.h:288
MasterSlaveStatus
Definition: h323neg.h:109
bool HasSentCapabilities() const
Definition: h323neg.h:137
unsigned outSequenceNumber
Definition: h323neg.h:153
PBoolean awaitingResponse
Definition: h323neg.h:311
PINDEX GetSize() const
Definition: h323neg.h:255
bool IsEstablished() const
Definition: h323neg.h:195
PTimeInterval GetRoundTripDelay() const
Definition: h323neg.h:307
Definition: h323neg.h:210
PBoolean receivedCapabilites
Definition: h323neg.h:155
Definition: h323con.h:130
unsigned inSequenceNumber
Definition: h323neg.h:152
Definition: h323neg.h:208
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
H323Channel * channel
Definition: h323neg.h:201
PBoolean IsMaster() const
Definition: h323neg.h:91
H323EndPoint & endpoint
Definition: h323neg.h:68
PTimeInterval roundTripTime
Definition: h323neg.h:314
Definition: h323neg.h:209
PBoolean IsDetermined() const
Definition: h323neg.h:92
Definition: h323neg.h:122
Definition: channels.h:70
States
Definition: h323neg.h:97
PBoolean IsRemoteOffline() const
Definition: h323neg.h:308
virtual void HandleTimeout()
PDECLARE_NOTIFIER(PTimer, H245Negotiator, HandleTimeoutUnlocked)
Definition: h323neg.h:211
Definition: h323neg.h:206
H245Negotiator(H323EndPoint &endpoint, H323Connection &connection)
unsigned sequenceNumber
Definition: h323neg.h:312
unsigned outSequenceNumber
Definition: h323neg.h:289
Definition: h323neg.h:110
PTimer replyTimer
Definition: h323neg.h:70
Definition: h323neg.h:271