# H323Transaction Class Reference

`#include <h323trans.h>`

Inheritance diagram for H323Transaction:

[legend]
Collaboration diagram for H323Transaction:
[legend]

## Public Types

| Ignore = -2
| Reject = -1
| Confirm = 0
enum | Response { Ignore = -2, Reject = -1, Confirm = 0 }

## Public Member Functions

virtual H323TransactionPDU * | CreateRIP (unsigned sequenceNumber, unsigned delay) const =0
PBoolean | HandlePDU ()
virtual PBoolean | WritePDU (H323TransactionPDU &pdu)
PBoolean | CheckCryptoTokens (const H235Authenticators &authenticators)
virtual H235Authenticator::ValidationResult | ValidatePDU () const =0
virtual void | SetRejectReason (unsigned reasonCode)=0
PBoolean | IsFastResponseRequired () const
PBoolean | CanSendRIP () const
H323TransportAddress | GetReplyAddress () const
const H323TransportAddressArray & | GetReplyAddresses () const
PBoolean | IsBehindNAT () const
H323Transactor & | GetTransactor () const
H235Authenticator::ValidationResult | GetAuthenticatorResult () const
Construction
| H323Transaction (H323Transactor &transactor, const H323TransactionPDU &requestToCopy, H323TransactionPDU *confirm, H323TransactionPDU *reject)
| ~H323Transaction ()

## Static Public Member Functions

static Response | InProgress (unsigned time)

## Protected Member Functions

virtual Response | OnHandlePDU ()=0
| PDECLARE_NOTIFIER (PThread, H323Transaction, SlowHandler)

## Protected Attributes

H323Transactor & | transactor
unsigned | requestSequenceNumber
H323TransportAddressArray | replyAddresses
PBoolean | fastResponseRequired
H323TransactionPDU * | request
H323TransactionPDU * | confirm
H323TransactionPDU * | reject
H235Authenticators | authenticators
H235Authenticator::ValidationResult | authenticatorResult
PBoolean | isBehindNAT
PBoolean | canSendRIP

## Member Enumeration Documentation

enum H323Transaction::Response

Enumerator:

  Ignore |
  Reject |
  Confirm |

## Constructor & Destructor Documentation

H323Transaction::H323Transaction | ( | H323Transactor & | transactor,
|  | const H323TransactionPDU & | requestToCopy,
|  | H323TransactionPDU * | confirm,
|  | H323TransactionPDU * | reject |
| ) |  |  |

Create a new transaction handler.

H323Transaction::~H323Transaction | ( |  | ) |

## Member Function Documentation

PBoolean H323Transaction::CanSendRIP | ( |  | ) | const`[inline]`

PBoolean H323Transaction::CheckCryptoTokens | ( | const H235Authenticators & | authenticators | ) |

virtual H323TransactionPDU* H323Transaction::CreateRIP | ( | unsigned | sequenceNumber,
|  | unsigned | delay |
| ) |  |  | const`[pure virtual]`

Implemented in H323GatekeeperRequest, and H501Transaction.

H235Authenticator::ValidationResult H323Transaction::GetAuthenticatorResult | ( |  | ) | const`[inline]`

H323TransportAddress H323Transaction::GetReplyAddress | ( |  | ) | const`[inline]`

const H323TransportAddressArray& H323Transaction::GetReplyAddresses | ( |  | ) | const`[inline]`

H323Transactor& H323Transaction::GetTransactor | ( |  | ) | const`[inline]`

PBoolean H323Transaction::HandlePDU | ( |  | ) |

static Response H323Transaction::InProgress | ( | unsigned | time | ) | `[inline, static]`

PBoolean H323Transaction::IsBehindNAT | ( |  | ) | const`[inline]`

PBoolean H323Transaction::IsFastResponseRequired | ( |  | ) | const`[inline]`

virtual Response H323Transaction::OnHandlePDU | ( |  | ) | `[protected, pure virtual]`

Implemented in H323GatekeeperGRQ, H323GatekeeperRRQ, H323GatekeeperURQ, H323GatekeeperARQ, H323GatekeeperDRQ, H323GatekeeperBRQ, H323GatekeeperLRQ, H323GatekeeperIRR, H501ServiceRequest, H501DescriptorUpdate, and H501AccessRequest.

H323Transaction::PDECLARE_NOTIFIER | ( | PThread | ,
|  | H323Transaction | ,
|  | SlowHandler |  |
| ) |  |  | `[protected]`

virtual void H323Transaction::SetRejectReason | ( | unsigned | reasonCode | ) | `[pure virtual]`

Implemented in H323GatekeeperGRQ, H323GatekeeperRRQ, H323GatekeeperURQ, H323GatekeeperARQ, H323GatekeeperDRQ, H323GatekeeperBRQ, H323GatekeeperLRQ, H323GatekeeperIRR, H501ServiceRequest, H501DescriptorUpdate, and H501AccessRequest.

virtual H235Authenticator::ValidationResult H323Transaction::ValidatePDU | ( |  | ) | const`[pure virtual]`

Implemented in H323GatekeeperGRQ, H323GatekeeperRRQ, H323GatekeeperURQ, H323GatekeeperARQ, H323GatekeeperDRQ, H323GatekeeperBRQ, H323GatekeeperLRQ, H323GatekeeperIRR, and H501Transaction.

virtual PBoolean H323Transaction::WritePDU | ( | H323TransactionPDU & | pdu | ) | `[virtual]`

Reimplemented in H323GatekeeperRequest.

## Field Documentation

H235Authenticator::ValidationResult H323Transaction::authenticatorResult `[protected]`

H235Authenticators H323Transaction::authenticators `[protected]`

PBoolean H323Transaction::canSendRIP `[protected]`

H323TransactionPDU* H323Transaction::confirm `[protected]`

PBoolean H323Transaction::fastResponseRequired `[protected]`

PBoolean H323Transaction::isBehindNAT `[protected]`

H323TransactionPDU* H323Transaction::reject `[protected]`

H323TransportAddressArray H323Transaction::replyAddresses `[protected]`

H323TransactionPDU* H323Transaction::request `[protected]`

unsigned H323Transaction::requestSequenceNumber `[protected]`

H323Transactor& H323Transaction::transactor `[protected]`

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

- h323trans.h