31 #ifndef OPAL_OPAL_RTPCONN_H
32 #define OPAL_OPAL_RTPCONN_H
45 class OpalZRTPStreamInfo {
47 virtual bool Open() = 0;
51 class OpalZRTPConnectionInfo {
53 virtual bool Open() = 0;
79 virtual void Close() = 0;
81 virtual PObject *
Clone()
const = 0;
85 virtual bool IsRTP()
const = 0;
129 virtual void Close();
133 virtual bool IsRTP()
const {
return true; }
223 unsigned fromSessionID,
258 const PString & token,
259 unsigned options = 0,
353 unsigned fromSessionID,
383 const PIPSocket::Address & localAddr,
384 const PIPSocket::Address & peerAddr,
385 const PIPSocket::Address & signalAddr,
398 unsigned duration = 0
508 #if OPAL_T38_CAPABILITY
517 PMutex zrtpConnInfoMutex;
518 OpalZRTPConnectionInfo * zrtpConnInfo;
533 virtual PBoolean
Open() = 0;
536 #endif // OPAL_OPAL_RTPCONN_H
virtual PBoolean RemoteIsNAT() const
Definition: rtpconn.h:362
virtual unsigned GetNextSessionID(const OpalMediaType &mediaType, bool isSource)
~OpalRTPSessionManager()
Destroy sessions, unlinking from connection.
virtual RTP_UDP * CreateRTPSession(OpalRTPConnection &connection, const RTP_Session::Params &options)=0
Definition: rtpconn.h:525
Definition: rtpconn.h:247
virtual void AdjustMediaFormats(bool local, const OpalConnection *otherConnection, OpalMediaFormatList &mediaFormats) const
unsigned GetNextSessionID()
virtual RTP_Session * CreateSession(const OpalTransport &transport, unsigned sessionID, const OpalMediaType &mediaType, RTP_QOS *rtpqos)
OpalEndPoint & endpoint
Definition: connection.h:1788
void operator=(const OpalRTPSessionManager &other)
Assignment of RTP session managers.
Definition: rtpconn.h:178
OpalRFC2833Proto * rfc2833Handler
Definition: rtpconn.h:507
RTP_Session * GetSession(unsigned sessionID) const
OpalRTPSessionManager m_rtpSessions
Definition: rtpconn.h:506
void AddSession(RTP_Session *session, const OpalMediaType &mediaType)
virtual PBoolean Open()=0
Definition: transports.h:703
Definition: rtpconn.h:159
virtual PBoolean IsRTPNATEnabled(const PIPSocket::Address &localAddr, const PIPSocket::Address &peerAddr, const PIPSocket::Address &signalAddr, PBoolean incoming)
OpalMediaSession * GetMediaSession(unsigned sessionID) const
OpalRTPConnection(OpalCall &call, OpalRTPEndPoint &endpoint, const PString &token, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
virtual void OnReleased()
virtual PBoolean SendUserInputTone(char tone, unsigned duration=0)
bool HasFailed() const
Definition: rtp.h:976
bool ChangeSessionID(unsigned fromSessionID, unsigned toSessionID)
virtual bool ChangeSessionID(unsigned fromSessionID, unsigned toSessionID)
virtual void CloseSession(unsigned sessionID)
PayloadTypes
Definition: rtp.h:86
PBoolean remoteIsNAT
Definition: rtpconn.h:512
DWORD GetPacketsReceived() const
Definition: rtp.h:843
PBoolean useRTPAggregation
Definition: rtpconn.h:513
virtual bool OnMediaCommand(OpalMediaStream &stream, const OpalMediaCommand &command)
Definition: connection.h:462
PMutex m_mutex
Definition: rtpconn.h:234
PDECLARE_NOTIFIER(OpalRFC2833Info, OpalRTPConnection, OnUserInputInlineRFC2833)
virtual void CloseSession(unsigned sessionID)
virtual bool AllSessionsFailing()
PDICTIONARY(SessionDict, POrdinalKey, OpalMediaSession)
virtual PBoolean GetMediaInformation(unsigned sessionID, MediaInformation &info) const
virtual RTP_Session * UseSession(const OpalTransport &transport, unsigned sessionID, const OpalMediaType &mediatype, RTP_QOS *rtpqos=NULL)
Definition: rfc2833.h:112
PMutex & GetMutex()
Definition: rtpconn.h:228
virtual void AttachRFC2833HandlerToPatch(PBoolean isSource, OpalMediaPatch &patch)
virtual OpalMediaStream * CreateMediaStream(const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource)
OpalRTPConnection & m_connection
Definition: rtpconn.h:233
Definition: connection.h:353
virtual OpalMediaSession * GetMediaSession(unsigned sessionID) const
virtual void OnPatchMediaStream(PBoolean isSource, OpalMediaPatch &patch)
OpalRTPSessionManager(OpalRTPConnection &connection)
virtual RTP_Session * GetSession(unsigned sessionID) const
Definition: transports.h:149
void AddMediaSession(OpalMediaSession *session, const OpalMediaType &mediaType)
virtual void SessionFailing(RTP_Session &session)
virtual PBoolean IsMediaBypassPossible(unsigned sessionID) const
OpalRTPSessionManager RTP_SessionManager
Definition: rtpconn.h:241
SessionDict sessions
Definition: rtpconn.h:237
virtual RTP_UDP * CreateRTPSession(unsigned sessionId, const OpalMediaType &mediaType, bool remoteIsNat)