# H4504Handler Class Reference

`#include <h450pdu.h>`

Inheritance diagram for H4504Handler:

[legend]
Collaboration diagram for H4504Handler:
[legend]

## Public Types

| e_ch_Idle
| e_ch_NE_Held
| e_ch_RE_Requested
| e_ch_RE_Held
| e_ch_RE_Retrieve_Req
enum | State { e_ch_Idle, e_ch_NE_Held, e_ch_RE_Requested, e_ch_RE_Held, e_ch_RE_Retrieve_Req }

## Public Member Functions

| H4504Handler (H323Connection &connection, H450xDispatcher &dispatcher)
virtual PBoolean | OnReceivedInvoke (int opcode, int invokeId, int linkedId, PASN_OctetString *argument)
virtual void | OnReceivedLocalCallHold (int linkedId)
virtual void | OnReceivedLocalCallRetrieve (int linkedId)
virtual void | OnReceivedRemoteCallHold (int linkedId)
virtual void | OnReceivedRemoteCallRetrieve (int linkedId)
bool | HoldCall (PBoolean localHold)
bool | RetrieveCall ()
State | GetState () const

## Protected Attributes

State | holdState

## Member Enumeration Documentation

enum H4504Handler::State

Sub-state for call hold.

Enumerator:

  e_ch_Idle |
  e_ch_NE_Held |
  e_ch_RE_Requested |
  e_ch_RE_Held |
  e_ch_RE_Retrieve_Req |

## Constructor & Destructor Documentation

H4504Handler::H4504Handler | ( | H323Connection & | connection,
|  | H450xDispatcher & | dispatcher |
| ) |  |  |

## Member Function Documentation

State H4504Handler::GetState | ( |  | ) | const`[inline]`

bool H4504Handler::HoldCall | ( | PBoolean | localHold | ) |

Place the call on hold, suspending all media channels (H.450.4) NOTE: Only Local Hold is implemented so far.

Parameters:

  localHold | true for Local Hold, false for Remote Hold

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

virtual void H4504Handler::OnReceivedLocalCallHold | ( | int | linkedId | ) | `[virtual]`

Handle an incoming Near-End Call Hold operation

Parameters:

  linkedId | InvokeId of associated operation (if any)

virtual void H4504Handler::OnReceivedLocalCallRetrieve | ( | int | linkedId | ) | `[virtual]`

Handle an incoming Near-End Call Retrieve operation

Parameters:

  linkedId | InvokeId of associated operation (if any)

virtual void H4504Handler::OnReceivedRemoteCallHold | ( | int | linkedId | ) | `[virtual]`

Handle an incoming Remote Call Hold operation TBD: Remote hold operations not yet implemented -- dcassel 4/01

Parameters:

  linkedId | InvokeId of associated operation (if any)

virtual void H4504Handler::OnReceivedRemoteCallRetrieve | ( | int | linkedId | ) | `[virtual]`

Handle an incoming Remote Call Retrieve operation TBD: Remote hold operations not yet implemented -- dcassel 4/01

Parameters:

  linkedId | InvokeId of associated operation (if any)

bool H4504Handler::RetrieveCall | ( |  | ) |

Retrieve the call from hold, activating all media channels (H.450.4) NOTE: Only Local Hold is implemented so far.

## Field Documentation

State H4504Handler::holdState `[protected]`

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

- h450pdu.h