OPAL  Version 3.10.10
OpalFaxConnection Class Reference

#include <t38proto.h>

Inheritance diagram for OpalFaxConnection:
OpalLocalConnection OpalConnection

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 OpalMediaStreamCreateMediaStream (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 StringOptionsGetStringOptions () 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< OpalConnectionGetOtherPartyConnection () 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)
 
OpalEndPointGetEndPoint () const
 
OpalCallGetCall () 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 OpalProductInfoGetProductInfo () 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 OpalProductInfoGetRemoteProductInfo () 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)
 
OpalSilenceDetectorGetSilenceDetector () const
 
virtual PString GetIdentifier () const
 
virtual PINDEX GetMaxRtpPayloadSize () const
 
virtual OpalTransportGetTransport () 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="#\", 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

OpalFaxEndPointm_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
OpalLocalEndPointendpoint
 
void * m_userData
 
- Protected Attributes inherited from OpalConnection
OpalCallownerCall
 
OpalEndPointendpoint
 
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
 
OpalSilenceDetectorsilenceDetector
 
OpalMediaFormat m_filterMediaFormat
 
OpalMediaFormatList m_localMediaFormats
 
MediaAddressesDict mediaTransportAddresses
 
PSafeList< OpalMediaStreammediaStreams
 
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

anonymous enum
protected
Enumerator
e_AwaitingSwitchToT38 
e_SwitchingToT38 
e_CompletedSwitch 

Constructor & Destructor Documentation

◆ OpalFaxConnection()

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

Create a new endpoint.

Parameters
callOwner calll for connection
endpointOwner endpoint for connection
filenameTIFF file name to send/receive
receivingTrue if receiving a fax
disableT38True if want to force G.711
stringOptionsOptions to pass to connection

◆ ~OpalFaxConnection()

OpalFaxConnection::~OpalFaxConnection ( )

Destroy endpoint.

Member Function Documentation

◆ AdjustMediaFormats()

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.

◆ CreateMediaStream()

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.

◆ GetFileName()

const PString& OpalFaxConnection::GetFileName ( ) const
inline

Get the file to send/receive

◆ GetMediaFormats()

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.

◆ GetPrefixName()

virtual PString OpalFaxConnection::GetPrefixName ( ) const
virtual

Get this connections protocol prefix for URLs.

Reimplemented from OpalConnection.

◆ GetStatistics()

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

Get fax transmission/receipt statistics.

Parameters
statisticsStatistics for call

◆ InternalGetStatistics()

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

◆ IsReceive()

bool OpalFaxConnection::IsReceive ( ) const
inline

Get receive fax flag.

References OpalEndPoint::PDECLARE_NOTIFIER().

◆ OnEstablished()

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.

◆ OnFaxCompleted()

virtual void OpalFaxConnection::OnFaxCompleted ( bool  failed)
virtual

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

Parameters
failedFax ended with failure

◆ OnReleased()

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.

◆ OnStartMediaPatch()

virtual void OpalFaxConnection::OnStartMediaPatch ( OpalMediaPatch patch)
virtual

Call back when media stream patch thread starts.

Reimplemented from OpalConnection.

◆ OnStopMediaPatch()

virtual void OpalFaxConnection::OnStopMediaPatch ( OpalMediaPatch patch)
virtual

Call back when media stream patch thread stops.

Reimplemented from OpalConnection.

◆ OnSwitchedFaxMediaStreams()

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.

◆ OnSwitchingFaxMediaStreams()

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.

◆ OnUserInputTone()

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.

◆ PDECLARE_NOTIFIER() [1/2]

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

◆ PDECLARE_NOTIFIER() [2/2]

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

◆ SendUserInputTone()

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.

◆ SetFaxMediaFormatOptions()

void OpalFaxConnection::SetFaxMediaFormatOptions ( OpalMediaFormat mediaFormat) const
protected

◆ SwitchFaxMediaStreams()

virtual bool OpalFaxConnection::SwitchFaxMediaStreams ( bool  toT38)
virtual

Switch to/from T.38 mode.

Reimplemented from OpalConnection.

Friends And Related Function Documentation

◆ OpalFaxMediaStream

friend class OpalFaxMediaStream
friend

Field Documentation

◆ m_disableT38

bool OpalFaxConnection::m_disableT38
protected

◆ m_endpoint

OpalFaxEndPoint& OpalFaxConnection::m_endpoint
protected

◆ m_filename

PString OpalFaxConnection::m_filename
protected

◆ m_finalStatistics

OpalMediaStatistics OpalFaxConnection::m_finalStatistics
protected

◆ m_receiving

bool OpalFaxConnection::m_receiving
protected

◆ m_state

enum { ... } OpalFaxConnection::m_state

◆ m_switchTimer

PTimer OpalFaxConnection::m_switchTimer
protected

◆ m_tiffFileFormat

OpalMediaFormat OpalFaxConnection::m_tiffFileFormat
protected

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