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

This class is used to manage membership of participants. More...

#include <Conversation.hxx>

Inheritance diagram for recon::Conversation:
[legend]

Public Member Functions

virtual ~Conversation ()
 
void addParticipant (Participant *participant, unsigned int inputGain=100, unsigned int outputGain=100)
 
void removeParticipant (Participant *participant)
 
void modifyParticipantContribution (Participant *participant, unsigned int inputGain, unsigned int outputGain)
 
unsigned int getNumLocalParticipants ()
 
unsigned int getNumRemoteParticipants ()
 
unsigned int getNumRemoteIMParticipants ()
 
unsigned int getNumMediaParticipants ()
 
bool shouldHold ()
 
bool broadcastOnly ()
 
void notifyRemoteParticipantsOfHoldChange ()
 
void relayInstantMessageToRemoteParticipants (ParticipantHandle sourceParticipant, const resip::Data &senderDisplayName, const resip::SipMessage &msg)
 
void createRelatedConversation (RemoteParticipant *newForkedParticipant, ParticipantHandle origParticipantHandle)
 
void join (Conversation *conversation)
 
void destroy ()
 
ConversationHandle getHandle ()
 
void setMaxParticipants (unsigned int maxParticipants)
 
unsigned int getMaxParticipants () const
 
virtual void confirmParticipant (Participant *participant)
 

Protected Types

typedef std::map< ParticipantHandle, ConversationParticipantAssignment > ParticipantMap
 

Protected Member Functions

 Conversation (ConversationHandle handle, ConversationManager &conversationManager, RelatedConversationSet *relatedConversationSet, ConversationHandle sharedMediaInterfaceConvHandle, ConversationManager::AutoHoldMode autoHoldMode, unsigned int maxParticipants=0)
 
virtual void onParticipantAdded (Participant *participant)=0
 
virtual void onParticipantRemoved (Participant *participant)=0
 
std::shared_ptr< resip::ConfigParse > getConfig ()
 
void registerParticipant (Participant *, unsigned int inputGain=100, unsigned int outputGain=100)
 
void unregisterParticipant (Participant *)
 
ParticipantMap & getParticipants ()
 
BridgeMixer * getBridgeMixer () noexcept
 
std::shared_ptr< BridgeMixer > getBridgeMixerShared ()
 
virtual void setBridgeMixer (std::shared_ptr< BridgeMixer > mixer)
 
virtual bool isSharingMediaInterfaceWithAnotherConversation ()
 
virtual ConversationManager & getConversationManager ()
 

Friends

class Participant
 
class SipXParticipant
 
class LocalParticipant
 
class SipXLocalParticipant
 
class RemoteParticipant
 
class SipXRemoteParticipant
 
class KurentoRemoteParticipant
 
class MediaResourceParticipant
 
class SipXMediaResourceParticipant
 
class BridgeMixer
 
class SipXBridgeMixer
 
class KurentoBridgeMixer
 
class GstBridgeMixer
 
class LibWebRTCBridgeMixer
 
class AddParticipantCmd
 
class JoinConversationCmd
 
class MoveParticipantCmd
 
class ConversationManager
 
class SipXMediaStackAdapter
 
class KurentoMediaStackAdapter
 
class GstMediaStackAdapter
 
class LibWebRTCMediaStackAdapter
 

Detailed Description

This class is used to manage membership of participants.

Conversations are used to designate the audio properties between a number of managed participants. By default all participants in a Conversation can talk to and hear all other participants. A modified participants contribution setting to a conversation can change this.

If a remote participant is a sole member in a conversation, then he/she will be put on hold for the default AutoHoldMode of enabled.

Author: Scott Godin (sgodin AT SipSpectrum DOT com)

Definition at line 31 of file Conversation.hxx.

Member Typedef Documentation

◆ ParticipantMap

Constructor & Destructor Documentation

◆ Conversation()

Conversation::Conversation ( ConversationHandle  handle,
ConversationManager &  conversationManager,
RelatedConversationSet *  relatedConversationSet,
ConversationHandle  sharedMediaInterfaceConvHandle,
ConversationManager::AutoHoldMode  autoHoldMode,
unsigned int  maxParticipants = 0 
)
protected

Definition at line 24 of file Conversation.cxx.

◆ ~Conversation()

Conversation::~Conversation ( )
virtual

Definition at line 70 of file Conversation.cxx.

Member Function Documentation

◆ addParticipant()

void Conversation::addParticipant ( Participant *  participant,
unsigned int  inputGain = 100,
unsigned int  outputGain = 100 
)

Definition at line 97 of file Conversation.cxx.

◆ broadcastOnly()

bool Conversation::broadcastOnly ( )

Definition at line 152 of file Conversation.cxx.

◆ confirmParticipant()

virtual void recon::Conversation::confirmParticipant ( Participant *  participant)
inlinevirtual

◆ createRelatedConversation()

void Conversation::createRelatedConversation ( RemoteParticipant *  newForkedParticipant,
ParticipantHandle  origParticipantHandle 
)

Definition at line 224 of file Conversation.cxx.

◆ destroy()

void Conversation::destroy ( )

Definition at line 265 of file Conversation.cxx.

◆ getBridgeMixer()

BridgeMixer * recon::Conversation::getBridgeMixer ( )
inlineprotectednoexcept

Definition at line 103 of file Conversation.hxx.

◆ getBridgeMixerShared()

std::shared_ptr< BridgeMixer > recon::Conversation::getBridgeMixerShared ( )
inlineprotected

Definition at line 104 of file Conversation.hxx.

◆ getConfig()

std::shared_ptr< resip::ConfigParse > recon::Conversation::getConfig ( )
inlineprotected

