OPAL  Version 3.18.8
OpalConsolePCSSEndPoint Class Reference

#include <console_mgr.h>

Inheritance diagram for OpalConsolePCSSEndPoint:
Collaboration diagram for OpalConsolePCSSEndPoint:

Public Member Functions

 OpalConsolePCSSEndPoint (OpalManagerConsole &manager)
 
virtual void GetArgumentSpec (ostream &strm) const
 
virtual bool Initialise (PArgList &args, bool verbose, const PString &)
 
void SetRingInfo (ostream &out, bool verbose, const PString &filename, const PString &device, const PString &driver)
 
virtual bool OnIncomingCall (OpalLocalConnection &connection)
 
virtual void OnConnected (OpalConnection &connection)
 
virtual void OnReleased (OpalConnection &connection)
 
virtual void ShutDown ()
 
- Public Member Functions inherited from OpalPCSSEndPoint
 OpalPCSSEndPoint (OpalManager &manager, const char *prefix=OPAL_PCSS_PREFIX)
 
 ~OpalPCSSEndPoint ()
 
virtual PSafePtr< OpalConnectionMakeConnection (OpalCall &call, const PString &party, void *userData=NULL, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
 
virtual bool OnOutgoingCall (const OpalLocalConnection &connection)
 
virtual bool OnUserInput (const OpalLocalConnection &connection, const PString &indication)
 
virtual bool CreateVideoInputDevice (const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, bool &autoDelete)
 
virtual OpalPCSSConnectionCreateConnection (OpalCall &call, const PString &playDevice, const PString &recordDevice, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions)
 
virtual PSoundChannel * CreateSoundChannel (const OpalPCSSConnection &connection, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
 
virtual PSoundChannel * CreateSoundChannel (const OpalPCSSConnection &connection, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource, const PString &device)
 
PSafePtr< OpalPCSSConnectionGetPCSSConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite)
 
virtual PBoolean OnShowIncoming (const OpalPCSSConnection &connection)
 
virtual PBoolean AcceptIncomingConnection (const PString &connectionToken)
 
virtual PBoolean RejectIncomingConnection (const PString &connectionToken, const OpalConnection::CallEndReason &reason=OpalConnection::EndedByAnswerDenied)
 
virtual PBoolean OnShowOutgoing (const OpalPCSSConnection &connection)
 
virtual PBoolean OnShowUserInput (const OpalPCSSConnection &connection, const PString &indication)
 
bool SetLocalRingbackTone (const PString &tone)
 
const PString & GetLocalRingbackTone () const
 
virtual PBoolean SetSoundChannelPlayDevice (const PString &name)
 
const PString & GetSoundChannelPlayDevice () const
 
virtual PBoolean SetSoundChannelRecordDevice (const PString &name)
 
const PString & GetSoundChannelRecordDevice () const
 
virtual bool SetSoundChannelOnHoldDevice (const PString &name)
 
const PString & GetSoundChannelOnHoldDevice () const
 
virtual bool SetSoundChannelOnRingDevice (const PString &name)
 
const PString & GetSoundChannelOnRingDevice () const
 
virtual bool SetVideoGrabberDevice (const PVideoDevice::OpenArgs &args)
 
const PVideoDevice::OpenArgs & GetVideoGrabberDevice () const
 
virtual bool SetVideoPreviewDevice (const PVideoDevice::OpenArgs &args)
 
const PVideoDevice::OpenArgs & GetVideoPreviewDevice () const
 
virtual bool SetVideoDisplayDevice (const PVideoDevice::OpenArgs &args)
 
const PVideoDevice::OpenArgs & GetVideoDisplayDevice () const
 
virtual bool SetVideoOnHoldDevice (const PVideoDevice::OpenArgs &args)
 
const PVideoDevice::OpenArgs & GetVideoOnHoldDevice () const
 
virtual bool SetVideoOnRingDevice (const PVideoDevice::OpenArgs &args)
 
const PVideoDevice::OpenArgs & GetVideoOnRingDevice () const
 
unsigned GetSoundChannelBufferDepth () const
 
void SetSoundChannelBufferDepth (unsigned depth)
 
unsigned GetSoundChannelBufferTime () const
 
void SetSoundChannelBufferTime (unsigned depth)
 
- Public Member Functions inherited from OpalLocalEndPoint
 OpalLocalEndPoint (OpalManager &manager, const char *prefix=OPAL_LOCAL_PREFIX, bool useCallbacks=true)
 
 ~OpalLocalEndPoint ()
 
virtual OpalMediaFormatList GetMediaFormats () const
 
virtual PSafePtr< OpalConnectionMakeConnection (OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)
 
PSafePtr< OpalLocalConnectionGetLocalConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite)
 
