gkserver.h
Go to the documentation of this file.
/*
* gkserver.h
*
* H225 Registration Admission and Security 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.
*
* This code was based on original code from OpenGate of Egoboo Ltd. thanks
* to Ashley Unitt for his efforts.
*
* Contributor(s): ______________________________________.
*
* $Revision: 24178 $
* $Author: rjongbloed $
* $Date: 2010-04-05 19:10:56 -0500 (Mon, 05 Apr 2010) $
*/
#ifndef OPAL_H323_GKSERVER_H
#define OPAL_H323_GKSERVER_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#include <opal/buildopts.h>
#if OPAL_H323
#include <ptlib/safecoll.h>
#include <opal/guid.h>
#include <h323/h225ras.h>
#include <h323/transaddr.h>
#include <h323/h235auth.h>
#include <h323/h323pdu.h>
#include <h323/h323trans.h>
class PASN_Sequence;
class PASN_Choice;
class H225_AliasAddress;
class H225_EndpointIdentifier;
class H225_GatekeeperIdentifier;
class H225_ArrayOf_TransportAddress;
class H225_GatekeeperIdentifier;
class H225_EndpointIdentifier;
class H225_InfoRequestResponse_perCallInfo_subtype;
class H225_RasUsageInformation;
class H323RegisteredEndPoint;
class H323GatekeeperListener;
class H323GatekeeperServer;
class H323RasPDU;
#if OPAL_H501
class H323PeerElement;
#endif
class H323GatekeeperRequest : public H323Transaction
{
PCLASSINFO(H323GatekeeperRequest, H323Transaction);
public:
H323GatekeeperRequest(
H323GatekeeperListener & rasChannel,
const H323RasPDU & pdu
);
virtual H323TransactionPDU * CreateRIP(
unsigned sequenceNumber,
unsigned delay
) const;
virtual PBoolean WritePDU(
H323TransactionPDU & pdu
);
PBoolean CheckCryptoTokens();
PBoolean CheckGatekeeperIdentifier();
PBoolean GetRegisteredEndPoint();
virtual PString GetGatekeeperIdentifier() const = 0;
virtual unsigned GetGatekeeperRejectTag() const = 0;
virtual PString GetEndpointIdentifier() const = 0;
virtual unsigned GetRegisteredEndPointRejectTag() const = 0;
virtual unsigned GetSecurityRejectTag() const = 0;
H323GatekeeperListener & GetRasChannel() const { return rasChannel; }
PSafePtr<H323RegisteredEndPoint> endpoint;
protected:
H323GatekeeperListener & rasChannel;
};
class H323GatekeeperGRQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperGRQ, H323GatekeeperRequest);
public:
H323GatekeeperGRQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_GatekeeperRequest & grq;
H225_GatekeeperConfirm & gcf;
H225_GatekeeperReject & grj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperRRQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperRRQ, H323GatekeeperRequest);
public:
H323GatekeeperRRQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_RegistrationRequest & rrq;
H225_RegistrationConfirm & rcf;
H225_RegistrationReject & rrj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperURQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperURQ, H323GatekeeperRequest);
public:
H323GatekeeperURQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_UnregistrationRequest & urq;
H225_UnregistrationConfirm & ucf;
H225_UnregistrationReject & urj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperARQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperARQ, H323GatekeeperRequest);
public:
H323GatekeeperARQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_AdmissionRequest & arq;
H225_AdmissionConfirm & acf;
H225_AdmissionReject & arj;
PString alternateSecurityID;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperDRQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperDRQ, H323GatekeeperRequest);
public:
H323GatekeeperDRQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_DisengageRequest & drq;
H225_DisengageConfirm & dcf;
H225_DisengageReject & drj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperBRQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperBRQ, H323GatekeeperRequest);
public:
H323GatekeeperBRQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_BandwidthRequest & brq;
H225_BandwidthConfirm & bcf;
H225_BandwidthReject & brj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperLRQ : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperLRQ, H323GatekeeperRequest);
public:
H323GatekeeperLRQ(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_LocationRequest & lrq;
H225_LocationConfirm & lcf;
H225_LocationReject & lrj;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperIRR : public H323GatekeeperRequest
{
PCLASSINFO(H323GatekeeperIRR, H323GatekeeperRequest);
public:
H323GatekeeperIRR(
H323GatekeeperListener & listener,
const H323RasPDU & pdu
);
#if PTRACING
virtual const char * GetName() const;
#endif
virtual PString GetGatekeeperIdentifier() const;
virtual unsigned GetGatekeeperRejectTag() const;
virtual PString GetEndpointIdentifier() const;
virtual unsigned GetRegisteredEndPointRejectTag() const;
virtual H235Authenticator::ValidationResult ValidatePDU() const;
virtual unsigned GetSecurityRejectTag() const;
virtual void SetRejectReason(
unsigned reasonCode
);
H225_InfoRequestResponse & irr;
H225_InfoRequestAck & iack;
H225_InfoRequestNak & inak;
protected:
virtual Response OnHandlePDU();
};
class H323GatekeeperCall : public PSafeObject
{
PCLASSINFO(H323GatekeeperCall, PSafeObject);
public:
enum Direction {
AnsweringCall,
OriginatingCall,
UnknownDirection
};
H323GatekeeperCall(
H323GatekeeperServer & server,
const OpalGloballyUniqueID & callIdentifier,
Direction direction
);
~H323GatekeeperCall();
Comparison Compare(
const PObject & obj
) const;
void PrintOn(
ostream & strm
) const;
virtual H323GatekeeperRequest::Response OnAdmission(
H323GatekeeperARQ & request
);
virtual PBoolean Disengage(
int reason = -1
);
virtual H323GatekeeperRequest::Response OnDisengage(
H323GatekeeperDRQ & request
);
virtual H323GatekeeperRequest::Response OnBandwidth(
H323GatekeeperBRQ & request
);
virtual H323GatekeeperRequest::Response OnInfoResponse(
H323GatekeeperIRR & request,
H225_InfoRequestResponse_perCallInfo_subtype & call
);
virtual void OnAlerting();
virtual void OnConnected();
virtual PBoolean OnHeartbeat();
virtual PString GetCallCreditAmount() const;
virtual PBoolean GetCallCreditMode() const;
virtual unsigned GetDurationLimit() const;
virtual PBoolean SendCallCreditServiceControl();
PBoolean AddCallCreditServiceControl(
H225_ArrayOf_ServiceControlSession & serviceControl
) const;
virtual PBoolean SendServiceControlSession(
const H323ServiceControlSession & session
);
virtual PBoolean TranslateAliasAddress(
const H225_AliasAddress & alias,
H225_ArrayOf_AliasAddress & aliases,
H323TransportAddress & address,
PBoolean & isGkRouted
);
H323GatekeeperServer & GetGatekeeper() const { return gatekeeper; }
H323RegisteredEndPoint & GetEndPoint() const { return *PAssertNULL(endpoint); }
PBoolean IsAnsweringCall() const { return direction == AnsweringCall; }
unsigned GetCallReference() const { return callReference; }
const OpalGloballyUniqueID & GetCallIdentifier() const { return callIdentifier; }
const OpalGloballyUniqueID & GetConferenceIdentifier() const { return conferenceIdentifier; }
const PString & GetSourceNumber() const { return srcNumber; }
const PStringArray & GetSourceAliases() const { return srcAliases; }
const H323TransportAddress & GetSourceHost() const { return srcHost; }
PString GetSourceAddress() const;
const PString & GetDestinationNumber() const { return dstNumber; }
const PStringArray & GetDestinationAliases() const { return dstAliases; }
const H323TransportAddress & GetDestinationHost() const { return dstHost; }
PString GetDestinationAddress() const;
unsigned GetBandwidthUsed() const { return bandwidthUsed; }
PBoolean SetBandwidthUsed(unsigned bandwidth);
const PTime & GetLastInfoResponseTime() const { return lastInfoResponse; }
const PTime & GetCallStartTime() const { return callStartTime; }
const PTime & GetAlertingTime() const { return alertingTime; }
const PTime & GetConnectedTime() const { return connectedTime; }
const PTime & GetCallEndTime() const { return callEndTime; }
H323Connection::CallEndReason GetCallEndReason() const { return callEndReason; }
protected:
void SetUsageInfo(const H225_RasUsageInformation & usage);
H323GatekeeperServer & gatekeeper;
H323RegisteredEndPoint * endpoint;
H323GatekeeperListener * rasChannel;
Direction direction;
unsigned callReference;
OpalGloballyUniqueID callIdentifier;
OpalGloballyUniqueID conferenceIdentifier;
PString srcNumber;
PStringArray srcAliases;
H323TransportAddress srcHost;
PString dstNumber;
PStringArray dstAliases;
H323TransportAddress dstHost;
unsigned bandwidthUsed;
unsigned infoResponseRate;
PTime lastInfoResponse;
PBoolean drqReceived;
PTime callStartTime;
PTime alertingTime;
PTime connectedTime;
PTime callEndTime;
H323Connection::CallEndReason callEndReason;
};
class H323RegisteredEndPoint : public PSafeObject
{
PCLASSINFO(H323RegisteredEndPoint, PSafeObject);
public:
H323RegisteredEndPoint(
H323GatekeeperServer & server,
const PString & id
);
Comparison Compare(
const PObject & obj
) const;
void PrintOn(
ostream & strm
) const;
virtual void AddCall(
H323GatekeeperCall * call
);
virtual PBoolean RemoveCall(
H323GatekeeperCall * call
);
PINDEX GetCallCount() const { return activeCalls.GetSize(); }
H323GatekeeperCall & GetCall(
PINDEX idx
) { return activeCalls[idx]; }
virtual H323GatekeeperRequest::Response OnRegistration(
H323GatekeeperRRQ & request
);
virtual H323GatekeeperRequest::Response OnFullRegistration(
H323GatekeeperRRQ & request
);
virtual H323GatekeeperRequest::Response OnSecureRegistration(
H323GatekeeperRRQ & request
);
virtual H323GatekeeperRequest::Response OnUnregistration(
H323GatekeeperURQ & request
);
virtual PBoolean Unregister(
int reason = -1
);
virtual H323GatekeeperRequest::Response OnInfoResponse(
H323GatekeeperIRR & request
);
virtual PBoolean OnTimeToLive();
virtual PString GetCallCreditAmount() const;
virtual PBoolean GetCallCreditMode() const;
virtual PBoolean SendServiceControlSession(
const H323ServiceControlSession & session
);
virtual PBoolean AddServiceControlSession(
const H323ServiceControlSession & session,
H225_ArrayOf_ServiceControlSession & serviceControl
);
virtual PBoolean SetPassword(
const PString & password,
const PString & username = PString::Empty()
);
const PString & GetIdentifier() const { return identifier; }
const OpalGloballyUniqueID & GetDescriptorID() const { return descriptorID; }
H323GatekeeperServer & GetGatekeeper() const { return gatekeeper; }
const H323TransportAddressArray & GetRASAddresses() const { return rasAddresses; }
PINDEX GetRASAddressCount() const { return rasAddresses.GetSize(); }
H323TransportAddress GetRASAddress(
PINDEX idx
) const { return rasAddresses[idx]; }
const H323TransportAddressArray & GetSignalAddresses() const { return signalAddresses; }
PINDEX GetSignalAddressCount() const { return signalAddresses.GetSize(); }
H323TransportAddress GetSignalAddress(
PINDEX idx
) const { return signalAddresses[idx]; }
const PStringArray & GetAliases() const { return aliases; }
PBoolean ContainsAlias(
const PString & alias
) { return aliases.GetStringsIndex(alias) != P_MAX_INDEX; }
PINDEX GetAliasCount() const { return aliases.GetSize(); }
PString GetAlias(
PINDEX idx
) const { if (idx < aliases.GetSize()) return aliases[idx]; return PString::Empty(); }
void RemoveAlias(
const PString & alias
);
virtual const H235Authenticators & GetAuthenticators() const { return authenticators; }
PINDEX GetPrefixCount() const { return voicePrefixes.GetSize(); }
PString GetPrefix(
PINDEX idx
) const { return voicePrefixes[idx]; }
PCaselessString GetApplicationInfo() const { return productInfo.AsString(); }
const OpalProductInfo & GetProductInfo() const { return productInfo; }
unsigned GetProtocolVersion() const { return protocolVersion; }
PBoolean IsBehindNAT() const { return isBehindNAT; }
PBoolean CanDisplayAmountString() const { return canDisplayAmountString; }
PBoolean CanEnforceDurationLimit() const { return canEnforceDurationLimit; }
PBoolean CanReceiveRIP() const;
PBoolean GetH225Version() const { return h225Version; }
virtual PBoolean OnSendDescriptorForEndpoint(
H225_ArrayOf_AliasAddress & aliases,
H225_EndpointType & terminalType,
H225_ArrayOf_AliasAddress & transportAddresses
);
protected:
H323GatekeeperServer & gatekeeper;
H323GatekeeperListener * rasChannel;
PString identifier;
OpalGloballyUniqueID descriptorID;
H323TransportAddressArray rasAddresses;
H323TransportAddressArray signalAddresses;
PStringArray aliases;
PStringArray voicePrefixes;
OpalProductInfo productInfo;
unsigned protocolVersion;
PBoolean isBehindNAT;
PBoolean canDisplayAmountString;
PBoolean canEnforceDurationLimit;
unsigned h225Version;
unsigned timeToLive;
H235Authenticators authenticators;
PTime lastRegistration;
PTime lastInfoResponse;
PSortedList<H323GatekeeperCall> activeCalls;
POrdinalDictionary<PString> serviceControlSessions;
};
class H323GatekeeperListener : public H225_RAS
{
PCLASSINFO(H323GatekeeperListener, H225_RAS);
public:
H323GatekeeperListener(
H323EndPoint & endpoint,
H323GatekeeperServer & server,
const PString & gatekeeperIdentifier,
H323Transport * transport = NULL
);
~H323GatekeeperListener();
PBoolean UnregistrationRequest(
const H323RegisteredEndPoint & ep,
unsigned reason
);
PBoolean DisengageRequest(
const H323GatekeeperCall & call,
unsigned reason
);
virtual PBoolean InfoRequest(
H323RegisteredEndPoint & ep,
H323GatekeeperCall * call = NULL
);
virtual PBoolean ServiceControlIndication(
H323RegisteredEndPoint & ep,
const H323ServiceControlSession & session,
H323GatekeeperCall * call = NULL
);
virtual H323GatekeeperRequest::Response OnDiscovery(
H323GatekeeperGRQ & request
);
virtual H323GatekeeperRequest::Response OnRegistration(
H323GatekeeperRRQ & request
);
virtual H323GatekeeperRequest::Response OnUnregistration(
H323GatekeeperURQ & request
);
virtual H323GatekeeperRequest::Response OnAdmission(
H323GatekeeperARQ & request
);
virtual H323GatekeeperRequest::Response OnDisengage(
H323GatekeeperDRQ & request
);
virtual H323GatekeeperRequest::Response OnBandwidth(
H323GatekeeperBRQ & request
);
virtual H323GatekeeperRequest::Response OnLocation(
H323GatekeeperLRQ & request
);
virtual H323GatekeeperRequest::Response OnInfoResponse(
H323GatekeeperIRR & request
);
virtual PBoolean OnReceiveGatekeeperRequest(const H323RasPDU &, const H225_GatekeeperRequest &);
virtual PBoolean OnReceiveRegistrationRequest(const H323RasPDU &, const H225_RegistrationRequest &);
virtual PBoolean OnReceiveUnregistrationRequest(const H323RasPDU &, const H225_UnregistrationRequest &);
virtual PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &);
virtual PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &);
virtual PBoolean OnReceiveAdmissionRequest(const H323RasPDU &, const H225_AdmissionRequest &);
virtual PBoolean OnReceiveBandwidthRequest(const H323RasPDU &, const H225_BandwidthRequest &);
virtual PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &);
virtual PBoolean OnReceiveBandwidthReject(const H225_BandwidthReject &);
virtual PBoolean OnReceiveDisengageRequest(const H323RasPDU &, const H225_DisengageRequest &);
virtual PBoolean OnReceiveDisengageConfirm(const H225_DisengageConfirm &);
virtual PBoolean OnReceiveDisengageReject(const H225_DisengageReject &);
virtual PBoolean OnReceiveLocationRequest(const H323RasPDU &, const H225_LocationRequest &);
virtual PBoolean OnReceiveInfoRequestResponse(const H323RasPDU &, const H225_InfoRequestResponse &);
virtual PBoolean OnReceiveResourcesAvailableConfirm(const H225_ResourcesAvailableConfirm &);
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet & features) const;
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet & features) const;
H323GatekeeperServer & GetGatekeeper() const { return gatekeeper; }
protected:
H323GatekeeperServer & gatekeeper;
};
class H323GatekeeperServer : public H323TransactionServer
{
PCLASSINFO(H323GatekeeperServer, H323TransactionServer);
public:
H323GatekeeperServer(
H323EndPoint & endpoint
);
~H323GatekeeperServer();
WORD GetDefaultUdpPort() { return H225_RAS::DefaultRasUdpPort; }
virtual H323Transactor * CreateListener(
H323Transport * transport
);
virtual H323GatekeeperRequest::Response OnDiscovery(
H323GatekeeperGRQ & request
);
virtual H323GatekeeperRequest::Response OnRegistration(
H323GatekeeperRRQ & request
);
virtual H323GatekeeperRequest::Response OnUnregistration(
H323GatekeeperURQ & request
);
virtual H323GatekeeperRequest::Response OnInfoResponse(
H323GatekeeperIRR & request
);
virtual void AddEndPoint(
H323RegisteredEndPoint * ep
);
virtual PBoolean RemoveEndPoint(
H323RegisteredEndPoint * ep
);
virtual H323RegisteredEndPoint * CreateRegisteredEndPoint(
H323GatekeeperRRQ & request
);
virtual PString CreateEndPointIdentifier();
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointByIdentifier(
const PString & identifier,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointBySignalAddresses(
const H225_ArrayOf_TransportAddress & addresses,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointBySignalAddress(
const H323TransportAddress & address,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointByAliasAddress(
const H225_AliasAddress & alias,
PSafetyMode mode = PSafeReadWrite
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointByAliasString(
const PString & alias,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointByPartialAlias(
const PString & alias,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323RegisteredEndPoint> FindEndPointByPrefixString(
const PString & prefix,
PSafetyMode mode = PSafeReference
);
PSafePtr<H323RegisteredEndPoint> GetFirstEndPoint(
PSafetyMode mode = PSafeReference
) { return PSafePtr<H323RegisteredEndPoint>(byIdentifier, mode); }
PSafePtr<H323RegisteredEndPoint> FindDestinationEndPoint(
const OpalGloballyUniqueID & id,
H323GatekeeperCall::Direction direction
);
virtual H323GatekeeperRequest::Response OnAdmission(
H323GatekeeperARQ & request
);
virtual H323GatekeeperRequest::Response OnDisengage(
H323GatekeeperDRQ & request
);
virtual H323GatekeeperRequest::Response OnBandwidth(
H323GatekeeperBRQ & request
);
virtual H323GatekeeperCall * CreateCall(
const OpalGloballyUniqueID & callIdentifier,
H323GatekeeperCall::Direction direction
);
virtual void AddCall(H323GatekeeperCall *)
{ }
virtual void RemoveCall(
H323GatekeeperCall * call
);
virtual PSafePtr<H323GatekeeperCall> FindCall(
const PString & description,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323GatekeeperCall> FindCall(
const OpalGloballyUniqueID & callIdentifier,
PBoolean answeringCall,
PSafetyMode mode = PSafeReference
);
virtual PSafePtr<H323GatekeeperCall> FindCall(
const OpalGloballyUniqueID & callIdentifier,
H323GatekeeperCall::Direction direction,
PSafetyMode mode = PSafeReference
);
PSafePtr<H323GatekeeperCall> GetFirstCall(
PSafetyMode mode = PSafeReference
) { return PSafePtr<H323GatekeeperCall>(activeCalls, mode); }
virtual H323GatekeeperRequest::Response OnLocation(
H323GatekeeperLRQ & request
);
virtual PBoolean TranslateAliasAddress(
const H225_AliasAddress & alias,
H225_ArrayOf_AliasAddress & aliases,
H323TransportAddress & address,
PBoolean & isGkRouted,
H323GatekeeperCall * call
);
virtual PBoolean TranslateAliasAddressToSignalAddress(
const H225_AliasAddress & alias,
H323TransportAddress & address
);
virtual PBoolean CheckSignalAddressPolicy(
const H323RegisteredEndPoint & ep,
const H225_AdmissionRequest & arq,
const H323TransportAddress & address
);
virtual PBoolean CheckAliasAddressPolicy(
const H323RegisteredEndPoint & ep,
const H225_AdmissionRequest & arq,
const H225_AliasAddress & alias
);
virtual PBoolean CheckAliasStringPolicy(
const H323RegisteredEndPoint & ep,
const H225_AdmissionRequest & arq,
const PString & alias
);
virtual unsigned AllocateBandwidth(
unsigned newBandwidth,
unsigned oldBandwidth = 0
);
virtual PBoolean GetAdmissionRequestAuthentication(
H323GatekeeperARQ & info,
H235Authenticators & authenticators
);
virtual PBoolean GetUsersPassword(
const PString & alias,
PString & password,
H323RegisteredEndPoint & registeredEndpoint
) const;
virtual PBoolean GetUsersPassword(
const PString & alias,
PString & password
) const;
#if OPAL_H501
H323PeerElement * GetPeerElement() const { return peerElement; }
void SetPeerElement(
H323PeerElement * newPeerElement
);
void CreatePeerElement(
const H323TransportAddress & h501Interface
);
PBoolean OpenPeerElement(
const H323TransportAddress & remotePeer,
PBoolean append = false,
PBoolean keepTrying = true
);
#endif
const PString & GetGatekeeperIdentifier() const { return gatekeeperIdentifier; }
void SetGatekeeperIdentifier(
const PString & id,
PBoolean adjustListeners = true
);
unsigned GetAvailableBandwidth() const { return totalBandwidth; }
void SetAvailableBandwidth(unsigned bps100) { totalBandwidth = bps100; }
unsigned GetUsedBandwidth() const { return usedBandwidth; }
unsigned GetDefaultBandwidth() const { return defaultBandwidth; }
unsigned GetTimeToLive() const { return defaultTimeToLive; }
void SetTimeToLive(unsigned seconds) { defaultTimeToLive = seconds; }
unsigned GetInfoResponseRate() const { return defaultInfoResponseRate; }
void SetInfoResponseRate(unsigned seconds) { defaultInfoResponseRate = seconds; }
PBoolean IsGatekeeperRouted() const { return isGatekeeperRouted; }
PBoolean IsRequiredH235() const { return requireH235; }
unsigned GetActiveRegistrations() const { return byIdentifier.GetSize(); }
unsigned GetPeakRegistrations() const { return peakRegistrations; }
unsigned GetTotalRegistrations() const { return totalRegistrations; }
unsigned GetRejectedRegistrations() const { return rejectedRegistrations; }
unsigned GetActiveCalls() const { return activeCalls.GetSize(); }
unsigned GetPeakCalls() const { return peakCalls; }
unsigned GetTotalCalls() const { return totalCalls; }
unsigned GetRejectedCalls() const { return rejectedCalls; }
// Remove an alias from the server database.
void RemoveAlias(
H323RegisteredEndPoint & ep,
const PString & alias
);
// called when an endpoint needs to send a descriptor to the H.501 peer element
virtual PBoolean OnSendDescriptorForEndpoint(
H323RegisteredEndPoint & /*ep*/,
H225_ArrayOf_AliasAddress & /*aliases*/,
H225_EndpointType & /*terminalType*/,
H225_ArrayOf_AliasAddress & /*transportAddresses*/
)
{ return true; }
virtual PBoolean AllowDuplicateAlias(const H225_ArrayOf_AliasAddress & /*aliases*/)
{ return canHaveDuplicateAlias; }
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet & features) const;
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet & features) const;
protected:
PDECLARE_NOTIFIER(PThread, H323GatekeeperServer, MonitorMain);
// Configuration & policy variables
PString gatekeeperIdentifier;
unsigned totalBandwidth;
unsigned usedBandwidth;
unsigned defaultBandwidth;
unsigned maximumBandwidth;
unsigned defaultTimeToLive;
unsigned defaultInfoResponseRate;
PBoolean overwriteOnSameSignalAddress;
PBoolean canHaveDuplicateAlias;
PBoolean canHaveDuplicatePrefix;
PBoolean canOnlyCallRegisteredEP;
PBoolean canOnlyAnswerRegisteredEP;
PBoolean answerCallPreGrantedARQ;
PBoolean makeCallPreGrantedARQ;
PBoolean isGatekeeperRouted;
PBoolean aliasCanBeHostName;
PBoolean requireH235;
PBoolean disengageOnHearbeatFail;
PStringToString passwords;
// Dynamic variables
PMutex mutex;
time_t identifierBase;
unsigned nextIdentifier;
PThread * monitorThread;
PSyncPoint monitorExit;
PLIST(ListenerList, H323GatekeeperListener);
ListenerList listeners;
#if OPAL_H501
H323PeerElement * peerElement;
#endif
PSafeDictionary<PString, H323RegisteredEndPoint> byIdentifier;
class StringMap : public PString {
PCLASSINFO(StringMap, PString);
public:
StringMap(const PString & from, const PString & id)
: PString(from), identifier(id) { }
PString identifier;
};
PSortedStringList byAddress;
PSortedStringList byAlias;
PSortedStringList byVoicePrefix;
PSafeSortedList<H323GatekeeperCall> activeCalls;
PINDEX peakRegistrations;
PINDEX totalRegistrations;
PINDEX rejectedRegistrations;
PINDEX peakCalls;
PINDEX totalCalls;
PINDEX rejectedCalls;
friend class H323GatekeeperRRQ;
friend class H323GatekeeperARQ;
};
#endif // OPAL_H323
#endif // OPAL_H323_GKSERVER_H
H323GatekeeperServer::GetTimeToLive
unsigned GetTimeToLive() const
Definition: gkserver.h:1577
H323GatekeeperRRQ
Definition: gkserver.h:147
H323GatekeeperDRQ::dcf
H225_DisengageConfirm & dcf
Definition: gkserver.h:265
H323GatekeeperServer::CreateRegisteredEndPoint
virtual H323RegisteredEndPoint * CreateRegisteredEndPoint(H323GatekeeperRRQ &request)
H323GatekeeperServer::passwords
PStringToString passwords
Definition: gkserver.h:1677
H323GatekeeperLRQ
Definition: gkserver.h:304
h323pdu.h
H323GatekeeperServer::GetUsersPassword
virtual PBoolean GetUsersPassword(const PString &alias, PString &password, H323RegisteredEndPoint &registeredEndpoint) const
H323PeerElement
Definition: peclient.h:248
H323GatekeeperListener::OnInfoResponse
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
H323GatekeeperServer::GetUsedBandwidth
unsigned GetUsedBandwidth() const
Definition: gkserver.h:1569
H323GatekeeperURQ
Definition: gkserver.h:178
H323RegisteredEndPoint::CanDisplayAmountString
PBoolean CanDisplayAmountString() const
Definition: gkserver.h:873
H323GatekeeperARQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperLRQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperCall::GetCallStartTime
const PTime & GetCallStartTime() const
Definition: gkserver.h:547
H323RegisteredEndPoint::GetCallCount
PINDEX GetCallCount() const
Definition: gkserver.h:638
H323GatekeeperLRQ::H323GatekeeperLRQ
H323GatekeeperLRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323RegisteredEndPoint::CanEnforceDurationLimit
PBoolean CanEnforceDurationLimit() const
Definition: gkserver.h:877
H225_RAS
Definition: h225ras.h:96
H323GatekeeperServer::RemoveEndPoint
virtual PBoolean RemoveEndPoint(H323RegisteredEndPoint *ep)
H323RegisteredEndPoint::GetRASAddress
H323TransportAddress GetRASAddress(PINDEX idx) const
Definition: gkserver.h:791
H323GatekeeperCall::UnknownDirection
Definition: gkserver.h:377
H323GatekeeperGRQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperServer::byAlias
PSortedStringList byAlias
Definition: gkserver.h:1703
H323RegisteredEndPoint::identifier
PString identifier
Definition: gkserver.h:909
H323GatekeeperARQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323GatekeeperRequest::endpoint
PSafePtr< H323RegisteredEndPoint > endpoint
Definition: gkserver.h:109
H323GatekeeperGRQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperRRQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323RegisteredEndPoint::SendServiceControlSession
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
H323RegisteredEndPoint::OnSendDescriptorForEndpoint
virtual PBoolean OnSendDescriptorForEndpoint(H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses)
H323GatekeeperCall::drqReceived
PBoolean drqReceived
Definition: gkserver.h:575
H323TransportAddressArray
H323TransportAddressArray(const OpalTransportAddress &address)
Definition: transaddr.h:97
H323GatekeeperServer::gatekeeperIdentifier
PString gatekeeperIdentifier
Definition: gkserver.h:1658
H323RegisteredEndPoint::GetAliasCount
PINDEX GetAliasCount() const
Definition: gkserver.h:824
H323GatekeeperServer::RemoveAlias
void RemoveAlias(H323RegisteredEndPoint &ep, const PString &alias)
H323GatekeeperServer::StringMap
Definition: gkserver.h:1695
H323GatekeeperServer::GetAdmissionRequestAuthentication
virtual PBoolean GetAdmissionRequestAuthentication(H323GatekeeperARQ &info, H235Authenticators &authenticators)
H323GatekeeperServer::GetInfoResponseRate
unsigned GetInfoResponseRate() const
Definition: gkserver.h:1585
H323RegisteredEndPoint::IsBehindNAT
PBoolean IsBehindNAT() const
Definition: gkserver.h:869
H323RegisteredEndPoint::GetProtocolVersion
unsigned GetProtocolVersion() const
Definition: gkserver.h:865
H323RegisteredEndPoint::timeToLive
unsigned timeToLive
Definition: gkserver.h:921
H323GatekeeperServer::byAddress
PSortedStringList byAddress
Definition: gkserver.h:1702
H323GatekeeperLRQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323GatekeeperListener::OnLocation
virtual H323GatekeeperRequest::Response OnLocation(H323GatekeeperLRQ &request)
H323GatekeeperCall::OnInfoResponse
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request, H225_InfoRequestResponse_perCallInfo_subtype &call)
H323GatekeeperServer::OnRegistration
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
H323GatekeeperCall::OnBandwidth
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
H323GatekeeperListener::OnAdmission
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
H323GatekeeperListener::OnReceiveFeatureSet
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet &features) const
H323GatekeeperListener::H323GatekeeperListener
H323GatekeeperListener(H323EndPoint &endpoint, H323GatekeeperServer &server, const PString &gatekeeperIdentifier, H323Transport *transport=NULL)
H323GatekeeperURQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323RegisteredEndPoint::lastRegistration
PTime lastRegistration
Definition: gkserver.h:924
H323GatekeeperDRQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperCall::lastInfoResponse
PTime lastInfoResponse
Definition: gkserver.h:573
H323GatekeeperServer::canHaveDuplicatePrefix
PBoolean canHaveDuplicatePrefix
Definition: gkserver.h:1667
buildopts.h
H323GatekeeperListener::OnDiscovery
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
H323GatekeeperBRQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperURQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperLRQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperRRQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperIRR::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperCall::endpoint
H323RegisteredEndPoint * endpoint
Definition: gkserver.h:558
H323GatekeeperServer::CreateCall
virtual H323GatekeeperCall * CreateCall(const OpalGloballyUniqueID &callIdentifier, H323GatekeeperCall::Direction direction)
H323GatekeeperServer::OnAdmission
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
H323RegisteredEndPoint::SetPassword
virtual PBoolean SetPassword(const PString &password, const PString &username=PString::Empty())
H323GatekeeperServer::CreatePeerElement
void CreatePeerElement(const H323TransportAddress &h501Interface)
H323GatekeeperServer::GetPeakRegistrations
unsigned GetPeakRegistrations() const
Definition: gkserver.h:1605
H323GatekeeperCall::GetSourceAliases
const PStringArray & GetSourceAliases() const
Definition: gkserver.h:537
H323RegisteredEndPoint::h225Version
unsigned h225Version
Definition: gkserver.h:920
H323GatekeeperCall::OnConnected
virtual void OnConnected()
H323GatekeeperListener::OnReceiveBandwidthReject
virtual PBoolean OnReceiveBandwidthReject(const H225_BandwidthReject &)
H323GatekeeperCall::Direction
Direction
Definition: gkserver.h:374
H323GatekeeperIRR::irr
H225_InfoRequestResponse & irr
Definition: gkserver.h:357
H323GatekeeperServer::canOnlyAnswerRegisteredEP
PBoolean canOnlyAnswerRegisteredEP
Definition: gkserver.h:1669
H323GatekeeperListener::OnReceiveDisengageConfirm
virtual PBoolean OnReceiveDisengageConfirm(const H225_DisengageConfirm &)
OpalTransport
Definition: transports.h:703
H323GatekeeperCall::Disengage
virtual PBoolean Disengage(int reason=-1)
H323GatekeeperRequest::WritePDU
virtual PBoolean WritePDU(H323TransactionPDU &pdu)
H323GatekeeperIRR
Definition: gkserver.h:335
H323RegisteredEndPoint::GetH225Version
PBoolean GetH225Version() const
Definition: gkserver.h:885
H323GatekeeperServer::~H323GatekeeperServer
~H323GatekeeperServer()
H323GatekeeperServer::byVoicePrefix
PSortedStringList byVoicePrefix
Definition: gkserver.h:1704
H323RegisteredEndPoint::AddServiceControlSession
virtual PBoolean AddServiceControlSession(const H323ServiceControlSession &session, H225_ArrayOf_ServiceControlSession &serviceControl)
H323GatekeeperGRQ::H323GatekeeperGRQ
H323GatekeeperGRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperServer::OnSendFeatureSet
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet &features) const
H323GatekeeperIRR::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperListener::DisengageRequest
PBoolean DisengageRequest(const H323GatekeeperCall &call, unsigned reason)
H323RegisteredEndPoint::ContainsAlias
PBoolean ContainsAlias(const PString &alias)
Definition: gkserver.h:818
H323GatekeeperURQ::urq
H225_UnregistrationRequest & urq
Definition: gkserver.h:200
guid.h
H323RegisteredEndPoint::rasAddresses
H323TransportAddressArray rasAddresses
Definition: gkserver.h:911
H323GatekeeperCall::GetConnectedTime
const PTime & GetConnectedTime() const
Definition: gkserver.h:549
H323GatekeeperServer::rejectedCalls
PINDEX rejectedCalls
Definition: gkserver.h:1713
H323RegisteredEndPoint::GetDescriptorID
const OpalGloballyUniqueID & GetDescriptorID() const
Definition: gkserver.h:772
H323RegisteredEndPoint::Compare
Comparison Compare(const PObject &obj) const
H323GatekeeperCall::srcNumber
PString srcNumber
Definition: gkserver.h:565
H323GatekeeperServer::byIdentifier
PSafeDictionary< PString, H323RegisteredEndPoint > byIdentifier
Definition: gkserver.h:1693
H323RegisteredEndPoint::lastInfoResponse
PTime lastInfoResponse
Definition: gkserver.h:925
H323Transaction
Definition: h323trans.h:327
H323GatekeeperServer::CheckAliasStringPolicy
virtual PBoolean CheckAliasStringPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const PString &alias)
H323Transactor
Definition: h323trans.h:101
H323GatekeeperRequest::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const =0
H323GatekeeperARQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperGRQ::gcf
H225_GatekeeperConfirm & gcf
Definition: gkserver.h:139
H323GatekeeperIRR::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323RegisteredEndPoint::PrintOn
void PrintOn(ostream &strm) const
H323RegisteredEndPoint::GetSignalAddresses
const H323TransportAddressArray & GetSignalAddresses() const
Definition: gkserver.h:798
H323RegisteredEndPoint::GetProductInfo
const OpalProductInfo & GetProductInfo() const
Definition: gkserver.h:861
H323GatekeeperLRQ::lrq
H225_LocationRequest & lrq
Definition: gkserver.h:326
H323GatekeeperRequest::CheckGatekeeperIdentifier
PBoolean CheckGatekeeperIdentifier()
H323RegisteredEndPoint::isBehindNAT
PBoolean isBehindNAT
Definition: gkserver.h:917
H323GatekeeperIRR::H323GatekeeperIRR
H323GatekeeperIRR(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperRequest::rasChannel
H323GatekeeperListener & rasChannel
Definition: gkserver.h:112
H323GatekeeperServer::OnDisengage
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H323GatekeeperCall::AnsweringCall
Definition: gkserver.h:375
H323GatekeeperServer::SetGatekeeperIdentifier
void SetGatekeeperIdentifier(const PString &id, PBoolean adjustListeners=true)
H323GatekeeperServer::CreateEndPointIdentifier
virtual PString CreateEndPointIdentifier()
H323GatekeeperCall::GetSourceHost
const H323TransportAddress & GetSourceHost() const
Definition: gkserver.h:538
H323GatekeeperRequest
Definition: gkserver.h:75
H323GatekeeperCall::callStartTime
PTime callStartTime
Definition: gkserver.h:576
H323GatekeeperURQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperCall::GetDestinationAddress
PString GetDestinationAddress() const
H323GatekeeperLRQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperServer::IsGatekeeperRouted
PBoolean IsGatekeeperRouted() const
Definition: gkserver.h:1593
H323GatekeeperCall::gatekeeper
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:557
H323GatekeeperServer::disengageOnHearbeatFail
PBoolean disengageOnHearbeatFail
Definition: gkserver.h:1675
H323GatekeeperCall::infoResponseRate
unsigned infoResponseRate
Definition: gkserver.h:572
H323RegisteredEndPoint::GetRASAddressCount
PINDEX GetRASAddressCount() const
Definition: gkserver.h:786
H323GatekeeperServer::GetFirstEndPoint
PSafePtr< H323RegisteredEndPoint > GetFirstEndPoint(PSafetyMode mode=PSafeReference)
Definition: gkserver.h:1263
h323trans.h
H323GatekeeperGRQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperBRQ::brj
H225_BandwidthReject & brj
Definition: gkserver.h:297
H323GatekeeperServer::OpenPeerElement
PBoolean OpenPeerElement(const H323TransportAddress &remotePeer, PBoolean append=false, PBoolean keepTrying=true)
H323GatekeeperCall::callReference
unsigned callReference
Definition: gkserver.h:562
H323GatekeeperCall::direction
Direction direction
Definition: gkserver.h:561
H323GatekeeperListener::~H323GatekeeperListener
~H323GatekeeperListener()
H323GatekeeperServer::requireH235
PBoolean requireH235
Definition: gkserver.h:1674
H323GatekeeperBRQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperListener::OnReceiveBandwidthRequest
virtual PBoolean OnReceiveBandwidthRequest(const H323RasPDU &, const H225_BandwidthRequest &)
H323GatekeeperCall::GetCallIdentifier
const OpalGloballyUniqueID & GetCallIdentifier() const
Definition: gkserver.h:534
H323RegisteredEndPoint::canDisplayAmountString
PBoolean canDisplayAmountString
Definition: gkserver.h:918
H323RegisteredEndPoint::GetAuthenticators
virtual const H235Authenticators & GetAuthenticators() const
Definition: gkserver.h:843
H323GatekeeperServer::StringMap::identifier
PString identifier
Definition: gkserver.h:1700
H323GatekeeperServer::GetDefaultUdpPort
WORD GetDefaultUdpPort()
Definition: gkserver.h:1115
H323GatekeeperServer::FindEndPointByAliasString
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByAliasString(const PString &alias, PSafetyMode mode=PSafeReference)
H323GatekeeperServer::totalBandwidth
unsigned totalBandwidth
Definition: gkserver.h:1659
H323RegisteredEndPoint::protocolVersion
unsigned protocolVersion
Definition: gkserver.h:916
H323GatekeeperBRQ::H323GatekeeperBRQ
H323GatekeeperBRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperServer::FindEndPointByPartialAlias
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPartialAlias(const PString &alias, PSafetyMode mode=PSafeReference)
H323GatekeeperServer::isGatekeeperRouted
PBoolean isGatekeeperRouted
Definition: gkserver.h:1672
H323GatekeeperCall::GetDestinationNumber
const PString & GetDestinationNumber() const
Definition: gkserver.h:540
H323GatekeeperServer::GetTotalRegistrations
unsigned GetTotalRegistrations() const
Definition: gkserver.h:1609
H323GatekeeperCall::OnAlerting
virtual void OnAlerting()
H323GatekeeperServer::OnSendDescriptorForEndpoint
virtual PBoolean OnSendDescriptorForEndpoint(H323RegisteredEndPoint &, H225_ArrayOf_AliasAddress &, H225_EndpointType &, H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1639
H323RegisteredEndPoint::H323RegisteredEndPoint
H323RegisteredEndPoint(H323GatekeeperServer &server, const PString &id)
H323GatekeeperServer::FindEndPointBySignalAddress
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddress(const H323TransportAddress &address, PSafetyMode mode=PSafeReference)
H323GatekeeperServer::monitorExit
PSyncPoint monitorExit
Definition: gkserver.h:1684
H323GatekeeperServer::OnReceiveFeatureSet
virtual void OnReceiveFeatureSet(unsigned, const H225_FeatureSet &features) const
H323GatekeeperCall::SendServiceControlSession
virtual PBoolean SendServiceControlSession(const H323ServiceControlSession &session)
H323GatekeeperARQ::alternateSecurityID
PString alternateSecurityID
Definition: gkserver.h:235
H323RegisteredEndPoint::GetIdentifier
const PString & GetIdentifier() const
Definition: gkserver.h:768
H323GatekeeperURQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperServer::AllocateBandwidth
virtual unsigned AllocateBandwidth(unsigned newBandwidth, unsigned oldBandwidth=0)
H323GatekeeperIRR::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperDRQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperServer::defaultTimeToLive
unsigned defaultTimeToLive
Definition: gkserver.h:1663
H323GatekeeperServer::OnDiscovery
virtual H323GatekeeperRequest::Response OnDiscovery(H323GatekeeperGRQ &request)
H323GatekeeperServer::GetActiveRegistrations
unsigned GetActiveRegistrations() const
Definition: gkserver.h:1601
H323GatekeeperRequest::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const =0
H323GatekeeperServer::peakRegistrations
PINDEX peakRegistrations
Definition: gkserver.h:1708
H323RegisteredEndPoint::GetApplicationInfo
PCaselessString GetApplicationInfo() const
Definition: gkserver.h:857
H323GatekeeperARQ::arj
H225_AdmissionReject & arj
Definition: gkserver.h:233
H323RegisteredEndPoint::RemoveCall
virtual PBoolean RemoveCall(H323GatekeeperCall *call)
H323GatekeeperServer::TranslateAliasAddress
virtual PBoolean TranslateAliasAddress(const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted, H323GatekeeperCall *call)
H323GatekeeperURQ::urj
H225_UnregistrationReject & urj
Definition: gkserver.h:202
H323GatekeeperGRQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperRequest::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const =0
H323GatekeeperListener::OnReceiveUnregistrationReject
virtual PBoolean OnReceiveUnregistrationReject(const H225_UnregistrationReject &)
H323RegisteredEndPoint::descriptorID
OpalGloballyUniqueID descriptorID
Definition: gkserver.h:910
H323GatekeeperListener::OnBandwidth
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
H323GatekeeperServer::TranslateAliasAddressToSignalAddress
virtual PBoolean TranslateAliasAddressToSignalAddress(const H225_AliasAddress &alias, H323TransportAddress &address)
H323GatekeeperDRQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperCall::callIdentifier
OpalGloballyUniqueID callIdentifier
Definition: gkserver.h:563
H323GatekeeperServer::CheckSignalAddressPolicy
virtual PBoolean CheckSignalAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H323TransportAddress &address)
H323GatekeeperCall::srcAliases
PStringArray srcAliases
Definition: gkserver.h:566
H323GatekeeperRequest::CreateRIP
virtual H323TransactionPDU * CreateRIP(unsigned sequenceNumber, unsigned delay) const
H323GatekeeperListener::OnReceiveGatekeeperRequest
virtual PBoolean OnReceiveGatekeeperRequest(const H323RasPDU &, const H225_GatekeeperRequest &)
H323GatekeeperServer::GetFirstCall
PSafePtr< H323GatekeeperCall > GetFirstCall(PSafetyMode mode=PSafeReference)
Definition: gkserver.h:1349
H323GatekeeperGRQ::grq
H225_GatekeeperRequest & grq
Definition: gkserver.h:138
H323GatekeeperServer::usedBandwidth
unsigned usedBandwidth
Definition: gkserver.h:1660
H323GatekeeperCall::bandwidthUsed
unsigned bandwidthUsed
Definition: gkserver.h:571
H323GatekeeperServer::GetGatekeeperIdentifier
const PString & GetGatekeeperIdentifier() const
Definition: gkserver.h:1547
H323GatekeeperARQ::H323GatekeeperARQ
H323GatekeeperARQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperServer::aliasCanBeHostName
PBoolean aliasCanBeHostName
Definition: gkserver.h:1673
H323GatekeeperCall::dstHost
H323TransportAddress dstHost
Definition: gkserver.h:570
H323GatekeeperServer
Definition: gkserver.h:1098
H323GatekeeperListener::OnReceiveBandwidthConfirm
virtual PBoolean OnReceiveBandwidthConfirm(const H225_BandwidthConfirm &)
H323GatekeeperListener
Definition: gkserver.h:937
H323GatekeeperIRR::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperListener::OnReceiveInfoRequestResponse
virtual PBoolean OnReceiveInfoRequestResponse(const H323RasPDU &, const H225_InfoRequestResponse &)
H323GatekeeperServer::defaultInfoResponseRate
unsigned defaultInfoResponseRate
Definition: gkserver.h:1664
H323GatekeeperARQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperRRQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperCall::GetCallCreditAmount
virtual PString GetCallCreditAmount() const
H323GatekeeperRRQ::H323GatekeeperRRQ
H323GatekeeperRRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperCall::alertingTime
PTime alertingTime
Definition: gkserver.h:577
H323GatekeeperCall::GetDestinationAliases
const PStringArray & GetDestinationAliases() const
Definition: gkserver.h:541
H323GatekeeperServer::CheckAliasAddressPolicy
virtual PBoolean CheckAliasAddressPolicy(const H323RegisteredEndPoint &ep, const H225_AdmissionRequest &arq, const H225_AliasAddress &alias)
H323GatekeeperARQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323RegisteredEndPoint::canEnforceDurationLimit
PBoolean canEnforceDurationLimit
Definition: gkserver.h:919
h235auth.h
H323GatekeeperServer::AddEndPoint
virtual void AddEndPoint(H323RegisteredEndPoint *ep)
H323GatekeeperServer::peakCalls
PINDEX peakCalls
Definition: gkserver.h:1711
h225ras.h
H323GatekeeperCall::GetSourceAddress
PString GetSourceAddress() const
H323RegisteredEndPoint::OnFullRegistration
virtual H323GatekeeperRequest::Response OnFullRegistration(H323GatekeeperRRQ &request)
H323GatekeeperServer::peerElement
H323PeerElement * peerElement
Definition: gkserver.h:1690
H323ServiceControlSession
Definition: svcctrl.h:57
H323GatekeeperServer::CreateListener
virtual H323Transactor * CreateListener(H323Transport *transport)
H323GatekeeperGRQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperServer::H323GatekeeperServer
H323GatekeeperServer(H323EndPoint &endpoint)
H323GatekeeperURQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperIRR::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperServer::totalCalls
PINDEX totalCalls
Definition: gkserver.h:1712
H323GatekeeperListener::gatekeeper
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:1084
OpalProductInfo::AsString
PCaselessString AsString() const
H323GatekeeperLRQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperURQ::H323GatekeeperURQ
H323GatekeeperURQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperServer::defaultBandwidth
unsigned defaultBandwidth
Definition: gkserver.h:1661
H323GatekeeperDRQ::drq
H225_DisengageRequest & drq
Definition: gkserver.h:264
H323RegisteredEndPoint::GetCallCreditAmount
virtual PString GetCallCreditAmount() const
H323GatekeeperURQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperServer::PLIST
PLIST(ListenerList, H323GatekeeperListener)
H323RegisteredEndPoint
Definition: gkserver.h:589
H323GatekeeperServer::OnUnregistration
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
H225_RAS::DefaultRasUdpPort
Definition: h225ras.h:104
H323GatekeeperCall::GetCallEndReason
H323Connection::CallEndReason GetCallEndReason() const
Definition: gkserver.h:551
H323GatekeeperRRQ::rrq
H225_RegistrationRequest & rrq
Definition: gkserver.h:169
H323GatekeeperCall::~H323GatekeeperCall
~H323GatekeeperCall()
H323GatekeeperRequest::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const =0
H323RasPDU
Definition: h323pdu.h:414
H323GatekeeperRequest::CheckCryptoTokens
PBoolean CheckCryptoTokens()
H323GatekeeperServer::SetPeerElement
void SetPeerElement(H323PeerElement *newPeerElement)
H323RegisteredEndPoint::Unregister
virtual PBoolean Unregister(int reason=-1)
H323GatekeeperBRQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperDRQ::H323GatekeeperDRQ
H323GatekeeperDRQ(H323GatekeeperListener &listener, const H323RasPDU &pdu)
H323GatekeeperBRQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323RegisteredEndPoint::serviceControlSessions
POrdinalDictionary< PString > serviceControlSessions
Definition: gkserver.h:928
H323GatekeeperURQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323RegisteredEndPoint::GetSignalAddressCount
PINDEX GetSignalAddressCount() const
Definition: gkserver.h:803
H323GatekeeperServer::GetDefaultBandwidth
unsigned GetDefaultBandwidth() const
Definition: gkserver.h:1573
H323GatekeeperCall::callEndTime
PTime callEndTime
Definition: gkserver.h:579
H323GatekeeperServer::activeCalls
PSafeSortedList< H323GatekeeperCall > activeCalls
Definition: gkserver.h:1706
H323GatekeeperBRQ::bcf
H225_BandwidthConfirm & bcf
Definition: gkserver.h:296
H323GatekeeperServer::IsRequiredH235
PBoolean IsRequiredH235() const
Definition: gkserver.h:1597
H323GatekeeperServer::AddCall
virtual void AddCall(H323GatekeeperCall *)
Definition: gkserver.h:1315
H323GatekeeperServer::listeners
ListenerList listeners
Definition: gkserver.h:1687
H323GatekeeperARQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperDRQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperRequest::GetRasChannel
H323GatekeeperListener & GetRasChannel() const
Definition: gkserver.h:107
H323GatekeeperListener::OnReceiveDisengageReject
virtual PBoolean OnReceiveDisengageReject(const H225_DisengageReject &)
H323GatekeeperCall::OnDisengage
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H323GatekeeperLRQ::lrj
H225_LocationReject & lrj
Definition: gkserver.h:328
H323GatekeeperDRQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323RegisteredEndPoint::CanReceiveRIP
PBoolean CanReceiveRIP() const
H323GatekeeperServer::GetActiveCalls
unsigned GetActiveCalls() const
Definition: gkserver.h:1617
H323GatekeeperRRQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperCall::GetGatekeeper
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:530
H323GatekeeperLRQ::lcf
H225_LocationConfirm & lcf
Definition: gkserver.h:327
H323GatekeeperRRQ::rrj
H225_RegistrationReject & rrj
Definition: gkserver.h:171
H323GatekeeperServer::monitorThread
PThread * monitorThread
Definition: gkserver.h:1683
H323GatekeeperListener::OnReceiveLocationRequest
virtual PBoolean OnReceiveLocationRequest(const H323RasPDU &, const H225_LocationRequest &)
H323GatekeeperGRQ::grj
H225_GatekeeperReject & grj
Definition: gkserver.h:140
H323GatekeeperRRQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperListener::OnUnregistration
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
H323GatekeeperCall::H323GatekeeperCall
H323GatekeeperCall(H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction)
H323GatekeeperLRQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperListener::UnregistrationRequest
PBoolean UnregistrationRequest(const H323RegisteredEndPoint &ep, unsigned reason)
H323GatekeeperServer::FindEndPointByIdentifier
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByIdentifier(const PString &identifier, PSafetyMode mode=PSafeReference)
H323GatekeeperARQ::acf
H225_AdmissionConfirm & acf
Definition: gkserver.h:232
H323GatekeeperBRQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323RegisteredEndPoint::GetSignalAddress
H323TransportAddress GetSignalAddress(PINDEX idx) const
Definition: gkserver.h:808
H323RegisteredEndPoint::GetRASAddresses
const H323TransportAddressArray & GetRASAddresses() const
Definition: gkserver.h:781
H323GatekeeperCall::GetCallEndTime
const PTime & GetCallEndTime() const
Definition: gkserver.h:550
H323GatekeeperGRQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323GatekeeperCall::OnHeartbeat
virtual PBoolean OnHeartbeat()
H323TransactionPDU
Definition: h323trans.h:51
H323GatekeeperServer::maximumBandwidth
unsigned maximumBandwidth
Definition: gkserver.h:1662
H235Authenticator::ValidationResult
ValidationResult
Definition: h235auth.h:83
H323TransactionServer
Definition: h323trans.h:403
H323RegisteredEndPoint::OnSecureRegistration
virtual H323GatekeeperRequest::Response OnSecureRegistration(H323GatekeeperRRQ &request)
H323GatekeeperCall::TranslateAliasAddress
virtual PBoolean TranslateAliasAddress(const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, PBoolean &isGkRouted)
OpalConnection::CallEndReason
Definition: connection.h:396
H323GatekeeperListener::OnRegistration
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
H323GatekeeperServer::SetAvailableBandwidth
void SetAvailableBandwidth(unsigned bps100)
Definition: gkserver.h:1565
H323GatekeeperIRR::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperGRQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperListener::InfoRequest
virtual PBoolean InfoRequest(H323RegisteredEndPoint &ep, H323GatekeeperCall *call=NULL)
H323GatekeeperRRQ::rcf
H225_RegistrationConfirm & rcf
Definition: gkserver.h:170
H323GatekeeperCall::Compare
Comparison Compare(const PObject &obj) const
H323GatekeeperCall::GetBandwidthUsed
unsigned GetBandwidthUsed() const
Definition: gkserver.h:544
H323GatekeeperCall::GetLastInfoResponseTime
const PTime & GetLastInfoResponseTime() const
Definition: gkserver.h:546
H323GatekeeperServer::GetAvailableBandwidth
unsigned GetAvailableBandwidth() const
Definition: gkserver.h:1561
H323GatekeeperCall::connectedTime
PTime connectedTime
Definition: gkserver.h:578
H323GatekeeperServer::totalRegistrations
PINDEX totalRegistrations
Definition: gkserver.h:1709
H323GatekeeperGRQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperServer::OnLocation
virtual H323GatekeeperRequest::Response OnLocation(H323GatekeeperLRQ &request)
H323GatekeeperServer::OnBandwidth
virtual H323GatekeeperRequest::Response OnBandwidth(H323GatekeeperBRQ &request)
H323RegisteredEndPoint::OnRegistration
virtual H323GatekeeperRequest::Response OnRegistration(H323GatekeeperRRQ &request)
H323RegisteredEndPoint::activeCalls
PSortedList< H323GatekeeperCall > activeCalls
Definition: gkserver.h:927
H323RegisteredEndPoint::OnTimeToLive
virtual PBoolean OnTimeToLive()
H323GatekeeperServer::overwriteOnSameSignalAddress
PBoolean overwriteOnSameSignalAddress
Definition: gkserver.h:1665
H323GatekeeperListener::OnReceiveRegistrationRequest
virtual PBoolean OnReceiveRegistrationRequest(const H323RasPDU &, const H225_RegistrationRequest &)
H323GatekeeperServer::mutex
PMutex mutex
Definition: gkserver.h:1680
H323RegisteredEndPoint::RemoveAlias
void RemoveAlias(const PString &alias)
H323GatekeeperListener::OnReceiveUnregistrationRequest
virtual PBoolean OnReceiveUnregistrationRequest(const H323RasPDU &, const H225_UnregistrationRequest &)
H323GatekeeperServer::FindEndPointByPrefixString
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByPrefixString(const PString &prefix, PSafetyMode mode=PSafeReference)
H323RegisteredEndPoint::gatekeeper
H323GatekeeperServer & gatekeeper
Definition: gkserver.h:906
H323RegisteredEndPoint::GetPrefix
PString GetPrefix(PINDEX idx) const
Definition: gkserver.h:851
H323GatekeeperRequest::H323GatekeeperRequest
H323GatekeeperRequest(H323GatekeeperListener &rasChannel, const H323RasPDU &pdu)
H323GatekeeperServer::answerCallPreGrantedARQ
PBoolean answerCallPreGrantedARQ
Definition: gkserver.h:1670
H323GatekeeperCall::GetEndPoint
H323RegisteredEndPoint & GetEndPoint() const
Definition: gkserver.h:531
H323GatekeeperListener::OnReceiveAdmissionRequest
virtual PBoolean OnReceiveAdmissionRequest(const H323RasPDU &, const H225_AdmissionRequest &)
H323RegisteredEndPoint::GetCallCreditMode
virtual PBoolean GetCallCreditMode() const
H323RegisteredEndPoint::GetPrefixCount
PINDEX GetPrefixCount() const
Definition: gkserver.h:847
H323GatekeeperCall::OnAdmission
virtual H323GatekeeperRequest::Response OnAdmission(H323GatekeeperARQ &request)
H323GatekeeperCall::SetUsageInfo
void SetUsageInfo(const H225_RasUsageInformation &usage)
H323GatekeeperBRQ::ValidatePDU
virtual H235Authenticator::ValidationResult ValidatePDU() const
H323GatekeeperServer::GetPeakCalls
unsigned GetPeakCalls() const
Definition: gkserver.h:1621
H323GatekeeperListener::OnReceiveDisengageRequest
virtual PBoolean OnReceiveDisengageRequest(const H323RasPDU &, const H225_DisengageRequest &)
H323GatekeeperServer::FindDestinationEndPoint
PSafePtr< H323RegisteredEndPoint > FindDestinationEndPoint(const OpalGloballyUniqueID &id, H323GatekeeperCall::Direction direction)
H323GatekeeperCall
Definition: gkserver.h:368
H323GatekeeperServer::StringMap::StringMap
StringMap(const PString &from, const PString &id)
Definition: gkserver.h:1698
H323GatekeeperListener::OnReceiveUnregistrationConfirm
virtual PBoolean OnReceiveUnregistrationConfirm(const H225_UnregistrationConfirm &)
transaddr.h
H323RegisteredEndPoint::GetCall
H323GatekeeperCall & GetCall(PINDEX idx)
Definition: gkserver.h:642
H323GatekeeperCall::callEndReason
H323Connection::CallEndReason callEndReason
Definition: gkserver.h:580
H323GatekeeperLRQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperCall::dstNumber
PString dstNumber
Definition: gkserver.h:568
H323GatekeeperURQ::ucf
H225_UnregistrationConfirm & ucf
Definition: gkserver.h:201
H323GatekeeperIRR::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323GatekeeperServer::GetTotalCalls
unsigned GetTotalCalls() const
Definition: gkserver.h:1625
H323GatekeeperDRQ::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const
H323GatekeeperServer::FindEndPointByAliasAddress
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointByAliasAddress(const H225_AliasAddress &alias, PSafetyMode mode=PSafeReadWrite)
H323GatekeeperServer::PDECLARE_NOTIFIER
PDECLARE_NOTIFIER(PThread, H323GatekeeperServer, MonitorMain)
H323GatekeeperDRQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperCall::SendCallCreditServiceControl
virtual PBoolean SendCallCreditServiceControl()
H323GatekeeperLRQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperServer::OnInfoResponse
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
H323GatekeeperCall::GetDurationLimit
virtual unsigned GetDurationLimit() const
H323GatekeeperCall::AddCallCreditServiceControl
PBoolean AddCallCreditServiceControl(H225_ArrayOf_ServiceControlSession &serviceControl) const
H323GatekeeperIRR::inak
H225_InfoRequestNak & inak
Definition: gkserver.h:359
H323GatekeeperCall::dstAliases
PStringArray dstAliases
Definition: gkserver.h:569
H225_RAS::gatekeeperIdentifier
PString gatekeeperIdentifier
Definition: h225ras.h:318
OpalGloballyUniqueID
#define OpalGloballyUniqueID
Definition: guid.h:42
H323Transaction::Response
Response
Definition: h323trans.h:344
H323GatekeeperCall::GetSourceNumber
const PString & GetSourceNumber() const
Definition: gkserver.h:536
H323GatekeeperCall::GetAlertingTime
const PTime & GetAlertingTime() const
Definition: gkserver.h:548
H323GatekeeperCall::rasChannel
H323GatekeeperListener * rasChannel
Definition: gkserver.h:559
H323GatekeeperServer::GetPeerElement
H323PeerElement * GetPeerElement() const
Definition: gkserver.h:1512
H323GatekeeperServer::RemoveCall
virtual void RemoveCall(H323GatekeeperCall *call)
H323GatekeeperBRQ::GetSecurityRejectTag
virtual unsigned GetSecurityRejectTag() const
H323GatekeeperListener::ServiceControlIndication
virtual PBoolean ServiceControlIndication(H323RegisteredEndPoint &ep, const H323ServiceControlSession &session, H323GatekeeperCall *call=NULL)
H323GatekeeperCall::GetDestinationHost
const H323TransportAddress & GetDestinationHost() const
Definition: gkserver.h:542
H323GatekeeperRRQ::GetRegisteredEndPointRejectTag
virtual unsigned GetRegisteredEndPointRejectTag() const
H323GatekeeperCall::srcHost
H323TransportAddress srcHost
Definition: gkserver.h:567
H323GatekeeperCall::GetCallReference
unsigned GetCallReference() const
Definition: gkserver.h:533
H323RegisteredEndPoint::GetAliases
const PStringArray & GetAliases() const
Definition: gkserver.h:814
H323GatekeeperServer::nextIdentifier
unsigned nextIdentifier
Definition: gkserver.h:1682
H323EndPoint
Definition: h323ep.h:85
H323RegisteredEndPoint::authenticators
H235Authenticators authenticators
Definition: gkserver.h:922
H323GatekeeperCall::PrintOn
void PrintOn(ostream &strm) const
H323GatekeeperARQ::arq
H225_AdmissionRequest & arq
Definition: gkserver.h:231
H323GatekeeperServer::FindEndPointBySignalAddresses
virtual PSafePtr< H323RegisteredEndPoint > FindEndPointBySignalAddresses(const H225_ArrayOf_TransportAddress &addresses, PSafetyMode mode=PSafeReference)
H323GatekeeperCall::IsAnsweringCall
PBoolean IsAnsweringCall() const
Definition: gkserver.h:532
H323GatekeeperListener::OnDisengage
virtual H323GatekeeperRequest::Response OnDisengage(H323GatekeeperDRQ &request)
H323RegisteredEndPoint::rasChannel
H323GatekeeperListener * rasChannel
Definition: gkserver.h:907
H323GatekeeperServer::SetTimeToLive
void SetTimeToLive(unsigned seconds)
Definition: gkserver.h:1581
H323GatekeeperRequest::GetRegisteredEndPoint
PBoolean GetRegisteredEndPoint()
H323Transactor::endpoint
H323EndPoint & endpoint
Definition: h323trans.h:307
H323GatekeeperCall::OriginatingCall
Definition: gkserver.h:376
H323GatekeeperServer::GetRejectedCalls
unsigned GetRejectedCalls() const
Definition: gkserver.h:1629
H323GatekeeperCall::SetBandwidthUsed
PBoolean SetBandwidthUsed(unsigned bandwidth)
H323RegisteredEndPoint::aliases
PStringArray aliases
Definition: gkserver.h:913
H323GatekeeperListener::OnSendFeatureSet
virtual PBoolean OnSendFeatureSet(unsigned, H225_FeatureSet &features) const
H323GatekeeperIRR::iack
H225_InfoRequestAck & iack
Definition: gkserver.h:358
H323GatekeeperServer::identifierBase
time_t identifierBase
Definition: gkserver.h:1681
H323TransportAddress
Definition: transaddr.h:66
H323RegisteredEndPoint::signalAddresses
H323TransportAddressArray signalAddresses
Definition: gkserver.h:912
H323GatekeeperServer::SetInfoResponseRate
void SetInfoResponseRate(unsigned seconds)
Definition: gkserver.h:1589
H323GatekeeperARQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323RegisteredEndPoint::OnInfoResponse
virtual H323GatekeeperRequest::Response OnInfoResponse(H323GatekeeperIRR &request)
H323GatekeeperBRQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperDRQ::drj
H225_DisengageReject & drj
Definition: gkserver.h:266
H323GatekeeperARQ::OnHandlePDU
virtual Response OnHandlePDU()
H323GatekeeperRequest::GetGatekeeperRejectTag
virtual unsigned GetGatekeeperRejectTag() const =0
H323GatekeeperServer::rejectedRegistrations
PINDEX rejectedRegistrations
Definition: gkserver.h:1710
H323GatekeeperCall::conferenceIdentifier
OpalGloballyUniqueID conferenceIdentifier
Definition: gkserver.h:564
H323GatekeeperListener::OnReceiveResourcesAvailableConfirm
virtual PBoolean OnReceiveResourcesAvailableConfirm(const H225_ResourcesAvailableConfirm &)
H323GatekeeperRRQ::SetRejectReason
virtual void SetRejectReason(unsigned reasonCode)
H323GatekeeperServer::FindCall
virtual PSafePtr< H323GatekeeperCall > FindCall(const PString &description, PSafetyMode mode=PSafeReference)
H323Transactor::transport
H323Transport * transport
Definition: h323trans.h:310
H323GatekeeperListener::GetGatekeeper
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:1079
H323GatekeeperServer::GetRejectedRegistrations
unsigned GetRejectedRegistrations() const
Definition: gkserver.h:1613
H323GatekeeperServer::canHaveDuplicateAlias
PBoolean canHaveDuplicateAlias
Definition: gkserver.h:1666
OpalProductInfo
Definition: connection.h:312
H323GatekeeperCall::GetConferenceIdentifier
const OpalGloballyUniqueID & GetConferenceIdentifier() const
Definition: gkserver.h:535
H323RegisteredEndPoint::GetAlias
PString GetAlias(PINDEX idx) const
Definition: gkserver.h:828
H323GatekeeperServer::AllowDuplicateAlias
virtual PBoolean AllowDuplicateAlias(const H225_ArrayOf_AliasAddress &)
Definition: gkserver.h:1647
H323GatekeeperDRQ::GetGatekeeperIdentifier
virtual PString GetGatekeeperIdentifier() const
H323GatekeeperRRQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperCall::GetCallCreditMode
virtual PBoolean GetCallCreditMode() const
H323GatekeeperBRQ
Definition: gkserver.h:273
H323RegisteredEndPoint::productInfo
OpalProductInfo productInfo
Definition: gkserver.h:915
H323GatekeeperARQ
Definition: gkserver.h:209
H323GatekeeperBRQ::brq
H225_BandwidthRequest & brq
Definition: gkserver.h:295
H323GatekeeperServer::makeCallPreGrantedARQ
PBoolean makeCallPreGrantedARQ
Definition: gkserver.h:1671
H323GatekeeperGRQ
Definition: gkserver.h:116
H323GatekeeperURQ::GetEndpointIdentifier
virtual PString GetEndpointIdentifier() const
H323GatekeeperServer::canOnlyCallRegisteredEP
PBoolean canOnlyCallRegisteredEP
Definition: gkserver.h:1668
H323RegisteredEndPoint::AddCall
virtual void AddCall(H323GatekeeperCall *call)
H323RegisteredEndPoint::GetGatekeeper
H323GatekeeperServer & GetGatekeeper() const
Definition: gkserver.h:776
H323RegisteredEndPoint::OnUnregistration
virtual H323GatekeeperRequest::Response OnUnregistration(H323GatekeeperURQ &request)
H323GatekeeperDRQ
Definition: gkserver.h:242
H323RegisteredEndPoint::voicePrefixes
PStringArray voicePrefixes
Definition: gkserver.h:914