#include <gkserver.h>
Inheritance diagram for H323GatekeeperServer:
Public Member Functions | |
WORD | GetDefaultUdpPort () |
PSafePtr< H323RegisteredEndPoint > | FindDestinationEndPoint (const OpalGloballyUniqueID &id, H323GatekeeperCall::Direction direction) |
void | RemoveAlias (H323RegisteredEndPoint &ep, const PString &alias) |
virtual PBoolean | OnSendDescriptorForEndpoint (H323RegisteredEndPoint &, H225_ArrayOf_AliasAddress &, H225_EndpointType &, H225_ArrayOf_AliasAddress &) |
virtual PBoolean | AllowDuplicateAlias (const H225_ArrayOf_AliasAddress &) |
virtual PBoolean | OnSendFeatureSet (unsigned, H225_FeatureSet &features) const |
virtual void | OnReceiveFeatureSet (unsigned, const H225_FeatureSet &features) const |
Protocol Handler Operations | |
virtual H323Transactor * | CreateListener (H323Transport *transport) |
EndPoint Operations | |
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) |
Call Operations | |
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) |
Routing operations | |
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) |
Policy operations | |
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) |
Security and authentication functions | |
virtual PBoolean | GetAdmissionRequestAuthentication (H323GatekeeperARQ &info, H235Authenticators &authenticators) |
virtual PBoolean | GetUsersPassword (const PString &alias, PString &password, H323RegisteredEndPoint ®isteredEndpoint) const |
virtual PBoolean | GetUsersPassword (const PString &alias, PString &password) const |
H.323 Annex G Peer Element support | |
H323PeerElement * | GetPeerElement () const |
void | SetPeerElement (H323PeerElement *newPeerElement) |
void | CreatePeerElement (const H323TransportAddress &h501Interface) |
PBoolean | OpenPeerElement (const H323TransportAddress &remotePeer, PBoolean append=PFalse, PBoolean keepTrying=PTrue) |
Access functions | |
const PString & | GetGatekeeperIdentifier () const |
void | SetGatekeeperIdentifier (const PString &id, PBoolean adjustListeners=PTrue) |
unsigned | GetAvailableBandwidth () const |
void | SetAvailableBandwidth (unsigned bps100) |
unsigned | GetUsedBandwidth () const |
unsigned | GetDefaultBandwidth () const |
unsigned | GetTimeToLive () const |
void | SetTimeToLive (unsigned seconds) |
unsigned | GetInfoResponseRate () const |
void | SetInfoResponseRate (unsigned seconds) |
PBoolean | IsGatekeeperRouted () const |
PBoolean | IsRequiredH235 () const |
unsigned | GetActiveRegistrations () const |
unsigned | GetPeakRegistrations () const |
unsigned | GetTotalRegistrations () const |
unsigned | GetRejectedRegistrations () const |
unsigned | GetActiveCalls () const |
unsigned | GetPeakCalls () const |
unsigned | GetTotalCalls () const |
unsigned | GetRejectedCalls () const |
Protected Member Functions | |
PDECLARE_NOTIFIER (PThread, H323GatekeeperServer, MonitorMain) | |
PLIST (ListenerList, H323GatekeeperListener) | |
Protected Attributes | |
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 |
PMutex | mutex |
time_t | identifierBase |
unsigned | nextIdentifier |
PThread * | monitorThread |
PSyncPoint | monitorExit |
ListenerList | listeners |
H323PeerElement * | peerElement |
PSafeDictionary< PString, H323RegisteredEndPoint > | byIdentifier |
PSortedStringList | byAddress |
PSortedStringList | byAlias |
PSortedStringList | byVoicePrefix |
PSafeSortedList< H323GatekeeperCall > | activeCalls |
PINDEX | peakRegistrations |
PINDEX | totalRegistrations |
PINDEX | rejectedRegistrations |
PINDEX | peakCalls |
PINDEX | totalCalls |
PINDEX | rejectedCalls |
Friends | |
class | H323GatekeeperRRQ |
class | H323GatekeeperARQ |
Classes | |
class | StringMap |
There is typically only one instance of this class, though it is not limited to that. An application would also quite likely descend from this class and override call back functions to implement more complex policy.
H323GatekeeperServer::H323GatekeeperServer | ( | H323EndPoint & | endpoint | ) |
Create a new gatekeeper.
H323GatekeeperServer::~H323GatekeeperServer | ( | ) |
Destroy gatekeeper.
H323GatekeeperServer::H323GatekeeperServer | ( | H323EndPoint & | endpoint | ) |
Create a new gatekeeper.
H323GatekeeperServer::~H323GatekeeperServer | ( | ) |
Destroy gatekeeper.
WORD H323GatekeeperServer::GetDefaultUdpPort | ( | ) | [inline, virtual] |
Implements H323TransactionServer.
virtual H323Transactor* H323GatekeeperServer::CreateListener | ( | H323Transport * | transport | ) | [virtual] |
Create a new H323GatkeeperListener. The user woiuld not usually use this function as it is used internally by the server when new listeners are added by H323TransportAddress.
However, a user may override this function to create objects that are user defined descendants of H323GatekeeperListener so the user can maintain extra information on a interface by interface basis.
transport | Transport for listener |
Implements H323TransactionServer.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnDiscovery | ( | H323GatekeeperGRQ & | request | ) | [virtual] |
Handle a discovery GRQ PDU. The default behaviour deals with the authentication scheme nogotiation.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnRegistration | ( | H323GatekeeperRRQ & | request | ) | [virtual] |
Call back on receiving a RAS registration for this endpoint. The default behaviour checks if the registered endpoint already exists and if not creates a new endpoint. It then calls the OnRegistration() on that new endpoint instance.
If returns PTrue then a RCF is sent otherwise an RRJ is sent.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnUnregistration | ( | H323GatekeeperURQ & | request | ) | [virtual] |
Handle an unregistration URQ PDU. The default behaviour removes the aliases defined in the URQ and if all aliases for the registered endpoint are removed then the endpoint itself is removed.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnInfoResponse | ( | H323GatekeeperIRR & | request | ) | [virtual] |
Handle an info request response IRR PDU. The default behaviour calls the function of the same name in the endpoint instance.
virtual void H323GatekeeperServer::AddEndPoint | ( | H323RegisteredEndPoint * | ep | ) | [virtual] |
Add a new registered endpoint to the server database. Once the endpoint has been added it is then owned by the server and will be deleted when it is removed.
The user woiuld not usually use this function as it is used internally by the server when new registration requests (RRQ) are received.
Note that a registered endpoint has no relationship in this software to a H323EndPoint class.
virtual PBoolean H323GatekeeperServer::RemoveEndPoint | ( | H323RegisteredEndPoint * | ep | ) | [virtual] |
Remove a registered endpoint from the server database.
virtual H323RegisteredEndPoint* H323GatekeeperServer::CreateRegisteredEndPoint | ( | H323GatekeeperRRQ & | request | ) | [virtual] |
Create a new registered endpoint object. The user woiuld not usually use this function as it is used internally by the server when new registration requests (RRQ) are received.
However, a user may override this function to create objects that are user defined descendants of H323RegisteredEndPoint so the user can maintain extra information on a endpoint by endpoint basis.
virtual PString H323GatekeeperServer::CreateEndPointIdentifier | ( | ) | [virtual] |
Create a new unique identifier for the registered endpoint. The returned identifier must be unique over the lifetime of this gatekeeper server.
The default behaviour simply returns the string representation of the member variable nextIdentifier. There could be a problem in this implementation after 4,294,967,296 have been registered.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointByIdentifier | ( | const PString & | identifier, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find a registered endpoint given its endpoint identifier.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointBySignalAddresses | ( | const H225_ArrayOf_TransportAddress & | addresses, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find a registered endpoint given a list of signal addresses.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointBySignalAddress | ( | const H323TransportAddress & | address, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find a registered endpoint given its signal address.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointByAliasAddress | ( | const H225_AliasAddress & | alias, | |
PSafetyMode | mode = PSafeReadWrite | |||
) | [virtual] |
Find a registered endpoint given its raw alias address.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointByAliasString | ( | const PString & | alias, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find a registered endpoint given its simple alias string.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointByPartialAlias | ( | const PString & | alias, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find the first registered endpoint given a partial alias string.
virtual PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindEndPointByPrefixString | ( | const PString & | prefix, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find the first registered endpoint given a number prefix string.
PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::GetFirstEndPoint | ( | PSafetyMode | mode = PSafeReference |
) | [inline] |
Get first endpoint for enumeration.
PSafePtr<H323RegisteredEndPoint> H323GatekeeperServer::FindDestinationEndPoint | ( | const OpalGloballyUniqueID & | id, | |
H323GatekeeperCall::Direction | direction | |||
) |
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnAdmission | ( | H323GatekeeperARQ & | request | ) | [virtual] |
Handle an admission ARQ PDU. The default behaviour verifies that the call is allowed by the policies the gatekeeper server requires, then attempts to look up the required signal address for the call. It also manages bandwidth allocations.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnDisengage | ( | H323GatekeeperDRQ & | request | ) | [virtual] |
Handle a disengage DRQ PDU. The default behaviour finds the call by its id provided in the DRQ and removes it from the gatekeeper server database.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnBandwidth | ( | H323GatekeeperBRQ & | request | ) | [virtual] |
Handle a bandwidth BRQ PDU. The default behaviour finds the call and does some checks then calls the H323GatekeeperCall function of the same name.
virtual H323GatekeeperCall* H323GatekeeperServer::CreateCall | ( | const OpalGloballyUniqueID & | callIdentifier, | |
H323GatekeeperCall::Direction | direction | |||
) | [virtual] |
Create a new call object. The user woiuld not usually use this function as it is used internally by the server when new calls (ARQ) are made.
However, a user may override this function to create objects that are user defined descendants of H323GatekeeperCall so the user can maintain extra information on a call by call basis.
virtual void H323GatekeeperServer::AddCall | ( | H323GatekeeperCall * | ) | [inline, virtual] |
Called whenever a new call is started
virtual void H323GatekeeperServer::RemoveCall | ( | H323GatekeeperCall * | call | ) | [virtual] |
Called whenever call is ended. By default, removes the call from the call list
virtual PSafePtr<H323GatekeeperCall> H323GatekeeperServer::FindCall | ( | const PString & | description, | |
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find the call given the identifier.
virtual PSafePtr<H323GatekeeperCall> H323GatekeeperServer::FindCall | ( | const OpalGloballyUniqueID & | callIdentifier, | |
PBoolean | answeringCall, | |||
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find the call given the identifier.
virtual PSafePtr<H323GatekeeperCall> H323GatekeeperServer::FindCall | ( | const OpalGloballyUniqueID & | callIdentifier, | |
H323GatekeeperCall::Direction | direction, | |||
PSafetyMode | mode = PSafeReference | |||
) | [virtual] |
Find the call given the identifier.
PSafePtr<H323GatekeeperCall> H323GatekeeperServer::GetFirstCall | ( | PSafetyMode | mode = PSafeReference |
) | [inline] |
Get first endpoint for enumeration.
virtual H323GatekeeperRequest::Response H323GatekeeperServer::OnLocation | ( | H323GatekeeperLRQ & | request | ) | [virtual] |
Handle a location LRQ PDU. The default behaviour just uses TranslateAliasAddressToSignalAddress to determine the endpoints location.
It is expected that a user would override this function to implement application specified look up algorithms.
virtual PBoolean H323GatekeeperServer::TranslateAliasAddress | ( | const H225_AliasAddress & | alias, | |
H225_ArrayOf_AliasAddress & | aliases, | |||
H323TransportAddress & | address, | |||
PBoolean & | isGkRouted, | |||
H323GatekeeperCall * | call | |||
) | [virtual] |
Translate a given alias to an alias set and signal address. This is called by the OnAdmission() handler to fill in the ACF or OnLocation() to fill the LCF informing the calling endpoint where to actually connect to.
It is expected that a user would override this function to implement application specified look up algorithms.
The default behaviour calls TranslateAliasAddressToSignalAddress() which is provided only for backwards compatibility.
virtual PBoolean H323GatekeeperServer::TranslateAliasAddressToSignalAddress | ( | const H225_AliasAddress & | alias, | |
H323TransportAddress & | address | |||
) | [virtual] |
Translate a given alias to a signal address. This is called by the OnAdmission() handler to fill in the ACF or OnLocation() to fill the LCF informing the calling endpoint where to actually connect to.
It is expected that a user would override this function to implement application specified look up algorithms.
The default behaviour checks the isGatekeeperRouted and if PTrue simply returns the gatekeepers associated endpoints (not registered endpoint, but real H323EndPoint) listening address.
If isGatekeeperRouted is PFalse then it looks up the registered endpoints by alias and uses the saved signal address in the database.
If the alias is not registered then the address parameter is not changed and the function returns PTrue if it is a valid address, PFalse if it was empty.
virtual PBoolean H323GatekeeperServer::CheckSignalAddressPolicy | ( | const H323RegisteredEndPoint & | ep, | |
const H225_AdmissionRequest & | arq, | |||
const H323TransportAddress & | address | |||
) | [virtual] |
Check the signal address against the security policy. This validates that the specified endpoint is allowed to make a connection to or from the specified signal address.
It is expected that a user would override this function to implement application specified security policy algorithms.
The default behaviour simply returns PTrue.
virtual PBoolean H323GatekeeperServer::CheckAliasAddressPolicy | ( | const H323RegisteredEndPoint & | ep, | |
const H225_AdmissionRequest & | arq, | |||
const H225_AliasAddress & | alias | |||
) | [virtual] |
Check the alias address against the security policy. This validates that the specified endpoint is allowed to make a connection to or from the specified alias address.
It is expected that a user would override this function to implement application specified security policy algorithms.
The default behaviour checks the canOnlyAnswerRegisteredEP or canOnlyCallRegisteredEP meber variables depending on if it is an incoming call and if that is PTrue only allows the call to proceed if the alias is also registered with the gatekeeper.
virtual PBoolean H323GatekeeperServer::CheckAliasStringPolicy | ( | const H323RegisteredEndPoint & | ep, | |
const H225_AdmissionRequest & | arq, | |||
const PString & | alias | |||
) | [virtual] |
Check the alias address against the security policy. This validates that the specified endpoint is allowed to make a connection to or from the specified simple alias string.
It is expected that a user would override this function to implement application specified security policy algorithms.
The default behaviour checks the canOnlyAnswerRegisteredEP or canOnlyCallRegisteredEP meber variables depending on if it is an incoming call and if that is PTrue only allows the call to proceed if the alias is also registered with the gatekeeper.
virtual unsigned H323GatekeeperServer::AllocateBandwidth | ( | unsigned | newBandwidth, | |
unsigned | oldBandwidth = 0 | |||
) | [virtual] |
Allocate or change the bandwidth being used. This function modifies the total bandwidth used by the all endpoints registered with this gatekeeper. It is called when ARQ or BRQ PDU's are received.
virtual PBoolean H323GatekeeperServer::GetAdmissionRequestAuthentication | ( | H323GatekeeperARQ & | info, | |
H235Authenticators & | authenticators | |||
) | [virtual] |
Get separate H.235 authentication for the connection. This allows an individual ARQ to override the authentical credentials used in H.235 based RAS for this particular connection.
A return value of PFalse indicates to use the default credentials of the endpoint, while PTrue indicates that new credentials are to be used.
The default behavour does nothing and returns PFalse.
info | ARQ being constructed |
authenticators | New authenticators for ARQ |
virtual PBoolean H323GatekeeperServer::GetUsersPassword | ( | const PString & | alias, | |
PString & | password, | |||
H323RegisteredEndPoint & | registeredEndpoint | |||
) | const [virtual] |
Get password for user if H.235 security active. Returns PTrue if user is found and password returned. Note the password may be empty in which case the user was found but explicitly ddoes not require security, possibly overriding the requireH235 flag.
virtual PBoolean H323GatekeeperServer::GetUsersPassword | ( | const PString & | alias, | |
PString & | password | |||
) | const [virtual] |
H323PeerElement* H323GatekeeperServer::GetPeerElement | ( | ) | const [inline] |
Get the associated peer element for the gatekeeper.
void H323GatekeeperServer::SetPeerElement | ( | H323PeerElement * | newPeerElement | ) |
Set the associated peer element for the gatekeeper. The existing peer element is automatically deleted.
void H323GatekeeperServer::CreatePeerElement | ( | const H323TransportAddress & | h501Interface | ) |
Create an associated peer element for the gatekeeper. The existing peer element is checked to be listening on the same interface as specified and if it is not it is changed to the specified address.
PBoolean H323GatekeeperServer::OpenPeerElement | ( | const H323TransportAddress & | remotePeer, | |
PBoolean | append = PFalse , |
|||
PBoolean | keepTrying = PTrue | |||
) |
Create a new Peer Element and establish a service relationship. If append is PFalse, the existing peer element is automatically deleted and recreated. If append is PTrue then a new service relationship is added to the existing peer element.
const PString& H323GatekeeperServer::GetGatekeeperIdentifier | ( | ) | const [inline] |
Get the identifier name for this gatekeeper.
void H323GatekeeperServer::SetGatekeeperIdentifier | ( | const PString & | id, | |
PBoolean | adjustListeners = PTrue | |||
) |
Set the identifier name for this gatekeeper. If adjustListeners is PTrue then all gatekeeper listeners that are attached to this gatekeeper server have their identifier names changed as well.
unsigned H323GatekeeperServer::GetAvailableBandwidth | ( | ) | const [inline] |
Get the total bandwidth available in 100's of bits per second.
void H323GatekeeperServer::SetAvailableBandwidth | ( | unsigned | bps100 | ) | [inline] |
Set the total bandwidth available in 100's of bits per second.
unsigned H323GatekeeperServer::GetUsedBandwidth | ( | ) | const [inline] |
Get the total bandwidth used in 100's of bits per second.
unsigned H323GatekeeperServer::GetDefaultBandwidth | ( | ) | const [inline] |
Get the default bandwidth for calls.
unsigned H323GatekeeperServer::GetTimeToLive | ( | ) | const [inline] |
Get the default time to live for new registered endpoints.
void H323GatekeeperServer::SetTimeToLive | ( | unsigned | seconds | ) | [inline] |
Set the default time to live for new registered endpoints.
unsigned H323GatekeeperServer::GetInfoResponseRate | ( | ) | const [inline] |
Get the default time for monitoring calls via IRR.
void H323GatekeeperServer::SetInfoResponseRate | ( | unsigned | seconds | ) | [inline] |
Set the default time for monitoring calls via IRR.
PBoolean H323GatekeeperServer::IsGatekeeperRouted | ( | ) | const [inline] |
Get flag for is gatekeeper routed.
PBoolean H323GatekeeperServer::IsRequiredH235 | ( | ) | const [inline] |
Get flag for if H.235 authentication is required.
unsigned H323GatekeeperServer::GetActiveRegistrations | ( | ) | const [inline] |
Get the currently active registration count.
unsigned H323GatekeeperServer::GetPeakRegistrations | ( | ) | const [inline] |
Get the peak registration count.
unsigned H323GatekeeperServer::GetTotalRegistrations | ( | ) | const [inline] |
Get the total registrations since start up.
unsigned H323GatekeeperServer::GetRejectedRegistrations | ( | ) | const [inline] |
Get the total registrations rejected since start up.
unsigned H323GatekeeperServer::GetActiveCalls | ( | ) | const [inline] |
Get the currently active call count.
unsigned H323GatekeeperServer::GetPeakCalls | ( | ) | const [inline] |
Get the peak calls count.
unsigned H323GatekeeperServer::GetTotalCalls | ( | ) | const [inline] |
Get the total calls since start up.
unsigned H323GatekeeperServer::GetRejectedCalls | ( | ) | const [inline] |
Get the total calls rejected since start up.
void H323GatekeeperServer::RemoveAlias | ( | H323RegisteredEndPoint & | ep, | |
const PString & | alias | |||
) |
virtual PBoolean H323GatekeeperServer::OnSendDescriptorForEndpoint | ( | H323RegisteredEndPoint & | , | |
H225_ArrayOf_AliasAddress & | , | |||
H225_EndpointType & | , | |||
H225_ArrayOf_AliasAddress & | ||||
) | [inline, virtual] |
virtual PBoolean H323GatekeeperServer::AllowDuplicateAlias | ( | const H225_ArrayOf_AliasAddress & | ) | [inline, virtual] |
virtual PBoolean H323GatekeeperServer::OnSendFeatureSet | ( | unsigned | , | |
H225_FeatureSet & | features | |||
) | const [virtual] |
virtual void H323GatekeeperServer::OnReceiveFeatureSet | ( | unsigned | , | |
const H225_FeatureSet & | features | |||
) | const [virtual] |
H323GatekeeperServer::PDECLARE_NOTIFIER | ( | PThread | , | |
H323GatekeeperServer | , | |||
MonitorMain | ||||
) | [protected] |
H323GatekeeperServer::PLIST | ( | ListenerList | , | |
H323GatekeeperListener | ||||
) | [protected] |
friend class H323GatekeeperRRQ [friend] |
friend class H323GatekeeperARQ [friend] |
PString H323GatekeeperServer::gatekeeperIdentifier [protected] |
unsigned H323GatekeeperServer::totalBandwidth [protected] |
unsigned H323GatekeeperServer::usedBandwidth [protected] |
unsigned H323GatekeeperServer::defaultBandwidth [protected] |
unsigned H323GatekeeperServer::maximumBandwidth [protected] |
unsigned H323GatekeeperServer::defaultTimeToLive [protected] |
unsigned H323GatekeeperServer::defaultInfoResponseRate [protected] |
PBoolean H323GatekeeperServer::overwriteOnSameSignalAddress [protected] |
PBoolean H323GatekeeperServer::canHaveDuplicateAlias [protected] |
PBoolean H323GatekeeperServer::canHaveDuplicatePrefix [protected] |
PBoolean H323GatekeeperServer::canOnlyCallRegisteredEP [protected] |
PBoolean H323GatekeeperServer::canOnlyAnswerRegisteredEP [protected] |
PBoolean H323GatekeeperServer::answerCallPreGrantedARQ [protected] |
PBoolean H323GatekeeperServer::makeCallPreGrantedARQ [protected] |
PBoolean H323GatekeeperServer::isGatekeeperRouted [protected] |
PBoolean H323GatekeeperServer::aliasCanBeHostName [protected] |
PBoolean H323GatekeeperServer::requireH235 [protected] |
PBoolean H323GatekeeperServer::disengageOnHearbeatFail [protected] |
PStringToString H323GatekeeperServer::passwords [protected] |
PMutex H323GatekeeperServer::mutex [protected] |
Reimplemented from H323TransactionServer.
time_t H323GatekeeperServer::identifierBase [protected] |
unsigned H323GatekeeperServer::nextIdentifier [protected] |
PThread* H323GatekeeperServer::monitorThread [protected] |
Reimplemented from H323TransactionServer.
PSyncPoint H323GatekeeperServer::monitorExit [protected] |
Reimplemented from H323TransactionServer.
ListenerList H323GatekeeperServer::listeners [protected] |
Reimplemented from H323TransactionServer.
H323PeerElement* H323GatekeeperServer::peerElement [protected] |
PSafeDictionary<PString, H323RegisteredEndPoint> H323GatekeeperServer::byIdentifier [protected] |
PSortedStringList H323GatekeeperServer::byAddress [protected] |
PSortedStringList H323GatekeeperServer::byAlias [protected] |
PSortedStringList H323GatekeeperServer::byVoicePrefix [protected] |
PSafeSortedList<H323GatekeeperCall> H323GatekeeperServer::activeCalls [protected] |
PINDEX H323GatekeeperServer::peakRegistrations [protected] |
PINDEX H323GatekeeperServer::totalRegistrations [protected] |
PINDEX H323GatekeeperServer::rejectedRegistrations [protected] |
PINDEX H323GatekeeperServer::peakCalls [protected] |
PINDEX H323GatekeeperServer::totalCalls [protected] |
PINDEX H323GatekeeperServer::rejectedCalls [protected] |