gkclient.h
Go to the documentation of this file.
/*
* gkclient.h
*
* Gatekeeper client protocol handler
*
* Open H323 Library
*
* Copyright (c) 1998-2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open H323 Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Portions of this code were written with the assisance of funding from
* iFace, Inc. http://www.iface.com
*
* Contributor(s): ______________________________________.
*
* $Revision: 24178 $
* $Author: rjongbloed $
* $Date: 2010-04-05 19:10:56 -0500 (Mon, 05 Apr 2010) $
*/
#ifndef OPAL_H323_GKCLIENT_H
#define OPAL_H323_GKCLIENT_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#if OPAL_H323
#include <h323/h225ras.h>
#include <h323/h235auth.h>
#if OPAL_H460
class H460_FeatureSet;
#endif
class H323Connection;
class H225_ArrayOf_AliasAddress;
class H225_H323_UU_PDU;
class H225_AlternateGK;
class H225_ArrayOf_AlternateGK;
class H225_ArrayOf_ServiceControlSession;
class H225_FeatureSet;
class H323Gatekeeper : public H225_RAS
{
PCLASSINFO(H323Gatekeeper, H225_RAS);
public:
H323Gatekeeper(
H323EndPoint & endpoint,
H323Transport * transport
);
~H323Gatekeeper();
virtual PBoolean WriteTo(
H323TransactionPDU & pdu,
const H323TransportAddressArray & addresses,
PBoolean callback = true
);
PBoolean OnReceiveGatekeeperConfirm(const H225_GatekeeperConfirm & gcf);
PBoolean OnReceiveGatekeeperReject(const H225_GatekeeperReject & grj);
PBoolean OnReceiveRegistrationConfirm(const H225_RegistrationConfirm & rcf);
PBoolean OnReceiveRegistrationReject(const H225_RegistrationReject & rrj);
PBoolean OnReceiveUnregistrationRequest(const H225_UnregistrationRequest & urq);
PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm & ucf);
PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject & urj);
PBoolean OnReceiveAdmissionConfirm(const H225_AdmissionConfirm & acf);
PBoolean OnReceiveAdmissionReject(const H225_AdmissionReject & arj);
PBoolean OnReceiveDisengageRequest(const H225_DisengageRequest & drq);
PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm & bcf);
PBoolean OnReceiveBandwidthRequest(const H225_BandwidthRequest & brq);
PBoolean OnReceiveInfoRequest(const H225_InfoRequest & irq);
PBoolean OnReceiveServiceControlIndication(const H225_ServiceControlIndication &);
void OnSendGatekeeperRequest(H225_GatekeeperRequest & grq);
void OnSendAdmissionRequest(H225_AdmissionRequest & arq);
PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet & features) const;
void OnReceiveFeatureSet(unsigned, const H225_FeatureSet & features) const;
PBoolean DiscoverAny();
PBoolean DiscoverByName(
const PString & identifier
);
PBoolean DiscoverByAddress(
const H323TransportAddress & address
);
PBoolean DiscoverByNameAndAddress(
const PString & identifier,
const H323TransportAddress & address
);
PBoolean RegistrationRequest(
PBoolean autoReregister = true,
PBoolean didGkDiscovery = false
);
PBoolean UnregistrationRequest(
int reason
);
PBoolean LocationRequest(
const PString & alias,
H323TransportAddress & address
);
PBoolean LocationRequest(
const PStringList & aliases,
H323TransportAddress & address
);
struct AdmissionResponse {
AdmissionResponse();
unsigned rejectReason;
PBoolean gatekeeperRouted;
PINDEX endpointCount;
H323TransportAddress * transportAddress;
PBYTEArray * accessTokenData;
H225_ArrayOf_AliasAddress * aliasAddresses;
H225_ArrayOf_AliasAddress * destExtraCallInfo;
};
PBoolean AdmissionRequest(
H323Connection & connection,
AdmissionResponse & response,
PBoolean ignorePreGrantedARQ = false
);
PBoolean DisengageRequest(
const H323Connection & connection,
unsigned reason
);
PBoolean BandwidthRequest(
H323Connection & connection,
unsigned requestedBandwidth
);
void InfoRequestResponse();
void InfoRequestResponse(
const H323Connection & connection
);
void InfoRequestResponse(
const H323Connection & connection,
const H225_H323_UU_PDU & pdu,
PBoolean sent
);
virtual void OnServiceControlSessions(
const H225_ArrayOf_ServiceControlSession & serviceControl,
H323Connection * connection
);
virtual void OnTerminalAliasChanged();
PBoolean IsDiscoveryComplete() const { return discoveryComplete; }
PBoolean IsRegistered() const { return registrationFailReason == RegistrationSuccessful; }
enum RegistrationFailReasons {
RegistrationSuccessful,
UnregisteredLocally,
UnregisteredByGatekeeper,
GatekeeperLostRegistration,
InvalidListener,
DuplicateAlias,
SecurityDenied,
TransportError,
NumRegistrationFailReasons,
RegistrationRejectReasonMask = 0x8000
};
RegistrationFailReasons GetRegistrationFailReason() const { return registrationFailReason; }
PString GetName() const;
const PString & GetEndpointIdentifier() const { return endpointIdentifier; }
void SetPassword(
const PString & password,
const PString & username = PString()
);
/*
* Return the call signalling address for the gatekeeper (if present)
*/
H323TransportAddress GetGatekeeperRouteAddress() const
{ return gkRouteAddress; }
protected:
bool StartGatekeeper(const H323TransportAddress & address);
virtual bool DiscoverGatekeeper();
unsigned SetupGatekeeperRequest(H323RasPDU & request);
void Connect(const H323TransportAddress & address, const PString & gatekeeperIdentifier);
PDECLARE_NOTIFIER(PThread, H323Gatekeeper, MonitorMain);
PDECLARE_NOTIFIER(PTimer, H323Gatekeeper, TickleMonitor);
void RegistrationTimeToLive();
void SetInfoRequestRate(
const PTimeInterval & rate
);
void ClearInfoRequestRate();
H225_InfoRequestResponse & BuildInfoRequestResponse(
H323RasPDU & response,
unsigned seqNum
);
PBoolean SendUnsolicitedIRR(
H225_InfoRequestResponse & irr,
H323RasPDU & response
);
void SetAlternates(
const H225_ArrayOf_AlternateGK & alts,
PBoolean permanent
);
virtual PBoolean MakeRequest(
Request & request
);
PBoolean MakeRequestWithReregister(
Request & request,
unsigned unregisteredTag
);
virtual H323Transport * CreateTransport(PIPSocket::Address bindng = PIPSocket::GetDefaultIpAny(), WORD port = 0, PBoolean reuseAddr = false);
// Handling interface changes
void OnAddInterface(const PIPSocket::InterfaceEntry & entry, PINDEX priority);
void OnRemoveInterface(const PIPSocket::InterfaceEntry & entry, PINDEX priority);
void UpdateConnectionStatus();
bool SetListenerAddresses(H225_ArrayOf_TransportAddress & pdu);
// Gatekeeper registration state variables
PBoolean discoveryComplete;
PString endpointIdentifier;
RegistrationFailReasons registrationFailReason;
enum {
HighPriority = 80,
LowPriority = 40,
};
class InterfaceMonitor : public PInterfaceMonitorClient
{
PCLASSINFO(InterfaceMonitor, PInterfaceMonitorClient);
public:
InterfaceMonitor(H323Gatekeeper & gk, PINDEX priority);
protected:
virtual void OnAddInterface(const PIPSocket::InterfaceEntry & entry);
virtual void OnRemoveInterface(const PIPSocket::InterfaceEntry & entry);
H323Gatekeeper & gk;
};
InterfaceMonitor highPriorityMonitor;
InterfaceMonitor lowPriorityMonitor;
class AlternateInfo : public PObject {
PCLASSINFO(AlternateInfo, PObject);
public:
AlternateInfo(H225_AlternateGK & alt);
~AlternateInfo();
Comparison Compare(const PObject & obj);
void PrintOn(ostream & strm) const;
H323TransportAddress rasAddress;
PString gatekeeperIdentifier;
unsigned priority;
enum {
NoRegistrationNeeded,
NeedToRegister,
Register,
IsRegistered,
RegistrationFailed
} registrationState;
private:
// Disable copy constructor and assignment
AlternateInfo(const AlternateInfo &other): PObject(other) { }
AlternateInfo & operator=(const AlternateInfo &) { return *this; }
};
PSortedList<AlternateInfo> alternates;
PBoolean alternatePermanent;
PSemaphore requestMutex;
H235Authenticators authenticators;
enum {
RequireARQ,
PregrantARQ,
PreGkRoutedARQ
} pregrantMakeCall, pregrantAnswerCall;
H323TransportAddress gkRouteAddress;
// Gatekeeper operation variables
PBoolean autoReregister;
PBoolean reregisterNow;
PTimer timeToLive;
PBoolean requiresDiscovery;
PTimer infoRequestRate;
PBoolean willRespondToIRR;
PThread * monitor;
PBoolean monitorStop;
PSyncPoint monitorTickle;
PDictionary<POrdinalKey, H323ServiceControlSession> serviceControlSessions;
#if OPAL_H460
H460_FeatureSet * features;
#endif
};
PLIST(H323GatekeeperList, H323Gatekeeper);
#endif // OPAL_H323
#endif // OPAL_H323_GKCLIENT_H
H323Gatekeeper::InterfaceMonitor::gk
H323Gatekeeper & gk
Definition: gkclient.h:358
H323Gatekeeper::monitorStop
PBoolean monitorStop
Definition: gkclient.h:407
H460_FeatureSet
Definition: h4601.h:1017
H323Gatekeeper::AdmissionResponse::accessTokenData
PBYTEArray * accessTokenData
Transport address or remote endpoint.
Definition: gkclient.h:179
H323Gatekeeper::MakeRequestWithReregister
PBoolean MakeRequestWithReregister(Request &request, unsigned unregisteredTag)
H323Gatekeeper::endpointIdentifier
PString endpointIdentifier
Definition: gkclient.h:340
H323Gatekeeper::InterfaceMonitor::InterfaceMonitor
InterfaceMonitor(H323Gatekeeper &gk, PINDEX priority)
H323Gatekeeper::lowPriorityMonitor
InterfaceMonitor lowPriorityMonitor
Definition: gkclient.h:361
H225_RAS
Definition: h225ras.h:96
H323Gatekeeper::reregisterNow
PBoolean reregisterNow
Definition: gkclient.h:401
H323Gatekeeper::AdmissionResponse
Definition: gkclient.h:171
H323Gatekeeper::GatekeeperLostRegistration
Definition: gkclient.h:251
H323Gatekeeper::MakeRequest
virtual PBoolean MakeRequest(Request &request)
H323TransportAddressArray
H323TransportAddressArray(const OpalTransportAddress &address)
Definition: transaddr.h:97
H323Gatekeeper::pregrantAnswerCall
enum H323Gatekeeper::@12 pregrantAnswerCall
H323Gatekeeper::OnTerminalAliasChanged
virtual void OnTerminalAliasChanged()
H323Gatekeeper::pregrantMakeCall
enum H323Gatekeeper::@12 pregrantMakeCall
H323Gatekeeper::AdmissionResponse::gatekeeperRouted
PBoolean gatekeeperRouted
Reject reason if returns false.
Definition: gkclient.h:176
H323Gatekeeper::OnReceiveRegistrationReject
PBoolean OnReceiveRegistrationReject(const H225_RegistrationReject &rrj)
H323Gatekeeper::requiresDiscovery
PBoolean requiresDiscovery
Definition: gkclient.h:403
H323Gatekeeper::OnReceiveServiceControlIndication
PBoolean OnReceiveServiceControlIndication(const H225_ServiceControlIndication &)
H323Gatekeeper::DiscoverByName
PBoolean DiscoverByName(const PString &identifier)
buildopts.h
H323Gatekeeper::Connect
void Connect(const H323TransportAddress &address, const PString &gatekeeperIdentifier)
H323Gatekeeper::registrationFailReason
RegistrationFailReasons registrationFailReason
Definition: gkclient.h:341
H323Gatekeeper::BuildInfoRequestResponse
H225_InfoRequestResponse & BuildInfoRequestResponse(H323RasPDU &response, unsigned seqNum)
H323Gatekeeper::AdmissionResponse::aliasAddresses
H225_ArrayOf_AliasAddress * aliasAddresses
iNow Gatekeeper Access Token data
Definition: gkclient.h:181
H323Gatekeeper::OnReceiveDisengageRequest
PBoolean OnReceiveDisengageRequest(const H225_DisengageRequest &drq)
H323Gatekeeper::PDECLARE_NOTIFIER
PDECLARE_NOTIFIER(PThread, H323Gatekeeper, MonitorMain)
H323Gatekeeper::OnReceiveGatekeeperConfirm
PBoolean OnReceiveGatekeeperConfirm(const H225_GatekeeperConfirm &gcf)
OpalTransport
Definition: transports.h:703
H323Gatekeeper::OnAddInterface
void OnAddInterface(const PIPSocket::InterfaceEntry &entry, PINDEX priority)
H323Gatekeeper::DiscoverAny
PBoolean DiscoverAny()
H323Gatekeeper::AlternateInfo::NeedToRegister
Definition: gkclient.h:376
H323Gatekeeper::InterfaceMonitor::OnAddInterface
virtual void OnAddInterface(const PIPSocket::InterfaceEntry &entry)
H323Gatekeeper::PregrantARQ
Definition: gkclient.h:394
H323Gatekeeper::IsDiscoveryComplete
PBoolean IsDiscoveryComplete() const
Definition: gkclient.h:241
H323Gatekeeper::OnReceiveUnregistrationReject
PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &urj)
H323Gatekeeper::discoveryComplete
PBoolean discoveryComplete
Definition: gkclient.h:339
H323Gatekeeper::RegistrationTimeToLive
void RegistrationTimeToLive()
H323Gatekeeper::OnSendGatekeeperRequest
void OnSendGatekeeperRequest(H225_GatekeeperRequest &grq)
H323Gatekeeper::GetGatekeeperRouteAddress
H323TransportAddress GetGatekeeperRouteAddress() const
Definition: gkclient.h:289
H323Gatekeeper::RegistrationFailReasons
RegistrationFailReasons
Definition: gkclient.h:247
H323Gatekeeper::UnregisteredLocally
Definition: gkclient.h:249
H323Gatekeeper::willRespondToIRR
PBoolean willRespondToIRR
Definition: gkclient.h:405
H323Gatekeeper::AdmissionResponse::transportAddress
H323TransportAddress * transportAddress
Number of endpoints that can be returned.
Definition: gkclient.h:178
H323Gatekeeper::SetPassword
void SetPassword(const PString &password, const PString &username=PString())
H323Gatekeeper::AlternateInfo::RegistrationFailed
Definition: gkclient.h:379
H323Gatekeeper::AlternateInfo::NoRegistrationNeeded
Definition: gkclient.h:375
H323Gatekeeper::OnReceiveBandwidthConfirm
PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &bcf)
H323Gatekeeper::AlternateInfo::gatekeeperIdentifier
PString gatekeeperIdentifier
Definition: gkclient.h:372
H323Gatekeeper::OnRemoveInterface
void OnRemoveInterface(const PIPSocket::InterfaceEntry &entry, PINDEX priority)
H323Gatekeeper::AlternateInfo::registrationState
enum H323Gatekeeper::AlternateInfo::@13 registrationState
H323Gatekeeper::RequireARQ
Definition: gkclient.h:393
H323Gatekeeper::LowPriority
Definition: gkclient.h:345
H323Gatekeeper::PreGkRoutedARQ
Definition: gkclient.h:395
H323Gatekeeper::infoRequestRate
PTimer infoRequestRate
Definition: gkclient.h:404
H323Gatekeeper::SetupGatekeeperRequest
unsigned SetupGatekeeperRequest(H323RasPDU &request)
H323Gatekeeper::DuplicateAlias
Definition: gkclient.h:253
H323Gatekeeper::alternatePermanent
PBoolean alternatePermanent
Definition: gkclient.h:388
H323Gatekeeper::RegistrationRequest
PBoolean RegistrationRequest(PBoolean autoReregister=true, PBoolean didGkDiscovery=false)
H323Gatekeeper::NumRegistrationFailReasons
Definition: gkclient.h:256
H323Gatekeeper::DiscoverGatekeeper
virtual bool DiscoverGatekeeper()
H323Gatekeeper::timeToLive
PTimer timeToLive
Definition: gkclient.h:402
H323Gatekeeper::TransportError
Definition: gkclient.h:255
H323Gatekeeper::highPriorityMonitor
InterfaceMonitor highPriorityMonitor
Definition: gkclient.h:360
H323Gatekeeper::UnregistrationRequest
PBoolean UnregistrationRequest(int reason)
H323Gatekeeper::SetListenerAddresses
bool SetListenerAddresses(H225_ArrayOf_TransportAddress &pdu)
H323Gatekeeper::UpdateConnectionStatus
void UpdateConnectionStatus()
H323Gatekeeper::requestMutex
PSemaphore requestMutex
Definition: gkclient.h:389
H323Gatekeeper::AlternateInfo::~AlternateInfo
~AlternateInfo()
H323Gatekeeper::InterfaceMonitor::OnRemoveInterface
virtual void OnRemoveInterface(const PIPSocket::InterfaceEntry &entry)
H323Gatekeeper::OnSendFeatureSet
PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet &features) const
h235auth.h
H323Gatekeeper::SecurityDenied
Definition: gkclient.h:254
H323Gatekeeper::OnReceiveFeatureSet
void OnReceiveFeatureSet(unsigned, const H225_FeatureSet &features) const
h225ras.h
H323Gatekeeper::AlternateInfo::AlternateInfo
AlternateInfo(H225_AlternateGK &alt)
H323Gatekeeper::ClearInfoRequestRate
void ClearInfoRequestRate()
H323RasPDU
Definition: h323pdu.h:414
H323Gatekeeper::features
H460_FeatureSet * features
Definition: gkclient.h:413
H323Gatekeeper::autoReregister
PBoolean autoReregister
Definition: gkclient.h:400
H323Gatekeeper::monitor
PThread * monitor
Definition: gkclient.h:406
H323Connection
Definition: h323con.h:130
H323Gatekeeper::IsRegistered
PBoolean IsRegistered() const
Definition: gkclient.h:245
H323Gatekeeper::InfoRequestResponse
void InfoRequestResponse()
H323Gatekeeper::LocationRequest
PBoolean LocationRequest(const PString &alias, H323TransportAddress &address)
H323Gatekeeper::OnReceiveInfoRequest
PBoolean OnReceiveInfoRequest(const H225_InfoRequest &irq)
H323Gatekeeper::gkRouteAddress
H323TransportAddress gkRouteAddress
Definition: gkclient.h:397
H323Gatekeeper::OnReceiveUnregistrationConfirm
PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &ucf)
H323Gatekeeper::AdmissionResponse::destExtraCallInfo
H225_ArrayOf_AliasAddress * destExtraCallInfo
DestinationInfo to use in SETUP if not empty.
Definition: gkclient.h:182
PLIST
PLIST(H323GatekeeperList, H323Gatekeeper)
H323Gatekeeper::authenticators
H235Authenticators authenticators
Definition: gkclient.h:390
H323Gatekeeper::OnReceiveUnregistrationRequest
PBoolean OnReceiveUnregistrationRequest(const H225_UnregistrationRequest &urq)
H323Gatekeeper::monitorTickle
PSyncPoint monitorTickle
Definition: gkclient.h:408
H323Gatekeeper::OnReceiveAdmissionConfirm
PBoolean OnReceiveAdmissionConfirm(const H225_AdmissionConfirm &acf)
H323Gatekeeper::AlternateInfo::IsRegistered
Definition: gkclient.h:378
H323Gatekeeper::InterfaceMonitor
Definition: gkclient.h:347
H323Gatekeeper::AdmissionResponse::AdmissionResponse
AdmissionResponse()
H323TransactionPDU
Definition: h323trans.h:51
H323Gatekeeper::alternates
PSortedList< AlternateInfo > alternates
Definition: gkclient.h:387
H323Gatekeeper::AdmissionRequest
PBoolean AdmissionRequest(H323Connection &connection, AdmissionResponse &response, PBoolean ignorePreGrantedARQ=false)
H323Gatekeeper::GetName
PString GetName() const
H323Gatekeeper::AlternateInfo
Definition: gkclient.h:363
H323Gatekeeper::OnReceiveAdmissionReject
PBoolean OnReceiveAdmissionReject(const H225_AdmissionReject &arj)
H323Gatekeeper::SetInfoRequestRate
void SetInfoRequestRate(const PTimeInterval &rate)
H323Gatekeeper::OnReceiveBandwidthRequest
PBoolean OnReceiveBandwidthRequest(const H225_BandwidthRequest &brq)
H323Gatekeeper::RegistrationSuccessful
Definition: gkclient.h:248
H323Gatekeeper::AlternateInfo::Register
Definition: gkclient.h:377
H323Gatekeeper::SendUnsolicitedIRR
PBoolean SendUnsolicitedIRR(H225_InfoRequestResponse &irr, H323RasPDU &response)
H323Gatekeeper::serviceControlSessions
PDictionary< POrdinalKey, H323ServiceControlSession > serviceControlSessions
Definition: gkclient.h:410
H323Gatekeeper::GetRegistrationFailReason
RegistrationFailReasons GetRegistrationFailReason() const
Definition: gkclient.h:261
H323Gatekeeper::CreateTransport
virtual H323Transport * CreateTransport(PIPSocket::Address bindng=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean reuseAddr=false)
H323Gatekeeper
Definition: gkclient.h:65
H323Gatekeeper::RegistrationRejectReasonMask
Definition: gkclient.h:257
H323Gatekeeper::AlternateInfo::rasAddress
H323TransportAddress rasAddress
Definition: gkclient.h:371
H323Gatekeeper::OnSendAdmissionRequest
void OnSendAdmissionRequest(H225_AdmissionRequest &arq)
H323Gatekeeper::BandwidthRequest
PBoolean BandwidthRequest(H323Connection &connection, unsigned requestedBandwidth)
H323Gatekeeper::AlternateInfo::priority
unsigned priority
Definition: gkclient.h:373
H323Gatekeeper::OnReceiveRegistrationConfirm
PBoolean OnReceiveRegistrationConfirm(const H225_RegistrationConfirm &rcf)
H323Gatekeeper::AlternateInfo::PrintOn
void PrintOn(ostream &strm) const
H225_RAS::gatekeeperIdentifier
PString gatekeeperIdentifier
Definition: h225ras.h:318
H323Gatekeeper::WriteTo
virtual PBoolean WriteTo(H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=true)
H323Gatekeeper::InvalidListener
Definition: gkclient.h:252
H323EndPoint
Definition: h323ep.h:85
H323Gatekeeper::AlternateInfo::Compare
Comparison Compare(const PObject &obj)
H323Transactor::endpoint
H323EndPoint & endpoint
Definition: h323trans.h:307
H323Gatekeeper::GetEndpointIdentifier
const PString & GetEndpointIdentifier() const
Definition: gkclient.h:275
H323TransportAddress
Definition: transaddr.h:66
H323Gatekeeper::UnregisteredByGatekeeper
Definition: gkclient.h:250
H323Gatekeeper::H323Gatekeeper
H323Gatekeeper(H323EndPoint &endpoint, H323Transport *transport)
H323Gatekeeper::HighPriority
Definition: gkclient.h:344
H323Gatekeeper::SetAlternates
void SetAlternates(const H225_ArrayOf_AlternateGK &alts, PBoolean permanent)
H323Transactor::transport
H323Transport * transport
Definition: h323trans.h:310
H323Gatekeeper::DiscoverByNameAndAddress
PBoolean DiscoverByNameAndAddress(const PString &identifier, const H323TransportAddress &address)
H323Gatekeeper::AdmissionResponse::endpointCount
PINDEX endpointCount
Flag for call is through gk.
Definition: gkclient.h:177
H323Gatekeeper::~H323Gatekeeper
~H323Gatekeeper()
H323Gatekeeper::OnReceiveGatekeeperReject
PBoolean OnReceiveGatekeeperReject(const H225_GatekeeperReject &grj)
H323Gatekeeper::DiscoverByAddress
PBoolean DiscoverByAddress(const H323TransportAddress &address)
H323Gatekeeper::OnServiceControlSessions
virtual void OnServiceControlSessions(const H225_ArrayOf_ServiceControlSession &serviceControl, H323Connection *connection)
H323Gatekeeper::StartGatekeeper
bool StartGatekeeper(const H323TransportAddress &address)
H323Gatekeeper::DisengageRequest
PBoolean DisengageRequest(const H323Connection &connection, unsigned reason)
H323Gatekeeper::AdmissionResponse::rejectReason
unsigned rejectReason
Definition: gkclient.h:174