]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Adds an extra switch_rtp_destroy or switch_rtp_release_port when a session ends ...
authorGeorgiewskiy Yuriy <bottleman@icf.org.ru>
Fri, 3 Dec 2010 16:33:29 +0000 (19:33 +0300)
committerGeorgiewskiy Yuriy <bottleman@icf.org.ru>
Fri, 3 Dec 2010 16:33:29 +0000 (19:33 +0300)
src/mod/endpoints/mod_h323/changes.txt
src/mod/endpoints/mod_h323/mod_h323.cpp

index c01542e2d3548b21b5773d0fcb1c167b5d990a8e..4f75aef8b4b5d01b2b0620f0070c0a9efaea4f10 100644 (file)
@@ -1,3 +1,5 @@
+Adds an extra switch_rtp_destroy or switch_rtp_release_port when a session ends 
+    - to make sure the port is returned to FS. thx to Peter Olsson.
 fix issues with Progress message type if pre_answer enabled
 fix crashes on FSH323Connection calls in on_hangup routine in different threads.
 move PTrace level set to FSH323EndPoint::Initialise
index 6365f9cc0c66b1960682af5f90618eda0609980b..74fb6ae11a49fc4f0cf5ed42d037a78a889e0bb8 100644 (file)
@@ -343,7 +343,7 @@ PString GetH245CodecName(const H323Capability* cap)
 }
 
 FSProcess::FSProcess()
-       : PLibraryProcess("Test", "mod_h323", 1, 0, AlphaCode, 1)
+       : PLibraryProcess("FreeSWITCH", "mod_h323", 1, 0, AlphaCode, 1)
        , m_h323endpoint(NULL){
 }
 
@@ -742,6 +742,14 @@ FSH323Connection::~FSH323Connection()
                switch_core_session_unlock_codec_write(m_fsSession);
                switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,"------------->switch_core_session_unlock_codec_write [%p]\n",m_fsSession);
        }
+
+       if (tech_pvt->rtp_session) {
+               switch_rtp_destroy(&tech_pvt->rtp_session);
+               tech_pvt->rtp_session = NULL;
+       } else if (m_RTPlocalPort) {
+               switch_rtp_release_port((const char *)m_RTPlocalIP.AsString(), m_RTPlocalPort);
+       }
+
        tech_pvt->me = NULL;
 //     switch_mutex_unlock(tech_pvt->h323_mutex);
 //     switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG,"------------->h323_mutex_unlock\n");