reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
KurentoRemoteParticipantDialogSet.hxx
Go to the documentation of this file.
1
#if !defined(KurentoRemoteParticipantDialogSet_hxx)
2
#define KurentoRemoteParticipantDialogSet_hxx
3
4
#include <map>
5
#include <list>
6
#include <
resip/dum/AppDialogSet.hxx
>
7
#include <
resip/dum/AppDialog.hxx
>
8
#include <
resip/dum/InviteSessionHandler.hxx
>
9
#include <
resip/dum/DialogSetHandler.hxx
>
10
#include <
resip/dum/SubscriptionHandler.hxx
>
11
12
// FlowManager Includes
13
#include "
rutil/MediaConstants.hxx
"
14
#include "
reTurn/StunTuple.hxx
"
15
16
#include "
KurentoMediaStackAdapter.hxx
"
17
#include "
ConversationProfile.hxx
"
18
#include "
Participant.hxx
"
19
#include "
RemoteParticipantDialogSet.hxx
"
20
21
namespace
resip
22
{
23
class
DialogUsageManager;
24
class
SipMessage;
25
}
26
27
namespace
recon
28
{
29
class
ConversationManager;
30
class
RemoteParticipant;
31
class
KurentoRemoteParticipant;
32
39
class
KurentoRemoteParticipantDialogSet
:
public
RemoteParticipantDialogSet
40
{
41
public
:
42
KurentoRemoteParticipantDialogSet
(
ConversationManager
&
conversationManager
,
43
KurentoMediaStackAdapter
&
kurentoMediaStackAdapter
,
44
ConversationManager::ParticipantForkSelectMode
forkSelectMode
=
ConversationManager::ForkSelectAutomatic
,
45
std::shared_ptr<ConversationProfile>
conversationProfile
=
nullptr
);
46
47
virtual
~KurentoRemoteParticipantDialogSet
();
48
49
virtual
resip::AppDialog
*
createAppDialog
(
const
resip::SipMessage
& msg);
50
51
virtual
void
setActiveRemoteParticipantHandle
(
ParticipantHandle
handle);
52
53
virtual
void
setPeerExpectsSAVPF
(
bool
value) { mPeerExpectsSAVPF = value; }
54
virtual
bool
peerExpectsSAVPF
() {
return
mPeerExpectsSAVPF; }
55
56
// Media stack stuff
57
virtual
int
getMediaConnectionId
() {
return
mMediaConnectionId; }
58
virtual
int
getConnectionPortOnBridge
();
59
virtual
void
freeMediaResources
();
60
61
void
setActiveDestination
(
const
char
* address,
unsigned
short
rtpPort
,
unsigned
short
rtcpPort
);
62
void
startDtlsClient
(
const
char
* address,
unsigned
short
rtpPort
,
unsigned
short
rtcpPort
);
63
void
setRemoteSDPFingerprint
(
const
resip::Data
&
hashFunction
,
const
resip::Data
& fingerprint);
64
bool
createSRTPSession
(
resip::MediaConstants::SrtpCryptoSuite
cryptoSuite
,
const
char
*
remoteKey
,
size_t
remoteKeyLen
);
65
66
// Media Stream Processing
67
virtual
void
processMediaStreamReadyEvent
(std::shared_ptr<MediaStreamReadyEvent::StreamParams>
streamParams
);
68
69
resip::MediaConstants::SrtpCryptoSuite
getSrtpCryptoSuite
() {
return
mSrtpCryptoSuite; }
70
71
const
resip::Data
&
getLocalSrtpSessionKey
() {
return
mLocalSrtpSessionKey; }
72
73
void
onKurentoEvent
(
const
std::string&
event_name
,
const
json::Object& message);
74
75
protected
:
76
virtual
bool
isAsyncMediaSetup
();
77
78
virtual
void
fixUpSdp
(
resip::SdpContents
*
sdp
);
79
80
private
:
81
KurentoMediaStackAdapter
& mKurentoMediaStackAdapter;
82
unsigned
int
mLocalRTPPort;
83
bool
mAllocateLocalRTPPortFailed;
84
bool
mPeerExpectsSAVPF;
85
86
// Media Stream stuff
87
reTurn::StunTuple
mRtpTuple;
88
reTurn::StunTuple
mRtcpTuple;
89
90
// Secure Media
91
resip::Data
mLocalSrtpSessionKey;
92
resip::MediaConstants::SrtpCryptoSuite
mSrtpCryptoSuite;
93
94
// sipX media stuff
95
int
mMediaConnectionId;
96
int
mConnectionPortOnBridge;
97
98
virtual
void
onMediaStreamReady(
const
reTurn::StunTuple
&
remoteRtpTuple
,
const
reTurn::StunTuple
&
remoteRtcpTuple
);
99
virtual
void
onMediaStreamError(
unsigned
int
errorCode);
100
};
101
102
}
103
104
#endif
105
106
107
/* ====================================================================
108
109
Copyright (c) 2021-2026, SIP Spectrum, Inc.
110
Copyright (c) 2021, Daniel Pocock https://danielpocock.com
111
Copyright (c) 2007-2008, Plantronics, Inc.
112
All rights reserved.
113
114
Redistribution and use in source and binary forms, with or without
115
modification, are permitted provided that the following conditions are
116
met:
117
118
1. Redistributions of source code must retain the above copyright
119
notice, this list of conditions and the following disclaimer.
120
121
2. Redistributions in binary form must reproduce the above copyright
122
notice, this list of conditions and the following disclaimer in the
123
documentation and/or other materials provided with the distribution.
124
125
3. Neither the name of Plantronics nor the names of its contributors
126
may be used to endorse or promote products derived from this
127
software without specific prior written permission.
128
129
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
130
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
131
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
132
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
133
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
134
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
135
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
136
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
137
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
138
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
139
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
140
141
==================================================================== */
AppDialogSet.hxx
AppDialog.hxx
ConversationProfile.hxx
DialogSetHandler.hxx
InviteSessionHandler.hxx
KurentoMediaStackAdapter.hxx
MediaConstants.hxx
Participant.hxx
RemoteParticipantDialogSet.hxx
StunTuple.hxx
SubscriptionHandler.hxx
reTurn::StunTuple
Definition
StunTuple.hxx:24
recon::ConversationManager
This class is one of two main classes of concern to an application using the UserAgent library.
Definition
ConversationManager.hxx:71
recon::ConversationManager::ParticipantForkSelectMode
ParticipantForkSelectMode
Definition
ConversationManager.hxx:89
recon::ConversationManager::ForkSelectAutomatic
@ ForkSelectAutomatic
Definition
ConversationManager.hxx:97
recon::KurentoMediaStackAdapter
This class is one of two main classes of concern to an application using the UserAgent library.
Definition
KurentoMediaStackAdapter.hxx:60
recon::KurentoRemoteParticipantDialogSet
This class is used by Invite DialogSets.
Definition
KurentoRemoteParticipantDialogSet.hxx:40
recon::KurentoRemoteParticipantDialogSet::getConnectionPortOnBridge
virtual int getConnectionPortOnBridge()
Definition
KurentoRemoteParticipantDialogSet.cxx:113
recon::KurentoRemoteParticipantDialogSet::setActiveRemoteParticipantHandle
virtual void setActiveRemoteParticipantHandle(ParticipantHandle handle)
Definition
KurentoRemoteParticipantDialogSet.cxx:173
recon::KurentoRemoteParticipantDialogSet::peerExpectsSAVPF
virtual bool peerExpectsSAVPF()
Definition
KurentoRemoteParticipantDialogSet.hxx:54
recon::KurentoRemoteParticipantDialogSet::setActiveDestination
void setActiveDestination(const char *address, unsigned short rtpPort, unsigned short rtcpPort)
Definition
KurentoRemoteParticipantDialogSet.cxx:136
recon::KurentoRemoteParticipantDialogSet::setPeerExpectsSAVPF
virtual void setPeerExpectsSAVPF(bool value)
Definition
KurentoRemoteParticipantDialogSet.hxx:53
recon::KurentoRemoteParticipantDialogSet::processMediaStreamReadyEvent
virtual void processMediaStreamReadyEvent(std::shared_ptr< MediaStreamReadyEvent::StreamParams > streamParams)
Definition
KurentoRemoteParticipantDialogSet.cxx:64
recon::KurentoRemoteParticipantDialogSet::~KurentoRemoteParticipantDialogSet
virtual ~KurentoRemoteParticipantDialogSet()
Definition
KurentoRemoteParticipantDialogSet.cxx:57
recon::KurentoRemoteParticipantDialogSet::setRemoteSDPFingerprint
void setRemoteSDPFingerprint(const resip::Data &hashFunction, const resip::Data &fingerprint)
Definition
KurentoRemoteParticipantDialogSet.cxx:148
recon::KurentoRemoteParticipantDialogSet::createSRTPSession
bool createSRTPSession(resip::MediaConstants::SrtpCryptoSuite cryptoSuite, const char *remoteKey, size_t remoteKeyLen)
Definition
KurentoRemoteParticipantDialogSet.cxx:154
recon::KurentoRemoteParticipantDialogSet::getSrtpCryptoSuite
resip::MediaConstants::SrtpCryptoSuite getSrtpCryptoSuite()
Definition
KurentoRemoteParticipantDialogSet.hxx:69
recon::KurentoRemoteParticipantDialogSet::createAppDialog
virtual resip::AppDialog * createAppDialog(const resip::SipMessage &msg)
Definition
KurentoRemoteParticipantDialogSet.cxx:162
recon::KurentoRemoteParticipantDialogSet::startDtlsClient
void startDtlsClient(const char *address, unsigned short rtpPort, unsigned short rtcpPort)
Definition
KurentoRemoteParticipantDialogSet.cxx:142
recon::KurentoRemoteParticipantDialogSet::onKurentoEvent
void onKurentoEvent(const std::string &event_name, const json::Object &message)
Definition
KurentoRemoteParticipantDialogSet.cxx:184
recon::KurentoRemoteParticipantDialogSet::freeMediaResources
virtual void freeMediaResources()
Definition
KurentoRemoteParticipantDialogSet.cxx:123
recon::KurentoRemoteParticipantDialogSet::isAsyncMediaSetup
virtual bool isAsyncMediaSetup()
Definition
KurentoRemoteParticipantDialogSet.cxx:193
recon::KurentoRemoteParticipantDialogSet::fixUpSdp
virtual void fixUpSdp(resip::SdpContents *sdp)
Definition
KurentoRemoteParticipantDialogSet.cxx:200
recon::KurentoRemoteParticipantDialogSet::getLocalSrtpSessionKey
const resip::Data & getLocalSrtpSessionKey()
Definition
KurentoRemoteParticipantDialogSet.hxx:71
recon::KurentoRemoteParticipantDialogSet::getMediaConnectionId
virtual int getMediaConnectionId()
Definition
KurentoRemoteParticipantDialogSet.hxx:57
recon::RemoteParticipantDialogSet
This class is used by Invite DialogSets.
Definition
RemoteParticipantDialogSet.hxx:37
resip::AppDialog
Definition
AppDialog.hxx:20
resip::Data
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition
Data.hxx:90
resip::MediaConstants::SrtpCryptoSuite
SrtpCryptoSuite
Definition
MediaConstants.hxx:11
resip::SdpContents
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
Definition
SdpContents.hxx:59
resip::SipMessage
Represents a SIP message.
Definition
SipMessage.hxx:175
recon
Definition
BridgeMixer.hxx:10
recon::ParticipantHandle
unsigned int ParticipantHandle
Definition
HandleTypes.hxx:8
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
list
void list()
Definition
userAdmin.cxx:66
resip
recon
KurentoRemoteParticipantDialogSet.hxx
Generated by
1.9.8