# OpalFaxSession Class Reference

`#include <t38proto.h>`

Inheritance diagram for OpalFaxSession:

[legend]
Collaboration diagram for OpalFaxSession:
[legend]

## Public Member Functions

| OpalFaxSession (const Init &init)
| ~OpalFaxSession ()
virtual const PCaselessString & | GetSessionType () const
virtual bool | Open (const PString &localInterface, const OpalTransportAddress &remoteAddress, bool isMediaAddress)
virtual bool | IsOpen () const
virtual bool | Close ()
virtual OpalTransportAddress | GetLocalAddress (bool isMediaAddress=true) const
virtual OpalTransportAddress | GetRemoteAddress (bool isMediaAddress=true) const
virtual bool | SetRemoteAddress (const OpalTransportAddress &remoteAddress, bool isMediaAddress=true)
virtual void | AttachTransport (Transport &transport)
virtual Transport | DetachTransport ()
virtual OpalMediaStream * | CreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
bool | WriteData (RTP_DataFrame &frame)
bool | ReadData (RTP_DataFrame &frame)
void | ApplyMediaOptions (const OpalMediaFormat &mediaFormat)

## Static Public Member Functions

static const PCaselessString & | UDPTL ()

## Protected Member Functions

void | SetFrameFromIFP (RTP_DataFrame &frame, const PASN_OctetString &ifp, unsigned sequenceNumber)
void | DecrementSentPacketRedundancy (bool stripRedundancy)
bool | WriteUDPTL ()
| PDECLARE_NOTIFIER (PTimer, OpalFaxSession, OnWriteDataIdle)

## Protected Attributes

Transport | m_savedTransport
PIPSocket * | m_dataSocket
bool | m_shuttingDown
bool | m_rawUDPTL
PINDEX | m_datagramSize
int | m_consecutiveBadPackets
bool | m_awaitingGoodPacket
T38_UDPTLPacket * | m_receivedPacket
unsigned | m_expectedSequenceNumber
int | m_secondaryPacket
std::map< int, int > | m_redundancy
PTimeInterval | m_redundancyInterval
PTimeInterval | m_keepAliveInterval
bool | m_optimiseOnRetransmit
std::vector< int > | m_sentPacketRedundancy
T38_UDPTLPacket * | m_sentPacket
PMutex | m_writeMutex
PTimer | m_timerWriteDataIdle

## Constructor & Destructor Documentation

OpalFaxSession::OpalFaxSession | ( | const Init & | init | ) |

OpalFaxSession::~OpalFaxSession | ( |  | ) |

## Member Function Documentation

void OpalFaxSession::ApplyMediaOptions | ( | const OpalMediaFormat & | mediaFormat | ) |

virtual void OpalFaxSession::AttachTransport | ( | Transport & | transport | ) | `[virtual]`

virtual bool OpalFaxSession::Close | ( |  | ) | `[virtual]`

Reimplemented from OpalMediaSession.

virtual OpalMediaStream* OpalFaxSession::CreateMediaStream | ( | const OpalMediaFormat & | mediaFormat,
|  | unsigned | sessionID,
|  | bool | isSource |
| ) |  |  | `[virtual]`

Implements OpalMediaSession.

void OpalFaxSession::DecrementSentPacketRedundancy | ( | bool | stripRedundancy | ) | `[protected]`

virtual Transport OpalFaxSession::DetachTransport | ( |  | ) | `[virtual]`

Reimplemented from OpalMediaSession.

virtual OpalTransportAddress OpalFaxSession::GetLocalAddress | ( | bool | isMediaAddress = `true` | ) | const`[virtual]`

Reimplemented from OpalMediaSession.

virtual OpalTransportAddress OpalFaxSession::GetRemoteAddress | ( | bool | isMediaAddress = `true` | ) | const`[virtual]`

Reimplemented from OpalMediaSession.

virtual const PCaselessString& OpalFaxSession::GetSessionType | ( |  | ) | const`[inline, virtual]`

Implements OpalMediaSession.

virtual bool OpalFaxSession::IsOpen | ( |  | ) | const`[virtual]`

Reimplemented from OpalMediaSession.

virtual bool OpalFaxSession::Open | ( | const PString & | localInterface,
|  | const OpalTransportAddress & | remoteAddress,
|  | bool | isMediaAddress |
| ) |  |  | `[virtual]`

Reimplemented from OpalMediaSession.

OpalFaxSession::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | OpalFaxSession | ,
|  | OnWriteDataIdle |  |
| ) |  |  | `[protected]`

bool OpalFaxSession::ReadData | ( | RTP_DataFrame & | frame | ) |

void OpalFaxSession::SetFrameFromIFP | ( | RTP_DataFrame & | frame,
|  | const PASN_OctetString & | ifp,
|  | unsigned | sequenceNumber |
| ) |  |  | `[protected]`

virtual bool OpalFaxSession::SetRemoteAddress | ( | const OpalTransportAddress & | remoteAddress,
|  | bool | isMediaAddress = `true` |
| ) |  |  | `[virtual]`

Reimplemented from OpalMediaSession.

static const PCaselessString& OpalFaxSession::UDPTL | ( |  | ) | `[static]`

bool OpalFaxSession::WriteData | ( | RTP_DataFrame & | frame | ) |

bool OpalFaxSession::WriteUDPTL | ( |  | ) | `[protected]`

## Field Documentation

bool OpalFaxSession::m_awaitingGoodPacket `[protected]`

int OpalFaxSession::m_consecutiveBadPackets `[protected]`

PINDEX OpalFaxSession::m_datagramSize `[protected]`

PIPSocket* OpalFaxSession::m_dataSocket `[protected]`

unsigned OpalFaxSession::m_expectedSequenceNumber `[protected]`

PTimeInterval OpalFaxSession::m_keepAliveInterval `[protected]`

bool OpalFaxSession::m_optimiseOnRetransmit `[protected]`

bool OpalFaxSession::m_rawUDPTL `[protected]`

T38_UDPTLPacket* OpalFaxSession::m_receivedPacket `[protected]`

std::map<int, int> OpalFaxSession::m_redundancy `[protected]`

PTimeInterval OpalFaxSession::m_redundancyInterval `[protected]`

Transport OpalFaxSession::m_savedTransport `[protected]`

int OpalFaxSession::m_secondaryPacket `[protected]`

T38_UDPTLPacket* OpalFaxSession::m_sentPacket `[protected]`

std::vector<int> OpalFaxSession::m_sentPacketRedundancy `[protected]`

bool OpalFaxSession::m_shuttingDown `[protected]`

PTimer OpalFaxSession::m_timerWriteDataIdle `[protected]`

PMutex OpalFaxSession::m_writeMutex `[protected]`

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

- t38proto.h