OPAL  Version 3.14.3
OpalPCSSConnection Class Reference

#include <pcss.h>

Inheritance diagram for OpalPCSSConnection:
Collaboration diagram for OpalPCSSConnection:

Public Member Functions

Construction
 OpalPCSSConnection (OpalCall &call, OpalPCSSEndPoint &endpoint, const PString &playDevice, const PString &recordDevice, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
 
 ~OpalPCSSConnection ()
 
Overrides from OpalConnection
virtual void OnReleased ()
 
virtual PBoolean SetAlerting (const PString &calleeName, PBoolean withMedia)
 
virtual bool TransferConnection (const PString &remoteParty)
 
virtual void OnHold (bool fromRemote, bool onHold)
 
virtual OpalMediaStreamCreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource)
 
virtual void OnStartMediaPatch (OpalMediaPatch &patch)
 
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)
 
virtual void AlertingIncoming (bool withMedia=false)
 
virtual void AcceptIncoming ()
 
New operations
virtual PSoundChannel * CreateSoundChannel (const OpalMediaFormat &mediaFormat, PBoolean isSource)
 
virtual bool ChangeSoundChannel (const PString &device, bool isSource, unsigned sessionID=0)
 
Member variable access
const PString & GetLocalRingbackTone () const
 
const PString & GetSoundChannelPlayDevice () const
 
const PString & GetSoundChannelRecordDevice () const
 
const PString & GetSoundChannelOnHoldDevice () const
 
const PString & GetSoundChannelOnRingDevice () const
 
const PVideoDevice::OpenArgs & GetVideoOnHoldDevice () const
 
const PVideoDevice::OpenArgs & GetVideoOnRingDevice () const
 
unsigned GetSoundChannelBufferDepth () const
 
unsigned GetSoundChannelBufferTime () 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 OnIncomingConnection (unsigned int options, OpalConnection::StringOptions *stringOptions)
 
virtual PBoolean IsNetworkConnection () const
 
virtual void OnApplyStringOptions ()
 Call back for connection to act on changed string options. More...
 
virtual PBoolean SetUpConnection ()
 
virtual PBoolean SetConnected ()
 
virtual bool HoldRemote (bool placeOnHold)
 
virtual OpalMediaStreamPtr OpenMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
 
virtual void OnClosedMediaStream (const OpalMediaStream &stream)
 
virtual PBoolean SendUserInputString (const PString &value)
 
virtual bool OnOutgoingSetUp ()
 
virtual bool OnOutgoing ()
 
virtual bool OnIncoming ()
 
virtual bool OnReadMediaFrame (const OpalMediaStream &mediaStream, RTP_DataFrame &frame)
 
virtual bool OnWriteMediaFrame (const OpalMediaStream &mediaStream, RTP_DataFrame &frame)
 
virtual bool OnReadMediaData (const OpalMediaStream &mediaStream, void *data, PINDEX size, PINDEX &length)
 
virtual bool OnWriteMediaData (const OpalMediaStream &mediaStream, const void *data, PINDEX length, PINDEX &written)
 
virtual
OpalLocalEndPoint::Synchronicity 
GetSynchronicity (const OpalMediaFormat &mediaFormat, bool isSource) const
 
virtual bool CreateVideoInputDevice (const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, bool &autoDelete)
 
virtual bool CreateVideoOutputDevice (const OpalMediaFormat &mediaFormat, bool preview, PVideoOutputDevice *&device, bool &autoDelete)
 
virtual bool ChangeVideoInputDevice (const PVideoDevice::OpenArgs &device, unsigned sessionID=0)
 
virtual bool ChangeVideoOutputDevice (const PVideoDevice::OpenArgs &device, unsigned sessionID=0, bool preview=false)
 
bool FarEndCameraControl (PVideoControlInfo::Types what, int direction=0, const PTimeInterval &duration=0)
 
void SetFarEndCameraCapabilityChangedNotifier (const PNotifier &notifier)
 Set a callback for when the far end camera control capabilities change. More...
 
void SetFarEndCameraActionNotifier (const PNotifier &notifier)
 Set a callback for when a far end camera control action comes from remote. More...
 
void * GetUserData () const
 Get user data pointer. More...
 
void SetUserData (void *v)
 Set user data pointer. More...
 
