OpalFaxConnection Class Reference

`#include <t38proto.h>`

Inheritance diagram for OpalFaxConnection:

## Public Member Functions

Construction
| OpalFaxConnection (OpalCall &call, OpalFaxEndPoint &endpoint, const PString &filename, bool receiving, bool disableT38, OpalConnection::StringOptions *stringOptions=NULL)
| ~OpalFaxConnection ()
Overrides from OpalLocalConnection
virtual PString | GetPrefixName () const
virtual OpalMediaFormatList | GetMediaFormats () const
virtual void | AdjustMediaFormats (bool local, const OpalConnection *otherConnection, OpalMediaFormatList &mediaFormats) const
virtual void | OnEstablished ()
virtual void | OnReleased ()
virtual OpalMediaStream * | CreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource)
virtual void | OnStartMediaPatch (OpalMediaPatch &patch)
virtual void | OnStopMediaPatch (OpalMediaPatch &patch)
virtual PBoolean | SendUserInputTone (char tone, unsigned duration)
virtual void | OnUserInputTone (char tone, unsigned duration)
virtual bool | SwitchFaxMediaStreams (bool toT38)
virtual void | OnSwitchedFaxMediaStreams (bool toT38, bool success)
virtual bool | OnSwitchingFaxMediaStreams (bool toT38)
New operations
virtual void | OnFaxCompleted (bool failed)
virtual void | GetStatistics (OpalMediaStatistics &statistics) const
const PString & | GetFileName () const
bool | IsReceive () const
Public Member Functions inherited from OpalLocalConnection
| OpalLocalConnection (OpalCall &call, OpalLocalEndPoint &endpoint, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions, char tokenPrefix= 'L')
| ~OpalLocalConnection ()
virtual PBoolean | IsNetworkConnection () const
virtual void | OnApplyStringOptions ()
| Call back for connection to act on changed string options. More...
virtual PBoolean | SetUpConnection ()
virtual PBoolean | SetAlerting (const PString &calleeName, PBoolean withMedia)
virtual PBoolean | SetConnected ()
virtual OpalMediaStreamPtr | OpenMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
virtual PBoolean | SendUserInputString (const PString &value)
virtual bool | OnOutgoingSetUp ()
virtual bool | OnOutgoing ()
virtual bool | OnIncoming ()
virtual void | AlertingIncoming ()
virtual void | AcceptIncoming ()
void * | GetUserData () const
| Get user data pointer. More...
void | SetUserData (void *v)
| Set user data pointer. More...
Public Member Functions inherited from OpalConnection
virtual bool | GarbageCollection ()
const StringOptions & | GetStringOptions () const
| Get the string options associated with this connection. More...
void | SetStringOptions (const StringOptions &options, bool overwrite)
| Set the string options associated with this connection. More...
virtual void | EnableRecording ()
virtual void | DisableRecording ()
| OpalConnection (OpalCall &call, OpalEndPoint &endpoint, const PString &token, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
| ~OpalConnection ()
void | PrintOn (ostream &strm) const
virtual PBoolean | OnIncomingConnection (unsigned int options, OpalConnection::StringOptions *stringOptions)
virtual PBoolean | OnSetUpConnection ()
virtual void | OnProceeding ()
virtual void | OnAlerting ()
virtual AnswerCallResponse | OnAnswerCall (const PString &callerName)
virtual void | AnsweringCall (AnswerCallResponse response)
virtual void | OnConnected ()
virtual bool | OnTransferNotify (const PStringToString &info, const OpalConnection *transferringConnection)
virtual void | Release (CallEndReason reason=EndedByLocalUser, bool synchronous=false)
virtual PString | GetDestinationAddress ()
virtual PBoolean | ForwardCall (const PString &forwardParty)
PSafePtr< OpalConnection > | GetOtherPartyConnection () const
template<class cls >
PSafePtr< cls > | GetOtherPartyConnectionAs () const
virtual OpalMediaFormatList | GetLocalMediaFormats ()
virtual unsigned | GetNextSessionID (const OpalMediaType &mediaType, bool isSource)
virtual OpalMediaType::AutoStartMode | GetAutoStart (const OpalMediaType &mediaType) const
virtual void | AutoStartMediaStreams (bool force=false)
virtual bool | CloseMediaStream (unsigned sessionId, bool source)
virtual bool | CloseMediaStream (OpalMediaStream &stream)
bool | RemoveMediaStream (OpalMediaStream &strm)
virtual void | StartMediaStreams ()
virtual void | CloseMediaStreams ()
virtual void | PauseMediaStreams (bool paused)
virtual void | OnPauseMediaStream (OpalMediaStream &strm, bool paused)
OpalMediaStreamPtr | GetMediaStream (const PString &streamID, bool source) const
OpalMediaStreamPtr | GetMediaStream (unsigned sessionId, bool source) const
OpalMediaStreamPtr | GetMediaStream (const OpalMediaType &mediaType, bool source, OpalMediaStreamPtr previous=NULL) const
virtual PBoolean | OnOpenMediaStream (OpalMediaStream &stream)
virtual void | OnClosedMediaStream (const OpalMediaStream &stream)
virtual void | OnPatchMediaStream (PBoolean isSource, OpalMediaPatch &patch)
virtual bool | OnMediaCommand (OpalMediaStream &stream, const OpalMediaCommand &command)
virtual void | AttachRFC2833HandlerToPatch (PBoolean isSource, OpalMediaPatch &patch)
virtual PBoolean | IsMediaBypassPossible (unsigned sessionID) const
virtual PBoolean | CreateVideoInputDevice (const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, PBoolean &autoDelete)
virtual PBoolean | CreateVideoOutputDevice (const OpalMediaFormat &mediaFormat, PBoolean preview, PVideoOutputDevice *&device, PBoolean &autoDelete)
virtual bool | SendVideoUpdatePicture (unsigned sessionID=0, bool force=false) const
virtual PBoolean | SetAudioVolume (PBoolean source, unsigned percentage)
virtual PBoolean | GetAudioVolume (PBoolean source, unsigned &percentage)
virtual bool | SetAudioMute (bool source, bool mute)
virtual bool | GetAudioMute (bool source, bool &mute)
virtual unsigned | GetAudioSignalLevel (PBoolean source)
unsigned | GetBandwidthAvailable () const
virtual PBoolean | SetBandwidthAvailable (unsigned newBandwidth, PBoolean force=false)
virtual unsigned | GetBandwidthUsed () const
virtual PBoolean | SetBandwidthUsed (unsigned releasedBandwidth, unsigned requiredBandwidth)
OpalEndPoint & | GetEndPoint () const
OpalCall & | GetCall () const
const PString & | GetToken () const
PBoolean | IsOriginating () const
const PTime & | GetPhaseTime (Phases phase) const
const PTime & | GetSetupUpTime () const
const PTime & | GetAlertingTime () const
const PTime & | GetConnectionStartTime () const
const PTime & | GetConnectionEndTime () const
const OpalProductInfo & | GetProductInfo () const
void | SetProductInfo (const OpalProductInfo &info)
const PString & | GetLocalPartyName () const
virtual void | SetLocalPartyName (const PString &name)
virtual PString | GetLocalPartyURL () const
const PString & | GetDisplayName () const
void | SetDisplayName (const PString &name)
virtual bool | IsPresentationBlocked () const
const PString & | GetRemotePartyName () const
void | SetRemotePartyName (const PString &name)
const PString & | GetRemotePartyNumber () const
const PString & | GetRemotePartyAddress () const
void | SetRemotePartyAddress (const PString &addr)
virtual PString | GetRemotePartyURL () const
const PString & | GetRedirectingParty () const
void | SetRedirectingParty (const PString &party)
const PString | GetRemotePartyCallbackURL () const
PCaselessString | GetRemoteApplication () const
const OpalProductInfo & | GetRemoteProductInfo () const
const PString & | GetCalledPartyName () const
const PString & | GetCalledPartyNumber () const
virtual PString | GetCalledPartyURL ()
void | CopyPartyNames (const OpalConnection &other)
virtual PString | GetAlertingType () const
virtual bool | SetAlertingType (const PString &info)
virtual PString | GetCallInfo () const
unsigned | GetMinAudioJitterDelay () const
unsigned | GetMaxAudioJitterDelay () const
void | SetAudioJitterDelay (unsigned minDelay, unsigned maxDelay)
OpalSilenceDetector * | GetSilenceDetector () const
virtual PString | GetIdentifier () const
virtual PINDEX | GetMaxRtpPayloadSize () const
virtual OpalTransport & | GetTransport () const
| PDICTIONARY (MediaAddressesDict, POrdinalKey, OpalTransportAddress)
MediaAddressesDict & | GetMediaTransportAddresses ()
unsigned | GetVideoUpdateRequestsSent () const
__inline Phases | GetPhase () const
__inline bool | IsEstablished () const
| Return true if connection is in the established phase. More...
__inline bool | IsReleased () const
| Return true if connection is in the established phase. More...
void | SetPhase (Phases phaseToSet)
CallEndReason | GetCallEndReason () const
PString | GetCallEndReasonText () const
virtual void | SetCallEndReason (CallEndReason reason)
void | ClearCall (CallEndReason reason=EndedByLocalUser, PSyncPoint *sync=NULL)
virtual void | ClearCallSynchronous (PSyncPoint *sync, CallEndReason reason=EndedByLocalUser)
unsigned | GetQ931Cause () const
void | SetQ931Cause (unsigned v)
virtual bool | TransferConnection (const PString &remoteParty)
virtual bool | Hold (bool fromRemote, bool placeOnHold)
virtual bool | IsOnHold (bool fromRemote)
virtual void | OnHold (bool fromRemote, bool onHold)
virtual void | SetSendUserInputMode (SendUserInputModes mode)
virtual SendUserInputModes | GetSendUserInputMode () const
virtual SendUserInputModes | GetRealSendUserInputMode () const
virtual void | OnUserInputString (const PString &value)
void | SendUserInputHookFlash (unsigned duration=500)
virtual PString | GetUserInput (unsigned timeout=30)
virtual void | SetUserInput (const PString &input)
virtual PString | ReadUserInput (const char *terminators="#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30)
virtual PBoolean | PromptUserInput (PBoolean play)

## Protected Types

enum | { e_AwaitingSwitchToT38, e_SwitchingToT38, e_CompletedSwitch }
Protected Types inherited from OpalConnection
enum | { e_NotSwitchingFaxMediaStreams, e_SwitchingToFaxMediaStreams, e_SwitchingFromFaxMediaStreams }

## Protected Member Functions

| PDECLARE_NOTIFIER (PTimer, OpalFaxConnection, OnSwitchTimeout)
| PDECLARE_NOTIFIER (PThread, OpalFaxConnection, OpenFaxStreams)
void | SetFaxMediaFormatOptions (OpalMediaFormat &mediaFormat) const
void | InternalGetStatistics (OpalMediaStatistics &statistics, bool terminate) const
Protected Member Functions inherited from OpalConnection
void | OnConnectedInternal ()
| PDECLARE_NOTIFIER (PThread, OpalConnection, OnReleaseThreadMain)
| PDECLARE_NOTIFIER (RTP_DataFrame, OpalConnection, OnRecordAudio)
| PDECLARE_NOTIFIER (RTP_DataFrame, OpalConnection, OnRecordVideo)
void | OnStartRecording (OpalMediaPatch *patch)
void | OnStopRecording (OpalMediaPatch *patch)

## Protected Attributes

OpalFaxEndPoint & | m_endpoint
PString | m_filename
bool | m_receiving
bool | m_disableT38
OpalMediaFormat | m_tiffFileFormat
OpalMediaStatistics | m_finalStatistics
enum OpalFaxConnection:: { ... } | m_state
PTimer | m_switchTimer
Protected Attributes inherited from OpalLocalConnection
OpalLocalEndPoint & | endpoint
void * | m_userData
Protected Attributes inherited from OpalConnection
OpalCall & | ownerCall
OpalEndPoint & | endpoint
PString | callToken
PBoolean | originating
OpalProductInfo | productInfo
PString | localPartyName
PString | displayName
PString | remotePartyName
PString | remotePartyURL
OpalProductInfo | remoteProductInfo
PString | remotePartyNumber
PString | remotePartyAddress
PString | m_redirectingParty
CallEndReason | callEndReason
PString | m_calledPartyNumber
PString | m_calledPartyName
SendUserInputModes | sendUserInputMode
PString | userInputString
PSyncPoint | userInputAvailable
OpalSilenceDetector * | silenceDetector
OpalMediaFormat | m_filterMediaFormat
OpalMediaFormatList | m_localMediaFormats
MediaAddressesDict | mediaTransportAddresses
PSafeList< OpalMediaStream > | mediaStreams
unsigned | minAudioJitterDelay
unsigned | maxAudioJitterDelay
unsigned | bandwidthAvailable
StringOptions | m_stringOptions
PString | m_recordingFilename
PNotifier | m_recordAudioNotifier
PNotifier | m_recordVideoNotifier
unsigned | m_VideoUpdateRequestsSent
AutoStartMap | m_autoStartInfo
enum OpalConnection:: { ... } | m_faxMediaStreamsSwitchState
ZeroTime | m_phaseTime [NumPhases]

## Friends

class | OpalFaxMediaStream

## Additional Inherited Members

Public Types inherited from OpalConnection

enum

CallEndReasonCodes {
EndedByLocalUser, EndedByNoAccept, EndedByAnswerDenied, EndedByRemoteUser,
EndedByRefusal, EndedByNoAnswer, EndedByCallerAbort, EndedByTransportFail,
EndedByConnectFail, EndedByGatekeeper, EndedByNoUser, EndedByNoBandwidth,
EndedByCapabilityExchange, EndedByCallForwarded, EndedBySecurityDenial, EndedByLocalBusy,
EndedByLocalCongestion, EndedByRemoteBusy, EndedByRemoteCongestion, EndedByUnreachable,
EndedByNoEndPoint, EndedByHostOffline, EndedByTemporaryFailure, EndedByQ931Cause,
EndedByDurationLimit, EndedByInvalidConferenceID, EndedByNoDialTone, EndedByNoRingBackTone,
EndedByOutOfService, EndedByAcceptingCallWaiting, EndedByGkAdmissionFailed, NumCallEndReasons
}

enum | AnswerCallResponse { AnswerCallNow, AnswerCallDenied, AnswerCallPending, AnswerCallDeferred, AnswerCallAlertWithMedia, AnswerCallDeferredWithMedia, AnswerCallProgress, AnswerCallNowAndReleaseCurrent, NumAnswerCallResponses }

enum

Options {
FastStartOptionDisable = 0x0001, FastStartOptionEnable = 0x0002, FastStartOptionMask = 0x0003, H245TunnelingOptionDisable = 0x0004,
H245TunnelingOptionEnable = 0x0008, H245TunnelingOptionMask = 0x000c, H245inSetupOptionDisable = 0x0010, H245inSetupOptionEnable = 0x0020,
H245inSetupOptionMask = 0x0030, DetectInBandDTMFOptionDisable = 0x0040, DetectInBandDTMFOptionEnable = 0x0080, DetectInBandDTMFOptionMask = 0x00c0,
RTPAggregationDisable = 0x0100, RTPAggregationEnable = 0x0200, RTPAggregationMask = 0x0300, SendDTMFAsDefault = 0x0000,
SendDTMFAsString = 0x0400, SendDTMFAsTone = 0x0800, SendDTMFAsRFC2833 = 0x0c00, SendDTMFMask = 0x0c00
}

enum | Phases { UninitialisedPhase, SetUpPhase, ProceedingPhase, AlertingPhase, ConnectedPhase, EstablishedPhase, ForwardingPhase, ReleasingPhase, ReleasedPhase, NumPhases }
enum | SendUserInputModes { SendUserInputAsQ931, SendUserInputAsString, SendUserInputAsTone, SendUserInputAsRFC2833, SendUserInputInBand, SendUserInputAsProtocolDefault, NumSendUserInputModes, SendUserInputAsInlineRFC2833 = SendUserInputAsRFC2833 }
Static Public Member Functions inherited from OpalConnection
static PString | GetCallEndReasonText (CallEndReason reason)
static void | SetCallEndReasonText (CallEndReasonCodes reasonCode, const PString &newText)

## Detailed Description

Fax Connection. There are six modes of operation: Mode receiving disableT38 filename TIFF -> T.38 false false "something.tif" T.38 -> TIFF true false "something.tif" TIFF -> G.711 false true "something.tif" G.711 ->TIFF true true "something.tif" T.38 -> G.711 false don't care PString::Empty() G.711 -> T.38 true don't care PString::Empty()

If T.38 is involved then there is generally two stages to the setup, as indicated by the m_switchedToT38 flag. When false then we are in audio mode looking for CNG/CED tones. When true, then we are switching, or have switched, to T.38 operation. If the switch fails, then the m_disableT38 is set and we proceed in fall back mode.

## Member Enumeration Documentation

anonymous enum

protected

Enumerator
e_AwaitingSwitchToT38 |
e_SwitchingToT38 |
e_CompletedSwitch |

## Constructor & Destructor Documentation

OpalFaxConnection::OpalFaxConnection | ( | OpalCall & | call,
|  | OpalFaxEndPoint & | endpoint,
|  | const PString & | filename,
|  | bool | receiving,
|  | bool | disableT38,
|  | OpalConnection::StringOptions * | stringOptions = `NULL`
| ) |  |

Create a new endpoint.

Parameters

  call | Owner calll for connection
  endpoint | Owner endpoint for connection
  filename | TIFF file name to send/receive
  receiving | True if receiving a fax
  disableT38 | True if want to force G.711
  stringOptions | Options to pass to connection

OpalFaxConnection::~OpalFaxConnection | ( |  | ) |

Destroy endpoint.

## Member Function Documentation

virtual void OpalFaxConnection::AdjustMediaFormats | ( | bool | local,
|  | const OpalConnection * | otherConnection,
|  | OpalMediaFormatList & | mediaFormats
| ) |  | const

virtual

Adjust media formats available on a connection. This is called by a connection after it has called OpalCall::GetMediaFormats() to get all media formats that it can use so that an application may remove or reorder the media formats before they are used to open media streams.

This function may also be executed by other connections in the call. If this happens then the "otherConnection" parameter will be non-NULL. The "local" parameter sense is relative to the "otherConnection" parameter, if NULL then it is relative to "this".

The default behaviour calls the OpalEndPoint function of the same name.

Reimplemented from OpalConnection.

virtual OpalMediaStream* OpalFaxConnection::CreateMediaStream | ( | const OpalMediaFormat & | mediaFormat,
|  | unsigned | sessionID,
|  | PBoolean | isSource
| ) |  |

virtual

Open a new media stream. This will create a media stream of an appropriate subclass as required by the underlying connection protocol. For instance H.323 would create an OpalRTPStream.

The sessionID parameter may not be needed by a particular media stream and may be ignored. In the case of an OpalRTPStream it us used.

Note that media streams may be created internally to the underlying protocol. This function is not the only way a stream can come into existance.

The default behaviour is pure.

Reimplemented from OpalLocalConnection.

const PString& OpalFaxConnection::GetFileName | ( |  | ) | const

inline

Get the file to send/receive

References m_filename.

virtual OpalMediaFormatList OpalFaxConnection::GetMediaFormats | ( |  | ) | const

virtual

Get the data formats this connection is capable of operating. This provides a list of media data format names that a OpalMediaStream may be created in within this connection.

The default behaviour calls GetMediaFormats() on the endpoint.

Reimplemented from OpalConnection.

virtual PString OpalFaxConnection::GetPrefixName | ( |  | ) | const

virtual

Get this connections protocol prefix for URLs.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::GetStatistics | ( | OpalMediaStatistics & | statistics | ) | const

virtual

Get fax transmission/receipt statistics.

Parameters

  statistics | Statistics for call

void OpalFaxConnection::InternalGetStatistics | ( | OpalMediaStatistics & | statistics,
|  | bool | terminate
| ) |  | const

protected

bool OpalFaxConnection::IsReceive | ( |  | ) | const

inline

Get receive fax flag.

References m_receiving.

virtual void OpalFaxConnection::OnEstablished | ( |  | ) |

virtual

A call back function whenever a connection is established. This indicates that a connection to an endpoint was established. This usually occurs after OnConnected() and indicates that the connection is both connected and has media flowing.

In the context of H.323 this means that the signalling and control channels are open and the TerminalCapabilitySet and MasterSlave negotiations are complete.

The default behaviour calls the OpalEndPoint function of the same name.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::OnFaxCompleted | ( | bool | failed | ) |

virtual

Fax transmission/receipt completed. Default behaviour calls equivalent function on OpalFaxEndPoint.

Parameters

  failed | Fax ended with failure

virtual void OpalFaxConnection::OnReleased | ( |  | ) |

virtual

Clean up the termination of the connection. This function can do any internal cleaning up and waiting on background threads that may be using the connection object.

Note that there is not a one to one relationship with the OnEstablishedConnection() function. This function may be called without that function being called. For example if SetUpConnection() was used but the call never completed.

Classes that override this function should make sure they call the ancestor version for correct operation.

An application will not typically call this function as it is used by the OpalManager during a release of the connection.

The default behaviour calls the OpalEndPoint function of the same name.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::OnStartMediaPatch | ( | OpalMediaPatch & | patch | ) |

virtual

Call back when media stream patch thread starts.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::OnStopMediaPatch | ( | OpalMediaPatch & | patch | ) |

virtual

Call back when media stream patch thread stops.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::OnSwitchedFaxMediaStreams | ( | bool | toT38,
|  | bool | success
| ) |  |

virtual

Indicate status of switch to/from T.38 mode.

Default behaviour does nothing.

Reimplemented from OpalConnection.

virtual bool OpalFaxConnection::OnSwitchingFaxMediaStreams | ( | bool | toT38 | ) |

virtual

Indicate remote is requesting switch to/from T.38 fax mode.

Default behaviour calls the same function on the other connection.

Reimplemented from OpalConnection.

virtual void OpalFaxConnection::OnUserInputTone | ( | char | tone,
|  | unsigned | duration
| ) |  |

virtual

Call back for remote enpoint has sent user input. If duration is zero then this indicates the beginning of the tone. If duration is non-zero then it indicates the end of the tone output.

The default behaviour calls the OpalEndPoint function of the same name.

Reimplemented from OpalConnection.

OpalFaxConnection::PDECLARE_NOTIFIER | ( | PTimer | ,
|  | OpalFaxConnection | ,
|  | OnSwitchTimeout |
| ) |  |

protected

OpalFaxConnection::PDECLARE_NOTIFIER | ( | PThread | ,
|  | OpalFaxConnection | ,
|  | OpenFaxStreams |
| ) |  |

protected

virtual PBoolean OpalFaxConnection::SendUserInputTone | ( | char | tone,
|  | unsigned | duration
| ) |  |

virtual

Send a user input indication to the remote endpoint. This sends DTMF emulation user input. If something more sophisticated than the simple tones that can be sent using the SendUserInput() function.

A duration of zero indicates that no duration is to be indicated. A non-zero logical channel indicates that the tone is to be syncronised with the logical channel at the rtpTimestamp value specified.

The tone parameter must be one of "0123456789#*ABCD!" where '!' indicates a hook flash. If tone is a ' ' character then a signalUpdate PDU is sent that updates the last tone indication sent. See the H.245 specifcation for more details on this.

The default behaviour sends the tone using RFC2833.

Reimplemented from OpalConnection.

void OpalFaxConnection::SetFaxMediaFormatOptions | ( | OpalMediaFormat & | mediaFormat | ) | const

protected

virtual bool OpalFaxConnection::SwitchFaxMediaStreams | ( | bool | toT38 | ) |

virtual

Switch to/from T.38 mode.

Reimplemented from OpalConnection.

## Friends And Related Function Documentation

friend class OpalFaxMediaStream

friend

## Field Documentation

bool OpalFaxConnection::m_disableT38

protected

OpalFaxEndPoint& OpalFaxConnection::m_endpoint

protected

PString OpalFaxConnection::m_filename

protected

Referenced by GetFileName().

OpalMediaStatistics OpalFaxConnection::m_finalStatistics

protected

bool OpalFaxConnection::m_receiving

protected

Referenced by IsReceive().

enum { ... } OpalFaxConnection::m_state

PTimer OpalFaxConnection::m_switchTimer

protected

OpalMediaFormat OpalFaxConnection::m_tiffFileFormat

protected

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

- t38proto.h