summaryrefslogtreecommitdiffstats
path: root/bindings/_common/SipSession.h
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/_common/SipSession.h')
-rwxr-xr-xbindings/_common/SipSession.h368
1 files changed, 192 insertions, 176 deletions
diff --git a/bindings/_common/SipSession.h b/bindings/_common/SipSession.h
index 7a0963b..a77418d 100755
--- a/bindings/_common/SipSession.h
+++ b/bindings/_common/SipSession.h
@@ -2,19 +2,19 @@
* Copyright (C) 2010-2011 Mamadou Diop.
*
* Contact: Mamadou Diop <diopmamadou(at)doubango.org>
-*
+*
* This file is part of Open Source Doubango Framework.
*
* DOUBANGO is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
-*
+*
* DOUBANGO is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
* along with DOUBANGO.
*
@@ -34,63 +34,77 @@ class MsrpCallback;
class MediaSessionMgr;
/* ======================== T140Callback ========================*/
-class TINYWRAP_API T140CallbackData{
- public:
+class TINYWRAP_API T140CallbackData
+{
+public:
#if !defined(SWIG)
- T140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size){
- m_eType = data_type;
- m_pPtr = data_ptr;
- m_nSize = data_size;
- }
+ T140CallbackData(enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size) {
+ m_eType = data_type;
+ m_pPtr = data_ptr;
+ m_nSize = data_size;
+ }
#endif
- virtual ~T140CallbackData(){}
-
- inline enum tmedia_t140_data_type_e getType()const{ return m_eType; }
- inline unsigned getSize()const{ return m_nSize; }
- inline unsigned getData(void* pOutput, unsigned nMaxsize)const{
- unsigned nRetsize = 0;
- if(pOutput && nMaxsize && m_pPtr){
- nRetsize = (m_nSize > nMaxsize) ? nMaxsize : m_nSize;
- memcpy(pOutput, m_pPtr, nRetsize);
- }
- return nRetsize;
- }
-
- private:
- enum tmedia_t140_data_type_e m_eType;
- const void* m_pPtr;
- unsigned m_nSize;
+ virtual ~T140CallbackData() {}
+
+ inline enum tmedia_t140_data_type_e getType()const {
+ return m_eType;
+ }
+ inline unsigned getSize()const {
+ return m_nSize;
+ }
+ inline unsigned getData(void* pOutput, unsigned nMaxsize)const {
+ unsigned nRetsize = 0;
+ if(pOutput && nMaxsize && m_pPtr) {
+ nRetsize = (m_nSize > nMaxsize) ? nMaxsize : m_nSize;
+ memcpy(pOutput, m_pPtr, nRetsize);
+ }
+ return nRetsize;
+ }
+
+private:
+ enum tmedia_t140_data_type_e m_eType;
+ const void* m_pPtr;
+ unsigned m_nSize;
};
class TINYWRAP_API T140Callback
{
public:
- T140Callback() {}
- virtual ~T140Callback(){}
- virtual int ondata(const T140CallbackData* pData){ return 0; }
+ T140Callback() {}
+ virtual ~T140Callback() {}
+ virtual int ondata(const T140CallbackData* pData) {
+ return 0;
+ }
};
#if !defined(SWIG)
-class RtcpCallbackData{
- public:
- RtcpCallbackData(enum tmedia_rtcp_event_type_e event_type, uint32_t ssrc_media){
- m_eType = event_type;
- m_nSSRC = ssrc_media;
- }
- virtual ~RtcpCallbackData(){}
- inline enum tmedia_rtcp_event_type_e getType()const{ return m_eType; }
- inline uint32_t getSSRC()const{ return m_nSSRC; }
- private:
- enum tmedia_rtcp_event_type_e m_eType;
- uint32_t m_nSSRC;
+class RtcpCallbackData
+{
+public:
+ RtcpCallbackData(enum tmedia_rtcp_event_type_e event_type, uint32_t ssrc_media) {
+ m_eType = event_type;
+ m_nSSRC = ssrc_media;
+ }
+ virtual ~RtcpCallbackData() {}
+ inline enum tmedia_rtcp_event_type_e getType()const {
+ return m_eType;
+ }
+ inline uint32_t getSSRC()const {
+ return m_nSSRC;
+ }
+private:
+ enum tmedia_rtcp_event_type_e m_eType;
+ uint32_t m_nSSRC;
};
class TINYWRAP_API RtcpCallback
{
public:
- RtcpCallback() {}
- virtual ~RtcpCallback(){}
- virtual int onevent(const RtcpCallbackData* e){ return 0; }
+ RtcpCallback() {}
+ virtual ~RtcpCallback() {}
+ virtual int onevent(const RtcpCallbackData* e) {
+ return 0;
+ }
};
#endif /* #if !defined(SWIG) */
@@ -100,65 +114,67 @@ public:
class TINYWRAP_API SipSession
{
public:
- SipSession(SipStack* stack);
+ SipSession(SipStack* stack);
#if !defined(SWIG)
- SipSession(SipStack* stack, tsip_ssession_handle_t* pHandle);
+ SipSession(SipStack* stack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~SipSession();
+ virtual ~SipSession();
public:
- bool haveOwnership();
- bool addHeader(const char* name, const char* value);
- bool removeHeader(const char* name);
- bool addCaps(const char* name, const char* value);
- bool addCaps(const char* name);
- bool removeCaps(const char* name);
- bool setExpires(unsigned expires);
- bool setFromUri(const char* fromUriString);
- bool setFromUri(const SipUri* fromUri);
- bool setToUri(const char* toUriString);
- bool setToUri(const SipUri* toUri);
- bool setSilentHangup(bool silent);
- bool addSigCompCompartment(const char* compId);
- bool removeSigCompCompartment();
+ bool haveOwnership();
+ bool addHeader(const char* name, const char* value);
+ bool removeHeader(const char* name);
+ bool addCaps(const char* name, const char* value);
+ bool addCaps(const char* name);
+ bool removeCaps(const char* name);
+ bool setExpires(unsigned expires);
+ bool setFromUri(const char* fromUriString);
+ bool setFromUri(const SipUri* fromUri);
+ bool setToUri(const char* toUriString);
+ bool setToUri(const SipUri* toUri);
+ bool setSilentHangup(bool silent);
+ bool addSigCompCompartment(const char* compId);
+ bool removeSigCompCompartment();
#if !defined(SWIG)
- bool setAuth(const char* authHa1, const char* authIMPI);
+ bool setAuth(const char* authHa1, const char* authIMPI);
#endif
- unsigned getId()const;
+ unsigned getId()const;
#if !defined(SWIG)
- bool setWebSocketSrc(const char* host, int32_t port, const char* proto);
- const SipStack* getStack() const;
- const tsip_ssession_handle_t* getWrappedSession() { return m_pHandle; }
+ bool setWebSocketSrc(const char* host, int32_t port, const char* proto);
+ const SipStack* getStack() const;
+ const tsip_ssession_handle_t* getWrappedSession() {
+ return m_pHandle;
+ }
#endif
-
+
private:
- void init(SipStack* stack, tsip_ssession_handle_t* pHandle=tsk_null);
+ void init(SipStack* stack, tsip_ssession_handle_t* pHandle=tsk_null);
protected:
- tsip_ssession_handle_t* m_pHandle;
- const SipStack* m_pStack;
+ tsip_ssession_handle_t* m_pHandle;
+ const SipStack* m_pStack;
};
/* ======================== InviteSession ========================*/
class TINYWRAP_API InviteSession : public SipSession
{
public: /* ctor() and dtor() */
- InviteSession(SipStack* Stack);
+ InviteSession(SipStack* Stack);
#if !defined(SWIG)
- InviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ InviteSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~InviteSession();
+ virtual ~InviteSession();
public: /* Public functions */
- bool accept(ActionConfig* config=tsk_null);
- bool hangup(ActionConfig* config=tsk_null);
- bool reject(ActionConfig* config=tsk_null);
- bool sendInfo(const void* payload, unsigned len, ActionConfig* config=tsk_null);
- const MediaSessionMgr* getMediaMgr();
+ bool accept(ActionConfig* config=tsk_null);
+ bool hangup(ActionConfig* config=tsk_null);
+ bool reject(ActionConfig* config=tsk_null);
+ bool sendInfo(const void* payload, unsigned len, ActionConfig* config=tsk_null);
+ const MediaSessionMgr* getMediaMgr();
private:
- MediaSessionMgr* m_pMediaMgr;
+ MediaSessionMgr* m_pMediaMgr;
};
@@ -166,92 +182,92 @@ private:
class TINYWRAP_API CallSession : public InviteSession
{
public: /* ctor() and dtor() */
- CallSession(SipStack* pStack);
+ CallSession(SipStack* pStack);
#if !defined(SWIG)
- CallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ CallSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~CallSession();
+ virtual ~CallSession();
public: /* Public functions */
- bool callAudio(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
- bool callAudio(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
- bool callAudioVideo(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
- bool callAudioVideo(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
- bool callVideo(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
- bool callVideo(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
-
- bool call(const char* remoteUriString, twrap_media_type_t media, ActionConfig* config=tsk_null);
- bool call(const SipUri* remoteUri, twrap_media_type_t media, ActionConfig* config=tsk_null);
+ bool callAudio(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
+ bool callAudio(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
+ bool callAudioVideo(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
+ bool callAudioVideo(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
+ bool callVideo(const char* remoteUriString, ActionConfig* config=tsk_null); /* @deprecated */
+ bool callVideo(const SipUri* remoteUri, ActionConfig* config=tsk_null); /* @deprecated */
+
+ bool call(const char* remoteUriString, twrap_media_type_t media, ActionConfig* config=tsk_null);
+ bool call(const SipUri* remoteUri, twrap_media_type_t media, ActionConfig* config=tsk_null);
#if !defined(SWIG)
- bool setSupportedCodecs(int32_t codecs);
- int32_t getNegotiatedCodecs();
- bool setMediaSSRC(twrap_media_type_t media, uint32_t ssrc);
+ bool setSupportedCodecs(int32_t codecs);
+ int32_t getNegotiatedCodecs();
+ bool setMediaSSRC(twrap_media_type_t media, uint32_t ssrc);
#endif
- bool setSessionTimer(unsigned timeout, const char* refresher);
- bool set100rel(bool enabled);
- bool setRtcp(bool enabled);
- bool setRtcpMux(bool enabled);
- bool setSRtpMode(enum tmedia_srtp_mode_e mode);
- bool setAvpfMode(enum tmedia_mode_e mode);
- bool setICE(bool enabled);
- bool setICEStun(bool enabled);
- bool setICETurn(bool enabled);
- bool setSTUNServer(const char* hostname, uint16_t port);
- bool setSTUNCred(const char* username, const char* password);
- bool setVideoFps(int32_t fps);
- bool setVideoBandwidthUploadMax(int32_t max);
- bool setVideoBandwidthDownloadMax(int32_t max);
- bool setVideoPrefSize(tmedia_pref_video_size_t pref_video_size);
- bool setQoS(tmedia_qos_stype_t type, tmedia_qos_strength_t strength);
- bool hold(ActionConfig* config=tsk_null);
- bool resume(ActionConfig* config=tsk_null);
- bool transfer(const char* referToUriString, ActionConfig* config=tsk_null);
- bool acceptTransfer(ActionConfig* config=tsk_null);
- bool rejectTransfer(ActionConfig* config=tsk_null);
- bool sendDTMF(int number);
- unsigned getSessionTransferId();
- bool sendT140Data(enum tmedia_t140_data_type_e data_type, const void* data_ptr = NULL, unsigned data_size = 0);
- bool setT140Callback(const T140Callback* pT140Callback);
+ bool setSessionTimer(unsigned timeout, const char* refresher);
+ bool set100rel(bool enabled);
+ bool setRtcp(bool enabled);
+ bool setRtcpMux(bool enabled);
+ bool setSRtpMode(enum tmedia_srtp_mode_e mode);
+ bool setAvpfMode(enum tmedia_mode_e mode);
+ bool setICE(bool enabled);
+ bool setICEStun(bool enabled);
+ bool setICETurn(bool enabled);
+ bool setSTUNServer(const char* hostname, uint16_t port);
+ bool setSTUNCred(const char* username, const char* password);
+ bool setVideoFps(int32_t fps);
+ bool setVideoBandwidthUploadMax(int32_t max);
+ bool setVideoBandwidthDownloadMax(int32_t max);
+ bool setVideoPrefSize(tmedia_pref_video_size_t pref_video_size);
+ bool setQoS(tmedia_qos_stype_t type, tmedia_qos_strength_t strength);
+ bool hold(ActionConfig* config=tsk_null);
+ bool resume(ActionConfig* config=tsk_null);
+ bool transfer(const char* referToUriString, ActionConfig* config=tsk_null);
+ bool acceptTransfer(ActionConfig* config=tsk_null);
+ bool rejectTransfer(ActionConfig* config=tsk_null);
+ bool sendDTMF(int number);
+ unsigned getSessionTransferId();
+ bool sendT140Data(enum tmedia_t140_data_type_e data_type, const void* data_ptr = NULL, unsigned data_size = 0);
+ bool setT140Callback(const T140Callback* pT140Callback);
#if !defined(SWIG)
- bool sendRtcpEvent(enum tmedia_rtcp_event_type_e event_type, twrap_media_type_t media_type, uint32_t ssrc_media = 0);
- bool setRtcpCallback(const RtcpCallback* pRtcpCallback, twrap_media_type_t media_type);
- const T140Callback* getT140Callback() const;
- static int t140OnDataCallback(const void* context, enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size);
- const RtcpCallback* getRtcpCallback() const;
- static int rtcpOnCallback(const void* context, enum tmedia_rtcp_event_type_e event_type, uint32_t ssrc_media);
+ bool sendRtcpEvent(enum tmedia_rtcp_event_type_e event_type, twrap_media_type_t media_type, uint32_t ssrc_media = 0);
+ bool setRtcpCallback(const RtcpCallback* pRtcpCallback, twrap_media_type_t media_type);
+ const T140Callback* getT140Callback() const;
+ static int t140OnDataCallback(const void* context, enum tmedia_t140_data_type_e data_type, const void* data_ptr, unsigned data_size);
+ const RtcpCallback* getRtcpCallback() const;
+ static int rtcpOnCallback(const void* context, enum tmedia_rtcp_event_type_e event_type, uint32_t ssrc_media);
#endif /* #if !defined(SWIG) */
private:
- const T140Callback* m_pT140Callback;
- const RtcpCallback* m_pRtcpCallback;
+ const T140Callback* m_pT140Callback;
+ const RtcpCallback* m_pRtcpCallback;
};
/* ======================== MsrpSession ========================*/
class TINYWRAP_API MsrpSession : public InviteSession
{
public: /* ctor() and dtor() */
- MsrpSession(SipStack* pStack, MsrpCallback* pCallback);
+ MsrpSession(SipStack* pStack, MsrpCallback* pCallback);
#if !defined(SWIG)
- MsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ MsrpSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~MsrpSession();
+ virtual ~MsrpSession();
public: /* Public functions */
- bool setCallback(MsrpCallback* pCallback);
- bool callMsrp(const char* remoteUriString, ActionConfig* config=tsk_null);
- bool callMsrp(const SipUri* remoteUri, ActionConfig* config=tsk_null);
- bool sendMessage(const void* payload, unsigned len, ActionConfig* config=tsk_null);
- bool sendFile(ActionConfig* config=tsk_null);
+ bool setCallback(MsrpCallback* pCallback);
+ bool callMsrp(const char* remoteUriString, ActionConfig* config=tsk_null);
+ bool callMsrp(const SipUri* remoteUri, ActionConfig* config=tsk_null);
+ bool sendMessage(const void* payload, unsigned len, ActionConfig* config=tsk_null);
+ bool sendFile(ActionConfig* config=tsk_null);
- public: /* Public helper function */
+public: /* Public helper function */
#if !defined(SWIG)
- inline MsrpCallback* getCallback()const{
- return m_pCallback;
- }
+ inline MsrpCallback* getCallback()const {
+ return m_pCallback;
+ }
#endif
private:
- MsrpCallback* m_pCallback;
+ MsrpCallback* m_pCallback;
};
@@ -260,48 +276,48 @@ private:
class TINYWRAP_API MessagingSession : public SipSession
{
public: /* ctor() and dtor() */
- MessagingSession(SipStack* pStack);
+ MessagingSession(SipStack* pStack);
#if !defined(SWIG)
- MessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ MessagingSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~MessagingSession();
+ virtual ~MessagingSession();
public: /* Public functions */
- bool send(const void* payload, unsigned len, ActionConfig* config=tsk_null);
- bool accept(ActionConfig* config=tsk_null);
- bool reject(ActionConfig* config=tsk_null);
+ bool send(const void* payload, unsigned len, ActionConfig* config=tsk_null);
+ bool accept(ActionConfig* config=tsk_null);
+ bool reject(ActionConfig* config=tsk_null);
};
/* ======================== InfoSession ========================*/
class TINYWRAP_API InfoSession : public SipSession
{
public: /* ctor() and dtor() */
- InfoSession(SipStack* pStack);
+ InfoSession(SipStack* pStack);
#if !defined(SWIG)
- InfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ InfoSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~InfoSession();
+ virtual ~InfoSession();
public: /* Public functions */
- bool send(const void* payload, unsigned len, ActionConfig* config=tsk_null);
- bool accept(ActionConfig* config=tsk_null);
- bool reject(ActionConfig* config=tsk_null);
+ bool send(const void* payload, unsigned len, ActionConfig* config=tsk_null);
+ bool accept(ActionConfig* config=tsk_null);
+ bool reject(ActionConfig* config=tsk_null);
};
/* ======================== OptionsSession ========================*/
class TINYWRAP_API OptionsSession : public SipSession
{
public: /* ctor() and dtor() */
- OptionsSession(SipStack* pStack);
+ OptionsSession(SipStack* pStack);
#if !defined(SWIG)
- OptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ OptionsSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~OptionsSession();
+ virtual ~OptionsSession();
public: /* Public functions */
- bool send(ActionConfig* config=tsk_null);
- bool accept(ActionConfig* config=tsk_null);
- bool reject(ActionConfig* config=tsk_null);
+ bool send(ActionConfig* config=tsk_null);
+ bool accept(ActionConfig* config=tsk_null);
+ bool reject(ActionConfig* config=tsk_null);
};
@@ -310,15 +326,15 @@ public: /* Public functions */
class TINYWRAP_API PublicationSession : public SipSession
{
public: /* ctor() and dtor() */
- PublicationSession(SipStack* pStack);
+ PublicationSession(SipStack* pStack);
#if !defined(SWIG)
- PublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ PublicationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~PublicationSession();
+ virtual ~PublicationSession();
public: /* Public functions */
- bool publish(const void* payload, unsigned len, ActionConfig* config=tsk_null);
- bool unPublish(ActionConfig* config=tsk_null);
+ bool publish(const void* payload, unsigned len, ActionConfig* config=tsk_null);
+ bool unPublish(ActionConfig* config=tsk_null);
};
@@ -326,17 +342,17 @@ public: /* Public functions */
class TINYWRAP_API RegistrationSession : public SipSession
{
public: /* ctor() and dtor() */
- RegistrationSession(SipStack* pStack);
+ RegistrationSession(SipStack* pStack);
#if !defined(SWIG)
- RegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ RegistrationSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~RegistrationSession();
+ virtual ~RegistrationSession();
public: /* Public functions */
- bool register_(ActionConfig* config=tsk_null);
- bool unRegister(ActionConfig* config=tsk_null);
- bool accept(ActionConfig* config=tsk_null);
- bool reject(ActionConfig* config=tsk_null);
+ bool register_(ActionConfig* config=tsk_null);
+ bool unRegister(ActionConfig* config=tsk_null);
+ bool accept(ActionConfig* config=tsk_null);
+ bool reject(ActionConfig* config=tsk_null);
};
@@ -344,15 +360,15 @@ public: /* Public functions */
class TINYWRAP_API SubscriptionSession : public SipSession
{
public: /* ctor() and dtor() */
- SubscriptionSession(SipStack* pStack);
+ SubscriptionSession(SipStack* pStack);
#if !defined(SWIG)
- SubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
+ SubscriptionSession(SipStack* pStack, tsip_ssession_handle_t* pHandle);
#endif
- virtual ~SubscriptionSession();
+ virtual ~SubscriptionSession();
public: /* Public functions */
- bool subscribe();
- bool unSubscribe();
+ bool subscribe();
+ bool unSubscribe();
};
#endif /* TINYWRAP_SIPSESSION_H */
OpenPOWER on IntegriCloud