OPAL  Version 3.14.3
H323GatekeeperCall Class Reference

#include <gkserver.h>

Inherits PSafeObject.

Collaboration diagram for H323GatekeeperCall:

Public Member Functions

Overrides from PObject
Comparison Compare (const PObject &obj) const
 
void PrintOn (ostream &strm) const
 
Operations
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 ()
 
bool 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)
 
Access functions
H323GatekeeperServerGetGatekeeper () const
 
H323RegisteredEndPointGetEndPoint () const
 
bool IsAnsweringCall () const
 
unsigned GetCallReference () const
 
const OpalGloballyUniqueIDGetCallIdentifier () const
 
const OpalGloballyUniqueIDGetConferenceIdentifier () const
 
const PString & GetSourceNumber () const
 
const PStringArray & GetSourceAliases () const
 
const H323TransportAddressGetSourceHost () const
 
PString GetSourceAddress () const
 
const PString & GetDestinationNumber () const
 
const PStringArray & GetDestinationAliases () const
 
const H323TransportAddressGetDestinationHost () const
 
PString GetDestinationAddress () const
 
unsigned GetBandwidthUsed () const
 
bool SetBandwidthUsed (unsigned bandwidth)
 
const PTime & GetLastInfoResponseTime () const
 
const PTime & GetCallStartTime () const
 
const PTime & GetAlertingTime () const
 
const PTime & GetConnectedTime () const
 
const PTime & GetCallEndTime () const
 
H323Connection::CallEndReason GetCallEndReason () const
 

Protected Member Functions

void SetUsageInfo (const H225_RasUsageInformation &usage)
 

Protected Attributes

H323GatekeeperServerm_gatekeeper
 
H323RegisteredEndPointm_endpoint
 
H323GatekeeperListenerm_rasChannel
 
Direction m_direction
 
unsigned m_callReference
 
OpalGloballyUniqueID m_callIdentifier
 
OpalGloballyUniqueID m_conferenceIdentifier
 
PString m_srcNumber
 
PStringArray m_srcAliases
 
H323TransportAddress m_srcHost
 
PString m_dstNumber
 
PStringArray m_dstAliases
 
H323TransportAddress m_dstHost
 
unsigned m_bandwidthUsed
 
unsigned m_infoResponseRate
 
PTime m_lastInfoResponse
 
bool m_drqReceived
 
PTime m_callStartTime
 
PTime m_alertingTime
 
PTime m_connectedTime
 
PTime m_callEndTime
 
H323Connection::CallEndReason m_callEndReason
 

Construction

enum  Direction { AnsweringCall, OriginatingCall, UnknownDirection }
 
 H323GatekeeperCall (H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction)
 
 ~H323GatekeeperCall ()
 

Detailed Description

This class describes an active call on a gatekeeper.

Member Enumeration Documentation

Enumerator
AnsweringCall 
OriginatingCall 
UnknownDirection 

Constructor & Destructor Documentation

H323GatekeeperCall::H323GatekeeperCall ( H323GatekeeperServer server,
const OpalGloballyUniqueID callIdentifier,
Direction  direction 
)

Create a new gatekeeper call tracking record.

Parameters
serverOwner gatekeeper server
callIdentifierUnique call identifier
directionDirection of call
H323GatekeeperCall::~H323GatekeeperCall ( )

Destroy the call, removing itself from the endpoint.

Member Function Documentation

bool H323GatekeeperCall::AddCallCreditServiceControl ( H225_ArrayOf_ServiceControlSession &  serviceControl) const

Add call credit and duration information to PDU.

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

Compare two objects.

Parameters
objOther object
virtual PBoolean H323GatekeeperCall::Disengage ( int  reason = -1)
virtual

Shut down a call. This sendsa DRQ to the endpoint(s) to close the call down.

Parameters
reasonReason for disengage
const PTime& H323GatekeeperCall::GetAlertingTime ( ) const
inline

References m_alertingTime.

unsigned H323GatekeeperCall::GetBandwidthUsed ( ) const
inline

References m_bandwidthUsed.

virtual PString H323GatekeeperCall::GetCallCreditAmount ( ) const
virtual

Get the current credit for this call. This function is only called if the client indicates that it can use the information provided.

The default behaviour calls the same function on the endpoint.

virtual PBoolean H323GatekeeperCall::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 calls the same function on the endpoint.

H323Connection::CallEndReason H323GatekeeperCall::GetCallEndReason ( ) const
inline

References m_callEndReason.

const PTime& H323GatekeeperCall::GetCallEndTime ( ) const
inline

References m_callEndTime.

const OpalGloballyUniqueID& H323GatekeeperCall::GetCallIdentifier ( ) const
inline

References m_callIdentifier.

unsigned H323GatekeeperCall::GetCallReference ( ) const
inline

References m_callReference.

const PTime& H323GatekeeperCall::GetCallStartTime ( ) const
inline

References m_callStartTime.

const OpalGloballyUniqueID& H323GatekeeperCall::GetConferenceIdentifier ( ) const
inline
const PTime& H323GatekeeperCall::GetConnectedTime ( ) const
inline

References m_connectedTime.

PString H323GatekeeperCall::GetDestinationAddress ( ) const
const PStringArray& H323GatekeeperCall::GetDestinationAliases ( ) const
inline

References m_dstAliases.

const H323TransportAddress& H323GatekeeperCall::GetDestinationHost ( ) const
inline

References m_dstHost.

const PString& H323GatekeeperCall::GetDestinationNumber ( ) const
inline

References m_dstNumber.

virtual unsigned H323GatekeeperCall::GetDurationLimit ( ) const
virtual

Get the duration limit for this call. This function is only called if the client indicates that it can use the information provided.

The default behaviour returns zero which indicates there is no duration limit applicable.

