Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

H4502Handler Class Reference

#include <h450pdu.h>

Inheritance diagram for H4502Handler:

H450xHandler List of all members.

Public Types

enum  State {
  e_ctIdle, e_ctAwaitIdentifyResponse, e_ctAwaitInitiateResponse, e_ctAwaitSetupResponse,
  e_ctAwaitSetup, e_ctAwaitConnect
}

Public Member Functions

 H4502Handler (H323Connection &connection, H450xDispatcher &dispatcher)
virtual void AttachToSetup (H323SignalPDU &pdu)
virtual void AttachToAlerting (H323SignalPDU &pdu)
virtual void AttachToConnect (H323SignalPDU &pdu)
virtual void AttachToReleaseComplete (H323SignalPDU &pdu)
virtual BOOL OnReceivedInvoke (int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallTransferIdentify (int linkedId)
virtual void OnReceivedCallTransferAbandon (int linkedId)
virtual void OnReceivedCallTransferInitiate (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallTransferSetup (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallTransferUpdate (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedSubaddressTransfer (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallTransferComplete (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallTransferActive (int linkedId, PASN_OctetString *argument)
virtual BOOL OnReceivedReturnResult (X880_ReturnResult &returnResult)
void OnReceivedInitiateReturnResult ()
void OnReceivedSetupReturnResult ()
void OnReceivedIdentifyReturnResult (X880_ReturnResult &returnResult)
virtual BOOL OnReceivedReturnError (int errorCode, X880_ReturnError &returnError)
void OnReceivedInitiateReturnError (const bool timerExpiry=false)
void OnReceivedSetupReturnError (int errorCode, const bool timerExpiry=false)
void OnReceivedIdentifyReturnError (const bool timerExpiry=false)
void TransferCall (const PString &remoteParty, const PString &callIdentity)
void ConsultationTransfer (const PString &primaryCallToken)
void HandleConsultationTransfer (const PString &callIdentity, H323Connection &incoming)
void AwaitSetupResponse (const PString &token, const PString &identity)
State GetState () const
virtual void onReceivedAdmissionReject (const int returnError)
void HandleCallTransferFailure (const int returnError)
void StartctTimer (const PTimeInterval value)
void StopctTimer ()
BOOL IsctTimerRunning ()
 PDECLARE_NOTIFIER (PTimer, H4502Handler, OnCallTransferTimeOut)
const H323ConnectiongetAssociatedConnection () const
void SetAssociatedCallToken (const PString &token)
const PString & getTransferringCallToken () const
unsigned GetNextCallIdentityValue () const
void SetConsultationTransferSuccess ()
BOOL isConsultationTransferSuccess ()

Protected Attributes

PString transferringCallToken
PString transferringCallIdentity
State ctState
BOOL ctResponseSent
PTimer ctTimer
PString CallToken
unsigned nextCallIdentity
BOOL consultationTransfer

Member Enumeration Documentation

enum H4502Handler::State
 

Sub-state for call transfer.

Enumeration values:
e_ctIdle 
e_ctAwaitIdentifyResponse 
e_ctAwaitInitiateResponse 
e_ctAwaitSetupResponse 
e_ctAwaitSetup 
e_ctAwaitConnect 


Constructor & Destructor Documentation

H4502Handler::H4502Handler H323Connection connection,
H450xDispatcher dispatcher
 


Member Function Documentation

virtual void H4502Handler::AttachToAlerting H323SignalPDU pdu  )  [virtual]
 

Reimplemented from H450xHandler.

virtual void H4502Handler::AttachToConnect H323SignalPDU pdu  )  [virtual]
 

Reimplemented from H450xHandler.

virtual void H4502Handler::AttachToReleaseComplete H323SignalPDU pdu  )  [virtual]
 

Reimplemented from H450xHandler.

virtual void H4502Handler::AttachToSetup H323SignalPDU pdu  )  [virtual]
 

Reimplemented from H450xHandler.

void H4502Handler::AwaitSetupResponse const PString &  token,
const PString &  identity
 

void H4502Handler::ConsultationTransfer const PString &  primaryCallToken  ) 
 

Transfer the call through consultation so the remote party in the primary call is connected to the called party in the second call using H.450.2. This sends a Call Transfer Identify Invoke message from the A-Party (transferring endpoint) to the C-Party (transferred-to endpoint).

Parameters:
primaryCallToken  Primary call

const H323Connection& H4502Handler::getAssociatedConnection  )  const [inline]
 

