30 #ifndef OPAL_H323_GKCLIENT_H
31 #define OPAL_H323_GKCLIENT_H
47 class H225_ArrayOf_AliasAddress;
48 class H225_H323_UU_PDU;
49 class H225_AlternateGK;
50 class H225_ArrayOf_AlternateGK;
51 class H225_ArrayOf_ServiceControlSession;
52 class H225_FeatureSet;
88 PBoolean callback =
true
130 const PString & identifier
145 const PString & identifier,
152 bool autoReregister =
true,
153 bool didGkDiscovery =
false,
154 bool lightweight =
true
166 const PString & alias,
173 const PStringList & aliases,
196 PBoolean ignorePreGrantedARQ =
false
227 const H225_H323_UU_PDU & pdu,
234 const PString & identifer,
235 const PBYTEArray & outData,
236 PBYTEArray & replyData
239 const PString & identifer,
240 const void * outDataPtr,
242 PBYTEArray & replyData
243 ) {
return NonStandardMessage(identifer, PBYTEArray((
const BYTE *)outDataPtr, outDataSize), replyData); }
248 const PString & identifer,
249 const PBYTEArray & outData
255 const H225_ArrayOf_ServiceControlSession & serviceControl,
316 const PString & password,
317 const PString & username = PString()
346 const PTimeInterval & rate
354 H225_InfoRequestResponse & irr,
359 const H225_ArrayOf_AlternateGK & alts,
368 unsigned unregisteredTag
371 virtual H323Transport *
CreateTransport(PIPSocket::Address bindng = PIPSocket::GetDefaultIpAny(), WORD port = 0, PBoolean reuseAddr =
false);
374 void OnAddInterface(
const PIPSocket::InterfaceEntry & entry, PINDEX priority);
375 void OnRemoveInterface(
const PIPSocket::InterfaceEntry & entry, PINDEX priority);
397 Comparison
Compare(
const PObject & obj)
const;
398 void PrintOn(ostream & strm)
const;
459 #endif // OPAL_H323_GKCLIENT_H
PBYTEArray * accessTokenData
Transport address or remote endpoint.
Definition: gkclient.h:185
PBoolean MakeRequestWithReregister(Request &request, unsigned unregisteredTag)
AlternateList m_alternates
Definition: gkclient.h:416
Definition: gkclient.h:429
PSyncPoint m_monitorTickle
Definition: gkclient.h:444
enum H323Gatekeeper::AlternateInfo::@15 registrationState
Definition: gkclient.h:177
Definition: gkclient.h:278
PWCharArray m_endpointIdentifier
Definition: gkclient.h:382
PInterfaceMonitor::Notifier m_onHighPriorityInterfaceChange
Definition: gkclient.h:388
virtual PBoolean MakeRequest(Request &request)
virtual void OnTerminalAliasChanged()
void SetAlternates(const H225_ArrayOf_AlternateGK &alts, bool permanent)
bool discoveryComplete
Definition: gkclient.h:379
PBoolean OnSendFeatureSet(H460_MessageType pduType, H225_FeatureSet &features) const
PBoolean gatekeeperRouted
Reject reason if returns false.
Definition: gkclient.h:182
PBoolean OnReceiveRegistrationReject(const H225_RegistrationReject &rrj)
bool m_alternateTemporary
Definition: gkclient.h:417
PDECLARE_InterfaceNotifier(H323Gatekeeper, OnHighPriorityInterfaceChange)
static PString GetRegistrationFailReasonString(RegistrationFailReasons reason)
PBoolean OnReceiveServiceControlIndication(const H225_ServiceControlIndication &)
PBoolean DiscoverByName(const PString &identifier)
PStringList GetAliases() const
bool RegistrationRequest(bool autoReregister=true, bool didGkDiscovery=false, bool lightweight=true)
Definition: gkclient.h:405
void Connect(const H323TransportAddress &address, const PString &gatekeeperIdentifier)
Definition: gkclient.h:404
Comparison Compare(const PObject &obj) const
H225_InfoRequestResponse & BuildInfoRequestResponse(H323RasPDU &response, unsigned seqNum)
enum H323Gatekeeper::@14 pregrantAnswerCall
PBoolean OnReceiveNonStandardMessage(const H225_NonStandardMessage &)
bool m_willRespondToIRR
Definition: gkclient.h:441
Definition: gkclient.h:287
H225_ArrayOf_AliasAddress * aliasAddresses
iNow Gatekeeper Access Token data
Definition: gkclient.h:187
PBoolean OnReceiveDisengageRequest(const H225_DisengageRequest &drq)
PBoolean OnReceiveGatekeeperConfirm(const H225_GatekeeperConfirm &gcf)
Definition: transports.h:788
Definition: gkclient.h:406
void OnAddInterface(const PIPSocket::InterfaceEntry &entry, PINDEX priority)
PTimeInterval m_infoRequestTime
Definition: gkclient.h:440
PBoolean IsDiscoveryComplete() const
Definition: gkclient.h:268
PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &urj)
PTimeInterval m_currentTimeToLive
Definition: gkclient.h:438
friend ostream & operator<<(ostream &strm, RegistrationFailReasons reason)
Definition: gkclient.h:290
void OnSendGatekeeperRequest(H225_GatekeeperRequest &grq)
H323TransportAddress GetGatekeeperRouteAddress() const
Definition: gkclient.h:327
RegistrationFailReasons
Definition: gkclient.h:274
Definition: gkclient.h:276
H323TransportAddress * transportAddress
Number of endpoints that can be returned.
Definition: gkclient.h:184
PThread * m_monitorThread
Definition: gkclient.h:442
PInterfaceMonitor::Notifier m_onLowPriorityInterfaceChange
Definition: gkclient.h:390
void SetPassword(const PString &password, const PString &username=PString())
PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &bcf)
bool NonStandardMessage(const PString &identifer, const PBYTEArray &outData, PBYTEArray &replyData)
virtual void StopChannel()
PString gatekeeperIdentifier
Definition: gkclient.h:401
void OnRemoveInterface(const PIPSocket::InterfaceEntry &entry, PINDEX priority)
Definition: transaddr.h:91
unsigned SetupGatekeeperRequest(H323RasPDU &request)
Definition: gkclient.h:280
Definition: gkclient.h:284
Definition: mediafmt.h:60
PString GetEndpointIdentifier() const
Definition: gkclient.h:428
virtual bool DiscoverGatekeeper()
Definition: gkclient.h:282
PBoolean UnregistrationRequest(int reason)
bool SetListenerAddresses(H225_ArrayOf_TransportAddress &pdu)
enum H323Gatekeeper::@14 pregrantMakeCall
PBoolean OnReceiveInfoRequestResponse(const H225_InfoRequestResponse &irr)
Definition: gkclient.h:281
bool m_monitorRunning
Definition: gkclient.h:443
bool m_forceRegister
Definition: gkclient.h:437
AlternateInfo(H225_AlternateGK &alt)
void ClearInfoRequestRate()
H460_FeatureSet * m_features
Definition: gkclient.h:423
Definition: h323pdu.h:397
PLIST(H323LogicalChannelList, H323Channel)
Definition: h323con.h:137
PBoolean IsRegistered() const
Definition: gkclient.h:272
void InfoRequestResponse()
void GetEndpointIdentifier(PASN_BMPString &id) const
Definition: gkclient.h:309
PBoolean LocationRequest(const PString &alias, H323TransportAddress &address)
PBoolean BandwidthRequest(H323Connection &connection, OpalBandwidth requestedBandwidth)
PBoolean OnReceiveInfoRequest(const H225_InfoRequest &irq)
H323TransportAddress gkRouteAddress
Definition: gkclient.h:431
PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &ucf)
H225_ArrayOf_AliasAddress * destExtraCallInfo
DestinationInfo to use in SETUP if not empty.
Definition: gkclient.h:188
PBoolean OnReceiveUnregistrationRequest(const H225_UnregistrationRequest &urq)
PBoolean OnReceiveAdmissionConfirm(const H225_AdmissionConfirm &acf)
PDECLARE_MUTEX(m_aliasMutex)
Definition: h323trans.h:47
Definition: gkclient.h:407
PBoolean DisengageRequest(H323Connection &connection, unsigned reason)
PBoolean AdmissionRequest(H323Connection &connection, AdmissionResponse &response, PBoolean ignorePreGrantedARQ=false)
Definition: gkclient.h:392
bool NonStandardMessage(const PString &identifer, const void *outDataPtr, PINDEX outDataSize, PBYTEArray &replyData)
Definition: gkclient.h:238
PTimeInterval InternalRegister()
PBoolean OnReceiveAdmissionReject(const H225_AdmissionReject &arj)
Definition: gkclient.h:285
void SetInfoRequestRate(const PTimeInterval &rate)
bool m_requiresDiscovery
Definition: gkclient.h:439
PBoolean OnReceiveBandwidthRequest(const H225_BandwidthRequest &brq)
Definition: gkclient.h:275
PStringList m_aliases
Definition: gkclient.h:380
bool SendNonStandardMessage(const PString &identifer, const PBYTEArray &outData)
PBoolean SendUnsolicitedIRR(H225_InfoRequestResponse &irr, H323RasPDU &response)
PDictionary< POrdinalKey, H323ServiceControlSession > serviceControlSessions
Definition: gkclient.h:433
RegistrationFailReasons GetRegistrationFailReason() const
Definition: gkclient.h:294
H460_FeatureSet * GetFeatures()
Definition: gkclient.h:332
virtual H323Transport * CreateTransport(PIPSocket::Address bindng=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean reuseAddr=false)
Definition: gkclient.h:60
Definition: gkclient.h:286
PBoolean OnReceiveDisengageReject(const H323RasPDU &, const H225_DisengageReject &)
H323TransportAddress rasAddress
Definition: gkclient.h:400
Definition: gkclient.h:283
void OnSendAdmissionRequest(H225_AdmissionRequest &arq)
Definition: gkclient.h:427
unsigned priority
Definition: gkclient.h:402
PBoolean OnReceiveRegistrationConfirm(const H225_RegistrationConfirm &rcf)
void PrintOn(ostream &strm) const
H235Authenticators m_authenticators
Definition: gkclient.h:420
void OnReceiveFeatureSet(H460_MessageType pduType, const H225_FeatureSet &features) const
PString gatekeeperIdentifier
Definition: h225ras.h:319
virtual PBoolean WriteTo(H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=true)
Definition: gkclient.h:279
PSortedList< AlternateInfo > AlternateList
Definition: gkclient.h:415
Definition: transaddr.h:62
Definition: gkclient.h:277
H323Gatekeeper(H323EndPoint &endpoint, H323Transport *transport)
void SetRegistrationFailReason(unsigned reason, unsigned commandMask)
PBoolean DiscoverByNameAndAddress(const PString &identifier, const H323TransportAddress &address)
PINDEX endpointCount
Flag for call is through gk.
Definition: gkclient.h:183
std::set< PSafePtr< H323Connection > > m_activeConnections
Definition: gkclient.h:448
PBoolean OnReceiveGatekeeperReject(const H225_GatekeeperReject &grj)
bool m_autoReregister
Definition: gkclient.h:436
PBoolean DiscoverByAddress(const H323TransportAddress &address)
virtual void OnServiceControlSessions(const H225_ArrayOf_ServiceControlSession &serviceControl, H323Connection *connection)
RegistrationFailReasons m_registrationFailReason
Definition: gkclient.h:383
bool StartGatekeeper(const H323TransportAddress &address)
unsigned rejectReason
Definition: gkclient.h:180