H323GatekeeperCall Class Reference

#include <gkserver.h>

List of all members.

Construction

enum  Direction { AnsweringCall, OriginatingCall, UnknownDirection }
 H323GatekeeperCall (H323GatekeeperServer &server, const OpalGloballyUniqueID &callIdentifier, Direction direction)
 ~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 BOOL 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 BOOL OnHeartbeat ()
virtual PString GetCallCreditAmount () const
virtual BOOL GetCallCreditMode () const
virtual unsigned GetDurationLimit () const
virtual BOOL SendCallCreditServiceControl ()
BOOL AddCallCreditServiceControl (H225_ArrayOf_ServiceControlSession &serviceControl) const
virtual BOOL SendServiceControlSession (const H323ServiceControlSession &session)
virtual BOOL TranslateAliasAddress (const H225_AliasAddress &alias, H225_ArrayOf_AliasAddress &aliases, H323TransportAddress &address, BOOL &isGkRouted)
Access functions
H323GatekeeperServerGetGatekeeper () const
H323RegisteredEndPointGetEndPoint () const
BOOL IsAnsweringCall () const
unsigned GetCallReference () const
const OpalGloballyUniqueID & GetCallIdentifier () const
const OpalGloballyUniqueID & GetConferenceIdentifier () 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

H323GatekeeperServergatekeeper
H323RegisteredEndPointendpoint
H323GatekeeperListenerrasChannel
Direction direction
unsigned callReference
OpalGloballyUniqueID callIdentifier
OpalGloballyUniqueID conferenceIdentifier
PString srcNumber
PStringArray srcAliases
H323TransportAddress srcHost
PString dstNumber
PStringArray dstAliases
H323TransportAddress dstHost
unsigned bandwidthUsed
unsigned infoResponseRate
PTime lastInfoResponse
BOOL drqReceived
PTime callStartTime
PTime alertingTime
PTime connectedTime
PTime callEndTime
H323Connection::CallEndReason callEndReason


Detailed Description

This class describes an active call on a gatekeeper.


Member Enumeration Documentation

enum H323GatekeeperCall::Direction

Enumerator:
AnsweringCall 
OriginatingCall 
UnknownDirection 


Constructor & Destructor Documentation

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

Create a new gatekeeper call tracking record.

Parameters:
server  Owner gatekeeper server
callIdentifier  Unique call identifier
direction  Direction of call

H323GatekeeperCall::~H323GatekeeperCall (  ) 

Destroy the call, removing itself from the endpoint.


Member Function Documentation

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

Compare two objects.

Parameters:
obj  Other object

void H323GatekeeperCall::PrintOn ( ostream &  strm  )  const

Print the name of the gatekeeper.

Parameters:
strm  Stream to print to.

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 BOOL H323GatekeeperCall::Disengage ( int  reason = -1  )  [virtual]

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

Parameters:
reason  Reason for disengage

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

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

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

virtual void H323GatekeeperCall::OnAlerting (  )  [virtual]

Call back when an info response detects an Alerting.

virtual void H323GatekeeperCall::OnConnected (  )  [virtual]

Call back when an info response detects an Connected.

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

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.

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

BOOL H323GatekeeperCall::AddCallCreditServiceControl ( H225_ArrayOf_ServiceControlSession serviceControl  )  const

Add call credit and duration information to PDU.

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

virtual BOOL H323GatekeeperCall::TranslateAliasAddress ( const H225_AliasAddress alias,
H225_ArrayOf_AliasAddress aliases,
H323TransportAddress address,
BOOL &  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.

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

H323RegisteredEndPoint& H323GatekeeperCall::GetEndPoint (  )  const [inline]

BOOL H323GatekeeperCall::IsAnsweringCall (  )  const [inline]

unsigned H323GatekeeperCall::GetCallReference (  )  const [inline]

const OpalGloballyUniqueID& H323GatekeeperCall::GetCallIdentifier (  )  const [inline]

const OpalGloballyUniqueID& H323GatekeeperCall::GetConferenceIdentifier (  )  const [inline]

const PString& H323GatekeeperCall::GetSourceNumber (  )  const [inline]

const PStringArray& H323GatekeeperCall::GetSourceAliases (  )  const [inline]

const H323TransportAddress& H323GatekeeperCall::GetSourceHost (  )  const [inline]

PString H323GatekeeperCall::GetSourceAddress (  )  const

const PString& H323GatekeeperCall::GetDestinationNumber (  )  const [inline]

const PStringArray& H323GatekeeperCall::GetDestinationAliases (  )  const [inline]

const H323TransportAddress& H323GatekeeperCall::GetDestinationHost (  )  const [inline]

PString H323GatekeeperCall::GetDestinationAddress (  )  const

unsigned H323GatekeeperCall::GetBandwidthUsed (  )  const [inline]

BOOL H323GatekeeperCall::SetBandwidthUsed ( unsigned  bandwidth  ) 

const PTime& H323GatekeeperCall::GetLastInfoResponseTime (  )  const [inline]

const PTime& H323GatekeeperCall::GetCallStartTime (  )  const [inline]

const PTime& H323GatekeeperCall::GetAlertingTime (  )  const [inline]

const PTime& H323GatekeeperCall::GetConnectedTime (  )  const [inline]

const PTime& H323GatekeeperCall::GetCallEndTime (  )  const [inline]

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

void H323GatekeeperCall::SetUsageInfo ( const H225_RasUsageInformation usage  )  [protected]


Member Data Documentation

H323GatekeeperServer& H323GatekeeperCall::gatekeeper [protected]

H323RegisteredEndPoint* H323GatekeeperCall::endpoint [protected]

H323GatekeeperListener* H323GatekeeperCall::rasChannel [protected]

Direction H323GatekeeperCall::direction [protected]

unsigned H323GatekeeperCall::callReference [protected]

OpalGloballyUniqueID H323GatekeeperCall::callIdentifier [protected]

OpalGloballyUniqueID H323GatekeeperCall::conferenceIdentifier [protected]

PString H323GatekeeperCall::srcNumber [protected]

PStringArray H323GatekeeperCall::srcAliases [protected]

H323TransportAddress H323GatekeeperCall::srcHost [protected]

PString H323GatekeeperCall::dstNumber [protected]

PStringArray H323GatekeeperCall::dstAliases [protected]

H323TransportAddress H323GatekeeperCall::dstHost [protected]

unsigned H323GatekeeperCall::bandwidthUsed [protected]

unsigned H323GatekeeperCall::infoResponseRate [protected]

PTime H323GatekeeperCall::lastInfoResponse [protected]

BOOL H323GatekeeperCall::drqReceived [protected]

PTime H323GatekeeperCall::callStartTime [protected]

PTime H323GatekeeperCall::alertingTime [protected]

PTime H323GatekeeperCall::connectedTime [protected]

PTime H323GatekeeperCall::callEndTime [protected]

H323Connection::CallEndReason H323GatekeeperCall::callEndReason [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