H323RegisteredEndPoint& H323GatekeeperCall::GetEndPoint ( ) const
inline

References m_endpoint.

H323GatekeeperServer& H323GatekeeperCall::GetGatekeeper ( ) const
inline

References m_gatekeeper.

const PTime& H323GatekeeperCall::GetLastInfoResponseTime ( ) const
inline

References m_lastInfoResponse.

PString H323GatekeeperCall::GetSourceAddress ( ) const
const PStringArray& H323GatekeeperCall::GetSourceAliases ( ) const
inline

References m_srcAliases.

const H323TransportAddress& H323GatekeeperCall::GetSourceHost ( ) const
inline

References m_srcHost.

const PString& H323GatekeeperCall::GetSourceNumber ( ) const
inline

References m_srcNumber.

bool H323GatekeeperCall::IsAnsweringCall ( ) const
inline

References AnsweringCall, and m_direction.

virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnAdmission ( H323GatekeeperARQ request)
virtual

Handle an admission ARQ PDU. The default behaviour sets some internal variables from the ARQ data and then calls OnResolveAdmission, if necessary, and OnReplyAdmission every time.

virtual void H323GatekeeperCall::OnAlerting ( )
virtual

Call back when an info response detects an Alerting.

virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnBandwidth ( H323GatekeeperBRQ request)
virtual

Handle a bandwidth BRQ PDU. The default behaviour adjusts the bandwidth used by the gatekeeper and adjusts the remote endpoint according to those limits.

virtual void H323GatekeeperCall::OnConnected ( )
virtual

Call back when an info response detects an Connected.

virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnDisengage ( H323GatekeeperDRQ request)
virtual

Handle a disengage DRQ PDU. The default behaviour simply returns true.

virtual PBoolean H323GatekeeperCall::OnHeartbeat ( )
virtual

Function called to do heartbeat check of the call. Monitor the state of the call and make sure everything is OK.

A return value of false indicates the call is to be closed for some reason.

Default behaviour checks the time since the last received IRR and if it has been too long does an IRQ to see if the call (and endpoint!) is still there and running. If the IRQ fails, false is returned.

virtual H323GatekeeperRequest::Response H323GatekeeperCall::OnInfoResponse ( H323GatekeeperIRR request,
H225_InfoRequestResponse_perCallInfo_subtype &  call 
)
virtual

Handle an info request response IRR PDU. The default behaviour resets the heartbeat time monitoring the call.

void H323GatekeeperCall::PrintOn ( ostream &  strm) const

Print the name of the gatekeeper.

Parameters
strmStream to print to.
virtual PBoolean H323GatekeeperCall::SendCallCreditServiceControl ( )
virtual

Send the call credit service control PDU. This will send an SCI pdu to the endpoint with the control service session information for the current call credit, if enabled.

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

bool H323GatekeeperCall::SetBandwidthUsed ( unsigned  bandwidth)
void H323GatekeeperCall::SetUsageInfo ( const H225_RasUsageInformation &  usage)
protected
virtual PBoolean H323GatekeeperCall::TranslateAliasAddress ( const H225_AliasAddress &  alias,
H225_ArrayOf_AliasAddress &  aliases,
H323TransportAddress address,
PBoolean &  isGkRouted 
)
virtual

Translate a given alias to an alias set and signal address. This is called by the OnAdmission() handler to fill in the ACF

The default behaviour calls H323GatekeeperServer::TranslateAliasAddress.

Field Documentation

PTime H323GatekeeperCall::m_alertingTime
protected

Referenced by GetAlertingTime().

unsigned H323GatekeeperCall::m_bandwidthUsed
protected

Referenced by GetBandwidthUsed().

H323Connection::CallEndReason H323GatekeeperCall::m_callEndReason
protected

Referenced by GetCallEndReason().

PTime H323GatekeeperCall::m_callEndTime
protected

Referenced by GetCallEndTime().

OpalGloballyUniqueID H323GatekeeperCall::m_callIdentifier
protected

Referenced by GetCallIdentifier().

unsigned H323GatekeeperCall::m_callReference
protected

Referenced by GetCallReference().

PTime H323GatekeeperCall::m_callStartTime
protected

Referenced by GetCallStartTime().

OpalGloballyUniqueID H323GatekeeperCall::m_conferenceIdentifier
protected

Referenced by GetConferenceIdentifier().

PTime H323GatekeeperCall::m_connectedTime
protected

Referenced by GetConnectedTime().

Direction H323GatekeeperCall::m_direction
protected

Referenced by IsAnsweringCall().

bool H323GatekeeperCall::m_drqReceived
protected
PStringArray H323GatekeeperCall::m_dstAliases
protected

Referenced by GetDestinationAliases().

H323TransportAddress H323GatekeeperCall::m_dstHost
protected

Referenced by GetDestinationHost().

PString H323GatekeeperCall::m_dstNumber
protected

Referenced by GetDestinationNumber().

H323RegisteredEndPoint* H323GatekeeperCall::m_endpoint
protected

Referenced by GetEndPoint().

H323GatekeeperServer& H323GatekeeperCall::m_gatekeeper
protected

Referenced by GetGatekeeper().

unsigned H323GatekeeperCall::m_infoResponseRate
protected
PTime H323GatekeeperCall::m_lastInfoResponse
protected

Referenced by GetLastInfoResponseTime().

H323GatekeeperListener* H323GatekeeperCall::m_rasChannel
protected
PStringArray H323GatekeeperCall::m_srcAliases
protected

Referenced by GetSourceAliases().

H323TransportAddress H323GatekeeperCall::m_srcHost
protected

Referenced by GetSourceHost().

PString H323GatekeeperCall::m_srcNumber
protected

Referenced by GetSourceNumber().


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