# OpalRFC2833Proto Class Reference

`#include <rfc2833.h>`

List of all members.

## Public Member Functions

| OpalRFC2833Proto (OpalRTPConnection &conn, const PNotifier &receiveNotifier)
| ~OpalRFC2833Proto ()
virtual PBoolean | SendToneAsync (char tone, unsigned duration)
virtual PBoolean | BeginTransmit (char tone)
virtual void | OnStartReceive (char tone, unsigned timestamp)
virtual void | OnStartReceive (char tone)
virtual void | OnEndReceive (char tone, unsigned duration, unsigned timestamp)
RTP_DataFrame::PayloadTypes | GetPayloadType () const
void | SetPayloadType (RTP_DataFrame::PayloadTypes type)
const PNotifier & | GetReceiveHandler () const

## Static Public Member Functions

static PINDEX | ASCIIToRFC2833 (char tone)
static char | RFC2833ToASCII (PINDEX rfc2833)

## Protected Types

enum | { ReceiveIdle, ReceiveActive, ReceiveEnding }
enum | { TransmitIdle, TransmitActive, TransmitEnding1, TransmitEnding2, TransmitEnding3 }

## Protected Member Functions

void | SendAsyncFrame ()
| PDECLARE_NOTIFIER (RTP_DataFrame, OpalRFC2833Proto, ReceivedPacket)
| PDECLARE_NOTIFIER (PTimer, OpalRFC2833Proto, ReceiveTimeout)
| PDECLARE_NOTIFIER (PTimer, OpalRFC2833Proto, AsyncTimeout)

## Protected Attributes

OpalRTPConnection & | conn
RTP_DataFrame::PayloadTypes | payloadType
PMutex | mutex
enum OpalRFC2833Proto:: { ... } | receiveState
BYTE | receivedTone
PNotifier | receiveNotifier
PTimer | receiveTimer
PNotifier | receiveHandler
enum OpalRFC2833Proto:: { ... } | transmitState
BYTE | transmitCode
RTP_Session * | rtpSession
PTimer | asyncTransmitTimer
PTimer | asyncDurationTimer
DWORD | transmitTimestamp
PBoolean | rewriteTransmitTimestamp
PTimeInterval | asyncStart
unsigned | transmitDuration
unsigned | tonesReceived
DWORD | previousReceivedTimestamp

## Member Enumeration Documentation

anonymous enum`[protected]`

Enumerator:

  ReceiveIdle |
  ReceiveActive |
  ReceiveEnding |

anonymous enum`[protected]`

Enumerator:

  TransmitIdle |
  TransmitActive |
  TransmitEnding1 |
  TransmitEnding2 |
  TransmitEnding3 |

## Constructor & Destructor Documentation

OpalRFC2833Proto::OpalRFC2833Proto | ( | OpalRTPConnection & | conn,
|  | const PNotifier & | receiveNotifier |
| ) |  |  |

OpalRFC2833Proto::~OpalRFC2833Proto | ( |  | ) |

## Member Function Documentation

virtual PBoolean OpalRFC2833Proto::SendToneAsync | ( | char | tone,
|  | unsigned | duration |
| ) |  |  | `[virtual]`

virtual PBoolean OpalRFC2833Proto::BeginTransmit | ( | char | tone | ) | `[virtual]`

Parameters:

  tone | DTMF tone code

virtual void OpalRFC2833Proto::OnStartReceive | ( | char | tone,
|  | unsigned | timestamp |
| ) |  |  | `[virtual]`

virtual void OpalRFC2833Proto::OnStartReceive | ( | char | tone | ) | `[virtual]`

virtual void OpalRFC2833Proto::OnEndReceive | ( | char | tone,
|  | unsigned | duration,
|  | unsigned | timestamp |
| ) |  |  | `[virtual]`

RTP_DataFrame::PayloadTypes OpalRFC2833Proto::GetPayloadType | ( |  | ) | const`[inline]`

void OpalRFC2833Proto::SetPayloadType | ( | RTP_DataFrame::PayloadTypes | type | ) | `[inline]`

Parameters:

  type | new payload type

const PNotifier& OpalRFC2833Proto::GetReceiveHandler | ( |  | ) | const`[inline]`

static PINDEX OpalRFC2833Proto::ASCIIToRFC2833 | ( | char | tone | ) | `[static]`

static char OpalRFC2833Proto::RFC2833ToASCII | ( | PINDEX | rfc2833 | ) | `[static]`

void OpalRFC2833Proto::SendAsyncFrame | ( |  | ) | `[protected]`

OpalRFC2833Proto::PDECLARE_NOTIFIER | ( | RTP_DataFrame | ,
|  | OpalRFC2833Proto | ,
|  | ReceivedPacket |  |
| ) |  |  | `[protected]`

OpalRFC2833Proto::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | OpalRFC2833Proto | ,
|  | ReceiveTimeout |  |
| ) |  |  | `[protected]`

OpalRFC2833Proto::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | OpalRFC2833Proto | ,
|  | AsyncTimeout |  |
| ) |  |  | `[protected]`

## Member Data Documentation

OpalRTPConnection& OpalRFC2833Proto::conn `[protected]`

RTP_DataFrame::PayloadTypes OpalRFC2833Proto::payloadType `[protected]`

PMutex OpalRFC2833Proto::mutex `[protected]`

enum { ... } OpalRFC2833Proto::receiveState `[protected]`

BYTE OpalRFC2833Proto::receivedTone `[protected]`

PNotifier OpalRFC2833Proto::receiveNotifier `[protected]`

PTimer OpalRFC2833Proto::receiveTimer `[protected]`

PNotifier OpalRFC2833Proto::receiveHandler `[protected]`

enum { ... } OpalRFC2833Proto::transmitState `[protected]`

BYTE OpalRFC2833Proto::transmitCode `[protected]`

RTP_Session* OpalRFC2833Proto::rtpSession `[protected]`

PTimer OpalRFC2833Proto::asyncTransmitTimer `[protected]`

PTimer OpalRFC2833Proto::asyncDurationTimer `[protected]`

DWORD OpalRFC2833Proto::transmitTimestamp `[protected]`

PBoolean OpalRFC2833Proto::rewriteTransmitTimestamp `[protected]`

PTimeInterval OpalRFC2833Proto::asyncStart `[protected]`

unsigned OpalRFC2833Proto::transmitDuration `[protected]`

unsigned OpalRFC2833Proto::tonesReceived `[protected]`

DWORD OpalRFC2833Proto::previousReceivedTimestamp `[protected]`

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

- rfc2833.h