H45011Handler Class Reference

Inheritance diagram for H45011Handler:

H450xHandler List of all members.

Public Types

enum  State {
  e_ci_Idle, e_ci_WaitAck, e_ci_GetCIPL, e_ci_OrigInvoked,
  e_ci_OrigIsolated, e_ci_DestNotify, e_ci_DestInvoked, e_ci_DestIsolated,
  e_ci_DestWOB, e_ci_IsolationRequest, e_ci_ForcedReleaseRequest, e_ci_WOBRequest
}
enum  Generate {
  e_ci_gIdle, e_ci_gConferenceRequest, e_ci_gHeldRequest, e_ci_gSilentMonitorRequest,
  e_ci_gIsolationRequest, e_ci_gForcedReleaseRequest, e_ci_gWOBRequest
}
enum  SendState {
  e_ci_sIdle, e_ci_sAttachToSetup, e_ci_sAttachToAlerting, e_ci_sAttachToConnect,
  e_ci_sAttachToReleseComplete
}
enum  ReturnState {
  e_ci_rIdle, e_ci_rCallIntrusionImpending, e_ci_rCallIntruded, e_ci_rCallIsolated,
  e_ci_rCallForceReleased, e_ci_rCallForceReleaseResult, e_ci_rCallIntrusionComplete, e_ci_rCallIntrusionEnd,
  e_ci_rNotBusy, e_ci_rTempUnavailable, e_ci_rNotAuthorized
}