- Public Member Functions inherited from OpalConnection
 P_DECLARE_TRACED_ENUM_EX (CallEndReasonCodes, NumCallEndReasons, EndedByLocalUser, 0, 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, EndedByMediaFailed, EndedByCallCompletedElsewhere, EndedByCertificateAuthority, EndedByIllegalAddress, EndedByCustomCode)
 
 P_DECLARE_TRACED_ENUM (AnswerCallResponse, AnswerCallNow, AnswerCallDenied, AnswerCallPending, AnswerCallDeferred, AnswerCallAlertWithMedia, AnswerCallDeferredWithMedia, AnswerCallProgress, AnswerCallNowAndReleaseCurrent)
 
const StringOptionsGetStringOptions () const
 Get the string options associated with this connection. More...
 
StringOptionsGetStringOptions ()
 
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 OnSetUpConnection ()
 
virtual void OnProceeding ()
 
virtual void OnAlerting ()
 
virtual AnswerCallResponse OnAnswerCall (const PString &callerName)
 
virtual void AnsweringCall (AnswerCallResponse response)
 
virtual void OnConnected ()
 
virtual void OnEstablished ()
 
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 GetMediaFormats () const
 
virtual OpalMediaFormatList GetLocalMediaFormats ()
 
virtual void AdjustMediaFormats (bool local, const OpalConnection *otherConnection, OpalMediaFormatList &mediaFormats) const
 
virtual PStringArray GetMediaCryptoSuites () const
 
virtual unsigned GetNextSessionID (const OpalMediaType &mediaType, bool isSource)
 
virtual bool RequireSymmetricMediaStreams () const
 
virtual
OpalMediaType::AutoStartMode 
GetAutoStart (const OpalMediaType &mediaType) const
 
virtual void AutoStartMediaStreams (bool transfer=false)
 
bool CloseMediaStream (unsigned sessionId, bool source)
 