virtual OpalLocalConnectionCreateConnection (OpalCall &call, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions)
 
virtual bool OnOutgoingSetUp (const OpalLocalConnection &connection)
 
virtual bool AlertingIncomingCall (const PString &token, OpalConnection::StringOptions *options=NULL, bool withMedia=false)
 
virtual bool AcceptIncomingCall (const PString &token, OpalConnection::StringOptions *options=NULL)
 
virtual bool RejectIncomingCall (const PString &token, const OpalConnection::CallEndReason &reason=OpalConnection::EndedByAnswerDenied)
 
Synchronicity GetDefaultAudioSynchronicity () const
 
void SetDefaultAudioSynchronicity (Synchronicity sync)
 
Synchronicity GetDefaultVideoSourceSynchronicity () const
 
void SetDefaultVideoSourceSynchronicity (Synchronicity sync)
 
bool IsDeferredAlerting () const
 
void SetDeferredAlerting (bool defer)
 
bool IsDeferredAnswer () const
 
void SetDeferredAnswer (bool defer)
 
bool WillPauseTransmitMediaOnHold () const
 
void SetPauseTransmitMediaOnHold (bool pause)
 
void SetFarEndCameraCapabilityChangedNotifier (const PNotifier &notifier)
 Set a callback for when the far end camera control capabilities change. More...
 
const PNotifier & GetFarEndCameraCapabilityChangedNotifier () const
 Get 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...
 
const PNotifier & GetFarEndCameraActionNotifier () const
 Get a callback for when a far end camera control action comes from remote. More...
 
 P_DECLARE_BITWISE_ENUM (CallbackUsage, 2,(NoCallbacks, UseSourceCallback, UseSinkCallback))
 Enumeration for usage of media callback direction in CallbackMap. More...
 
bool UseCallback (const OpalMediaFormat &mediaFormat, bool isSource) const
 Indicate media type and direction is to use virtual callback functions. More...
 
bool SetCallbackUsage (const OpalMediaType &mediaType, CallbackUsage usage)
 Set callback usage for media type. More...
 
virtual bool OnReadMediaFrame (const OpalLocalConnection &connection, const OpalMediaStream &mediaStream, RTP_DataFrame &frame)
 
virtual bool OnWriteMediaFrame (const OpalLocalConnection &connection, const OpalMediaStream &mediaStream, RTP_DataFrame &frame)
 
virtual bool OnReadMediaData (OpalLocalConnection &connection, OpalMediaStream &mediaStream, void *data, PINDEX size, PINDEX &length)
 
virtual bool OnWriteMediaData (const OpalLocalConnection &connection, const OpalMediaStream &mediaStream, const void *data, PINDEX length, PINDEX &written)
 
virtual bool CreateVideoOutputDevice (const OpalConnection &connection, const OpalMediaFormat &mediaFormat, bool preview, PVideoOutputDevice *&device, bool &autoDelete)
 
virtual Synchronicity GetSynchronicity (const OpalMediaFormat &mediaFormat, bool isSource) const
 
- Public Member Functions inherited from OpalEndPoint
 P_DECLARE_BITWISE_ENUM (Attributes, 2,(NoAttributes, IsNetworkEndPoint, SupportsE164))
 
 OpalEndPoint (OpalManager &manager, const PCaselessString &prefix, Attributes attributes)
 
 ~OpalEndPoint ()
 
