diff options
Diffstat (limited to 'bindings/_common/SipSession.h')
-rwxr-xr-x | bindings/_common/SipSession.h | 368 |
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 */ |