H323RegisteredEndPoint Class Reference

#include <gkserver.h>

List of all members.

Public Member Functions

Overrides from PObject
Comparison Compare (const PObject &obj) const
void PrintOn (ostream &strm) const
Call Operations
virtual void AddCall (H323GatekeeperCall *call)
virtual BOOL RemoveCall (H323GatekeeperCall *call)
PINDEX GetCallCount () const
H323GatekeeperCallGetCall (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 BOOL Unregister (int reason=-1)
virtual H323GatekeeperRequest::Response OnInfoResponse (H323GatekeeperIRR &request)
virtual BOOL OnTimeToLive ()
virtual PString GetCallCreditAmount () const
virtual BOOL GetCallCreditMode () const
virtual BOOL SendServiceControlSession (const H323ServiceControlSession &session)
virtual BOOL AddServiceControlSession (const H323ServiceControlSession &session, H225_ArrayOf_ServiceControlSession &serviceControl)
Access functions
virtual BOOL SetPassword (const PString &password, const PString &username=PString::Empty())
const PString & GetIdentifier () const
const OpalGloballyUniqueID & GetDescriptorID () const
H323GatekeeperServerGetGatekeeper () 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 OpalProductInfoGetProductInfo () const
unsigned GetProtocolVersion () const
BOOL IsBehindNAT () const
BOOL CanDisplayAmountString () const
BOOL CanEnforceDurationLimit () const
BOOL CanReceiveRIP () const
BOOL GetH225Version () const
H.501 access functions
virtual BOOL OnSendDescriptorForEndpoint (H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses)

Protected Attributes

H323GatekeeperServergatekeeper
H323GatekeeperListenerrasChannel
PString identifier
OpalGloballyUniqueID descriptorID
H323TransportAddressArray rasAddresses
H323TransportAddressArray signalAddresses
PStringArray aliases
PStringArray voicePrefixes
OpalProductInfo productInfo
unsigned protocolVersion
BOOL isBehindNAT
BOOL canDisplayAmountString
BOOL canEnforceDurationLimit
unsigned h225Version
unsigned timeToLive
H235Authenticators authenticators
PTime lastRegistration
PTime lastInfoResponse
PSortedList< H323GatekeeperCallactiveCalls
POrdinalDictionary< PString > serviceControlSessions


Detailed Description

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.


Constructor & Destructor Documentation

H323RegisteredEndPoint::H323RegisteredEndPoint ( H323GatekeeperServer server,
const PString &  id 
)

Create a new endpoint registration record.

Parameters:
server  Gatekeeper server data
id  Identifier

H323RegisteredEndPoint::H323RegisteredEndPoint ( H323GatekeeperServer server,
const PString &  id 
)

Create a new endpoint registration record.

Parameters:
server  Gatekeeper server data
id  Identifier


Member Function Documentation

Comparison H323RegisteredEndPoint::Compare ( const PObject &  obj  )  const

Compare two objects.

Parameters:
obj  Other object

void H323RegisteredEndPoint::PrintOn ( ostream &  strm  )  const

Print the name of the gatekeeper.

Parameters:
strm  Stream to print to.

virtual void H323RegisteredEndPoint::AddCall ( H323GatekeeperCall call  )  [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 BOOL H323RegisteredEndPoint::RemoveCall ( H323GatekeeperCall call  )  [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.

PINDEX H323RegisteredEndPoint::GetCallCount (  )  const [inline]

Get the count of active calls on this endpoint.

H323GatekeeperCall& H323RegisteredEndPoint::GetCall ( PINDEX  idx  )  [inline]

Get the details of teh active call on this endpoint.

virtual H323GatekeeperRequest::Response H323RegisteredEndPoint::OnRegistration ( H323GatekeeperRRQ request  )  [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 H323GatekeeperRequest::Response H323RegisteredEndPoint::OnFullRegistration ( H323GatekeeperRRQ request  )  [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 H323GatekeeperRequest::Response H323RegisteredEndPoint::OnSecureRegistration ( H323GatekeeperRRQ request  )  [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 H323GatekeeperRequest::Response H323RegisteredEndPoint::OnUnregistration ( H323GatekeeperURQ request  )  [virtual]

Call back on receiving a RAS unregistration for this endpoint. The default behaviour clears all calls owned by this endpoint.

virtual BOOL H323RegisteredEndPoint::Unregister ( int  reason = -1  )  [virtual]

Force unregistration of the endpoint. This sendsa URQ to the endpoint(s) to close the call down.

Parameters:
reason  Reason for unregistration

virtual H323GatekeeperRequest::Response H323RegisteredEndPoint::OnInfoResponse ( H323GatekeeperIRR request  )  [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 BOOL H323RegisteredEndPoint::OnTimeToLive (  )  [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 PString H323RegisteredEndPoint::GetCallCreditAmount (  )  const [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 BOOL H323RegisteredEndPoint::GetCallCreditMode (  )  const [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.

virtual BOOL H323RegisteredEndPoint::SendServiceControlSession ( const H323ServiceControlSession session  )  [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 BOOL H323RegisteredEndPoint::AddServiceControlSession ( const H323ServiceControlSession session,
H225_ArrayOf_ServiceControlSession serviceControl 
) [virtual]

Set the service control session for the PDU. This is an internal function.

virtual BOOL H323RegisteredEndPoint::SetPassword ( const PString &  password,
const PString &  username = PString::Empty() 
) [virtual]

Set password for user activating H.235 security.

const PString& H323RegisteredEndPoint::GetIdentifier (  )  const [inline]

Get the endpoint identifier assigned to the endpoint.

const OpalGloballyUniqueID& H323RegisteredEndPoint::GetDescriptorID (  )  const [inline]

Get the Peer Element descriptor ID assigned to the endpoint.

H323GatekeeperServer& H323RegisteredEndPoint::GetGatekeeper (  )  const [inline]

Get the gatekeeper server data object that owns this endpoint.

const H323TransportAddressArray& H323RegisteredEndPoint::GetRASAddresses (  )  const [inline]

Get the addresses that can be used to contact this endpoint via the RAS protocol.

PINDEX H323RegisteredEndPoint::GetRASAddressCount (  )  const [inline]

Get the number of addresses that can be used to contact this endpoint via the RAS protocol.

H323TransportAddress H323RegisteredEndPoint::GetRASAddress ( PINDEX  idx  )  const [inline]

Get an address that can be used to contact this endpoint via the RAS protocol.

const H323TransportAddressArray& H323RegisteredEndPoint::GetSignalAddresses (  )  const [inline]

Get the addresses that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.

PINDEX H323RegisteredEndPoint::GetSignalAddressCount (  )  const [inline]

Get the number of addresses that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.

H323TransportAddress H323RegisteredEndPoint::GetSignalAddress ( PINDEX  idx  )  const [inline]

Get an address that can be used to contact this endpoint via the H.225/Q.931 protocol, ie normal calls.

const PStringArray& H323RegisteredEndPoint::GetAliases (  )  const [inline]

Get the aliases this endpoint may be identified by.

BOOL H323RegisteredEndPoint::ContainsAlias ( const PString &  alias  )  [inline]

Determine if alias is an alias that this endpoint may be identified by.

PINDEX H323RegisteredEndPoint::GetAliasCount (  )  const [inline]

Get the number of aliases this endpoint may be identified by.

PString H323RegisteredEndPoint::GetAlias ( PINDEX  idx  )  const [inline]

Get an alias that this endpoint may be identified by.

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 const H235Authenticators& H323RegisteredEndPoint::GetAuthenticators (  )  const [inline, virtual]

Get the security context for this RAS connection.

PINDEX H323RegisteredEndPoint::GetPrefixCount (  )  const [inline]

Get the number of prefixes this endpoint can accept.

PString H323RegisteredEndPoint::GetPrefix ( PINDEX  idx  )  const [inline]

Get a prefix that this endpoint can accept.

PCaselessString H323RegisteredEndPoint::GetApplicationInfo (  )  const [inline]

Get application info (name/version etc) for endpoint.

const OpalProductInfo& H323RegisteredEndPoint::GetProductInfo (  )  const [inline]

Get application info (name/version etc) for endpoint.

unsigned H323RegisteredEndPoint::GetProtocolVersion (  )  const [inline]

Get the protocol version the endpoint registered with.

BOOL H323RegisteredEndPoint::IsBehindNAT (  )  const [inline]

Return if gatekeeper thinks the endpoint is behind a firewall.

BOOL H323RegisteredEndPoint::CanDisplayAmountString (  )  const [inline]

Get the flag indicating the endpoint can display credit amounts.

BOOL H323RegisteredEndPoint::CanEnforceDurationLimit (  )  const [inline]

Get the flag indicating the endpoint can enforce a duration limit.

BOOL H323RegisteredEndPoint::CanReceiveRIP (  )  const

Get the flag indicating the endpoint can handle RIPs (H225v1 endpoints cannot)

BOOL H323RegisteredEndPoint::GetH225Version (  )  const [inline]

Get the H225 version reported in the RRQ

virtual BOOL H323RegisteredEndPoint::OnSendDescriptorForEndpoint ( H225_ArrayOf_AliasAddress aliases,
H225_EndpointType terminalType,
H225_ArrayOf_AliasAddress transportAddresses 
) [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

Parameters:
aliases  aliases for the enndpoint
terminalType  terminal type
transportAddresses  transport addresses


Member Data Documentation

H323GatekeeperServer& H323RegisteredEndPoint::gatekeeper [protected]

H323GatekeeperListener* H323RegisteredEndPoint::rasChannel [protected]

PString H323RegisteredEndPoint::identifier [protected]

OpalGloballyUniqueID H323RegisteredEndPoint::descriptorID [protected]

H323TransportAddressArray H323RegisteredEndPoint::rasAddresses [protected]

H323TransportAddressArray H323RegisteredEndPoint::signalAddresses [protected]

PStringArray H323RegisteredEndPoint::aliases [protected]

PStringArray H323RegisteredEndPoint::voicePrefixes [protected]

OpalProductInfo H323RegisteredEndPoint::productInfo [protected]

unsigned H323RegisteredEndPoint::protocolVersion [protected]

BOOL H323RegisteredEndPoint::isBehindNAT [protected]

BOOL H323RegisteredEndPoint::canDisplayAmountString [protected]

BOOL H323RegisteredEndPoint::canEnforceDurationLimit [protected]

unsigned H323RegisteredEndPoint::h225Version [protected]

unsigned H323RegisteredEndPoint::timeToLive [protected]

H235Authenticators H323RegisteredEndPoint::authenticators [protected]

PTime H323RegisteredEndPoint::lastRegistration [protected]

PTime H323RegisteredEndPoint::lastInfoResponse [protected]

PSortedList<H323GatekeeperCall> H323RegisteredEndPoint::activeCalls [protected]

POrdinalDictionary<PString> H323RegisteredEndPoint::serviceControlSessions [protected]


The documentation for this class was generated from the following file:
Generated on Fri Mar 7 06:33:58 2008 for OPAL by  doxygen 1.5.1