bool CloseMediaStream (OpalMediaStreamPtr 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 OnFailedMediaStream (bool fromRemote, const PString &reason)
 
virtual void OnPatchMediaStream (PBoolean isSource, OpalMediaPatch &patch)
 
virtual void OnStopMediaPatch (OpalMediaPatch &patch)
 
virtual bool OnMediaFailed (unsigned sessionId, bool source)
 
bool AllMediaFailed () const
 
virtual bool OnMediaCommand (OpalMediaStream &stream, const OpalMediaCommand &command)
 
virtual bool ExecuteMediaCommand (const OpalMediaCommand &command, unsigned sessionID=0, const OpalMediaType &mediaType=OpalMediaType()) const
 
virtual bool GetMediaTransportAddresses (OpalConnection &otherConnection, const OpalMediaType &mediaType, OpalTransportAddressArray &transports) const
 
virtual bool SendVideoUpdatePicture (unsigned sessionID=0, bool force=false) const
 
void SendVideoUpdatePictureCallback (unsigned sessionID, bool force)
 
virtual void OnRxIntraFrameRequest (const OpalMediaSession &session, bool force)
 
OpalBandwidth GetBandwidthAvailable (OpalBandwidth::Direction dir) const
 
virtual bool SetBandwidthAvailable (OpalBandwidth::Direction dir, OpalBandwidth availableBandwidth)
 
virtual bool SetBandwidthAllocated (OpalBandwidth::Direction dir, OpalBandwidth newBandwidth)
 
virtual OpalBandwidth GetBandwidthUsed (OpalBandwidth::Direction dir) const
 
virtual bool SetBandwidthUsed (OpalBandwidth::Direction dir, OpalBandwidth releasedBandwidth, OpalBandwidth requiredBandwidth)
 
 P_DECLARE_TRACED_ENUM (SendUserInputModes, SendUserInputAsQ931, SendUserInputAsString, SendUserInputAsTone, SendUserInputAsRFC2833, SendUserInputAsInlineRFC2833=SendUserInputAsRFC2833, SendUserInputInBand, SendUserInputAsProtocolDefault)
 
virtual void SetSendUserInputMode (SendUserInputModes mode)
 
virtual SendUserInputModes GetSendUserInputMode () const
 
virtual SendUserInputModes GetRealSendUserInputMode () const
 
virtual PBoolean SendUserInputTone (char tone, unsigned duration=0)
 
virtual void OnUserInputString (const PString &value)
 
void OnUserInputStringCallback (PString value)
 
virtual void OnUserInputTone (char tone, unsigned duration)
 
void SendUserInputHookFlash (unsigned duration=500)
 
virtual PString GetUserInput (unsigned timeout=30)
 
virtual void SetUserInput (const PString &input)
 
virtual PString ReadUserInput (const char *terminators="YX#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30)
 
virtual PBoolean PromptUserInput (PBoolean play)
 
virtual bool GetConferenceState (OpalConferenceState *state) const
 
virtual bool RequestPresentationRole (bool release)
 
virtual bool OnChangedPresentationRole (const PString &newChairURI, bool request)
 
virtual bool HasPresentationRole () const
 
virtual bool GarbageCollection ()
 
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)
 
virtual PString GetPrefixName () const
 
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
 
virtual OpalTransportAddress GetRemoteAddress () const
 
virtual PString GetRemotePartyURL () const
 
virtual PString GetRemoteIdentity () const
 
P_DEPRECATED PString GetRemotePartyAddress () const
 
P_DEPRECATED const PString GetRemotePartyCallbackURL () const
 
PCaselessString GetRemoteApplication () const
 
const OpalProductInfoGetRemoteProductInfo () const
 
const PString & GetRedirectingParty () const
 
void SetRedirectingParty (const PString &party)
 
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
 
unsigned GetVideoUpdateRequestsSent () const
 
unsigned GetVideoUpdateRequestsReceived () const
 
 P_DECLARE_TRACED_ENUM (Phases, UninitialisedPhase, SetUpPhase, ProceedingPhase, AlertingPhase, ConnectedPhase, EstablishedPhase, ForwardingPhase, ReleasingPhase, ReleasedPhase)
 
__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 IsOnHold (bool fromRemote) const
 

Protected Member Functions

void RingbackMain ()
 
- Protected Member Functions inherited from OpalLocalConnection
void InternalAcceptIncoming ()
 
- Protected Member Functions inherited from OpalConnection
void OnConnectedInternal ()
 
void InternalSetAsOriginating ()
 
bool InternalRelease (CallEndReason reason)
 
void InternalOnReleased ()
 
 PDECLARE_NOTIFIER (RTP_DataFrame, OpalConnection, OnRecordAudio)
 
 PDECLARE_NOTIFIER (RTP_DataFrame, OpalConnection, OnRecordVideo)
 
void OnStartRecording (OpalMediaPatch *patch)
 
void OnStopRecording (OpalMediaPatch *patch)
 

Protected Attributes

OpalPCSSEndPointm_endpoint
 
PString m_localRingbackTone
 
PString m_soundChannelPlayDevice
 
PString m_soundChannelRecordDevice
 
PString m_soundChannelOnHoldDevice
 
PString m_soundChannelOnRingDevice
 
unsigned m_soundChannelBuffers
 
unsigned m_soundChannelBufferTime
 
PVideoDevice::OpenArgs m_videoOnHoldDevice
 
PVideoDevice::OpenArgs m_videoOnRingDevice
 
PThread * m_ringbackThread
 
PSyncPoint m_ringbackStop
 
- Protected Attributes inherited from OpalLocalConnection
OpalLocalEndPointm_endpoint
 
void * m_userData
 
OpalH224Handlerm_h224Handler
 
OpalFarEndCameraControlm_farEndCameraControl
 
- Protected Attributes inherited from OpalConnection
OpalCallownerCall
 
OpalEndPointendpoint
 
PString callToken
 
PBoolean m_originating
 
OpalProductInfo productInfo
 
PString localPartyName
 
PString displayName
 
PString remotePartyName
 
PString m_remotePartyURL
 
OpalProductInfo remoteProductInfo
 
PString remotePartyNumber
 
PString m_redirectingParty
 
CallEndReason callEndReason
 
PString m_calledPartyNumber
 
PString m_calledPartyName
 
SendUserInputModes sendUserInputMode
 
PString userInputString
 
PSyncPoint userInputAvailable
 
OpalSilenceDetectorsilenceDetector
 
OpalMediaFormat m_filterMediaFormat
 
OpalMediaFormatList m_localMediaFormats
 
PSafeList< OpalMediaStreammediaStreams
 
unsigned m_minAudioJitterDelay
 
unsigned m_maxAudioJitterDelay
 
OpalBandwidth m_rxBandwidthAvailable
 
OpalBandwidth m_txBandwidthAvailable
 
StringOptions m_stringOptions
 
PString m_recordingFilename
 
PNotifier m_recordAudioNotifier
 
PNotifier m_recordVideoNotifier
 
unsigned m_VideoUpdateRequestsSent
 
unsigned m_VideoUpdateRequestsReceived
 
OpalMediaType::AutoStartMap m_autoStartInfo
 
ZeroTime m_phaseTime [NumPhases]
 
std::set< unsigned > m_mediaSessionFailed
 

Additional Inherited Members

- Public Types inherited from OpalConnection
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
}
 
