OPAL  Version 3.14.3
H323Gatekeeper Class Reference

#include <gkclient.h>

Inheritance diagram for H323Gatekeeper:
Collaboration diagram for H323Gatekeeper:

Data Structures

struct  AdmissionResponse
 
class  AlternateInfo
 

Public Member Functions

H460_FeatureSetGetFeatures ()
 
void Monitor ()
 
void ReRegisterNow ()
 
Construction
 H323Gatekeeper (H323EndPoint &endpoint, H323Transport *transport)
 
 ~H323Gatekeeper ()
 
Overrides from H323Transactor
virtual PBoolean WriteTo (H323TransactionPDU &pdu, const H323TransportAddressArray &addresses, PBoolean callback=true)
 
Overrides from H225_RAS
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 OnReceiveDisengageReject (const H323RasPDU &, const H225_DisengageReject &)
 
PBoolean OnReceiveBandwidthConfirm (const H225_BandwidthConfirm &bcf)
 
PBoolean OnReceiveBandwidthRequest (const H225_BandwidthRequest &brq)
 
PBoolean OnReceiveInfoRequest (const H225_InfoRequest &irq)
 
PBoolean OnReceiveInfoRequestResponse (const H225_InfoRequestResponse &irr)
 
PBoolean OnReceiveServiceControlIndication (const H225_ServiceControlIndication &)
 
void OnSendGatekeeperRequest (H225_GatekeeperRequest &grq)
 
void OnSendAdmissionRequest (H225_AdmissionRequest &arq)
 
PBoolean OnSendFeatureSet (H460_MessageType pduType, H225_FeatureSet &features) const
 
void OnReceiveFeatureSet (H460_MessageType pduType, const H225_FeatureSet &features) const
 
Protocol operations
PBoolean DiscoverAny ()
 
PBoolean DiscoverByName (const PString &identifier)
 
PBoolean DiscoverByAddress (const H323TransportAddress &address)
 
PBoolean DiscoverByNameAndAddress (const PString &identifier, const H323TransportAddress &address)
 
bool RegistrationRequest (bool autoReregister=true, bool didGkDiscovery=false, bool lightweight=true)
 
PBoolean UnregistrationRequest (int reason)
 
PBoolean LocationRequest (const PString &alias, H323TransportAddress &address)
 
PBoolean LocationRequest (const PStringList &aliases, H323TransportAddress &address)
 
PBoolean AdmissionRequest (H323Connection &connection, AdmissionResponse &response, PBoolean ignorePreGrantedARQ=false)
 
PBoolean DisengageRequest (const H323Connection &connection, unsigned reason)
 
