OPAL
Version 3.14.3
|
#include <localep.h>
Public Member Functions | |
Construction | |
OpalLocalConnection (OpalCall &call, OpalLocalEndPoint &endpoint, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions, char tokenPrefix= 'L') | |
~OpalLocalConnection () | |
Overrides from OpalConnection | |
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 | SetAlerting (const PString &calleeName, PBoolean withMedia) |
virtual PBoolean | SetConnected () |
virtual bool | HoldRemote (bool placeOnHold) |
virtual OpalMediaStream * | CreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource) |
virtual OpalMediaStreamPtr | OpenMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource) |
virtual void | OnClosedMediaStream (const OpalMediaStream &stream) |
virtual PBoolean | SendUserInputString (const PString &value) |
New operations | |
virtual bool | OnOutgoingSetUp () |
virtual bool | OnOutgoing () |
virtual bool | OnIncoming () |
virtual void | AlertingIncoming (bool withMedia=false) |
virtual void | AcceptIncoming () |
Media call backs | |
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 ¬ifier) |
Set a callback for when the far end camera control capabilities change. More... | |
void | SetFarEndCameraActionNotifier (const PNotifier ¬ifier) |
Set a callback for when a far end camera control action comes from remote. More... | |
Member variable access | |
void * | GetUserData () const |
Get user data pointer. More... | |
void | SetUserData (void *v) |
Set user data pointer. More... | |
![]() | |
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 StringOptions & | GetStringOptions () const |
Get the string options associated with this connection. More... | |
StringOptions & | GetStringOptions () |
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 void | OnReleased () |
virtual PString | GetDestinationAddress () |
virtual PBoolean | ForwardCall (const PString &forwardParty) |
PSafePtr< OpalConnection > | GetOtherPartyConnection () 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 | OnStartMediaPatch (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) |
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) |
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 () |
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) |
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 OpalProductInfo & | GetRemoteProductInfo () 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) |
OpalSilenceDetector * | GetSilenceDetector () 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 | TransferConnection (const PString &remoteParty) |
virtual bool | IsOnHold (bool fromRemote) const |
virtual void | OnHold (bool fromRemote, bool onHold) |
Protected Member Functions | |
void | InternalAcceptIncoming () |
![]() | |
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) |
Friends | |
class | PSafeWorkNoArg< OpalLocalConnection > |
Additional Inherited Members | |
![]() | |
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 PString | GetCallEndReasonText (CallEndReason reason) |
static void | SetCallEndReasonText (CallEndReasonCodes reasonCode, const PString &newText) |
Local connection. This class represents a connection on the local machine that can receive media via virtual functions.
OpalLocalConnection::OpalLocalConnection | ( | OpalCall & | call, |
OpalLocalEndPoint & | endpoint, | ||
void * | userData, | ||
unsigned | options, | ||
OpalConnection::StringOptions * | stringOptions, | ||
char | tokenPrefix = 'L' |
||
) |
Create a new connection.
call | Owner call for connection |
endpoint | Owner endpoint for connection |
userData | Arbitrary data to pass to connection |
options | Option bit mask to pass to connection |
stringOptions | Options to pass to connection |
tokenPrefix | Prefix for token generation |
OpalLocalConnection::~OpalLocalConnection | ( | ) |
Destroy connection.
|
virtual |
Accept the incoming connection.
Reimplemented in OpalPCSSConnection.
|
virtual |
Indicate alerting for the incoming connection.
withMedia | Indicate media should be started |
Reimplemented in OpalPCSSConnection.
|
virtual |
Change a PVideoInputDevice for a source media stream.
device | Device to change to |
sessionID | Session for media stream, 0 indicates first video stream |
|
virtual |
Create an PVideoOutputDevice for a sink media stream or the preview display for a source media stream.
device | Device to change to |
sessionID | Session for media stream, 0 indicates first video stream |
preview | Flag indicating is a preview output device |
|
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.
mediaFormat | Media format for stream |
sessionID | Session number for stream |
isSource | Is a source stream |
Reimplemented from OpalConnection.
Reimplemented in OpalMixerConnection, OpalPCSSConnection, and OpalIVRConnection.
|
virtual |
Create an PVideoInputDevice for a source media stream.
mediaFormat | Media format for stream |
device | Created device |
autoDelete | Flag for auto delete device |
|
virtual |
Create an PVideoOutputDevice for a sink media stream or the preview display for a source media stream.
mediaFormat | Media format for stream |
preview | Flag indicating is a preview output |
device | Created device |
autoDelete | Flag for auto delete device |
bool OpalLocalConnection::FarEndCameraControl | ( | PVideoControlInfo::Types | what, |
int | direction = 0 , |
||
const PTimeInterval & | duration = 0 |
||
) |
Start/Stop Far End Camera Control on remote system. If direction
is negative then starts panning left, tilting down, zoom out or focus out.
If direction
is positive then starts panning right, tilting up, zoom in or focus in.
If direction
is zero then the operation is stopped. This can also be used to determine if the remote is capabile of the operation.
If duration
is non-zero then the actionis automatically stopped after that period. Zero indicated continue until explicitly stopped.
what | What to control, pan, tilt, zoom or focus |
direction | Direction to move |
duration | Duration of move |
|
virtual |
Indicate the I/O synchronous mode. See Synchronicity for more details.
Default behaviour returns m_defaultAudioSynchronicity (initially e_Synchronous) when is audio source or sink, m_defaultVideoSourceSynchronicity (initially e_Synchronous) when a video source, e_Asynchronous in all other cases.
mediaFormat | Media format for stream being opened. |
isSource | Stream is a a source |
|
inline |
Get user data pointer.
References m_userData.
|
virtual |
Put the current connection on hold, suspending media streams. The streams from the remote are always paused. The streams from the local to the remote are conditionally paused depending on underlying logic for "music on hold" functionality.
The fromRemote
parameter indicates if we a putting the remote on hold (false) or it is a request for the remote to put us on hold (true).
The /p placeOnHold parameter indicates of the command/request is for going on hold or retrieving from hold.
placeOnHold | Flag for setting on or off hold |
Reimplemented from OpalConnection.
|
protected |
|
inlinevirtual |
Get indication of connection being to a "network". This indicates the if the connection may be regarded as a "network" connection. The distinction is about if there is a concept of a "remote" party being connected to and is best described by example: sip, h323, iax and pstn are all "network" connections as they connect to something "remote". While pc, pots and ivr are not as the entity being connected to is intrinsically local.
Implements OpalConnection.
Reimplemented in OpalIVRConnection.
|
virtual |
Call back for connection to act on changed string options.
Reimplemented from OpalConnection.
Reimplemented in OpalMixerConnection.
|
virtual |
Call back for closed a media stream.
The default behaviour calls the OpalEndPoint function of the same name.
stream | Media stream being closed |
Reimplemented from OpalConnection.
|
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 call OpalLocalEndPoint::OnIncomingCall().
|
virtual |
Call back for an incoming call. This function is used for an application to control the answering of incoming calls.
If true is returned then the connection continues. If false then the connection is aborted.
Note this function should not block for any length of time. If the decision to answer the call may take some time eg waiting for a user to pick up the phone, then AnswerCallPending or AnswerCallDeferred should be returned.
If an application overrides this function, it should generally call the ancestor version to complete calls. Unless the application completely takes over that responsibility. Generally, an application would only intercept this function if it wishes to do some form of logging. For this you can obtain the name of the caller by using the function OpalConnection::GetRemotePartyName().
The default behaviour calls the base class then OnOutgoingSetUp().
Note that the most explicit version of this override is made pure, so as to force descendant classes to implement it. This will only affect code that implements new descendants of OpalConnection - code that uses existing descendants will be unaffected
Reimplemented from OpalConnection.
|
virtual |
Call back to indicate that remote is ringing.
The default implementation call OpalLocalEndPoint::OnOutgoingCall().
|
virtual |
Call back just before remote is contacted.
The default implementation call OpalLocalEndPoint::OnOutgoingSetUp().
|
virtual |
Call back to get media data for transmission. If false is returned the media stream will be closed.
Care with the handling of real time is required, see GetSynchronicity for more details.
The default implementation fills the buffer with zeros and returns true.
mediaStream | Media stream data is required for |
data | Data to send |
size | Maximum size of data buffer |
length | Number of bytes placed in buffer |
|
virtual |
Call back to get media data for transmission. If false is returned then OnReadMediaData() is called.
Care with the handling of real time is required, see GetSynchronicity for more details.
The default implementation returns false.
mediaStream | Media stream data is required for |
frame | RTP frame for data |
|
virtual |
Call back to handle received media data. If false is returned the media stream will be closed.
It is expected that this function be real time. That is if 320 bytes of PCM-16 are written, this function should take 20ms to execute. If not then the jitter buffer will not operate correctly and audio will not be of high quality. This timing can be simulated if required, see GetSynchronicity for more details.
Note: For encoded audio media, if data
is NULL then that indicates there is no incoming audio available from the jitter buffer. The application should output silence for a time. The written
value should still contain the bytes of silence emitted, even though it will be larger that length
. This does not occcur for raw (PCM-16) audio.
The default implementation ignores the media data and returns true.
mediaStream | Media stream data is required for |
data | Data received |
length | Amount of data available to write |
written | Amount of data written |
|
virtual |
Call back to handle received media data. If false is returned then OnWriteMediaData() is called.
Care with the handling of real time is required, see GetSynchronicity for more details.
Note it is the responsibility of this function to update the frame
timestamp for correct operation of the jitter buffer.
The default implementation returns false.
mediaStream | Media stream data is required for |
frame | RTP frame for data |
|
virtual |
Open source or sink media stream for session.
mediaFormat | Media format to open |
sessionID | Session to start stream on |
isSource | Stream is a source/sink |
Reimplemented from OpalConnection.
|
virtual |
Send a user input indication to the remote endpoint. This sends an arbitrary string as a user indication. If DTMF tones in particular are required to be sent then the SendIndicationTone() function should be used.
The default behaviour plays the DTMF tones on the line.
value | String value of indication |
Reimplemented from OpalConnection.
Reimplemented in OpalMixerConnection, and OpalIVRConnection.
|
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.
calleeName | Name of endpoint being alerted. |
withMedia | Open media with alerting |
Reimplemented from OpalConnection.
Reimplemented in OpalPCSSConnection.
|
virtual |
Indicate to remote endpoint we are connected.
The default behaviour sets the phase to ConnectedPhase, sets the connection start time and then checks if there is any media channels opened and if so, moves on to the established phase, calling OnEstablished().
In other words, this method is used to handle incoming calls, and is an indication that we have accepted the incoming call.
Reimplemented from OpalConnection.
void OpalLocalConnection::SetFarEndCameraActionNotifier | ( | const PNotifier & | notifier | ) |
Set a callback for when a far end camera control action comes from remote.
void OpalLocalConnection::SetFarEndCameraCapabilityChangedNotifier | ( | const PNotifier & | notifier | ) |
Set a callback for when the far end camera control capabilities change.
|
virtual |
Start an outgoing connection. This function will initiate the connection to the remote entity, for example in H.323 it sends a SETUP, in SIP it sends an INVITE etc.
The default behaviour determines if this si incoming or outgoing call by checking if we are party A or B, then does approriate setting up of the conenction, including calling OnOutgoing() or OnIncoming() as appropriate.
Reimplemented from OpalConnection.
|
inline |
Set user data pointer.
References m_userData.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetUserData(), and SetUserData().