OPAL
Version 3.14.3
|
#include <gkserver.h>
Inherits PSafeObject.
Public Member Functions | |
Construction | |
H323RegisteredEndPoint (H323GatekeeperServer &server, const PString &id) | |
Overrides from PObject | |
Comparison | Compare (const PObject &obj) const |
void | PrintOn (ostream &strm) const |
Call Operations | |
virtual void | AddCall (H323GatekeeperCall *call) |
virtual PBoolean | RemoveCall (H323GatekeeperCall *call) |
PINDEX | GetCallCount () const |
H323GatekeeperCall & | GetCall (PINDEX idx) |
Protocol Operations | |
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) |
Access functions | |
virtual PBoolean | SetPassword (const PString &password, const PString &username=PString::Empty()) |
const PString & | GetIdentifier () const |
const OpalGloballyUniqueID & | GetDescriptorID () const |
H323GatekeeperServer & | GetGatekeeper () const |
const H323TransportAddressArray & | GetRASAddresses () const |
PINDEX | GetRASAddressCount () const |
H323TransportAddress | GetRASAddress (PINDEX idx) const |
const H323TransportAddressArray & | GetSignalAddresses () const |
PINDEX | GetSignalAddressCount () const |
H323TransportAddress | GetSignalAddress (PINDEX idx) const |
const PStringArray & | GetAliases () const |
bool | ContainsAlias (const PString &alias) |
PINDEX | GetAliasCount () const |
PString | GetAlias (PINDEX idx) const |
void | RemoveAlias (const PString &alias) |
virtual const H235Authenticators & | GetAuthenticators () const |
PINDEX | GetPrefixCount () const |
PString | GetPrefix (PINDEX idx) const |
PCaselessString | GetApplicationInfo () const |
const OpalProductInfo & | GetProductInfo () const |
unsigned | GetProtocolVersion () const |
bool | IsBehindNAT () const |
bool | CanDisplayAmountString () const |
bool | CanEnforceDurationLimit () const |
bool | CanReceiveRIP () const |
bool | GetH225Version () const |
const PTime & | GetCreationTime () const |
H.501 access functions | |
virtual PBoolean | OnSendDescriptorForEndpoint (H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses) |
Protected Attributes | |
H323GatekeeperServer & | m_gatekeeper |
H323GatekeeperListener * | m_rasChannel |
PString | m_identifier |
OpalGloballyUniqueID | m_descriptorID |
H323TransportAddressArray | m_rasAddresses |
H323TransportAddressArray | m_signalAddresses |
PStringArray | m_aliases |
PStringArray | m_voicePrefixes |
OpalProductInfo | m_productInfo |
unsigned | m_protocolVersion |
bool | m_isBehindNAT |
bool | m_canDisplayAmountString |
bool | m_canEnforceDurationLimit |
unsigned | m_h225Version |
unsigned | m_timeToLive |
H235Authenticators | m_authenticators |
PTime | m_creationTime |
PTime | m_lastRegistration |
PTime | m_lastInfoResponse |
PSortedList< H323GatekeeperCall > | m_activeCalls |
POrdinalDictionary< PString > | m_serviceControlSessions |
This class describes endpoints that are registered with a gatekeeper server. Note that a registered endpoint has no realationship in this software to a H323EndPoint class. This is purely a description of endpoints that are registered with the gatekeeper.
H323RegisteredEndPoint::H323RegisteredEndPoint | ( | H323GatekeeperServer & | server, |
const PString & | id | ||
) |
Create a new endpoint registration record.
server | Gatekeeper server data |
id | Identifier |
|
virtual |
Add a call to the endpoints list of active calls. This is largely an internal routine, it is not expected the user would need to deal with this function.
|
virtual |
Set the service control session for the PDU. This is an internal function.
|
inline |
Get the flag indicating the endpoint can display credit amounts.
References m_canDisplayAmountString.
|
inline |
Get the flag indicating the endpoint can enforce a duration limit.
References m_canEnforceDurationLimit.
bool H323RegisteredEndPoint::CanReceiveRIP | ( | ) | const |
Get the flag indicating the endpoint can handle RIPs (H225v1 endpoints cannot)
Comparison H323RegisteredEndPoint::Compare | ( | const PObject & | obj | ) | const |
Compare two objects.
obj | Other object |
|
inline |
Determine if alias is an alias that this endpoint may be identified by.
References m_aliases.
|
inline |
Get an alias that this endpoint may be identified by.
References m_aliases.
|
inline |
Get the number of aliases this endpoint may be identified by.
References m_aliases.
|
inline |
Get the aliases this endpoint may be identified by.
References m_aliases.
|
inline |
Get application info (name/version etc) for endpoint.
References OpalProductInfo::AsString(), and m_productInfo.
|
inlinevirtual |
Get the security context for this RAS connection.
References m_authenticators.
|
inline |
Get the details of teh active call on this endpoint.
References m_activeCalls.
|
inline |
Get the count of active calls on this endpoint.
References m_activeCalls.
|
virtual |
Get the current call credit for this endpoint. This function is only called if the client indicates that it can use the information provided. If a server wishes to enable this feature by returning a non-empty string, it must be consistent in that usage. That is the H323GatekeeperCall::GetCallCreditAmount() for this endpoint must also return non-empty value.
The return value is a UTF-8 string for amount, including currency.
The default behaviour returns an empty string disabling the function.
|
virtual |
Get the call credit billing mode for this endpoint. This function is only called if the client indicates that it can use the information provided.
The default behaviour return true indicating that calls will debit the account.
|
inline |
Get the creation time for endpoint.
References m_creationTime.
|
inline |
Get the Peer Element descriptor ID assigned to the endpoint.
References m_descriptorID.
|
inline |
Get the gatekeeper server data object that owns this endpoint.
References m_gatekeeper.
|
inline |
Get the H225 version reported in the RRQ
References m_h225Version.
|
inline |
Get the endpoint identifier assigned to the endpoint.
References m_identifier.
|
inline |
Get a prefix that this endpoint can accept.
References m_voicePrefixes.
|
inline |
Get the number of prefixes this endpoint can accept.
References m_voicePrefixes.
|
inline |
Get application info (name/version etc) for endpoint.
References m_productInfo.
|
inline |
Get the protocol version the endpoint registered with.
References m_protocolVersion.
|
inline |
Get an address that can be used to contact this endpoint via the RAS protocol.
References m_rasAddresses.
|
inline |
Get the number of addresses that can be used to contact this endpoint via the RAS protocol.
References m_rasAddresses.
|
inline |
Get the addresses that can be used to contact this endpoint via the RAS protocol.
References m_rasAddresses.
|
inline |
Get an address that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.
References m_signalAddresses.
|
inline |
Get the number of addresses that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.
References m_signalAddresses.
|
inline |
Get the addresses that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.
References m_signalAddresses.
|
inline |
Return if gatekeeper thinks the endpoint is behind a firewall.
References m_isBehindNAT.
|
virtual |
Call back on receiving a RAS full registration for this endpoint. This is not called if the keepAlive flag is set indicating a lightweight RRQ has been received.
The default behaviour extract information from the RRQ and sets internal variables to that data.
If returns true then a RCF is sent otherwise an RRJ is sent.
|
virtual |
Handle an info request response IRR PDU. The default behaviour finds each call current for endpoint and calls the function of the same name in the H323GatekeeperCall instance.
|
virtual |
Call back on receiving a RAS registration for this endpoint. The default behaviour extract information from the RRQ and sets internal variables to that data.
If returns true then a RCF is sent otherwise an RRJ is sent.
|
virtual |
Call back to set security on RAS full registration for this endpoint. This is called from OnFullRegistration().
The default behaviour extract information from the RRQ and sets internal variables to that data.
If returns true then a RCF is sent otherwise an RRJ is sent.
|
virtual |
Function called when gatekeeper sends a descriptor for this endpoint. This allows the gatekeeper to alter the descriptor information before it is sent.
If returns false then the desriptor is not sent
aliases | aliases for the enndpoint |
terminalType | terminal type |
transportAddresses | transport addresses |
|
virtual |
Function called to do time to live check of the call. Monitor the state of the endpoint and make sure everything is OK.
A return value of false indicates the endpoint has expired and is to be unregistered and removed.
Default behaviour checks the time since the last received RRQ and if it has been too long does an IRQ to see if the endpoint is still there and running. If the IRQ fails, false is returned.
|
virtual |
Call back on receiving a RAS unregistration for this endpoint. The default behaviour clears all calls owned by this endpoint.
void H323RegisteredEndPoint::PrintOn | ( | ostream & | strm | ) | const |
Print the name of the gatekeeper.
strm | Stream to print to. |
void H323RegisteredEndPoint::RemoveAlias | ( | const PString & | alias | ) |
Remove an alias that this endpoint may be identified by. If this was the last alias, then endpoint will be deleted soon after by a cleanup thread. As this function is in the endpoint itself it is not possible for this function to delete the endpoint immediately
|
virtual |
Remove a call from the endpoints list of active calls. This is largely an internal routine, it is not expected the user would need to deal with this function.
|
virtual |
Send the service control session for the PDU. This will send an SCI pdu to the endpoint with the control service session information provided.
|
virtual |
Set password for user activating H.235 security.
|
virtual |
Force unregistration of the endpoint. This sendsa URQ to the endpoint(s) to close the call down.
reason | Reason for unregistration |
|
protected |
Referenced by GetCall(), and GetCallCount().
|
protected |
Referenced by ContainsAlias(), GetAlias(), GetAliasCount(), and GetAliases().
|
protected |
Referenced by GetAuthenticators().
|
protected |
Referenced by CanDisplayAmountString().
|
protected |
Referenced by CanEnforceDurationLimit().
|
protected |
Referenced by GetCreationTime().
|
protected |
Referenced by GetDescriptorID().
|
protected |
Referenced by GetGatekeeper().
|
protected |
Referenced by GetH225Version().
|
protected |
Referenced by GetIdentifier().
|
protected |
Referenced by IsBehindNAT().
|
protected |
|
protected |
|
protected |
Referenced by GetApplicationInfo(), and GetProductInfo().
|
protected |
Referenced by GetProtocolVersion().
|
protected |
Referenced by GetRASAddress(), GetRASAddressCount(), and GetRASAddresses().
|
protected |
|
protected |
|
protected |
Referenced by GetSignalAddress(), GetSignalAddressCount(), and GetSignalAddresses().
|
protected |
|
protected |
Referenced by GetPrefix(), and GetPrefixCount().