PBoolean BandwidthRequest (H323Connection &connection, OpalBandwidth 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 ()
 
- Public Member Functions inherited from H225_RAS
void PrintOn (ostream &strm) const
 
virtual H323TransactionPDUCreateTransactionPDU () const
 
virtual PBoolean HandleTransaction (const PASN_Object &rawPDU)
 
virtual void OnSendingPDU (PASN_Object &rawPDU)
 
virtual void OnSendGatekeeperRequest (H323RasPDU &, H225_GatekeeperRequest &)
 
virtual void OnSendGatekeeperConfirm (H323RasPDU &, H225_GatekeeperConfirm &)
 
virtual void OnSendGatekeeperReject (H323RasPDU &, H225_GatekeeperReject &)
 
virtual void OnSendGatekeeperConfirm (H225_GatekeeperConfirm &)
 
virtual void OnSendGatekeeperReject (H225_GatekeeperReject &)
 
virtual PBoolean OnReceiveGatekeeperRequest (const H323RasPDU &, const H225_GatekeeperRequest &)
 
virtual PBoolean OnReceiveGatekeeperConfirm (const H323RasPDU &, const H225_GatekeeperConfirm &)
 
virtual PBoolean OnReceiveGatekeeperReject (const H323RasPDU &, const H225_GatekeeperReject &)
 
virtual PBoolean OnReceiveGatekeeperRequest (const H225_GatekeeperRequest &)
 
virtual void OnSendRegistrationRequest (H323RasPDU &, H225_RegistrationRequest &)
 
virtual void OnSendRegistrationConfirm (H323RasPDU &, H225_RegistrationConfirm &)
 
virtual void OnSendRegistrationReject (H323RasPDU &, H225_RegistrationReject &)
 
virtual void OnSendRegistrationRequest (H225_RegistrationRequest &)
 
virtual void OnSendRegistrationConfirm (H225_RegistrationConfirm &)
 
virtual void OnSendRegistrationReject (H225_RegistrationReject &)
 
virtual PBoolean OnReceiveRegistrationRequest (const H323RasPDU &, const H225_RegistrationRequest &)
 
virtual PBoolean OnReceiveRegistrationConfirm (const H323RasPDU &, const H225_RegistrationConfirm &)
 
virtual PBoolean OnReceiveRegistrationReject (const H323RasPDU &, const H225_RegistrationReject &)
 
virtual PBoolean OnReceiveRegistrationRequest (const H225_RegistrationRequest &)
 
virtual void OnSendUnregistrationRequest (H323RasPDU &, H225_UnregistrationRequest &)
 
virtual void OnSendUnregistrationConfirm (H323RasPDU &, H225_UnregistrationConfirm &)
 
virtual void OnSendUnregistrationReject (H323RasPDU &, H225_UnregistrationReject &)
 
virtual void OnSendUnregistrationRequest (H225_UnregistrationRequest &)
 
virtual void OnSendUnregistrationConfirm (H225_UnregistrationConfirm &)
 
virtual void OnSendUnregistrationReject (H225_UnregistrationReject &)
 
virtual PBoolean OnReceiveUnregistrationRequest (const H323RasPDU &, const H225_UnregistrationRequest &)
 
virtual PBoolean OnReceiveUnregistrationConfirm (const H323RasPDU &, const H225_UnregistrationConfirm &)
 
virtual PBoolean OnReceiveUnregistrationReject (const H323RasPDU &, const H225_UnregistrationReject &)
 
virtual void OnSendAdmissionRequest (H323RasPDU &, H225_AdmissionRequest &)
 
virtual void OnSendAdmissionConfirm (H323RasPDU &, H225_AdmissionConfirm &)
 
virtual void OnSendAdmissionReject (H323RasPDU &, H225_AdmissionReject &)
 
virtual void OnSendAdmissionConfirm (H225_AdmissionConfirm &)
 
virtual void OnSendAdmissionReject (H225_AdmissionReject &)
 
virtual PBoolean OnReceiveAdmissionRequest (const H323RasPDU &, const H225_AdmissionRequest &)
 
virtual PBoolean OnReceiveAdmissionConfirm (const H323RasPDU &, const H225_AdmissionConfirm &)
 
virtual PBoolean OnReceiveAdmissionReject (const H323RasPDU &, const H225_AdmissionReject &)
 
virtual PBoolean OnReceiveAdmissionRequest (const H225_AdmissionRequest &)
 
virtual void OnSendBandwidthRequest (H323RasPDU &, H225_BandwidthRequest &)
 
virtual void OnSendBandwidthConfirm (H323RasPDU &, H225_BandwidthConfirm &)
 
virtual void OnSendBandwidthReject (H323RasPDU &, H225_BandwidthReject &)
 
virtual void OnSendBandwidthRequest (H225_BandwidthRequest &)
 
virtual void OnSendBandwidthConfirm (H225_BandwidthConfirm &)
 
virtual void OnSendBandwidthReject (H225_BandwidthReject &)
 
virtual PBoolean OnReceiveBandwidthRequest (const H323RasPDU &, const H225_BandwidthRequest &)
 
virtual PBoolean OnReceiveBandwidthConfirm (const H323RasPDU &, const H225_BandwidthConfirm &)
 
virtual PBoolean OnReceiveBandwidthReject (const H323RasPDU &, const H225_BandwidthReject &)
 
virtual PBoolean OnReceiveBandwidthReject (const H225_BandwidthReject &)
 
virtual void OnSendDisengageRequest (H323RasPDU &, H225_DisengageRequest &)
 
virtual void OnSendDisengageConfirm (H323RasPDU &, H225_DisengageConfirm &)
 
virtual void OnSendDisengageReject (H323RasPDU &, H225_DisengageReject &)
 
virtual void OnSendDisengageRequest (H225_DisengageRequest &)
 
virtual void OnSendDisengageConfirm (H225_DisengageConfirm &)
 
virtual void OnSendDisengageReject (H225_DisengageReject &)
 
virtual PBoolean OnReceiveDisengageRequest (const H323RasPDU &, const H225_DisengageRequest &)
 
virtual PBoolean OnReceiveDisengageConfirm (const H323RasPDU &, const H225_DisengageConfirm &)
 
virtual PBoolean OnReceiveDisengageConfirm (const H225_DisengageConfirm &)
 
virtual PBoolean OnReceiveDisengageReject (const H225_DisengageReject &)
 
virtual void OnSendLocationRequest (H323RasPDU &, H225_LocationRequest &)
 
virtual void OnSendLocationConfirm (H323RasPDU &, H225_LocationConfirm &)
 
virtual void OnSendLocationReject (H323RasPDU &, H225_LocationReject &)
 
virtual void OnSendLocationRequest (H225_LocationRequest &)
 
virtual void OnSendLocationConfirm (H225_LocationConfirm &)
 
virtual void OnSendLocationReject (H225_LocationReject &)
 
virtual PBoolean OnReceiveLocationRequest (const H323RasPDU &, const H225_LocationRequest &)
 
virtual PBoolean OnReceiveLocationConfirm (const H323RasPDU &, const H225_LocationConfirm &)
 
virtual PBoolean OnReceiveLocationReject (const H323RasPDU &, const H225_LocationReject &)
 
virtual PBoolean OnReceiveLocationRequest (const H225_LocationRequest &)
 
virtual PBoolean OnReceiveLocationConfirm (const H225_LocationConfirm &)
 
virtual PBoolean OnReceiveLocationReject (const H225_LocationReject &)
 
virtual void OnSendInfoRequest (H323RasPDU &, H225_InfoRequest &)
 
virtual void OnSendInfoRequestAck (H323RasPDU &, H225_InfoRequestAck &)
 
virtual void OnSendInfoRequestNak (H323RasPDU &, H225_InfoRequestNak &)
 
virtual void OnSendInfoRequestResponse (H323RasPDU &, H225_InfoRequestResponse &)
 
virtual void OnSendInfoRequest (H225_InfoRequest &)
 
virtual void OnSendInfoRequestAck (H225_InfoRequestAck &)
 
virtual void OnSendInfoRequestNak (H225_InfoRequestNak &)
 
virtual void OnSendInfoRequestResponse (H225_InfoRequestResponse &)
 
virtual PBoolean OnReceiveInfoRequest (const H323RasPDU &, const H225_InfoRequest &)
 
virtual PBoolean OnReceiveInfoRequestAck (const H323RasPDU &, const H225_InfoRequestAck &)
 
virtual PBoolean OnReceiveInfoRequestNak (const H323RasPDU &, const H225_InfoRequestNak &)
 
virtual PBoolean OnReceiveInfoRequestResponse (const H323RasPDU &, const H225_InfoRequestResponse &)
 
virtual PBoolean OnReceiveInfoRequestAck (const H225_InfoRequestAck &)
 
virtual PBoolean OnReceiveInfoRequestNak (const H225_InfoRequestNak &)
 
virtual void OnSendResourcesAvailableIndicate (H323RasPDU &, H225_ResourcesAvailableIndicate &)
 
virtual void OnSendResourcesAvailableConfirm (H323RasPDU &, H225_ResourcesAvailableConfirm &)
 
virtual void OnSendResourcesAvailableIndicate (H225_ResourcesAvailableIndicate &)
 
virtual void OnSendResourcesAvailableConfirm (H225_ResourcesAvailableConfirm &)
 
virtual PBoolean OnReceiveResourcesAvailableIndicate (const H323RasPDU &, const H225_ResourcesAvailableIndicate &)
 
virtual PBoolean OnReceiveResourcesAvailableConfirm (const H323RasPDU &, const H225_ResourcesAvailableConfirm &)
 
virtual PBoolean OnReceiveResourcesAvailableIndicate (const H225_ResourcesAvailableIndicate &)
 
virtual PBoolean OnReceiveResourcesAvailableConfirm (const H225_ResourcesAvailableConfirm &)
 
virtual void OnSendServiceControlIndication (H323RasPDU &, H225_ServiceControlIndication &)
 
virtual void OnSendServiceControlResponse (H323RasPDU &, H225_ServiceControlResponse &)
 
virtual void OnSendServiceControlIndication (H225_ServiceControlIndication &)
 
virtual void OnSendServiceControlResponse (H225_ServiceControlResponse &)
 
virtual PBoolean OnReceiveServiceControlIndication (const H323RasPDU &, const H225_ServiceControlIndication &)
 
virtual PBoolean OnReceiveServiceControlResponse (const H323RasPDU &, const H225_ServiceControlResponse &)
 
virtual PBoolean OnReceiveServiceControlResponse (const H225_ServiceControlResponse &)
 
virtual void OnSendNonStandardMessage (H323RasPDU &, H225_NonStandardMessage &)
 
virtual void OnSendNonStandardMessage (H225_NonStandardMessage &)
 
virtual PBoolean OnReceiveNonStandardMessage (const H323RasPDU &, const H225_NonStandardMessage &)
 
virtual PBoolean OnReceiveNonStandardMessage (const H225_NonStandardMessage &)
 
virtual void OnSendUnknownMessageResponse (H323RasPDU &, H225_UnknownMessageResponse &)
 
virtual void OnSendUnknownMessageResponse (H225_UnknownMessageResponse &)
 
virtual PBoolean OnReceiveUnknownMessageResponse (const H323RasPDU &, const H225_UnknownMessageResponse &)
 
virtual PBoolean OnReceiveUnknownMessageResponse (const H225_UnknownMessageResponse &)
 
virtual void OnSendRequestInProgress (H323RasPDU &, H225_RequestInProgress &)
 
virtual void OnSendRequestInProgress (H225_RequestInProgress &)
 
virtual PBoolean OnReceiveRequestInProgress (const H323RasPDU &, const H225_RequestInProgress &)
 
virtual PBoolean OnReceiveRequestInProgress (const H225_RequestInProgress &)
 
virtual void DisableFeatureSet () const
 
virtual PBoolean OnReceiveUnknown (const H323RasPDU &pdu)
 
const PString & GetIdentifier () const
 
void SetIdentifier (const PString &id)
 
 H225_RAS (H323EndPoint &endpoint, H323Transport *transport)
 
 ~H225_RAS ()
 
- Public Member Functions inherited from H323Transactor
 H323Transactor (H323EndPoint &endpoint, H323Transport *transport, WORD localPort, WORD remotePort)
 
 H323Transactor (H323EndPoint &endpoint, const H323TransportAddress &iface, WORD localPort, WORD remotePort)
 
 ~H323Transactor ()
 
void PrintOn (ostream &strm) const
 
PBoolean SetTransport (const H323TransportAddress &iface)
 
virtual PBoolean StartChannel ()
 
virtual void StopChannel ()
 
virtual PBoolean WritePDU (H323TransactionPDU &pdu)
 
H323EndPointGetEndPoint () const
 
H323TransportGetTransport () const
 
void SetCheckResponseCryptoTokens (PBoolean value)
 
PBoolean GetCheckResponseCryptoTokens ()
 

Protected Types

enum  { RequireARQ, PregrantARQ, PreGkRoutedARQ }
 
typedef PSortedList
< AlternateInfo
AlternateList
 

Protected Member Functions

bool StartGatekeeper (const H323TransportAddress &address)
 
virtual bool DiscoverGatekeeper ()
 
unsigned SetupGatekeeperRequest (H323RasPDU &request)
 
void Connect (const H323TransportAddress &address, const PString &gatekeeperIdentifier)
 
 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, bool permanent)
 
