reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
recon::LibWebRTCRemoteParticipant Class Reference

This class represent a remote participant. More...

#include <LibWebRTCRemoteParticipant.hxx>

Inheritance diagram for recon::LibWebRTCRemoteParticipant:
[legend]

Public Member Functions

 LibWebRTCRemoteParticipant (ParticipantHandle partHandle, ConversationManager &conversationManager, LibWebRTCMediaStackAdapter &libwebrtcMediaStackAdapter, resip::DialogUsageManager &dum, RemoteParticipantDialogSet &remoteParticipantDialogSet)
 
 LibWebRTCRemoteParticipant (ConversationManager &conversationManager, LibWebRTCMediaStackAdapter &libwebrtcMediaStackAdapter, resip::DialogUsageManager &dum, RemoteParticipantDialogSet &remoteParticipantDialogSet)
 
virtual ~LibWebRTCRemoteParticipant ()
 
virtual void buildSdpOffer (bool holdSdp, CallbackSdpReady sdpReady, bool preferExistingSdp=false)
 
virtual int getConnectionPortOnBridge ()
 
virtual bool hasInput ()
 
virtual bool hasOutput ()
 
virtual int getMediaConnectionId ()
 
virtual void applyBridgeMixWeights () override
 
virtual void applyBridgeMixWeights (Conversation *removedConversation) override
 
virtual void adjustRTPStreams (bool sendingOffer=false)
 
void onIceGatheringDone ()
 
virtual void addToConversation (Conversation *conversation, unsigned int inputGain=100, unsigned int outputGain=100) override
 
virtual void removeFromConversation (Conversation *conversation) override
 
virtual std::shared_ptr< libwebrtc::BaseRtpEndpoint > getEndpoint ()
 
virtual void waitingMode ()
 
virtual std::shared_ptr< libwebrtc::MediaElement > getWaitingModeElement ()
 
virtual bool onMediaControlEvent (resip::MediaControlContents::MediaControl &mediaControl)
 
virtual bool onTrickleIce (resip::TrickleIceContents &trickleIce) override
 
virtual void requestKeyframe () override
 
- Public Member Functions inherited from recon::RemoteParticipant
 RemoteParticipant (ParticipantHandle partHandle, ConversationManager &conversationManager, resip::DialogUsageManager &dum, RemoteParticipantDialogSet &remoteParticipantDialogSet)
 
 RemoteParticipant (ConversationManager &conversationManager, resip::DialogUsageManager &dum, RemoteParticipantDialogSet &remoteParticipantDialogSet)
 
virtual ~RemoteParticipant ()
 
virtual resip::InviteSessionHandle & getInviteSessionHandle ()
 
virtual bool isHolding ()
 
virtual bool isRemoteHold ()
 
virtual void initiateRemoteCall (const resip::NameAddr &destination)
 
virtual void initiateRemoteCall (const resip::NameAddr &destination, const std::shared_ptr< ConversationProfile > &callingProfile, const std::multimap< resip::Data, resip::Data > &extraHeaders)
 
virtual void destroyParticipant () override
 
virtual void accept ()
 
virtual void alert (bool earlyFlag)
 
virtual void reject (unsigned int rejectCode)
 
virtual void redirect (resip::NameAddr &destination, unsigned int redirectCode=302, ConversationManager::RedirectSuccessCondition successCondition=ConversationManager::RedirectSuccessOnConnected)
 
virtual void redirectToParticipant (resip::InviteSessionHandle &destParticipantInviteSessionHandle, ConversationManager::RedirectSuccessCondition successCondition=ConversationManager::RedirectSuccessOnConnected)
 
virtual void info (const resip::Contents &contents)
 
virtual void checkHoldCondition ()
 
virtual void setLocalHold (bool hold)
 
virtual void sendInstantMessage (std::unique_ptr< resip::Contents > contents) override
 
virtual void setPendingOODReferInfo (resip::ServerOutOfDialogReqHandle ood, const resip::SipMessage &referMsg)
 
virtual void setPendingOODReferInfo (resip::ServerSubscriptionHandle ss, const resip::SipMessage &referMsg)
 
virtual void acceptPendingOODRefer ()
 
virtual void rejectPendingOODRefer (unsigned int statusCode)
 
virtual void redirectPendingOODRefer (resip::NameAddr &destination)
 
virtual void processReferNotify (resip::ClientSubscriptionHandle h, const resip::SipMessage &notify)
 
virtual void destroyConversations ()
 
virtual void notifyTerminating ()
 
virtual void onNewSession (resip::ClientInviteSessionHandle h, resip::InviteSession::OfferAnswerType oat, const resip::SipMessage &msg)
 
