From a024f006de31afcf1b09845597d300f6cf4248ec Mon Sep 17 00:00:00 2001 From: Georgiewskiy Yuriy Date: Fri, 3 Dec 2010 19:33:29 +0300 Subject: [PATCH] Adds an extra switch_rtp_destroy or switch_rtp_release_port when a session ends - to make sure the port is returned to FS. --- src/mod/endpoints/mod_h323/changes.txt | 2 ++ src/mod/endpoints/mod_h323/mod_h323.cpp | 10 +++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_h323/changes.txt b/src/mod/endpoints/mod_h323/changes.txt index c01542e2d3..4f75aef8b4 100644 --- a/src/mod/endpoints/mod_h323/changes.txt +++ b/src/mod/endpoints/mod_h323/changes.txt @@ -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 diff --git a/src/mod/endpoints/mod_h323/mod_h323.cpp b/src/mod/endpoints/mod_h323/mod_h323.cpp index 6365f9cc0c..74fb6ae11a 100644 --- a/src/mod/endpoints/mod_h323/mod_h323.cpp +++ b/src/mod/endpoints/mod_h323/mod_h323.cpp @@ -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");