virtual PBoolean MakeRequest (Request &request)
 
PBoolean MakeRequestWithReregister (Request &request, unsigned unregisteredTag)
 
virtual H323TransportCreateTransport (PIPSocket::Address bindng=PIPSocket::GetDefaultIpAny(), WORD port=0, PBoolean reuseAddr=false)
 
void OnAddInterface (const PIPSocket::InterfaceEntry &entry, PINDEX priority)
 
void OnRemoveInterface (const PIPSocket::InterfaceEntry &entry, PINDEX priority)
 
bool SetListenerAddresses (H225_ArrayOf_TransportAddress &pdu)
 
void SetRegistrationFailReason (unsigned reason, unsigned commandMask)
 
void SetRegistrationFailReason (RegistrationFailReasons reason)
 
 PDECLARE_InterfaceNotifier (H323Gatekeeper, OnHighPriorityInterfaceChange)
 
 PDECLARE_InterfaceNotifier (H323Gatekeeper, OnLowPriorityInterfaceChange)
 

Protected Attributes

bool discoveryComplete
 
PStringList m_aliases
 
PWCharArray m_endpointIdentifier
 
RegistrationFailReasons m_registrationFailReason
 
AlternateList m_alternates
 
bool m_alternateTemporary
 
PSemaphore requestMutex
 