Definition at line 70 of file Conversation.hxx.

◆ getConversationManager()

virtual ConversationManager & recon::Conversation::getConversationManager ( )
inlineprotectedvirtual

Definition at line 108 of file Conversation.hxx.

◆ getHandle()

ConversationHandle recon::Conversation::getHandle ( )
inline

Definition at line 63 of file Conversation.hxx.

◆ getMaxParticipants()

unsigned int recon::Conversation::getMaxParticipants ( ) const
inline

Definition at line 65 of file Conversation.hxx.

◆ getNumLocalParticipants()

unsigned int recon::Conversation::getNumLocalParticipants ( )
inline

Definition at line 49 of file Conversation.hxx.

◆ getNumMediaParticipants()

unsigned int recon::Conversation::getNumMediaParticipants ( )
inline

Definition at line 52 of file Conversation.hxx.

◆ getNumRemoteIMParticipants()

unsigned int recon::Conversation::getNumRemoteIMParticipants ( )
inline

Definition at line 51 of file Conversation.hxx.

◆ getNumRemoteParticipants()

unsigned int recon::Conversation::getNumRemoteParticipants ( )
inline

Definition at line 50 of file Conversation.hxx.

◆ getParticipants()

ParticipantMap & recon::Conversation::getParticipants ( )
inlineprotected

Definition at line 90 of file Conversation.hxx.

◆ isSharingMediaInterfaceWithAnotherConversation()

virtual bool recon::Conversation::isSharingMediaInterfaceWithAnotherConversation ( )
inlineprotectedvirtual

Definition at line 106 of file Conversation.hxx.

◆ join()

void Conversation::join ( Conversation *  conversation)

Definition at line 253 of file Conversation.cxx.

◆ modifyParticipantContribution()

void Conversation::modifyParticipantContribution ( Participant *  participant,
unsigned int  inputGain,
unsigned int  outputGain 
)

Definition at line 123 of file Conversation.cxx.

◆ notifyRemoteParticipantsOfHoldChange()

void Conversation::notifyRemoteParticipantsOfHoldChange ( )

Definition at line 158 of file Conversation.cxx.

◆ onParticipantAdded()

virtual void recon::Conversation::onParticipantAdded ( Participant *  participant)
protectedpure virtual

◆ onParticipantRemoved()

virtual void recon::Conversation::onParticipantRemoved ( Participant *  participant)
protectedpure virtual

◆ registerParticipant()

void Conversation::registerParticipant ( Participant *  participant,
unsigned int  inputGain = 100,
unsigned int  outputGain = 100 
)
protected

Definition at line 301 of file Conversation.cxx.

◆ relayInstantMessageToRemoteParticipants()

void Conversation::relayInstantMessageToRemoteParticipants ( ParticipantHandle  sourceParticipant,
const resip::Data &  senderDisplayName,
const resip::SipMessage &  msg 
)

Definition at line 172 of file Conversation.cxx.

◆ removeParticipant()

void Conversation::removeParticipant ( Participant *  participant)

Definition at line 113 of file Conversation.cxx.

◆ setBridgeMixer()

virtual void recon::Conversation::setBridgeMixer ( std::shared_ptr< BridgeMixer >  mixer)
inlineprotectedvirtual

Definition at line 105 of file Conversation.hxx.

◆ setMaxParticipants()

void recon::Conversation::setMaxParticipants ( unsigned int  maxParticipants)
inline

Definition at line 64 of file Conversation.hxx.

◆ shouldHold()

bool Conversation::shouldHold ( )

Definition at line 135 of file Conversation.cxx.

◆ unregisterParticipant()

void Conversation::unregisterParticipant ( Participant *  participant)
protected

Definition at line 348 of file Conversation.cxx.

Friends And Related Symbol Documentation

◆ AddParticipantCmd

Definition at line 92 of file Conversation.hxx.

◆ BridgeMixer

Definition at line 84 of file Conversation.hxx.

◆ ConversationManager

Definition at line 98 of file Conversation.hxx.

◆ GstBridgeMixer

Definition at line 87 of file Conversation.hxx.

◆ GstMediaStackAdapter

Definition at line 101 of file Conversation.hxx.

◆ JoinConversationCmd

Definition at line 93 of file Conversation.hxx.

◆ KurentoBridgeMixer

Definition at line 86 of file Conversation.hxx.

◆ KurentoMediaStackAdapter

Definition at line 100 of file Conversation.hxx.

◆ KurentoRemoteParticipant

Definition at line 78 of file Conversation.hxx.

◆ LibWebRTCBridgeMixer

Definition at line 88 of file Conversation.hxx.

◆ LibWebRTCMediaStackAdapter

Definition at line 102 of file Conversation.hxx.

◆ LocalParticipant

Definition at line 74 of file Conversation.hxx.

◆ MediaResourceParticipant

Definition at line 79 of file Conversation.hxx.

◆ MoveParticipantCmd

Definition at line 94 of file Conversation.hxx.

◆ Participant

Definition at line 72 of file Conversation.hxx.

◆ RemoteParticipant

Definition at line 76 of file Conversation.hxx.

◆ SipXBridgeMixer

Definition at line 85 of file Conversation.hxx.

◆ SipXLocalParticipant

Definition at line 75 of file Conversation.hxx.

◆ SipXMediaResourceParticipant

Definition at line 80 of file Conversation.hxx.

◆ SipXMediaStackAdapter

Definition at line 99 of file Conversation.hxx.

◆ SipXParticipant

Definition at line 73 of file Conversation.hxx.

◆ SipXRemoteParticipant

Definition at line 77 of file Conversation.hxx.


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