32#define RESIPROCATE_SUBSYSTEM ReconSubsystem::RECON
40 RemoteParticipant(partHandle, conversationManager, dum, remoteParticipantDialogSet)
42 InfoLog(<<
"RemoteIMSessionParticipant created (UAC), handle=" <<
mHandle);
52 InfoLog(<<
"RemoteIMSessionParticipant created (UAS or forked leg), handle=" <<
mHandle);
64 InfoLog(<<
"RemoteIMSessionParticipant destroyed, handle=" <<
mHandle);
76 std::unique_ptr<SdpContents> _offer(
new SdpContents);
96 sdpReady(
true, std::move(_offer));
100RemoteIMSessionParticipant::buildSdpAnswer(
const SdpContents& offer, CallbackSdpReady sdpReady)
103 std::unique_ptr<SdpContents> _answer(
new SdpContents);
131 if (!valid && it->name() ==
"message" && it->port() == 5060 && it->protocol() ==
"sip")
135 medium.addFormat(
"null");
144 if (it->codecs().size() > 0)
146 rejmedium.addCodec(it->codecs().front());
159 WarningLog( <<
"buildSdpAnswer: unknown exception parsing SDP offer");
170 sdpReady(valid, std::move(_answer));
176 WarningLog(<<
"requestKeyframe not implemented");
#define WarningLog(args_)
#define resip_assert(x)
This file needs to work for both C and C++ code.
This class is one of two main classes of concern to an application using the UserAgent library.
virtual void onIncomingIMSessionParticipant(ParticipantHandle partHandle, const resip::SipMessage &msg, bool autoAnswer, ConversationProfile &conversationProfile)
Notifies an application about a new remote IM session mode participant that has sent an INVITE.
This class extends the resip UserProfile to include Conversation Manager specific settings.
virtual resip::SdpContents & sessionCaps()
Get/Set the session capabilities.
This is the base class for a RemoteParticipant, LocalParticipant and a MediaResourceParticipant.
virtual void unregisterFromAllConversations()
ParticipantHandle mHandle
ConversationManager & mConversationManager
RemoteIMSessionParticipant(ParticipantHandle partHandle, ConversationManager &conversationManager, resip::DialogUsageManager &dum, RemoteParticipantDialogSet &remoteParticipantDialogSet)
virtual ~RemoteIMSessionParticipant()
virtual void notifyIncomingParticipant(const resip::SipMessage &msg, bool autoAnswer, ConversationProfile &conversationProfile) override
virtual void requestKeyframe() override
virtual void buildSdpOffer(bool holdSdp, CallbackSdpReady sdpReady, bool preferExistingSdp=false) override
This class is used by Invite DialogSets.
std::shared_ptr< ConversationProfile > getConversationProfile()
This class represent a remote participant.
void setProposedSdp(const resip::SdpContents &sdp)
void setRemoteSdp(const resip::SdpContents &sdp, bool answer=false)
std::function< void(bool sdpOk, std::unique_ptr< resip::SdpContents > sdp)> CallbackSdpReady
void setLocalSdp(const resip::SdpContents &sdp)
RemoteParticipantDialogSet & getDialogSet()
The abstract base-class for all exceptions thrown by resip code.
const Data & getMessage() const noexcept
process m= (media announcement) blocks
void addFormat(const Data &format)
add a format identifier to the m= line
const uint64_t & getVersion() const
returns the session version
const uint64_t & getSessionId() const
returns the session ID
const std::list< Time > & getTimes() const
return session Time lines
void addMedium(const Medium &medium)
add an m= (Medium) section to session
void addTime(const Time &t)
add a t= (Time) line to session
const Origin & origin() const
return session Origin line
const MediumContainer & media() const
return session Media lines
Provides an interface to process and generate SDP bodies (MIME content-type application/sdp).
Session & session()
get the parsed SDP
Represents a SIP message.
static uint64_t getTimeMicroSec()
Returns the current clock time in microseconds.
unsigned int ParticipantHandle
dcm! – add UnusedChecking(_enum) below;
unsigned __int64 uint64_t