H235Authenticators authenticators
 
enum H323Gatekeeper:: { ... }  pregrantMakeCall
 
enum H323Gatekeeper:: { ... }  pregrantAnswerCall
 
H323TransportAddress gkRouteAddress
 
bool autoReregister
 
bool m_reregisterNow
 
PTimer timeToLive
 
bool requiresDiscovery
 
PTimer infoRequestRate
 
bool willRespondToIRR
 
PDictionary< POrdinalKey,
H323ServiceControlSession
serviceControlSessions
 
H460_FeatureSetm_features
 
- Protected Attributes inherited from H225_RAS
PString gatekeeperIdentifier
 
- Protected Attributes inherited from H323Transactor
H323EndPointendpoint
 
WORD defaultLocalPort
 
WORD defaultRemotePort
 
H323Transporttransport
 
PBoolean checkResponseCryptoTokens
 
unsigned nextSequenceNumber
 
PMutex nextSequenceNumberMutex
 
PDictionary< POrdinalKey, Requestrequests
 
PMutex requestsMutex
 
RequestlastRequest
 
PMutex pduWriteMutex
 
PSortedList< Responseresponses
 

Member variable access

enum  RegistrationFailReasons {
  RegistrationSuccessful, UnregisteredLocally, UnregisteredByGatekeeper, GatekeeperLostRegistration,
  InvalidListener, DuplicateAlias, SecurityDenied, TransportError,
  TryingAlternate, NumRegistrationFailReasons, GatekeeperRejectReasonMask = 0x4000, RegistrationRejectReasonMask = 0x8000,
  UnregistrationRejectReasonMask = 0x10000
}
 