Get the connection assoicated with this H4502Handler.

unsigned H4502Handler::GetNextCallIdentityValue  )  const [inline]
 

Get the next available invoke Id for H450 operations

State H4502Handler::GetState  )  const [inline]
 

Get the current call transfer state.

const PString& H4502Handler::getTransferringCallToken  )  const [inline]
 

Get the transferringCallToken member

void H4502Handler::HandleCallTransferFailure const int  returnError  ) 
 

Handle the failure of a call transfer operation.

Parameters:
returnError  failure reason

void H4502Handler::HandleConsultationTransfer const PString &  callIdentity,
H323Connection incoming
 

Handle the reception of a callTransferSetupInvoke APDU whilst a secondary call exists.

Parameters:
incoming  Call Identity of secondary call New incoming connection

BOOL H4502Handler::isConsultationTransferSuccess  )  [inline]
 

Was the transfer through consultation successful.

BOOL H4502Handler::IsctTimerRunning  )  [inline]
 

Is the Call Transfer Timer running?

virtual void H4502Handler::onReceivedAdmissionReject const int  returnError  )  [virtual]
 

Handle the reception of an Admission Reject during a pending call transfer operation at the transferred endpoint. If the call transfer state of the current connection is e_ctAwaitSetupResponse, the stack attempts to find the existing connection between the transferred and transferring endpoints and inform this connection that a callTransferInitiateReturnError PDU needs to be sent. No action is taken if the current connection is not in call transfer state e_ctAwaitSetupResponse.

virtual void H4502Handler::OnReceivedCallTransferAbandon int  linkedId  )  [virtual]
 

Handle an incoming Call Transfer Abandon operation.

Parameters:
linkedId  InvokeId of associated operation (if any)

virtual void H4502Handler::OnReceivedCallTransferActive int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Call Transfer Active operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the active operation

virtual void H4502Handler::OnReceivedCallTransferComplete int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Call Transfer Complete operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the complete operation

virtual void H4502Handler::OnReceivedCallTransferIdentify int  linkedId  )  [virtual]
 

Handle an incoming Call Transfer Identify operation.

Parameters:
linkedId  InvokeId of associated operation (if any)

virtual void H4502Handler::OnReceivedCallTransferInitiate int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Call Transfer Initiate operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the initiate operation

virtual void H4502Handler::OnReceivedCallTransferSetup int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Call Transfer Setup operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the setup operation

virtual void H4502Handler::OnReceivedCallTransferUpdate int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Call Transfer Update operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the update operation

void H4502Handler::OnReceivedIdentifyReturnError const bool  timerExpiry = false  ) 
 

Handle the reception of a callTransferIdentify returnError or expiry of Call Transfer Timer CT-T1 when we are in call transfer state e_ctAwaitIdentifyResponse. Note this is an internal function and it is not expected an application would use it.

Parameters:
timerExpiry  Flag to indicate expiry

void H4502Handler::OnReceivedIdentifyReturnResult X880_ReturnResult returnResult  ) 
 

Handle the reception of a callTransferIdentify returnResult when we are in call transfer state e_ctAwaitIdentifyResponse. Note this is an internal function and it is not expected an application would use it.

void H4502Handler::OnReceivedInitiateReturnError const bool  timerExpiry = false  ) 
 