- Static Public Member Functions inherited from OpalConnection
static PString GetCallEndReasonText (CallEndReason reason)
 
static void SetCallEndReasonText (CallEndReasonCodes reasonCode, const PString &newText)
 

Detailed Description

PC Sound System connection.

Constructor & Destructor Documentation

OpalPCSSConnection::OpalPCSSConnection ( OpalCall call,
OpalPCSSEndPoint endpoint,
const PString &  playDevice,
const PString &  recordDevice,
unsigned  options = 0,
OpalConnection::StringOptions stringOptions = NULL 
)

Create a new endpoint.

Parameters
callOwner calll for connection
endpointOwner endpoint for connection
playDeviceSound channel play device
recordDeviceSound channel record device
optionsOption bit map to be passed to connection
stringOptionsOptions to be passed to connection
OpalPCSSConnection::~OpalPCSSConnection ( )

Destroy endpoint.

Member Function Documentation

virtual void OpalPCSSConnection::AcceptIncoming ( )
virtual

Accept the incoming connection.

Reimplemented from OpalLocalConnection.

virtual void OpalPCSSConnection::AlertingIncoming ( bool  withMedia = false)
virtual

Indicate alerting for the incoming connection. If GetSoundChannelOnRingDevice() is non-empty, then the withMedia is overridden to true.

Parameters
withMediaIndicate media should be started

Reimplemented from OpalLocalConnection.

virtual bool OpalPCSSConnection::ChangeSoundChannel ( const PString &  device,
bool  isSource,
unsigned  sessionID = 0 
)
virtual

Change a PVideoInputDevice for a source media stream.

Parameters
deviceDevice to change to
isSourceChange source (recorder) or sink (player)
sessionIDSession for media stream, 0 indicates first audio stream
virtual OpalMediaStream* OpalPCSSConnection::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.

Parameters
mediaFormatMedia format for stream
sessionIDSession number for stream
isSourceIs a source stream

Reimplemented from OpalLocalConnection.

virtual PSoundChannel* OpalPCSSConnection::CreateSoundChannel ( const OpalMediaFormat mediaFormat,
PBoolean  isSource 
)
virtual

Create an PSoundChannel based media stream.

Parameters
mediaFormatMedia format for the connection
isSourceDirection for channel
virtual bool OpalPCSSConnection::GetAudioMute ( bool  source,
bool &  mute 
)
virtual

Get the mute state for the audio media channel.

Parameters
sourcetrue for source (microphone), false for sink (speaker)
muteFlag for muted audio

Reimplemented from OpalConnection.

virtual unsigned OpalPCSSConnection::GetAudioSignalLevel ( PBoolean  source)
virtual

Get the average signal level (0..32767) for the audio media channel. A return value of UINT_MAX indicates no valid signal, eg no audio channel opened.

Parameters
sourcetrue for source (microphone), false for sink (speaker)

Reimplemented from OpalConnection.

virtual PBoolean OpalPCSSConnection::GetAudioVolume ( PBoolean  source,
unsigned &  percentage 
)
virtual

Get the volume (gain) for the audio media channel. The volume range is 0 == muted, 100 == LOUDEST.

Parameters
sourcetrue for source (microphone), false for sink (speaker)
percentageGain, 0=silent, 100=maximun

Reimplemented from OpalConnection.

const PString& OpalPCSSConnection::GetLocalRingbackTone ( ) const
inline

Get the local ringback tone to be played when remote indicates it is ringing.

References m_localRingbackTone.

unsigned OpalPCSSConnection::GetSoundChannelBufferDepth ( ) const
inline

Get default the sound channel buffer depth. Note the largest of the depth in frames and the depth in milliseconds as returned by GetSoundBufferTime() is used.

References m_soundChannelBuffers.

unsigned OpalPCSSConnection::GetSoundChannelBufferTime ( ) const
inline

Get default the sound channel buffer time in milliseconds. Note the largest of the depth in frames and the depth in milliseconds as returned by GetSoundBufferTime() is used.

References m_soundChannelBufferTime.

const PString& OpalPCSSConnection::GetSoundChannelOnHoldDevice ( ) const
inline

Get the name for the sound channel to be used for input when on hold. This defaults to the "Null Audio".

References m_soundChannelOnHoldDevice.

const PString& OpalPCSSConnection::GetSoundChannelOnRingDevice ( ) const
inline

Get the name for the sound channel to be used for input when on hold. This defaults to an empty string which does not send video on ringing.

References m_soundChannelOnRingDevice.