void PrintOn (ostream &strm) const
 
bool StartListeners (const PStringArray &interfaces, bool add=true)
 
virtual bool StartListener (const PString &address)
 
virtual bool StartListener (OpalListener *listener)
 
virtual PStringArray GetDefaultListeners () const
 
virtual PString GetDefaultTransport () const
 
virtual WORD GetDefaultSignalPort () const
 
OpalListenerFindListener (const OpalTransportAddress &iface)
 
bool FindListenerForProtocol (const char *proto, OpalTransportAddress &addr)
 
PBoolean StopListener (const OpalTransportAddress &iface)
 
PBoolean RemoveListener (OpalListener *listener)
 
OpalTransportAddressArray GetInterfaceAddresses (const OpalTransport *associatedTransport=NULL) const
 
 PDECLARE_AcceptHandlerNotifier (OpalEndPoint, NewIncomingConnection)
 
virtual void OnNewConnection (OpalCall &call, OpalConnection &connection)
 
virtual PBoolean OnSetUpConnection (OpalConnection &connection)
 
virtual PBoolean OnIncomingConnection (OpalConnection &connection, unsigned options, OpalConnection::StringOptions *stringOptions)
 
virtual void OnProceeding (OpalConnection &connection)
 
virtual void OnAlerting (OpalConnection &connection, bool withMedia)
 
virtual void OnAlerting (OpalConnection &connection)
 
virtual
OpalConnection::AnswerCallResponse 
OnAnswerCall (OpalConnection &connection, const PString &caller)
 
virtual void OnEstablished (OpalConnection &connection)
 
virtual void OnHold (OpalConnection &connection, bool fromRemote, bool onHold)
 
virtual void OnHold (OpalConnection &connection)
 
virtual PBoolean OnForwarded (OpalConnection &connection, const PString &remoteParty)
 
virtual bool OnTransferNotify (OpalConnection &connection, const PStringToString &info, const OpalConnection *transferringConnection)
 