PBoolean IsDiscoveryComplete () const
 
PBoolean IsRegistered () const
 
RegistrationFailReasons GetRegistrationFailReason () const
 
PString GetName () const
 
PString GetEndpointIdentifier () const
 
void SetPassword (const PString &password, const PString &username=PString())
 
void SetAliases (const PStringList &aliases)
 
const PStringList & GetAliases () const
 
H323TransportAddress GetGatekeeperRouteAddress () const
 
static PString GetRegistrationFailReasonString (RegistrationFailReasons reason)
 
ostream & operator<< (ostream &strm, RegistrationFailReasons reason)
 

Additional Inherited Members

- Public Types inherited from H225_RAS
enum  { DefaultRasMulticastPort = 1718, DefaultRasUdpPort = 1719 }
 

Detailed Description

This class embodies the H.225.0 RAS protocol to gatekeepers.

Member Typedef Documentation

typedef PSortedList<AlternateInfo> H323Gatekeeper::AlternateList
protected

Member Enumeration Documentation

anonymous enum
protected
Enumerator
RequireARQ 
PregrantARQ 
PreGkRoutedARQ 
Enumerator
RegistrationSuccessful 
UnregisteredLocally 
UnregisteredByGatekeeper 
GatekeeperLostRegistration 
InvalidListener 
DuplicateAlias 
SecurityDenied 
TransportError 
TryingAlternate 
NumRegistrationFailReasons 
GatekeeperRejectReasonMask 
RegistrationRejectReasonMask 
UnregistrationRejectReasonMask 

Constructor & Destructor Documentation

H323Gatekeeper::H323Gatekeeper ( H323EndPoint endpoint,
H323Transport transport 
)

