reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
SipXRemoteParticipant.hxx
Go to the documentation of this file.
1
#if !defined(SipXRemoteParticipant_hxx)
2
#define SipXRemoteParticipant_hxx
3
4
#include <map>
5
6
#include "
ConversationManager.hxx
"
7
#include "
Participant.hxx
"
8
#include "
RemoteParticipant.hxx
"
9
#include "
SipXRemoteParticipant.hxx
"
10
#include "
SipXRemoteParticipantDialogSet.hxx
"
11
#include "
SipXParticipant.hxx
"
12
13
#include <
resip/dum/AppDialogSet.hxx
>
14
#include <
resip/dum/AppDialog.hxx
>
15
#include <
resip/dum/InviteSessionHandler.hxx
>
16
#include <
resip/dum/DialogSetHandler.hxx
>
17
#include <
resip/dum/SubscriptionHandler.hxx
>
18
19
#include <memory>
20
21
namespace
resip
22
{
23
class
DialogUsageManager;
24
class
SipMessage;
25
}
26
27
namespace
sdpcontainer
28
{
29
class
Sdp
;
30
class
SdpMediaLine
;
31
}
32
33
// Disable warning 4250
34
// VS2019 give a 4250 warning:
35
// SipXRemoteParticipant.hxx(80,1): warning C4250: 'recon::SipXRemoteParticipant': inherits 'recon::RemoteParticipant::recon::RemoteParticipant::addToConversation' via dominance
36
#if defined(WIN32) && !defined(__GNUC__)
37
#pragma warning( disable : 4250 )
38
#endif
39
40
namespace
recon
41
{
42
class
SipXMediaStackAdapter;
43
52
class
SipXRemoteParticipant
:
public
virtual
RemoteParticipant
,
public
virtual
SipXParticipant
53
{
54
public
:
55
SipXRemoteParticipant
(
ParticipantHandle
partHandle
,
// UAC
56
ConversationManager
&
conversationManager
,
57
SipXMediaStackAdapter
&
sipXMediaStackAdapter
,
58
resip::DialogUsageManager
&
dum
,
59
RemoteParticipantDialogSet
&
remoteParticipantDialogSet
);
60
61
SipXRemoteParticipant
(
ConversationManager
&
conversationManager
,
62
SipXMediaStackAdapter
&
sipXMediaStackAdapter
,
// UAS or forked leg
63
resip::DialogUsageManager
&
dum
,
64
RemoteParticipantDialogSet
&
remoteParticipantDialogSet
);
65
66
virtual
~SipXRemoteParticipant
();
67
68
virtual
unsigned
int
getLocalRTPPort
();
69
virtual
void
buildSdpOffer
(
bool
holdSdp
,
CallbackSdpReady
sdpReady
,
bool
preferExistingSdp
=
false
)
override
;
70
71
virtual
int
getConnectionPortOnBridge
()
override
;
72
virtual
bool
hasInput
()
override
{
return
true
; }
73
virtual
bool
hasOutput
()
override
{
return
true
; }
74
virtual
int
getMediaConnectionId
();
75
76
virtual
void
adjustRTPStreams
(
bool
sendingOffer
=
false
)
override
;
77
78
virtual
void
requestKeyframe
()
override
;
79
80
protected
:
81
virtual
bool
mediaStackPortAvailable
()
override
;
82
83
// Note: Returns non-null the majority of the time, can return null on object destruction
84
virtual
SipXRemoteParticipantDialogSet
*
getSipXDialogSet
() {
return
dynamic_cast<
SipXRemoteParticipantDialogSet
*
>
(&
getDialogSet
()); }
85
86
private
:
87
bool
answerMediaLine(
resip::SdpContents::Session::Medium
&
mediaSessionCaps
,
const
sdpcontainer::SdpMediaLine
&
sdpMediaLine
,
resip::SdpContents
&
answer
,
bool
potential
);
88
virtual
void
buildSdpAnswer(
const
resip::SdpContents
&
offer
,
CallbackSdpReady
sdpReady
)
override
;
89
};
90
91
}
92
93
#endif
94
95
96
/* ====================================================================
97
98
Copyright (c) 2021-2022, SIP Spectrum, Inc. www.sipspectrum.com
99
Copyright (c) 2022, Software Freedom Institute https://softwarefreedom.institute
100
Copyright (c) 2021-2022, Daniel Pocock https://danielpocock.com
101
Copyright (c) 2007-2008, Plantronics, Inc.
102
All rights reserved.
103
104
Redistribution and use in source and binary forms, with or without
105
modification, are permitted provided that the following conditions are
106
met:
107
108
1. Redistributions of source code must retain the above copyright
109
notice, this list of conditions and the following disclaimer.
110
111
2. Redistributions in binary form must reproduce the above copyright
112
notice, this list of conditions and the following disclaimer in the
113
documentation and/or other materials provided with the distribution.
114
115
3. Neither the name of Plantronics nor the names of its contributors
116
may be used to endorse or promote products derived from this
117
software without specific prior written permission.
118
119
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
120
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
121
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
122
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
123
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
124
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
125
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
126
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
127
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
128
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
129
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
130
131
==================================================================== */
AppDialogSet.hxx
AppDialog.hxx
ConversationManager.hxx
DialogSetHandler.hxx
InviteSessionHandler.hxx
Participant.hxx
RemoteParticipant.hxx
SipXParticipant.hxx
SipXRemoteParticipantDialogSet.hxx
SipXRemoteParticipant.hxx
SubscriptionHandler.hxx
recon::ConversationManager
This class is one of two main classes of concern to an application using the UserAgent library.
Definition
ConversationManager.hxx:71
recon::RemoteParticipantDialogSet
This class is used by Invite DialogSets.
Definition
RemoteParticipantDialogSet.hxx:37
recon::RemoteParticipant
This class represent a remote participant.
Definition
RemoteParticipant.hxx:40
recon::RemoteParticipant::CallbackSdpReady
std::function< void(bool sdpOk, std::unique_ptr< resip::SdpContents > sdp)> CallbackSdpReady
Definition
RemoteParticipant.hxx:58
recon::RemoteParticipant::getDialogSet
RemoteParticipantDialogSet & getDialogSet()
Definition
RemoteParticipant.hxx:154
recon::SipXMediaStackAdapter
This class is one of two main classes of concern to an application using the UserAgent library.
Definition
SipXMediaStackAdapter.hxx:65
recon::SipXParticipant
This is the base class for a SipXRemoteParticipant, SipXLocalParticipant and a SipXMediaResourceParti...
Definition
SipXParticipant.hxx:22
recon::SipXRemoteParticipantDialogSet
This class is used by Invite DialogSets.
Definition
SipXRemoteParticipantDialogSet.hxx:39
recon::SipXRemoteParticipant
This class represent a remote participant.
Definition
SipXRemoteParticipant.hxx:53
recon::SipXRemoteParticipant::adjustRTPStreams
virtual void adjustRTPStreams(bool sendingOffer=false) override
Definition
SipXRemoteParticipant.cxx:869
recon::SipXRemoteParticipant::getSipXDialogSet
virtual SipXRemoteParticipantDialogSet * getSipXDialogSet()
Definition
SipXRemoteParticipant.hxx:84
recon::SipXRemoteParticipant::getMediaConnectionId
virtual int getMediaConnectionId()
Definition
SipXRemoteParticipant.cxx:150
recon::SipXRemoteParticipant::requestKeyframe
virtual void requestKeyframe() override
Definition
SipXRemoteParticipant.cxx:1252
recon::SipXRemoteParticipant::getLocalRTPPort
virtual unsigned int getLocalRTPPort()
Definition
SipXRemoteParticipant.cxx:116
recon::SipXRemoteParticipant::hasOutput
virtual bool hasOutput() override
Definition
SipXRemoteParticipant.hxx:73
recon::SipXRemoteParticipant::~SipXRemoteParticipant
virtual ~SipXRemoteParticipant()
Definition
SipXRemoteParticipant.cxx:103
recon::SipXRemoteParticipant::buildSdpOffer
virtual void buildSdpOffer(bool holdSdp, CallbackSdpReady sdpReady, bool preferExistingSdp=false) override
Definition
SipXRemoteParticipant.cxx:161
recon::SipXRemoteParticipant::hasInput
virtual bool hasInput() override
Definition
SipXRemoteParticipant.hxx:72
recon::SipXRemoteParticipant::getConnectionPortOnBridge
virtual int getConnectionPortOnBridge() override
Definition
SipXRemoteParticipant.cxx:130
recon::SipXRemoteParticipant::mediaStackPortAvailable
virtual bool mediaStackPortAvailable() override
Definition
SipXRemoteParticipant.cxx:1258
resip::DialogUsageManager
Definition
DialogUsageManager.hxx:79
resip::SdpContents::Session::Medium
process m= (media announcement) blocks
Definition
SdpContents.hxx:636
resip::SdpContents
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
Definition
SdpContents.hxx:59
sdpcontainer::SdpMediaLine
Definition
SdpMediaLine.hxx:14
sdpcontainer::Sdp
Definition
Sdp.hxx:22
recon
Definition
BridgeMixer.hxx:10
recon::ParticipantHandle
unsigned int ParticipantHandle
Definition
HandleTypes.hxx:8
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
sdpcontainer
Definition
SipXRemoteParticipant.hxx:28
list
void list()
Definition
userAdmin.cxx:66
resip
recon
SipXRemoteParticipant.hxx
Generated by
1.9.8