virtual PBoolean ClearCall (const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
 
virtual PBoolean ClearCallSynchronous (const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
 
virtual void ClearAllCalls (OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PBoolean wait=true)
 
PSafePtr< OpalConnectionGetConnectionWithLock (const PString &token, PSafetyMode mode=PSafeReadWrite) const
 
template<class ConnClass >
PSafePtr< ConnClass > GetConnectionWithLockAs (const PString &token, PSafetyMode mode=PSafeReadWrite) const
 
PStringList GetAllConnections ()
 
PINDEX GetConnectionCount () const
 
virtual PBoolean HasConnection (const PString &token)
 
virtual void DestroyConnection (OpalConnection *connection)
 
virtual void AdjustMediaFormats (bool local, const OpalConnection &connection, OpalMediaFormatList &mediaFormats) const
 
virtual bool GetMediaTransportAddresses (const OpalConnection &provider, const OpalConnection &consumer, unsigned sessionId, const OpalMediaType &mediaType, OpalTransportAddressArray &transports) const
 
virtual PBoolean OnOpenMediaStream (OpalConnection &connection, OpalMediaStream &stream)
 
virtual void OnClosedMediaStream (const OpalMediaStream &stream)
 
virtual void OnFailedMediaStream (OpalConnection &connection, bool fromRemote, const PString &reason)
 
void SetMediaCryptoSuites (const PStringArray &security)
 
PStringArray GetMediaCryptoSuites () const
 
virtual PStringArray GetAllMediaCryptoSuites () const
 
virtual void OnUserInputString (OpalConnection &connection, const PString &value)
 
virtual void OnUserInputTone (OpalConnection &connection, char tone, int duration)
 
virtual PString ReadUserInput (OpalConnection &connection, const char *terminators="#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30)
 
virtual PBoolean Message (const PString &to, const PString &body)
 
virtual PBoolean Message (const PURL &to, const PString &type, const PString &body, PURL &from, PString &conversationId)
 
virtual PBoolean Message (OpalIM &Message)
 
virtual void OnMessageReceived (const OpalIM &message)
 
virtual void OnMWIReceived (const PString &party, OpalManager::MessageWaitingType type, const PString &extraInfo)
 
virtual bool GetConferenceStates (OpalConferenceStates &states, const PString &name=PString::Empty()) const
 
virtual void OnConferenceStatusChanged (OpalEndPoint &endpoint, const PString &uri, OpalConferenceState::ChangeType change)
 
virtual PStringList GetNetworkURIs (const PString &name) const
 
virtual PBoolean GarbageCollection ()
 
OpalManagerGetManager () const
 
const PString & GetPrefixName () const
 
bool HasAttribute (Attributes opt) const
 
const OpalProductInfoGetProductInfo () const
 
void SetProductInfo (const OpalProductInfo &info)
 
const PString & GetDefaultLocalPartyName () const
 
virtual void SetDefaultLocalPartyName (const PString &name)
 
const PString & GetDefaultDisplayName () const
 
void SetDefaultDisplayName (const PString &name)
 
OpalBandwidth GetInitialBandwidth (OpalBandwidth::Direction dir) const
 
bool SetInitialBandwidth (OpalBandwidth::Direction dir, OpalBandwidth bandwidth)
 
const OpalListenerList & GetListeners () const
 
const
OpalConnection::StringOptions
GetDefaultStringOptions () const
 
void SetDefaultStringOptions (const OpalConnection::StringOptions &opts, bool overwrite=false)
 
void SetDefaultStringOption (const PCaselessString &key, const PString &data)
 
void RemoveDefaultStringOption (const PCaselessString &key)
 
virtual PStringList GetAvailableStringOptions () const
 
OpalConnection::SendUserInputModes GetSendUserInputMode () const
 
void SetSendUserInputMode (OpalConnection::SendUserInputModes mode)
 
const PIPSocket::QoS & GetSignalQoS () const
 
void SetSignalQoS (const PIPSocket::QoS &qos)
 
const PIPSocket::QoS & GetMediaQoS (const OpalMediaType &type) const
 
void SetMediaQoS (const OpalMediaType &type, const PIPSocket::QoS &qos)
 
PINDEX GetMaxSizeUDP () const
 
void SetMaxSizeUDP (PINDEX size)
 
- Public Member Functions inherited from OpalConsoleEndPoint
virtual ~OpalConsoleEndPoint ()
 
void SetEndpointDisabled (bool disabled)
 

Protected Types

enum  RingState { e_RingIdle, e_Ringing, e_RingShutDown }
 

Protected Member Functions

void RingThreadMain ()
 
- Protected Member Functions inherited from OpalEndPoint
OpalConnectionAddConnection (OpalConnection *connection)
 
- Protected Member Functions inherited from OpalConsoleEndPoint
 OpalConsoleEndPoint (OpalManagerConsole &console)
 
void AddRoutesFor (const OpalEndPoint *endpoint, const PString &defaultRoute)
 

Protected Attributes

PFilePath m_ringFileName
 
PSoundChannel::Params m_ringChannelParams
 
PThread * m_ringThread
 
PSyncPoint m_ringSignal
 
enum
OpalConsolePCSSEndPoint::RingState 
m_ringState
 
- Protected Attributes inherited from OpalPCSSEndPoint
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
 
- Protected Attributes inherited from OpalLocalEndPoint
bool m_deferredAlerting
 
bool m_deferredAnswer
 
bool m_pauseTransmitMediaOnHold
 
CallbackMap m_useCallback
 
Synchronicity m_defaultAudioSynchronicity
 
Synchronicity m_defaultVideoSourceSynchronicity
 
PNotifier m_farEndCameraCapabilityChangedNotifier
 
PNotifier m_farEndCameraActionNotifier
 
- Protected Attributes inherited from OpalEndPoint
OpalManagerm_manager
 
PCaselessString m_prefixName
 
Attributes m_attributes
 
PINDEX m_maxSizeUDP
 
OpalProductInfo m_productInfo
 
PString m_defaultLocalPartyName
 
PString m_defaultDisplayName
 
PStringArray m_mediaCryptoSuites
 
PIPSocket::QoS m_signalQoS
 
OpalManager::MediaQoSMap m_mediaQoS
 
OpalBandwidth m_initialRxBandwidth
 
OpalBandwidth m_initialTxBandwidth
 
OpalConnection::StringOptions m_defaultStringOptions
 
OpalConnection::SendUserInputModes m_defaultSendUserInputMode
 
OpalListenerList m_listeners
 
OpalEndPoint::ConnectionDict m_connectionsActive
 
- Protected Attributes inherited from OpalConsoleEndPoint
OpalManagerConsolem_console
 
bool m_endpointDisabled
 

Additional Inherited Members

- Public Types inherited from OpalLocalEndPoint
enum  Synchronicity { e_Synchronous, e_Asynchronous, e_SimulateSynchronous }
 
typedef map< OpalMediaType,
CallbackUsage > 
CallbackMap
 Map for indicating if a media type is to use callback virtual functions. More...
 
- Public Types inherited from OpalConsoleEndPoint
enum  InitResult { InitFailed, InitDisabled, InitSuccess }
 

Member Enumeration Documentation

Enumerator
e_RingIdle 
e_Ringing 
e_RingShutDown 

Constructor & Destructor Documentation

OpalConsolePCSSEndPoint::OpalConsolePCSSEndPoint ( OpalManagerConsole manager)

Member Function Documentation

virtual void OpalConsolePCSSEndPoint::GetArgumentSpec ( ostream &  strm) const
virtual

Implements OpalConsoleEndPoint.

virtual bool OpalConsolePCSSEndPoint::Initialise ( PArgList &  args,
bool  verbose,
const PString &   
)
virtual

Implements OpalConsoleEndPoint.

virtual void OpalConsolePCSSEndPoint::OnConnected ( OpalConnection connection)
virtual

A call back function whenever a connection is "connected". This indicates that a connection to an endpoint was connected. That is the endpoint received acknowledgement via whatever protocol it uses that the connection may now start media streams.

In the context of H.323 this means that the CONNECT pdu has been received.

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

Reimplemented from OpalEndPoint.

virtual bool OpalConsolePCSSEndPoint::OnIncomingCall ( OpalLocalConnection connection)
virtual

Call back to indicate that there is an incoming call. Note this function should not block or it will impede the operation of the stack.

The default implementation returns true;

Returns
false is returned the call is aborted with status of EndedByLocalBusy.

Reimplemented from OpalPCSSEndPoint.

virtual void OpalConsolePCSSEndPoint::OnReleased ( OpalConnection connection)
virtual

A call back function whenever a connection is broken. 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 MakeConnection() 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 removes the connection from the internal database and calls the OpalManager function of the same name.

Reimplemented from OpalEndPoint.

void OpalConsolePCSSEndPoint::RingThreadMain ( )
protected
void OpalConsolePCSSEndPoint::SetRingInfo ( ostream &  out,
bool  verbose,
const PString &  filename,
const PString &  device,
const PString &  driver 
)
virtual void OpalConsolePCSSEndPoint::ShutDown ( )
virtual

Shut down the endpoint, this is called by the OpalManager just before destroying the object and can be handy to make sure some things are stopped before the vtable gets clobbered.

Reimplemented from OpalEndPoint.

Field Documentation

PSoundChannel::Params OpalConsolePCSSEndPoint::m_ringChannelParams
protected
PFilePath OpalConsolePCSSEndPoint::m_ringFileName
protected
PSyncPoint OpalConsolePCSSEndPoint::m_ringSignal
protected
enum OpalConsolePCSSEndPoint::RingState OpalConsolePCSSEndPoint::m_ringState
protected
PThread* OpalConsolePCSSEndPoint::m_ringThread
protected

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