Create a new gatekeeper.

Parameters
endpointEndpoint gatekeeper is associated with.
transportTransport over which gatekeepers communicates.
H323Gatekeeper::~H323Gatekeeper ( )

Destroy gatekeeper.

Member Function Documentation

PBoolean H323Gatekeeper::AdmissionRequest ( H323Connection connection,
AdmissionResponse response,
PBoolean  ignorePreGrantedARQ = false 
)

Admission request to gatekeeper.

Parameters
connectionConnection we wish to change.
responseResponse parameters to ARQ
ignorePreGrantedARQFlag to force ARQ to be sent
PBoolean H323Gatekeeper::BandwidthRequest ( H323Connection connection,
OpalBandwidth  requestedBandwidth 
)

Bandwidth request to gatekeeper.

Parameters
connectionConnection we wish to change.
requestedBandwidthNew bandwidth wanted in bps
H225_InfoRequestResponse& H323Gatekeeper::BuildInfoRequestResponse ( H323RasPDU response,
unsigned  seqNum 
)
protected
void H323Gatekeeper::ClearInfoRequestRate ( )
protected
void H323Gatekeeper::Connect ( const H323TransportAddress address,
const PString &  gatekeeperIdentifier 
)
protected
virtual H323Transport* H323Gatekeeper::CreateTransport ( PIPSocket::Address  bindng = PIPSocket::GetDefaultIpAny(),
WORD  port = 0,
PBoolean  reuseAddr = false 
)
protectedvirtual
PBoolean H323Gatekeeper::DiscoverAny ( )

Discover a gatekeeper on the local network.

PBoolean H323Gatekeeper::DiscoverByAddress ( const H323TransportAddress address)

Discover a gatekeeper on the local network. If the address string is empty then the first gatekeeper to respond to a broadcast is used.

Parameters
addressAddress of gatekeeper.
PBoolean H323Gatekeeper::DiscoverByName ( const PString &  identifier)

Discover a gatekeeper on the local network. If the identifier string is empty then the first gatekeeper to respond to a broadcast is used.

Parameters
identifierGatekeeper identifier to find
PBoolean H323Gatekeeper::DiscoverByNameAndAddress ( const PString &  identifier,
const H323TransportAddress address 
)

Discover a gatekeeper on the local network. Combination of DiscoverByName() and DiscoverByAddress().

virtual bool H323Gatekeeper::DiscoverGatekeeper ( )
protectedvirtual
PBoolean H323Gatekeeper::DisengageRequest ( const H323Connection connection,
unsigned  reason 
)

Disengage request to gatekeeper.

Parameters
connectionConnection we wish admitted.
reasonReason code for disengage
const PStringList& H323Gatekeeper::GetAliases ( ) const
inline

Get fixed, single, alias for gatekeeper.

References m_aliases.

PString H323Gatekeeper::GetEndpointIdentifier ( ) const
inline

Get the endpoint identifier

References m_endpointIdentifier.

H460_FeatureSet* H323Gatekeeper::GetFeatures ( )
inline

References m_features.

H323TransportAddress H323Gatekeeper::GetGatekeeperRouteAddress ( ) const
inline

References gkRouteAddress.

PString H323Gatekeeper::GetName ( ) const

Get the gatekeeper name. The gets the name of the gatekeeper. It will be of the form id where id is the gatekeeperIdentifier and address is the transport address used. If the gatekeeperIdentifier is empty the '@' is not included and only the transport is shown. The transport is minimised also, with the type removed if IP is used and the :port removed if the default port is used.

RegistrationFailReasons H323Gatekeeper::GetRegistrationFailReason ( ) const
inline

Get the registration fail reason.

References m_registrationFailReason.

static PString H323Gatekeeper::GetRegistrationFailReasonString ( RegistrationFailReasons  reason)
static
void H323Gatekeeper::InfoRequestResponse ( )

Send an unsolicited info response to the gatekeeper.

void H323Gatekeeper::InfoRequestResponse ( const H323Connection connection)

Send an unsolicited info response to the gatekeeper.

Parameters
connectionConnection to send info about
void H323Gatekeeper::InfoRequestResponse ( const H323Connection connection,
const H225_H323_UU_PDU &  pdu,
PBoolean  sent 
)