const PString& OpalPCSSConnection::GetSoundChannelPlayDevice ( ) const
inline

Get the name for the sound channel to be used for output. This defaults to the value of the PSoundChannel::GetDefaultDevice() function.

References m_soundChannelPlayDevice.

const PString& OpalPCSSConnection::GetSoundChannelRecordDevice ( ) const
inline

Get the name for the sound channel to be used for input. This defaults to the value of the PSoundChannel::GetDefaultDevice() function.

References m_soundChannelRecordDevice.

const PVideoDevice::OpenArgs& OpalPCSSConnection::GetVideoOnHoldDevice ( ) const
inline

Get the name for the video device to be used for input when on hold. This defaults to the "Null Video Out".

References m_videoOnHoldDevice.

const PVideoDevice::OpenArgs& OpalPCSSConnection::GetVideoOnRingDevice ( ) const
inline

Get the name for the video device to be used for input when ringing. This defaults to an empty string which does not send video on ringing.

References m_videoOnRingDevice.

virtual void OpalPCSSConnection::OnHold ( bool  fromRemote,
bool  onHold 
)
virtual

Call back indicating result of last hold/retrieve operation. This also indicates if the local connection has been put on hold by the remote connection.

Parameters
fromRemoteIndicates remote has held local connection
onHoldIndicates have just been held/retrieved.

Reimplemented from OpalConnection.

virtual void OpalPCSSConnection::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 OpalPCSSConnection::OnStartMediaPatch ( OpalMediaPatch patch)
virtual

Call back when media stream patch thread starts.

Default behaviour calls OpalManager function of same name.

Parameters
patchPatch being started

Reimplemented from OpalConnection.

void OpalPCSSConnection::RingbackMain ( )
protected
virtual PBoolean OpalPCSSConnection::SetAlerting ( const PString &  calleeName,
PBoolean  withMedia 
)
virtual

Indicate to remote endpoint an alert is in progress. If this is an incoming connection and the AnswerCallResponse is in a AnswerCallDeferred or AnswerCallPending state, then this function is used to indicate to that endpoint that an alert is in progress. This is usually due to another connection which is in the call (the B party) has received an OnAlerting() indicating that its remote endpoint is "ringing".

The default behaviour does nothing.

Parameters
calleeNameName of endpoint being alerted.
withMediaOpen media with alerting

Reimplemented from OpalLocalConnection.

virtual bool OpalPCSSConnection::SetAudioMute ( bool  source,
bool  mute 
)
virtual

Set the mute state for the audio media channel.

Parameters
sourcetrue for source (microphone), false for sink (speaker)
muteFlag for muted audio

Reimplemented from OpalConnection.

virtual PBoolean OpalPCSSConnection::SetAudioVolume ( PBoolean  source,
unsigned  percentage 
)
virtual

Set the volume (gain) for the audio media channel. The volume range is 0 == muted, 100 == LOUDEST.

Parameters
sourcetrue for source (microphone), false for sink (speaker)
percentageGain, 0=silent, 100=maximun

Reimplemented from OpalConnection.

virtual bool OpalPCSSConnection::TransferConnection ( const PString &  remoteParty)
virtual

Initiate the transfer of an existing call (connection) to a new remote party.

If remoteParty is a valid call token, then the remote party is transferred to that party (consultation transfer) and both calls are cleared.

Parameters
remotePartyRemote party to transfer the existing call to

Reimplemented from OpalConnection.

Field Documentation

OpalPCSSEndPoint& OpalPCSSConnection::m_endpoint
protected
PString OpalPCSSConnection::m_localRingbackTone
protected

Referenced by GetLocalRingbackTone().

PSyncPoint OpalPCSSConnection::m_ringbackStop
protected
PThread* OpalPCSSConnection::m_ringbackThread
protected
unsigned OpalPCSSConnection::m_soundChannelBuffers
protected
unsigned OpalPCSSConnection::m_soundChannelBufferTime
protected
PString OpalPCSSConnection::m_soundChannelOnHoldDevice
protected
PString OpalPCSSConnection::m_soundChannelOnRingDevice
protected
PString OpalPCSSConnection::m_soundChannelPlayDevice
protected
PString OpalPCSSConnection::m_soundChannelRecordDevice
protected
PVideoDevice::OpenArgs OpalPCSSConnection::m_videoOnHoldDevice
protected

Referenced by GetVideoOnHoldDevice().

PVideoDevice::OpenArgs OpalPCSSConnection::m_videoOnRingDevice
protected

Referenced by GetVideoOnRingDevice().


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