Public Member Functions

 H45011Handler (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 OnReceivedCallIntrusionRequest (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionGetCIPL (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionIsolate (int linkedId, PASN_OctetString *argument)
virtual BOOL OnReceivedCallIntrusionForcedRelease (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionWOBRequest (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionSilentMonitor (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallIntrusionNotification (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCfbOverride (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedRemoteUserAlerting (int linkedId, PASN_OctetString *argument)
virtual void OnReceivedCallWaiting (int linkedId, PASN_OctetString *argument)
virtual BOOL OnReceivedReturnResult (X880_ReturnResult &returnResult)
void OnReceivedCIRequestResult ()
virtual BOOL OnReceivedReturnError (int errorCode, X880_ReturnError &returnError)
BOOL OnReceivedInvokeReturnError (int errorCode, const bool timerExpiry=false)
void OnReceivedCIGetCIPLResult (X880_ReturnResult &returnResult)
BOOL OnReceivedGetCIPLReturnError (int errorCode, const bool timerExpiry=false)
void IntrudeCall (int CICL)
void AwaitSetupResponse (const PString &token, const PString &identity)
BOOL GetRemoteCallIntrusionProtectionLevel (const PString &intrusionCallToken, unsigned intrusionCICL)
void SetIntrusionImpending ()
void SetForcedReleaseAccepted ()
void SetIntrusionNotAuthorized ()
State GetState () const
void StartciTimer (const PTimeInterval value)
void StopciTimer ()
BOOL IsctTimerRunning ()
 PDECLARE_NOTIFIER (PTimer, H45011Handler, OnCallIntrudeTimeOut)

Protected Attributes

State ciState
PTimer ciTimer
PString intrudingCallToken
PString intrudingCallIdentity
PString activeCallToken
ReturnState ciReturnState
SendState ciSendState
Generate ciGenerateState
int ciCICL
unsigned intrudingCallCICL

Detailed Description

Definition at line 721 of file h450pdu.h.


Member Enumeration Documentation

enum H45011Handler::State

Sub-state for call intrusion.

Enumerator:
e_ci_Idle 
e_ci_WaitAck 
e_ci_GetCIPL 
e_ci_OrigInvoked 
e_ci_OrigIsolated 
e_ci_DestNotify 
e_ci_DestInvoked 
e_ci_DestIsolated 
e_ci_DestWOB 
e_ci_IsolationRequest 
e_ci_ForcedReleaseRequest 
e_ci_WOBRequest 

Definition at line 873 of file h450pdu.h.

enum H45011Handler::Generate

What to generate

Enumerator:
e_ci_gIdle 
e_ci_gConferenceRequest 
e_ci_gHeldRequest 
e_ci_gSilentMonitorRequest 
e_ci_gIsolationRequest 
e_ci_gForcedReleaseRequest 
e_ci_gWOBRequest 

Definition at line 889 of file h450pdu.h.

enum H45011Handler::SendState

When to send SS message

Enumerator:
e_ci_sIdle 
e_ci_sAttachToSetup 
e_ci_sAttachToAlerting 
e_ci_sAttachToConnect 
e_ci_sAttachToReleseComplete 

Definition at line 900 of file h450pdu.h.

enum H45011Handler::ReturnState

What to return

Enumerator:
e_ci_rIdle 
e_ci_rCallIntrusionImpending 
e_ci_rCallIntruded 
e_ci_rCallIsolated 
e_ci_rCallForceReleased 
e_ci_rCallForceReleaseResult 
e_ci_rCallIntrusionComplete 
e_ci_rCallIntrusionEnd 
e_ci_rNotBusy 
e_ci_rTempUnavailable 
e_ci_rNotAuthorized 

Definition at line 909 of file h450pdu.h.


Member Function Documentation

BOOL H45011Handler::OnReceivedInvoke ( int  opcode,
int  invokeId,
int  linkedId,
PASN_OctetString *  argument 
) [virtual]

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

Implements H450xHandler.

Definition at line 1819 of file h450pdu.cxx.

References H450xHandler::currentInvokeId, H45011_H323CallIntrusionOperations::e_callIntrusionForcedRelease, H45011_H323CallIntrusionOperations::e_callIntrusionGetCIPL, H45011_H323CallIntrusionOperations::e_callIntrusionIsolate, H45011_H323CallIntrusionOperations::e_callIntrusionNotification, H45011_H323CallIntrusionOperations::e_callIntrusionRequest, H45011_H323CallIntrusionOperations::e_callIntrusionSilentMonitor, H45011_H323CallIntrusionOperations::e_callIntrusionWOBRequest, H4506_CallWaitingOperations::e_callWaiting, H45010_H323CallOfferOperations::e_cfbOverride, H45010_H323CallOfferOperations::e_remoteUserAlerting, OnReceivedCallIntrusionForcedRelease(), OnReceivedCallIntrusionGetCIPL(), OnReceivedCallIntrusionIsolate(), OnReceivedCallIntrusionNotification(), OnReceivedCallIntrusionRequest(), OnReceivedCallIntrusionSilentMonitor(), OnReceivedCallIntrusionWOBRequest(), OnReceivedCallWaiting(), OnReceivedCfbOverride(), and OnReceivedRemoteUserAlerting().

void H45011Handler::OnReceivedCallIntrusionRequest ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion operation

Definition at line 2068 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallIntrusionGetCIPL ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion GetCIPL operation

Definition at line 2083 of file h450pdu.cxx.

References H450ServiceAPDU::BuildReturnResult(), H450xHandler::connection, H450xHandler::currentInvokeId, H450xHandler::DecodeArguments(), H45011_H323CallIntrusionOperations::e_callIntrusionGetCIPL, X880_Code::e_local, X880_ReturnResult::e_result, H45011_CIGetCIPLRes::e_silentMonitoringPermitted, H45011_CIGetCIPLRes::Encode(), H450xHandler::endpoint, H323EndPoint::GetCallIntrusionProtectionLevel(), H45011_CIGetCIPLRes::m_ciProtectionLevel, X880_ReturnResult_result::m_opcode, X880_ReturnResult_result::m_result, X880_ReturnResult::m_result, and H450ServiceAPDU::WriteFacilityPDU().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallIntrusionIsolate ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Isolate operation

Definition at line 2126 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

BOOL H45011Handler::OnReceivedCallIntrusionForcedRelease ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Forced Release operation

Definition at line 2141 of file h450pdu.cxx.

References activeCallToken, ciReturnState, ciSendState, H323Connection::ClearCall(), H450xHandler::connection, H450xHandler::DecodeArguments(), e_ci_rCallForceReleaseResult, e_ci_rNotAuthorized, e_ci_rNotBusy, e_ci_sAttachToAlerting, e_ci_sAttachToConnect, e_ci_sAttachToReleseComplete, H323Connection::EndedByLocalBusy, H450xHandler::endpoint, H323EndPoint::FindConnectionWithLock(), H323EndPoint::GetAllConnections(), H323Connection::GetCallToken(), H323EndPoint::HasConnection(), intrudingCallToken, H45011_CIFrcRelArg::m_ciCapabilityLevel, and H323Connection::SetCallIntrusion().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallIntrusionWOBRequest ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion WOB operation

Definition at line 2195 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallIntrusionSilentMonitor ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Silent Monitor operation

Definition at line 2210 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallIntrusionNotification ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Notification operation

Definition at line 2225 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCfbOverride ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion cfb Override operation

Definition at line 2240 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedRemoteUserAlerting ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Remote User Alerting operation

Definition at line 2255 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

void H45011Handler::OnReceivedCallWaiting ( int  linkedId,
PASN_OctetString *  argument 
) [virtual]

Handle an incoming Call Intrusion Call Waiting operation

Definition at line 2270 of file h450pdu.cxx.

References H450xHandler::DecodeArguments().

Referenced by OnReceivedInvoke().

BOOL H45011Handler::OnReceivedInvokeReturnError ( int  errorCode,
const bool  timerExpiry = false 
)

Parameters:
timerExpiry  Flag to indicate expiry

Definition at line 2391 of file h450pdu.cxx.

References ciSendState, ciState, H450xHandler::currentInvokeId, e_ci_Idle, e_ci_sIdle, H45011_CallIntrusionErrors::e_notAuthorized, H45011_CallIntrusionErrors::e_notBusy, H45011_CallIntrusionErrors::e_temporarilyUnavailable, and StopciTimer().

Referenced by OnReceivedReturnError().

BOOL H45011Handler::OnReceivedGetCIPLReturnError ( int  errorCode,
const bool  timerExpiry = false 
)

Parameters:
timerExpiry  Flag to indicate expiry

Referenced by OnReceivedReturnError().

State H45011Handler::GetState (  )  const [inline]

Get the current call intrusion state.

Definition at line 925 of file h450pdu.h.

References ciState.

void H45011Handler::StartciTimer ( const PTimeInterval  value  )  [inline]

Start the Call Intrusion Timer using the specified time interval.

Definition at line 929 of file h450pdu.h.

References ciTimer.

Referenced by AttachToSetup(), GetRemoteCallIntrusionProtectionLevel(), and SetForcedReleaseAccepted().

void H45011Handler::StopciTimer (  ) 

Stop the Call Intrusion Timer

Definition at line 2533 of file h450pdu.cxx.

References ciTimer.

Referenced by OnReceivedCIGetCIPLResult(), OnReceivedCIRequestResult(), and OnReceivedInvokeReturnError().

BOOL H45011Handler::IsctTimerRunning (  )  [inline]

Is the Call Intrusion Timer running?

Definition at line 937 of file h450pdu.h.

References ciTimer.

H45011Handler::PDECLARE_NOTIFIER ( PTimer  ,
H45011Handler  ,
OnCallIntrudeTimeOut   
)

Callback mechanism for Call Intrusion Timers CI-T1, CI-T2, CI-T3 & CI-T4 & CI-T5 & CI-T6


The documentation for this class was generated from the following files:
Generated on Thu Oct 25 13:45:37 2007 for h323plus by  doxygen 1.5.2