Send an unsolicited info response to the gatekeeper.

Parameters
connectionConnection to send info about
pduPDU that was sent or received
sentFlag for PDU was sent or received
PBoolean H323Gatekeeper::IsDiscoveryComplete ( ) const
inline

Determine if the endpoint has discovered the gatekeeper.

References discoveryComplete.

PBoolean H323Gatekeeper::IsRegistered ( ) const
inline

Determine if the endpoint is registered with the gatekeeper.

References m_registrationFailReason, and RegistrationSuccessful.

PBoolean H323Gatekeeper::LocationRequest ( const PString &  alias,
H323TransportAddress address 
)

Location request to gatekeeper.

Parameters
aliasAlias name we wish to find.
addressResultant transport address.
PBoolean H323Gatekeeper::LocationRequest ( const PStringList &  aliases,
H323TransportAddress address 
)

Location request to gatekeeper.

Parameters
aliasesAlias names we wish to find.
addressResultant transport address.
virtual PBoolean H323Gatekeeper::MakeRequest ( Request request)
protectedvirtual

Reimplemented from H323Transactor.

PBoolean H323Gatekeeper::MakeRequestWithReregister ( Request request,
unsigned  unregisteredTag 
)
protected
void H323Gatekeeper::Monitor ( )
void H323Gatekeeper::OnAddInterface ( const PIPSocket::InterfaceEntry &  entry,
PINDEX  priority 
)
protected
PBoolean H323Gatekeeper::OnReceiveAdmissionConfirm ( const H225_AdmissionConfirm &  acf)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveAdmissionReject ( const H225_AdmissionReject &  arj)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveBandwidthConfirm ( const H225_BandwidthConfirm &  bcf)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveBandwidthRequest ( const H225_BandwidthRequest &  brq)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveDisengageReject ( const H323RasPDU ,
const H225_DisengageReject &   
)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveDisengageRequest ( const H225_DisengageRequest &  drq)
virtual

Reimplemented from H225_RAS.

void H323Gatekeeper::OnReceiveFeatureSet ( H460_MessageType  pduType,
const H225_FeatureSet &  features 
) const
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveGatekeeperConfirm ( const H225_GatekeeperConfirm &  gcf)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveGatekeeperReject ( const H225_GatekeeperReject &  grj)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveInfoRequest ( const H225_InfoRequest &  irq)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveInfoRequestResponse ( const H225_InfoRequestResponse &  irr)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveRegistrationConfirm ( const H225_RegistrationConfirm &  rcf)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveRegistrationReject ( const H225_RegistrationReject &  rrj)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveServiceControlIndication ( const H225_ServiceControlIndication &  )
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveUnregistrationConfirm ( const H225_UnregistrationConfirm &  ucf)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveUnregistrationReject ( const H225_UnregistrationReject &  urj)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnReceiveUnregistrationRequest ( const H225_UnregistrationRequest &  urq)
virtual

Reimplemented from H225_RAS.

void H323Gatekeeper::OnRemoveInterface ( const PIPSocket::InterfaceEntry &  entry,
PINDEX  priority 
)
protected
void H323Gatekeeper::OnSendAdmissionRequest ( H225_AdmissionRequest &  arq)
virtual

Reimplemented from H225_RAS.

PBoolean H323Gatekeeper::OnSendFeatureSet ( H460_MessageType  pduType,
H225_FeatureSet &  features 
) const
virtual

Reimplemented from H225_RAS.

void H323Gatekeeper::OnSendGatekeeperRequest ( H225_GatekeeperRequest &  grq)
virtual

Reimplemented from H225_RAS.

virtual void H323Gatekeeper::OnServiceControlSessions ( const H225_ArrayOf_ServiceControlSession &  serviceControl,
H323Connection connection 
)
virtual

Handle incoming service control session information.

virtual void H323Gatekeeper::OnTerminalAliasChanged ( )
virtual

Handle terminal alias changes