virtual void onNewSession (resip::ServerInviteSessionHandle h, resip::InviteSession::OfferAnswerType oat, const resip::SipMessage &msg)
 
virtual void onFailure (resip::ClientInviteSessionHandle h, const resip::SipMessage &msg)
 
virtual void onEarlyMedia (resip::ClientInviteSessionHandle, const resip::SipMessage &, const resip::SdpContents &)
 
virtual void onProvisional (resip::ClientInviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onConnected (resip::ClientInviteSessionHandle h, const resip::SipMessage &msg)
 
virtual void onConnected (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onConnectedConfirmed (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onStaleCallTimeout (resip::ClientInviteSessionHandle)
 
virtual void onTerminated (resip::InviteSessionHandle h, resip::InviteSessionHandler::TerminatedReason reason, const resip::SipMessage *msg)
 
virtual void onRedirected (resip::ClientInviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onAnswer (resip::InviteSessionHandle, const resip::SipMessage &msg, const resip::SdpContents &)
 
virtual void onOffer (resip::InviteSessionHandle handle, const resip::SipMessage &msg, const resip::SdpContents &offer)
 
virtual void onOfferRequired (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onOfferRejected (resip::InviteSessionHandle, const resip::SipMessage *msg)
 
virtual void onOfferRequestRejected (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onRemoteSdpChanged (resip::InviteSessionHandle, const resip::SipMessage &msg, const resip::SdpContents &sdp)
 
virtual void onInfo (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onInfoSuccess (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onInfoFailure (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onRefer (resip::InviteSessionHandle, resip::ServerSubscriptionHandle, const resip::SipMessage &msg)
 
virtual void onReferAccepted (resip::InviteSessionHandle, resip::ClientSubscriptionHandle, const resip::SipMessage &msg)
 
virtual void onReferRejected (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void doReferNoSub (const resip::SipMessage &msg)
 
virtual void onReferNoSub (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onMessage (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onMessageSuccess (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onMessageFailure (resip::InviteSessionHandle, const resip::SipMessage &msg)
 
virtual void onForkDestroyed (resip::ClientInviteSessionHandle)
 
virtual void onUpdatePending (resip::ClientSubscriptionHandle h, const resip::SipMessage &notify, bool outOfOrder)
 
virtual void onUpdateActive (resip::ClientSubscriptionHandle h, const resip::SipMessage &notify, bool outOfOrder)
 
virtual void onUpdateExtension (resip::ClientSubscriptionHandle, const resip::SipMessage &notify, bool outOfOrder)
 
virtual void onTerminated (resip::ClientSubscriptionHandle h, const resip::SipMessage *notify)
 
virtual void onNewSubscription (resip::ClientSubscriptionHandle h, const resip::SipMessage &notify)
 
virtual int onRequestRetry (resip::ClientSubscriptionHandle h, int retryMinimum, const resip::SipMessage &notify)
 
virtual void requestKeyframeFromPeer ()
 
virtual void requestKeyframeFromPeerTimeout (bool reset)
 
virtual void reInvite ()
 
- Public Member Functions inherited from recon::Participant
 Participant (ParticipantHandle partHandle, ConversationManager::ParticipantType participantType, ConversationManager &conversationManager)
 
 Participant (ConversationManager::ParticipantType participantType, ConversationManager &conversationManager)
 
virtual ~Participant ()
 
virtual ParticipantHandle getParticipantHandle ()
 
virtual ConversationManager::ParticipantType getParticipantType ()
 
virtual void setRecordChannelNum (unsigned int channelNum)
 
virtual unsigned int getRecordChannelNum ()
 
virtual void unregisterFromAllConversations ()
 
virtual void copyConversationsToParticipant (Participant *destParticipant)
 
virtual unsigned int getNumConversations ()
 
const ConversationMap & getConversations ()
 
virtual void setHandle (ParticipantHandle partHandle)
 
- Public Member Functions inherited from resip::AppDialog
 AppDialog (HandleManager &ham)
 
virtual ~AppDialog ()
 
AppDialogHandle getHandle ()
 
DialogId getDialogId () const
 
std::vector< ClientSubscriptionHandle > getClientSubscriptions ()
 
std::vector< ClientSubscriptionHandle > findClientSubscriptions (const Data &event)
 
std::vector< ServerSubscriptionHandle > getServerSubscriptions ()
 
std::vector< ServerSubscriptionHandle > findServerSubscriptions (const Data &event)
 
InviteSessionHandle getInviteSession ()
 
NameAddr & getContact ()
 
virtual EncodeStream & dump (EncodeStream &strm) const
 
- Public Member Functions inherited from resip::Handled
 Handled (HandleManager &ham)
 
virtual ~Handled ()
 
- Public Member Functions inherited from recon::IMParticipantBase
 IMParticipantBase (bool prependSenderInfoToIMs)
 
virtual ~IMParticipantBase ()
 
virtual void setPrependSenderInfoToIMs (bool value)
 
virtual bool getPrependSenderInfoToIMs ()
 
- Public Member Functions inherited from recon::LibWebRTCParticipant
 LibWebRTCParticipant (ParticipantHandle partHandle, ConversationManager::ParticipantType participantType, ConversationManager &conversationManager, LibWebRTCMediaStackAdapter &libwebrtcMediaStackAdapter)
 
 LibWebRTCParticipant (ConversationManager::ParticipantType participantType, ConversationManager &conversationManager, LibWebRTCMediaStackAdapter &libwebrtcMediaStackAdapter)
 
virtual ~LibWebRTCParticipant ()
 

Public Attributes

std::shared_ptr< libwebrtc::MediaElement > mMultiqueue
 
bool mWaitingModeVideo = false
 
std::shared_ptr< libwebrtc::PlayerEndpoint > mPlayer
 
std::shared_ptr< libwebrtc::PassThroughElement > mPassThrough
 
bool mRemoveExtraMediaDescriptors
 
bool mSipRtpEndpoint
 
bool mReuseSdpAnswer
 
bool mWSAcceptsKeyframeRequests
 
resip::SdpContents * mLastRemoteSdp
 
bool mWaitingAnswer
 
bool mTrickleIcePermitted = false
 
bool mWebRTCOutgoing = false
 

Protected Member Functions

virtual bool mediaStackPortAvailable ()
 
virtual LibWebRTCRemoteParticipantDialogSet & getLibWebRTCDialogSet ()
 
virtual bool holdPreferExistingSdp () override
 
- Protected Member Functions inherited from recon::RemoteParticipant
void addExtraHeader (const std::shared_ptr< resip::SipMessage > &invitemsg, const resip::Data &headerName, const resip::Data &headerValue)
 
void setRemoteHold (bool remoteHold)
 
void setProposedSdp (const resip::SdpContents &sdp)
 
void setLocalSdp (const resip::SdpContents &sdp)
 
std::shared_ptr< resip::SdpContents > getLocalSdp ()
 
void setRemoteSdp (const resip::SdpContents &sdp, bool answer=false)
 
std::shared_ptr< resip::SdpContents > getRemoteSdp ()
 
void setLocalSdpGathering (const resip::SdpContents &sdp)
 
std::shared_ptr< resip::SdpContents > getLocalSdpGathering ()
 
RemoteParticipantDialogSet & getDialogSet ()
 
virtual void notifyIncomingParticipant (const resip::SipMessage &msg, bool autoAnswer, ConversationProfile &conversationProfile)
 
virtual void hold ()
 
virtual void unhold ()
 
bool isTrickleIce ()
 
virtual void enableTrickleIce ()
 
virtual void conversationsConfirm ()
 
virtual std::chrono::duration< double > getKeyframeRequestInterval () const
 
virtual void onLocalIceCandidate (const resip::Data &candidate, unsigned int lineIndex, const resip::Data &mid)
 

Additional Inherited Members

- Public Types inherited from recon::RemoteParticipant
typedef std::function< void(bool sdpOk, std::unique_ptr< resip::SdpContents > sdp)> CallbackSdpReady
 
- Public Types inherited from recon::Participant
typedef std::map< ConversationHandle, Conversation * > ConversationMap
 
- Public Types inherited from resip::Handled
enum  { npos = 0 }
 
typedef unsigned long Id
 
- Protected Attributes inherited from recon::Participant
ParticipantHandle mHandle
 
ConversationManager::ParticipantType mType
 
unsigned int mRecordChannelNum
 
ConversationManager & mConversationManager
 
ConversationMap mConversations
 
- Protected Attributes inherited from resip::Handled
HandleManager & mHam
 
Handled::Id mId
 
- Protected Attributes inherited from recon::IMParticipantBase
bool mPrependSenderInfoToIMs
 
- Protected Attributes inherited from recon::LibWebRTCParticipant
LibWebRTCMediaStackAdapter & mLibWebRTCMediaStackAdapter
 

Detailed Description

This class represent a remote participant.

A remote participant is a participant with a network connection to a remote entity. This implementation is for a SIP / RTP connections.

Definition at line 44 of file LibWebRTCRemoteParticipant.hxx.

Constructor & Destructor Documentation

◆ LibWebRTCRemoteParticipant() [1/2]

LibWebRTCRemoteParticipant::LibWebRTCRemoteParticipant ( ParticipantHandle  partHandle,
ConversationManager &  conversationManager,
LibWebRTCMediaStackAdapter &  libwebrtcMediaStackAdapter,
resip::DialogUsageManager &  dum,
RemoteParticipantDialogSet &  remoteParticipantDialogSet 
)

Definition at line 53 of file LibWebRTCRemoteParticipant.cxx.

◆ LibWebRTCRemoteParticipant() [2/2]

LibWebRTCRemoteParticipant::LibWebRTCRemoteParticipant ( ConversationManager &  conversationManager,
LibWebRTCMediaStackAdapter &  libwebrtcMediaStackAdapter,
resip::DialogUsageManager &  dum,
RemoteParticipantDialogSet &  remoteParticipantDialogSet 
)

Definition at line 73 of file LibWebRTCRemoteParticipant.cxx.

◆ ~LibWebRTCRemoteParticipant()

LibWebRTCRemoteParticipant::~LibWebRTCRemoteParticipant ( )
virtual

Definition at line 91 of file LibWebRTCRemoteParticipant.cxx.

Member Function Documentation

◆ addToConversation()

void LibWebRTCRemoteParticipant::addToConversation ( Conversation *  conversation,
unsigned int  inputGain = 100,
unsigned int  outputGain = 100 
)
overridevirtual

Reimplemented from recon::RemoteParticipant.

Definition at line 520 of file LibWebRTCRemoteParticipant.cxx.

◆ adjustRTPStreams()

void LibWebRTCRemoteParticipant::adjustRTPStreams ( bool  sendingOffer = false)
virtual

Implements recon::RemoteParticipant.

Definition at line 468 of file LibWebRTCRemoteParticipant.cxx.

◆ applyBridgeMixWeights() [1/2]

void LibWebRTCRemoteParticipant::applyBridgeMixWeights ( )
overridevirtual

Reimplemented from recon::Participant.

Definition at line 125 of file LibWebRTCRemoteParticipant.cxx.

◆ applyBridgeMixWeights() [2/2]

void LibWebRTCRemoteParticipant::applyBridgeMixWeights ( Conversation *  removedConversation)
overridevirtual

Reimplemented from recon::Participant.

Definition at line 136 of file LibWebRTCRemoteParticipant.cxx.

◆ buildSdpOffer()

void LibWebRTCRemoteParticipant::buildSdpOffer ( bool  holdSdp,
CallbackSdpReady  sdpReady,
bool  preferExistingSdp = false 
)
virtual

Implements recon::RemoteParticipant.

Definition at line 286 of file LibWebRTCRemoteParticipant.cxx.

◆ getConnectionPortOnBridge()

int LibWebRTCRemoteParticipant::getConnectionPortOnBridge ( )
virtual

Implements recon::Participant.

Definition at line 104 of file LibWebRTCRemoteParticipant.cxx.

◆ getEndpoint()

virtual std::shared_ptr< libwebrtc::BaseRtpEndpoint > recon::LibWebRTCRemoteParticipant::getEndpoint ( )
inlinevirtual

Definition at line 77 of file LibWebRTCRemoteParticipant.hxx.

◆ getLibWebRTCDialogSet()

virtual LibWebRTCRemoteParticipantDialogSet & recon::LibWebRTCRemoteParticipant::getLibWebRTCDialogSet ( )
inlineprotectedvirtual

Definition at line 94 of file LibWebRTCRemoteParticipant.hxx.

◆ getMediaConnectionId()

int LibWebRTCRemoteParticipant::getMediaConnectionId ( )
virtual

Definition at line 119 of file LibWebRTCRemoteParticipant.cxx.

◆ getWaitingModeElement()

std::shared_ptr< libwebrtc::MediaElement > LibWebRTCRemoteParticipant::getWaitingModeElement ( )
virtual

Definition at line 562 of file LibWebRTCRemoteParticipant.cxx.

◆ hasInput()

virtual bool recon::LibWebRTCRemoteParticipant::hasInput ( )
inlinevirtual

Implements recon::Participant.

Definition at line 63 of file LibWebRTCRemoteParticipant.hxx.

◆ hasOutput()

virtual bool recon::LibWebRTCRemoteParticipant::hasOutput ( )
inlinevirtual

Implements recon::Participant.

Definition at line 64 of file LibWebRTCRemoteParticipant.hxx.

◆ holdPreferExistingSdp()

virtual bool recon::LibWebRTCRemoteParticipant::holdPreferExistingSdp ( )
inlineoverrideprotectedvirtual

Reimplemented from recon::RemoteParticipant.

Definition at line 96 of file LibWebRTCRemoteParticipant.hxx.

◆ mediaStackPortAvailable()

bool LibWebRTCRemoteParticipant::mediaStackPortAvailable ( )
protectedvirtual

Implements recon::RemoteParticipant.

Definition at line 532 of file LibWebRTCRemoteParticipant.cxx.

◆ onIceGatheringDone()

void recon::LibWebRTCRemoteParticipant::onIceGatheringDone ( )
inline

Definition at line 72 of file LibWebRTCRemoteParticipant.hxx.

◆ onMediaControlEvent()

bool LibWebRTCRemoteParticipant::onMediaControlEvent ( resip::MediaControlContents::MediaControl &  mediaControl)
virtual

Reimplemented from recon::RemoteParticipant.

Definition at line 575 of file LibWebRTCRemoteParticipant.cxx.

◆ onTrickleIce()

bool LibWebRTCRemoteParticipant::onTrickleIce ( resip::TrickleIceContents &  trickleIce)
overridevirtual

Reimplemented from recon::RemoteParticipant.

Definition at line 599 of file LibWebRTCRemoteParticipant.cxx.

◆ removeFromConversation()

void LibWebRTCRemoteParticipant::removeFromConversation ( Conversation *  conversation)
overridevirtual

Reimplemented from recon::RemoteParticipant.

Definition at line 526 of file LibWebRTCRemoteParticipant.cxx.

◆ requestKeyframe()

void LibWebRTCRemoteParticipant::requestKeyframe ( )
overridevirtual

Implements recon::RemoteParticipant.

Definition at line 635 of file LibWebRTCRemoteParticipant.cxx.

◆ waitingMode()

void LibWebRTCRemoteParticipant::waitingMode ( )
virtual

Definition at line 538 of file LibWebRTCRemoteParticipant.cxx.

Member Data Documentation

◆ mLastRemoteSdp

resip::SdpContents* recon::LibWebRTCRemoteParticipant::mLastRemoteSdp

Definition at line 115 of file LibWebRTCRemoteParticipant.hxx.

◆ mMultiqueue

std::shared_ptr<libwebrtc::MediaElement> recon::LibWebRTCRemoteParticipant::mMultiqueue

Definition at line 78 of file LibWebRTCRemoteParticipant.hxx.

◆ mPassThrough

std::shared_ptr<libwebrtc::PassThroughElement> recon::LibWebRTCRemoteParticipant::mPassThrough

Definition at line 81 of file LibWebRTCRemoteParticipant.hxx.

◆ mPlayer

std::shared_ptr<libwebrtc::PlayerEndpoint> recon::LibWebRTCRemoteParticipant::mPlayer

Definition at line 80 of file LibWebRTCRemoteParticipant.hxx.

◆ mRemoveExtraMediaDescriptors

bool recon::LibWebRTCRemoteParticipant::mRemoveExtraMediaDescriptors

Definition at line 111 of file LibWebRTCRemoteParticipant.hxx.

◆ mReuseSdpAnswer

bool recon::LibWebRTCRemoteParticipant::mReuseSdpAnswer

Definition at line 113 of file LibWebRTCRemoteParticipant.hxx.

◆ mSipRtpEndpoint

bool recon::LibWebRTCRemoteParticipant::mSipRtpEndpoint

Definition at line 112 of file LibWebRTCRemoteParticipant.hxx.

◆ mTrickleIcePermitted

bool recon::LibWebRTCRemoteParticipant::mTrickleIcePermitted = false

Definition at line 117 of file LibWebRTCRemoteParticipant.hxx.

◆ mWaitingAnswer

bool recon::LibWebRTCRemoteParticipant::mWaitingAnswer

Definition at line 116 of file LibWebRTCRemoteParticipant.hxx.

◆ mWaitingModeVideo

bool recon::LibWebRTCRemoteParticipant::mWaitingModeVideo = false

Definition at line 79 of file LibWebRTCRemoteParticipant.hxx.

◆ mWebRTCOutgoing

bool recon::LibWebRTCRemoteParticipant::mWebRTCOutgoing = false

Definition at line 118 of file LibWebRTCRemoteParticipant.hxx.

◆ mWSAcceptsKeyframeRequests

bool recon::LibWebRTCRemoteParticipant::mWSAcceptsKeyframeRequests

Definition at line 114 of file LibWebRTCRemoteParticipant.hxx.


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