H323RegisteredEndPoint Class Reference

`#include <gkserver.h>`

Inheritance diagram for H323RegisteredEndPoint:

## 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
PBoolean | 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
PBoolean | IsBehindNAT () const
PBoolean | CanDisplayAmountString () const
PBoolean | CanEnforceDurationLimit () const
PBoolean | CanReceiveRIP () const
PBoolean | GetH225Version () const
H.501 access functions
virtual PBoolean | OnSendDescriptorForEndpoint (H225_ArrayOf_AliasAddress &aliases, H225_EndpointType &terminalType, H225_ArrayOf_AliasAddress &transportAddresses)

## Protected Attributes

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

## 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

## Member Function Documentation

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 PBoolean H323RegisteredEndPoint::AddServiceControlSession | ( | const H323ServiceControlSession & | session,
|  | H225_ArrayOf_ServiceControlSession & | serviceControl
| ) |  |

virtual

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

PBoolean H323RegisteredEndPoint::CanDisplayAmountString | ( |  | ) | const

inline

Get the flag indicating the endpoint can display credit amounts.

References canDisplayAmountString.

PBoolean H323RegisteredEndPoint::CanEnforceDurationLimit | ( |  | ) | const

inline

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

References canEnforceDurationLimit.

PBoolean 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.

Parameters

  obj | Other object

PBoolean H323RegisteredEndPoint::ContainsAlias | ( | const PString & | alias | ) |

inline

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

References aliases.

PString H323RegisteredEndPoint::GetAlias | ( | PINDEX | idx | ) | const

inline

Get an alias that this endpoint may be identified by.

References aliases.

PINDEX H323RegisteredEndPoint::GetAliasCount | ( |  | ) | const

inline

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

References aliases.

const PStringArray& H323RegisteredEndPoint::GetAliases | ( |  | ) | const

inline

Get the aliases this endpoint may be identified by.

References aliases.

PCaselessString H323RegisteredEndPoint::GetApplicationInfo | ( |  | ) | const

inline

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

References OpalProductInfo::AsString(), and productInfo.

virtual const H235Authenticators& H323RegisteredEndPoint::GetAuthenticators | ( |  | ) | const

inline virtual

Get the security context for this RAS connection.

References authenticators.

H323GatekeeperCall& H323RegisteredEndPoint::GetCall | ( | PINDEX | idx | ) |

inline

Get the details of teh active call on this endpoint.

References activeCalls.

PINDEX H323RegisteredEndPoint::GetCallCount | ( |  | ) | const

inline

Get the count of active calls on this endpoint.

References activeCalls.

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 PBoolean 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.

const OpalGloballyUniqueID& H323RegisteredEndPoint::GetDescriptorID | ( |  | ) | const

inline

Get the Peer Element descriptor ID assigned to the endpoint.

References descriptorID.

H323GatekeeperServer& H323RegisteredEndPoint::GetGatekeeper | ( |  | ) | const

inline

Get the gatekeeper server data object that owns this endpoint.

References gatekeeper.

PBoolean H323RegisteredEndPoint::GetH225Version | ( |  | ) | const

inline

Get the H225 version reported in the RRQ

References h225Version.

const PString& H323RegisteredEndPoint::GetIdentifier | ( |  | ) | const

inline

Get the endpoint identifier assigned to the endpoint.

References identifier.

PString H323RegisteredEndPoint::GetPrefix | ( | PINDEX | idx | ) | const

inline

Get a prefix that this endpoint can accept.

References voicePrefixes.

PINDEX H323RegisteredEndPoint::GetPrefixCount | ( |  | ) | const

inline

Get the number of prefixes this endpoint can accept.

References voicePrefixes.

const OpalProductInfo& H323RegisteredEndPoint::GetProductInfo | ( |  | ) | const

inline

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

References productInfo.

unsigned H323RegisteredEndPoint::GetProtocolVersion | ( |  | ) | const

inline

Get the protocol version the endpoint registered with.

References protocolVersion.

H323TransportAddress H323RegisteredEndPoint::GetRASAddress | ( | PINDEX | idx | ) | const

inline

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

References rasAddresses.

PINDEX H323RegisteredEndPoint::GetRASAddressCount | ( |  | ) | const

inline

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

References rasAddresses.

const H323TransportAddressArray& H323RegisteredEndPoint::GetRASAddresses | ( |  | ) | const

inline

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

References rasAddresses.

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.

References signalAddresses.

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.

References signalAddresses.

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.

References signalAddresses.

PBoolean H323RegisteredEndPoint::IsBehindNAT | ( |  | ) | const

inline

Return if gatekeeper thinks the endpoint is behind a firewall.

References isBehindNAT.

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::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 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::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 PBoolean 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

virtual PBoolean 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 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.

void H323RegisteredEndPoint::PrintOn | ( | ostream & | strm | ) | const

Print the name of the gatekeeper.

Parameters

  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 PBoolean 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.

virtual PBoolean 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 PBoolean H323RegisteredEndPoint::SetPassword | ( | const PString & | password,
|  | const PString & | username = `PString::Empty()`
| ) |  |

virtual

Set password for user activating H.235 security.

virtual PBoolean 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

## Field Documentation

PSortedList<H323GatekeeperCall> H323RegisteredEndPoint::activeCalls

protected

Referenced by GetCall(), and GetCallCount().

PStringArray H323RegisteredEndPoint::aliases

protected

Referenced by ContainsAlias(), GetAlias(), GetAliasCount(), and GetAliases().

H235Authenticators H323RegisteredEndPoint::authenticators

protected

Referenced by GetAuthenticators().

PBoolean H323RegisteredEndPoint::canDisplayAmountString

protected

Referenced by CanDisplayAmountString().

PBoolean H323RegisteredEndPoint::canEnforceDurationLimit

protected

Referenced by CanEnforceDurationLimit().

OpalGloballyUniqueID H323RegisteredEndPoint::descriptorID

protected

Referenced by GetDescriptorID().

H323GatekeeperServer& H323RegisteredEndPoint::gatekeeper

protected

Referenced by GetGatekeeper().

unsigned H323RegisteredEndPoint::h225Version

protected

Referenced by GetH225Version().

PString H323RegisteredEndPoint::identifier

protected

Referenced by GetIdentifier().

PBoolean H323RegisteredEndPoint::isBehindNAT

protected

Referenced by IsBehindNAT().

PTime H323RegisteredEndPoint::lastInfoResponse

protected

PTime H323RegisteredEndPoint::lastRegistration

protected

OpalProductInfo H323RegisteredEndPoint::productInfo

protected

Referenced by GetApplicationInfo(), and GetProductInfo().

unsigned H323RegisteredEndPoint::protocolVersion

protected

Referenced by GetProtocolVersion().

H323TransportAddressArray H323RegisteredEndPoint::rasAddresses

protected

Referenced by GetRASAddress(), GetRASAddressCount(), and GetRASAddresses().

H323GatekeeperListener* H323RegisteredEndPoint::rasChannel

protected

POrdinalDictionary<PString> H323RegisteredEndPoint::serviceControlSessions

protected

H323TransportAddressArray H323RegisteredEndPoint::signalAddresses

protected

Referenced by GetSignalAddress(), GetSignalAddressCount(), and GetSignalAddresses().

unsigned H323RegisteredEndPoint::timeToLive

protected

PStringArray H323RegisteredEndPoint::voicePrefixes

protected

Referenced by GetPrefix(), and GetPrefixCount().

The documentation for this class was generated from the following file:

- gkserver.h