H323Gatekeeper::PDECLARE_InterfaceNotifier ( H323Gatekeeper  ,
OnHighPriorityInterfaceChange   
)
protected
H323Gatekeeper::PDECLARE_InterfaceNotifier ( H323Gatekeeper  ,
OnLowPriorityInterfaceChange   
)
protected
H323Gatekeeper::PDECLARE_NOTIFIER ( PTimer  ,
H323Gatekeeper  ,
TickleMonitor   
)
protected
bool H323Gatekeeper::RegistrationRequest ( bool  autoReregister = true,
bool  didGkDiscovery = false,
bool  lightweight = true 
)

Register with gatekeeper.

Parameters
autoReregisterAutomatic register on unregister
didGkDiscoverydiscovery procedure was done right before
lightweightDo lightweight RRQ, if possible
void H323Gatekeeper::RegistrationTimeToLive ( )
protected
void H323Gatekeeper::ReRegisterNow ( )
PBoolean H323Gatekeeper::SendUnsolicitedIRR ( H225_InfoRequestResponse &  irr,
H323RasPDU response 
)
protected
void H323Gatekeeper::SetAliases ( const PStringList &  aliases)
inline

Set fixed, single, alias for gatekeeper. If not set, then all the aliases for the H323EndPoint are used.

References m_aliases.

void H323Gatekeeper::SetAlternates ( const H225_ArrayOf_AlternateGK &  alts,
bool  permanent 
)
protected
void H323Gatekeeper::SetInfoRequestRate ( const PTimeInterval &  rate)
protected
bool H323Gatekeeper::SetListenerAddresses ( H225_ArrayOf_TransportAddress &  pdu)
protected
void H323Gatekeeper::SetPassword ( const PString &  password,
const PString &  username = PString() 
)

Set the H.235 password in the gatekeeper. If no username is present then it will default to the endpoint local user name (ie first alias).

Parameters
passwordNew password
usernameUsername for password
void H323Gatekeeper::SetRegistrationFailReason ( unsigned  reason,
unsigned  commandMask 
)
protected
void H323Gatekeeper::SetRegistrationFailReason ( RegistrationFailReasons  reason)
protected
unsigned H323Gatekeeper::SetupGatekeeperRequest ( H323RasPDU request)
protected
bool H323Gatekeeper::StartGatekeeper ( const H323TransportAddress address)
protected
PBoolean H323Gatekeeper::UnregistrationRequest ( int  reason)

Unregister with gatekeeper.

Parameters
reasonReason for unregistration
virtual PBoolean H323Gatekeeper::WriteTo ( H323TransactionPDU pdu,
const H323TransportAddressArray addresses,
PBoolean  callback = true 
)
virtual

Write PDU to transport after executing callback.

Reimplemented from H323Transactor.

Friends And Related Function Documentation

ostream& operator<< ( ostream &  strm,
RegistrationFailReasons  reason 
)
friend

Field Documentation

H235Authenticators H323Gatekeeper::authenticators
protected
bool H323Gatekeeper::autoReregister
protected
bool H323Gatekeeper::discoveryComplete
protected

Referenced by IsDiscoveryComplete().

H323TransportAddress H323Gatekeeper::gkRouteAddress
protected
PTimer H323Gatekeeper::infoRequestRate
protected
PStringList H323Gatekeeper::m_aliases
protected

Referenced by GetAliases(), and SetAliases().

AlternateList H323Gatekeeper::m_alternates
protected
bool H323Gatekeeper::m_alternateTemporary
protected
PWCharArray H323Gatekeeper::m_endpointIdentifier
protected

Referenced by GetEndpointIdentifier().

H460_FeatureSet* H323Gatekeeper::m_features
protected

Referenced by GetFeatures().

RegistrationFailReasons H323Gatekeeper::m_registrationFailReason
protected
bool H323Gatekeeper::m_reregisterNow
protected
enum { ... } H323Gatekeeper::pregrantAnswerCall
enum { ... } H323Gatekeeper::pregrantMakeCall
PSemaphore H323Gatekeeper::requestMutex
protected
bool H323Gatekeeper::requiresDiscovery
protected
PDictionary<POrdinalKey, H323ServiceControlSession> H323Gatekeeper::serviceControlSessions
protected
PTimer H323Gatekeeper::timeToLive
protected
bool H323Gatekeeper::willRespondToIRR
protected

The documentation for this class was generated from the following file: