#include <gkclient.h>
Inheritance diagram for H323Gatekeeper:

Definition at line 265 of file gkclient.h.
Definition at line 443 of file gkclient.h.
anonymous enum [protected] |
| H323Gatekeeper::H323Gatekeeper | ( | H323EndPoint & | endpoint, | |
| H323Transport * | transport | |||
| ) |
Create a new gatekeeper.
| endpoint | Endpoint gatekeeper is associated with. |
| transport | Transport over which gatekeepers communicates. |
Definition at line 639 of file gkclient.cxx.
References alternatePermanent, assignedGK, autoReregister, discoveryComplete, H460_Feature::FeatureRas, features, infoRequestRate, H460_FeatureSet::LoadFeatureSet(), localId, monitor, monitorStop, registrationFailReason, RequireARQ, requiresDiscovery, reregisterNow, timeToLive, UnregisteredLocally, and willRespondToIRR.
| H323Gatekeeper::~H323Gatekeeper | ( | ) |
Destroy gatekeeper.
Definition at line 676 of file gkclient.cxx.
References monitor, monitorStop, monitorTickle, and H323Transactor::StopChannel().
| BOOL H323Gatekeeper::DiscoverAny | ( | ) |
Discover a gatekeeper on the local network.
Definition at line 697 of file gkclient.cxx.
References H225_RAS::gatekeeperIdentifier, and StartDiscovery().
Referenced by H323EndPoint::DiscoverGatekeeper().
| BOOL 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.
| identifier | Gatekeeper identifier to find |
Definition at line 704 of file gkclient.cxx.
References H225_RAS::gatekeeperIdentifier, and StartDiscovery().
Referenced by H323EndPoint::LocateGatekeeper().
| BOOL 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.
| address | Address of gatekeeper. |
Definition at line 711 of file gkclient.cxx.
References H225_RAS::gatekeeperIdentifier, and StartDiscovery().
Referenced by H323EndPoint::ParsePartyName(), and H323EndPoint::SetGatekeeper().
| BOOL H323Gatekeeper::DiscoverByNameAndAddress | ( | const PString & | identifier, | |
| const H323TransportAddress & | address | |||
| ) |
Discover a gatekeeper on the local network. Combination of DiscoverByName() and DiscoverByAddress().
Definition at line 718 of file gkclient.cxx.
References H225_RAS::gatekeeperIdentifier, and StartDiscovery().
Referenced by H323EndPoint::SetGatekeeperZone().
| BOOL H323Gatekeeper::RegistrationRequest | ( | BOOL | autoReregister = TRUE |
) |
Register with gatekeeper.
| autoReregister | Automatic register on unregister |
Definition at line 898 of file gkclient.cxx.
References assignedGK, authenticators, autoReregister, H323Transactor::Request::BadCryptoTokens, H323RasPDU::BuildRegistrationRequest(), H323EndPoint::CanDisplayAmountString(), H323EndPoint::CanEnforceDurationLimit(), discoveryComplete, DuplicateAlias, H225_RegistrationRequest::e_assignedGatekeeper, H225_RegistrationRequest::e_callCreditCapability, H225_CallCreditCapability::e_canDisplayAmountString, H225_CallCreditCapability::e_canEnforceDurationLimit, H225_RegistrationRejectReason::e_discoveryRequired, H225_RegistrationRejectReason::e_duplicateAlias, H225_RegistrationRequest::e_endpointIdentifier, H225_RasUsageInfoTypes::e_endTime, H225_RegistrationRejectReason::e_fullRegistrationRequired, H225_RegistrationRequest::e_gatekeeperIdentifier, H225_RegistrationRejectReason::e_invalidCallSignalAddress, H225_RegistrationRequest::e_keepAlive, H225_RegistrationRejectReason::e_securityDenial, H225_RasUsageInfoTypes::e_startTime, H225_RegistrationRequest::e_supportsAltGK, H225_RegistrationRequest::e_terminalAlias, H225_RasUsageInfoTypes::e_terminationCause, H225_RegistrationRequest::e_timeToLive, H225_RegistrationRequest::e_usageReportingCapability, H323Transactor::endpoint, endpointIdentifier, H323EndPoint::GatekeeperCheckIP(), H225_RAS::gatekeeperIdentifier, GatekeeperLostRegistration, H323EndPoint::GetAliasNames(), H323Gatekeeper::AlternateInfo::GetAlternate(), H323EndPoint::GetGatekeeperTimeToLive(), H323EndPoint::GetInterfaceAddresses(), H323Transactor::GetNextSequenceNumber(), H323Transport::GetRemoteAddress(), InvalidListener, IsRegistered(), localId, H225_RegistrationRequest::m_assignedGatekeeper, H225_RegistrationRequest::m_callCreditCapability, H225_RegistrationRequest::m_callSignalAddress, H225_CallCreditCapability::m_canDisplayAmountString, H225_CallCreditCapability::m_canEnforceDurationLimit, H225_RegistrationRequest::m_discoveryComplete, H225_RegistrationRequest::m_endpointIdentifier, H225_RegistrationRequest::m_endpointVendor, H225_RegistrationRequest::m_gatekeeperIdentifier, H225_RegistrationRequest::m_keepAlive, H225_RegistrationRequest::m_rasAddress, H225_RegistrationRequest::m_requestSeqNum, H225_RegistrationRequest::m_terminalAlias, H225_RegistrationRequest::m_terminalType, H225_RegistrationRequest::m_timeToLive, H225_RegistrationRequest::m_usageReportingCapability, H225_RegistrationRequest::m_willSupplyUUIEs, MakeRequest(), monitorTickle, registrationFailReason, RegistrationRejectReasonMask, H323Transactor::Request::RejectReceived, requiresDiscovery, reregisterNow, SecurityDenied, H323EndPoint::SetEndpointTypeInfo(), H323Transport::SetRemoteAddress(), H323Transport::SetUpTransportPDU(), H323EndPoint::SetVendorIdentifierInfo(), H323Transactor::transport, and TransportError.
Referenced by AdmissionRequest(), H323EndPoint::InternalRegisterGatekeeper(), MakeRequest(), and RegistrationTimeToLive().
| BOOL H323Gatekeeper::UnregistrationRequest | ( | int | reason | ) |
Unregister with gatekeeper.
| reason | Reason for unregistration |
Definition at line 1194 of file gkclient.cxx.
References alternates, H323Transactor::Request::BadCryptoTokens, H323RasPDU::BuildUnregistrationRequest(), Connect(), H225_UnregistrationRequest::e_endpointAlias, H225_UnregistrationRequest::e_endpointIdentifier, H225_UnregistrationRequest::e_gatekeeperIdentifier, H225_UnregistrationRequest::e_reason, H323Transactor::endpoint, endpointIdentifier, H225_RAS::gatekeeperIdentifier, H323EndPoint::GetAliasNames(), H323EndPoint::GetInterfaceAddresses(), H323Transactor::GetNextSequenceNumber(), IsRegistered(), H323Gatekeeper::AlternateInfo::IsRegistered, H225_UnregistrationRequest::m_callSignalAddress, H225_UnregistrationRequest::m_endpointAlias, H225_UnregistrationRequest::m_endpointIdentifier, H225_UnregistrationRequest::m_gatekeeperIdentifier, H225_UnregistrationRequest::m_reason, H225_UnregistrationRequest::m_requestSeqNum, MakeRequest(), H323Transactor::Request::NoResponseReceived, registrationFailReason, SecurityDenied, H323Transport::SetUpTransportPDU(), timeToLive, H323Transactor::transport, and TransportError.
Referenced by H323EndPoint::RemoveGatekeeper(), and H323EndPoint::SetGatekeeperPassword().
| BOOL H323Gatekeeper::LocationRequest | ( | const PString & | alias, | |
| H323TransportAddress & | address | |||
| ) |
Location request to gatekeeper.
| alias | Alias name we wish to find. |
| address | Resultant transport address. |
Definition at line 1331 of file gkclient.cxx.
Referenced by H323EndPoint::ParsePartyName().
| BOOL H323Gatekeeper::LocationRequest | ( | const PStringList & | aliases, | |
| H323TransportAddress & | address | |||
| ) |
Location request to gatekeeper.
| aliases | Alias names we wish to find. |
| address | Resultant transport address. |
Definition at line 1340 of file gkclient.cxx.
References H323RasPDU::BuildLocationRequest(), H225_LocationRequest::e_endpointIdentifier, H225_LocationRequest::e_gatekeeperIdentifier, H225_LocationRequest::e_sourceInfo, H323Transactor::endpoint, endpointIdentifier, H225_RAS::gatekeeperIdentifier, H323EndPoint::GetAliasNames(), H323TransportAddress::GetIpAndPort(), H323Transactor::GetNextSequenceNumber(), H225_LocationRequest::m_destinationInfo, H225_LocationRequest::m_endpointIdentifier, H225_LocationRequest::m_gatekeeperIdentifier, H225_LocationRequest::m_replyAddress, H225_LocationRequest::m_requestSeqNum, H225_LocationRequest::m_sourceInfo, MakeRequest(), H323Transport::SetUpTransportPDU(), and H323Transactor::transport.
| BOOL H323Gatekeeper::AdmissionRequest | ( | H323Connection & | connection, | |
| AdmissionResponse & | response, | |||
| BOOL | ignorePreGrantedARQ = FALSE | |||
| ) |
Admission request to gatekeeper.
| connection | Connection we wish to change. |
| response | Response parameters to ARQ |
| ignorePreGrantedARQ | Flag to force ARQ to be sent |
Definition at line 1407 of file gkclient.cxx.
References AdmissionRequestResponseInfo::accessTokenOID1, AdmissionRequestResponseInfo::accessTokenOID2, AdmissionRequestResponseInfo::allocatedBandwidth, authenticators, autoReregister, H323Transactor::Request::BadCryptoTokens, H323RasPDU::BuildAdmissionRequest(), H225_AdmissionRejectReason::e_callerNotRegistered, H225_AdmissionRequest::e_cryptoTokens, H225_AdmissionRequest::e_destCallSignalAddress, H225_AdmissionRequest::e_destinationInfo, H225_AdmissionRequest::e_gatekeeperIdentifier, H225_AdmissionRejectReason::e_invalidEndpointIdentifier, H225_CallType::e_pointToPoint, H225_AdmissionRejectReason::e_securityDenial, H225_AdmissionRequest::e_srcCallSignalAddress, H225_AdmissionRequest::e_tokens, endpointIdentifier, H225_RAS::gatekeeperIdentifier, GatekeeperLostRegistration, H323Gatekeeper::AdmissionResponse::gatekeeperRouted, H323Connection::GetAdmissionRequestAuthentication(), H323Connection::GetBandwidthAvailable(), H323Connection::GetCallIdentifier(), H323Connection::GetCallReference(), H323Connection::GetConferenceIdentifier(), H323Connection::GetGkAccessTokenOID(), H323Connection::GetLocalAliasNames(), H323Connection::GetLocalPartyName(), H323Transactor::GetNextSequenceNumber(), H323Connection::GetRemotePartyName(), H323Connection::GetSignallingChannel(), gkRouteAddress, H323Connection::HadAnsweredCall(), H225_AdmissionRequest::m_answerCall, H225_AdmissionRequest::m_bandWidth, H225_AdmissionRequest::m_callIdentifier, H225_AdmissionRequest::m_callReferenceValue, H225_AdmissionRequest::m_callType, H225_AdmissionRequest::m_canMapAlias, H225_AdmissionRequest::m_conferenceID, H225_AdmissionRequest::m_cryptoTokens, H225_AdmissionRequest::m_destCallSignalAddress, H225_AdmissionRequest::m_destinationInfo, H225_AdmissionRequest::m_endpointIdentifier, H225_AdmissionRequest::m_gatekeeperIdentifier, H225_CallIdentifier::m_guid, H225_AdmissionRequest::m_requestSeqNum, H225_AdmissionRequest::m_srcCallSignalAddress, H225_AdmissionRequest::m_srcInfo, H225_AdmissionRequest::m_tokens, H225_AdmissionRequest::m_willSupplyUUIEs, MakeRequest(), H323Transactor::Request::NoResponseReceived, H323Connection::OnSendARQ(), PreGkRoutedARQ, PregrantARQ, H323TransactionPDU::Prepare(), registrationFailReason, RegistrationRequest(), H323Gatekeeper::AdmissionResponse::rejectReason, H323Transactor::Request::RejectReceived, RequireARQ, SecurityDenied, H323TransactionPDU::SetAuthenticators(), H323Connection::SetBandwidthAvailable(), H323Connection::SetCallLinkage(), H323TransportAddress::SetPDU(), H323Transport::SetUpTransportPDU(), H323Connection::SetUUIEsRequested(), H323Gatekeeper::AdmissionResponse::transportAddress, TransportError, and AdmissionRequestResponseInfo::uuiesRequested.
Referenced by H323Connection::OnReceivedSignalSetup(), and H323Connection::SendSignalSetup().
| BOOL H323Gatekeeper::DisengageRequest | ( | const H323Connection & | connection, | |
| unsigned | reason | |||
| ) |
Disengage request to gatekeeper.
| connection | Connection we wish admitted. |
| reason | Reason code for disengage |
Definition at line 1752 of file gkclient.cxx.
References H323RasPDU::BuildDisengageRequest(), H225_DisengageRequest::e_gatekeeperIdentifier, H225_DisengageRejectReason::e_notRegistered, H225_CallTerminationCause::e_releaseCompleteCauseIE, H225_CallTerminationCause::e_releaseCompleteReason, H225_DisengageRequest::e_terminationCause, H225_DisengageRequest::e_usageInformation, endpointIdentifier, Q931::ErrorInCauseIE, H225_RAS::gatekeeperIdentifier, H323Connection::GetCallIdentifier(), H323Connection::GetCallReference(), H323Connection::GetConferenceIdentifier(), H323Transactor::GetNextSequenceNumber(), H323Connection::HadAnsweredCall(), H225_DisengageRequest::m_answeredCall, H225_DisengageRequest::m_callIdentifier, H225_DisengageRequest::m_callReferenceValue, H225_DisengageRequest::m_conferenceID, H225_DisengageRequest::m_disengageReason, H225_DisengageRequest::m_endpointIdentifier, H225_DisengageRequest::m_gatekeeperIdentifier, H225_CallIdentifier::m_guid, H225_DisengageRequest::m_requestSeqNum, H225_DisengageRequest::m_terminationCause, H225_DisengageRequest::m_usageInformation, MakeRequestWithReregister(), and H323Connection::OnSendDRQ().
Referenced by H323Connection::CleanUpOnCallEnd().
| BOOL H323Gatekeeper::BandwidthRequest | ( | H323Connection & | connection, | |
| unsigned | requestedBandwidth | |||
| ) |
Bandwidth request to gatekeeper.
| connection | Connection we wish to change. |
| requestedBandwidth | New bandwidth wanted in 0.1kbps |
Definition at line 1825 of file gkclient.cxx.
References H323RasPDU::BuildBandwidthRequest(), H225_BandRejectReason::e_notBound, H225_BandwidthRequest::e_usageInformation, endpointIdentifier, H323Connection::GetCallIdentifier(), H323Connection::GetCallReference(), H323Connection::GetConferenceIdentifier(), H323Transactor::GetNextSequenceNumber(), H225_BandwidthRequest::m_bandWidth, H225_BandwidthRequest::m_callIdentifier, H225_BandwidthRequest::m_callReferenceValue, H225_BandwidthRequest::m_conferenceID, H225_BandwidthRequest::m_endpointIdentifier, H225_CallIdentifier::m_guid, H225_BandwidthRequest::m_requestSeqNum, H225_BandwidthRequest::m_usageInformation, MakeRequestWithReregister(), and H323Connection::SetBandwidthAvailable().
| void H323Gatekeeper::InfoRequestResponse | ( | ) |
Send an unsolicited info response to the gatekeeper.
Definition at line 2011 of file gkclient.cxx.
References BuildInfoRequestResponse(), H323Transactor::endpoint, H323EndPoint::GetAllConnections(), H323Transactor::GetNextSequenceNumber(), and SendUnsolicitedIRR().
Referenced by H323Connection::HandleSignalPDU(), and H323Connection::WriteSignalPDU().
| void H323Gatekeeper::InfoRequestResponse | ( | const H323Connection & | connection | ) |
Send an unsolicited info response to the gatekeeper.
| connection | Connection to send info about |
Definition at line 2025 of file gkclient.cxx.
References BuildInfoRequestResponse(), H323Transactor::GetNextSequenceNumber(), H323Connection::OnSendIRR(), and SendUnsolicitedIRR().
| void H323Gatekeeper::InfoRequestResponse | ( | const H323Connection & | connection, | |
| const H225_H323_UU_PDU & | pdu, | |||
| BOOL | sent | |||
| ) |
Send an unsolicited info response to the gatekeeper.
| connection | Connection to send info about |
| pdu | PDU that was sent or received |
| sent | Flag for PDU was sent or received |
Definition at line 2038 of file gkclient.cxx.
References BuildInfoRequestResponse(), H225_InfoRequestResponse_perCallInfo_subtype::e_pdu, H323Transactor::GetNextSequenceNumber(), H323Connection::GetUUIEsRequested(), H225_H323_UU_PDU::m_h323_message_body, H225_InfoRequestResponse::m_perCallInfo, H323Connection::OnSendIRR(), and SendUnsolicitedIRR().
| virtual void H323Gatekeeper::OnServiceControlSessions | ( | const H225_ArrayOf_ServiceControlSession & | serviceControl, | |
| H323Connection * | connection | |||
| ) | [virtual] |
Handle incoming service control session information.
Referenced by OnReceiveAdmissionConfirm(), OnReceiveAdmissionReject(), OnReceiveDisengageRequest(), and OnReceiveRegistrationConfirm().
| BOOL H323Gatekeeper::IsDiscoveryComplete | ( | ) | const [inline] |
Determine if the endpoint has discovered the gatekeeper.
Definition at line 433 of file gkclient.h.
References discoveryComplete.
Referenced by H323TransportUDP::DiscoverGatekeeper().
| BOOL H323Gatekeeper::IsRegistered | ( | ) | const [inline] |
Determine if the endpoint is registered with the gatekeeper.
Definition at line 437 of file gkclient.h.
References registrationFailReason, and RegistrationSuccessful.
Referenced by H323EndPoint::IsRegisteredWithGatekeeper(), RegistrationRequest(), H323EndPoint::RemoveGatekeeper(), H323EndPoint::SetGatekeeperPassword(), and UnregistrationRequest().
| void H323Gatekeeper::ReRegisterNow | ( | ) |
Force the client to reregister with gatekeeper (used with H.460 features)
Definition at line 1162 of file gkclient.cxx.
References RegistrationTimeToLive().
| RegistrationFailReasons H323Gatekeeper::GetRegistrationFailReason | ( | ) | const [inline] |
Get the registration fail reason.
Definition at line 457 of file gkclient.h.
References registrationFailReason.
| 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.
Definition at line 689 of file gkclient.cxx.
| const PString& H323Gatekeeper::GetEndpointIdentifier | ( | ) | const [inline] |
Get the endpoint identifier
Definition at line 471 of file gkclient.h.
References endpointIdentifier.
Referenced by H323Connection::SendSignalSetup().
| 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).
| password | New password |
| username | Username for password |
Definition at line 2172 of file gkclient.cxx.
References authenticators, H323Transactor::endpoint, H323EndPoint::GetLocalUserName(), and localId.
Referenced by H323EndPoint::InternalCreateGatekeeper(), and H323EndPoint::SetGatekeeperPassword().
| BOOL H323Gatekeeper::StartDiscovery | ( | const H323TransportAddress & | address | ) | [protected] |
don't send GRQ if not requested
If get here must have been GRJ with an alternate gk, start again
Definition at line 725 of file gkclient.cxx.
References H323Transport::AcceptFromRemoteOnly, H323Transport::Connect(), H323Transport::DiscoverGatekeeper(), discoveryComplete, H323Transactor::endpoint, H323EndPoint::GetGatekeeperRequestRetries(), H323EndPoint::GetSendGRQ(), H323Transactor::requests, H323Transactor::requestsMutex, H323Transport::SetPromiscuous(), H323Transport::SetRemoteAddress(), SetupGatekeeperRequest(), H323Transactor::StartChannel(), and H323Transactor::transport.
Referenced by DiscoverAny(), DiscoverByAddress(), DiscoverByName(), and DiscoverByNameAndAddress().
1.5.2