Handle the reception of a callTransferInitiate returnError or expiry of Call Transfer Timer CT-T3 when we are in call transfer state e_ctAwaitInitiateResponse. Note this is an internal function and it is not expected an application would use it.

Parameters:
timerExpiry  Flag to indicate expiry

void H4502Handler::OnReceivedInitiateReturnResult  ) 
 

Handle the reception of a callTransferInitiate returnResult when we are in call transfer state e_ctAwaitInitiateResponse. Note this is an internal function and it is not expected an application would use it.

virtual BOOL H4502Handler::OnReceivedInvoke int  opcode,
int  invokeId,
int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Parameters:
linkedId  InvokeId of operation (used in response)
argument  InvokeId of associated operation (if any) Parameters for the initiate operation

Implements H450xHandler.

virtual BOOL H4502Handler::OnReceivedReturnError int  errorCode,
X880_ReturnError returnError
[virtual]
 

Reimplemented from H450xHandler.

virtual BOOL H4502Handler::OnReceivedReturnResult X880_ReturnResult returnResult  )  [virtual]
 

Reimplemented from H450xHandler.

void H4502Handler::OnReceivedSetupReturnError int  errorCode,
const bool  timerExpiry = false
 

Handle the reception of a callTransferSetup returnError or expiry of Call Transfer Timer CT-T4 when we are in call transfer state e_ctAwaitSetupResponse. This funtion also additionally handles the case when the transferred-to endpoint does not support H.450.2 and has rejected the incoming call request. Note this is an internal function and it is not expected an application would use it.

Parameters:
timerExpiry  Flag to indicate expiry

void H4502Handler::OnReceivedSetupReturnResult  ) 
 

Handle the reception of a callTransferSetup returnResult when we are in call transfer state e_ctAwaitSetupResponse. This funtion exists to handle the case when the transferred-to endpoint does not support H.450.2. Note this is an internal function and it is not expected an application would use it.

virtual void H4502Handler::OnReceivedSubaddressTransfer int  linkedId,
PASN_OctetString *  argument
[virtual]
 

Handle an incoming Subaddress Transfer operation.

Parameters:
argument  InvokeId of associated operation (if any) Parameters for the subaddress transfer operation

H4502Handler::PDECLARE_NOTIFIER PTimer  ,
H4502Handler  ,
OnCallTransferTimeOut 
 

Callback mechanism for Call Transfer Timers CT-T1, CT-T2, CT-T3 & CT-T4

void H4502Handler::SetAssociatedCallToken const PString &  token  )  [inline]
 

Set the associated callToken.

void H4502Handler::SetConsultationTransferSuccess  )  [inline]
 

Set the 'consultationTransfer' member to TRUE (indicating a successful transfer)

void H4502Handler::StartctTimer const PTimeInterval  value  )  [inline]
 

Start the Call Transfer Timer using the specified time interval.

void H4502Handler::StopctTimer  ) 
 

Stop the Call Transfer Timer

void H4502Handler::TransferCall const PString &  remoteParty,
const PString &  callIdentity
 

Initiate the transfer of an existing call (connection) to a new remote party using H.450.2. This sends a Call Transfer Initiate Invoke message from the A-Party (transferring endpoint) to the B-Party (transferred endpoint).

Parameters:
callIdentity  Remote party to transfer the existing call to Call Identity of secondary call if present


Member Data Documentation

PString H4502Handler::CallToken [protected]
 

BOOL H4502Handler::consultationTransfer [protected]
 

BOOL H4502Handler::ctResponseSent [protected]
 

State H4502Handler::ctState [protected]
 

PTimer H4502Handler::ctTimer [protected]
 

unsigned H4502Handler::nextCallIdentity [mutable, protected]
 

PString H4502Handler::transferringCallIdentity [protected]
 

PString H4502Handler::transferringCallToken [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Mar 15 11:18:01 2005 for OpenH323 by  doxygen 1.4.0