31 #ifndef OPAL_IM_MSRP_H
32 #define OPAL_IM_MSRP_H
41 #include <ptclib/inetprot.h>
42 #include <ptclib/guid.h>
43 #include <ptclib/mime.h>
92 Chunk(
const PString &
id,
unsigned from,
unsigned len)
114 const PString & text,
115 const PString & contentType,
120 const PString & transactionId,
122 const PString fromUrl,
123 const PMIMEInfo & mime,
129 const PString & text,
130 const PString & toUrl,
131 const PString & fromUrl);
134 const PString & toUrl,
135 const PString & fromUrl,
136 const PMIMEInfo & mime);
204 const PURL & localURL,
205 const PURL & remoteURL
212 PSafePtr<OpalMSRPManager::Connection> & connection
245 typedef PNotifierTemplate<IncomingMSRP &>
CallBack;
248 const PURL & localUrl,
249 const PURL & remoteURL,
254 const PURL & localUrl,
255 const PURL & remoteURL
292 bool Open(
const PURL & remoteParty);
294 virtual void Close();
300 virtual bool IsRTP()
const {
return false; }
336 bool OpenMSRP(
const PURL & remoteUrl);
339 void SetConnection(PSafePtr<OpalMSRPManager::Connection> & conn);
399 #endif // OPAL_HAS_MSRP
401 #endif // OPAL_IM_MSRP_H
bool m_originating
Definition: msrp.h:196
bool SendREPORT(const PString &chunkId, const PString &toUrl, const PString &fromUrl, const PMIMEInfo &mime)
std::map< std::string, CallBack > CallBackMap
Definition: msrp.h:272
PMutex m_connectionInfoMapAddMutex
Definition: msrp.h:268
Connection(OpalMSRPManager &manager, const std::string &key, MSRPProtocol *protocol=NULL)
PAtomicInteger m_refCount
Definition: msrp.h:197
Commands
Definition: msrp.h:80
PNotifierTemplate< IncomingMSRP & > CallBack
Definition: msrp.h:245
bool ReadMessage(int &command, PString &chunkId, PMIMEInfo &mime, PString &body)
bool SendResponse(const PString &chunkId, unsigned response, const PString &text, const PString &toUrl, const PString &fromUrl)
bool SendSEND(const PURL &from, const PURL &to, const PString &text, const PString &contentType, PString &messageId)
PSafePtr< Connection > m_connection
Definition: msrp.h:235
PString m_id
Definition: msrp.h:102
OpalMSRPManager(OpalManager &opal, WORD port=DefaultPort)
Chunk(const PString &id, unsigned from, unsigned len)
Definition: msrp.h:92
PAtomicInteger lastID
Definition: msrp.h:264
PMutex m_callBacksMutex
Definition: msrp.h:274
PString m_body
Definition: msrp.h:234
PMutex mutex
Definition: msrp.h:263
PURL SessionIDToURL(const OpalTransportAddress &addr, const std::string &id)
ChunkList m_chunks
Definition: msrp.h:100
PMutex m_mutex
Definition: msrp.h:147
std::vector< Chunk > ChunkList
Definition: msrp.h:99
PString m_contentType
Definition: msrp.h:105
unsigned m_rangeFrom
Definition: msrp.h:96
PURL m_toURL
Definition: msrp.h:104
void RemoveNotifier(const PURL &localUrl, const PURL &remoteURL)
bool GetLocalPort(WORD &port)
PThread * m_listenerThread
Definition: msrp.h:266
OpalManager & GetOpalManager()
Definition: msrp.h:258
CallBackMap m_callBacks
Definition: msrp.h:273
unsigned m_rangeTo
Definition: msrp.h:97
int m_command
Definition: msrp.h:231
void DispatchMessage(IncomingMSRP &incomingMsg)
PTCPSocket m_listenerSocket
Definition: msrp.h:265
unsigned m_length
Definition: msrp.h:106
void SetNotifier(const PURL &localUrl, const PURL &remoteURL, const CallBack ¬ifier)
std::map< std::string, PSafePtr< Connection > > ConnectionInfoMapType
Definition: msrp.h:269
bool SendChunk(const PString &transactionId, const PString toUrl, const PString fromUrl, const PMIMEInfo &mime, const PString &body)
PSafePtr< Connection > OpenConnection(const PURL &localURL, const PURL &remoteURL)
std::string m_key
Definition: msrp.h:192
PMIMEInfo m_mime
Definition: msrp.h:233
static const unsigned MaximumMessageLength
Definition: msrp.h:86
std::string CreateSessionID()
PString m_chunkId
Definition: msrp.h:232
WORD m_listenerPort
Definition: msrp.h:262
Definition: connection.h:353
OpalMSRPManager & m_manager
Definition: msrp.h:191
PString m_chunkId
Definition: msrp.h:95
Definition: transports.h:149
MSRPProtocol * m_protocol
Definition: msrp.h:193
PURL m_fromURL
Definition: msrp.h:103
OpalManager & opalManager
Definition: msrp.h:261
PThread * m_handlerThread
Definition: msrp.h:195
bool m_running
Definition: msrp.h:194
ConnectionInfoMapType m_connectionInfoMap
Definition: msrp.h:270
bool CloseConnection(PSafePtr< OpalMSRPManager::Connection > &connection)