[commit] r7850 - freeswitch/trunk/src/mod/endpoints/mod_sofia
Author: anthm Date: Mon Mar 10 12:13:12 2008 New Revision: 7850 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Log: update Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Mon Mar 10 12:13:12 2008 @@ -223,13 +223,6 @@ switch_call_cause_t cause = switch_channel_get_cause(channel); int sip_cause = hangup_cause_to_sip(cause); - if (tech_pvt->profile->rtpip) { - if (tech_pvt->local_sdp_audio_port) { - switch_rtp_release_port(tech_pvt->profile->rtpip, tech_pvt->local_sdp_audio_port); - } else if (tech_pvt->local_sdp_video_port) { - switch_rtp_release_port(tech_pvt->profile->rtpip, tech_pvt->local_sdp_video_port); - } - } if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) && cause != SWITCH_CAUSE_ATTENDED_TRANSFER) { const char *buuid; Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_glue.c Mon Mar 10 12:13:12 2008 @@ -223,7 +223,9 @@ } if (switch_test_flag(tech_pvt, TFLAG_VIDEO)) { - sofia_glue_tech_choose_video_port(tech_pvt); + if (!tech_pvt->local_sdp_video_port) { + sofia_glue_tech_choose_video_port(tech_pvt); + } if ((v_port = tech_pvt->adv_sdp_video_port)) { switch_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "m=video %d RTP/AVP", v_port); @@ -523,7 +525,7 @@ char *ip = tech_pvt->profile->rtpip; switch_port_t sdp_port; char tmp[50]; - + if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE) || switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MEDIA) || tech_pvt->adv_sdp_video_port) { return SWITCH_STATUS_SUCCESS; } @@ -1174,10 +1176,14 @@ if (tech_pvt->rtp_session) { switch_rtp_destroy(&tech_pvt->rtp_session); + } else if (tech_pvt->local_sdp_audio_port) { + switch_rtp_release_port(tech_pvt->profile->rtpip, tech_pvt->local_sdp_audio_port); } if (tech_pvt->video_rtp_session) { switch_rtp_destroy(&tech_pvt->video_rtp_session); + } else if (tech_pvt->local_sdp_video_port) { + switch_rtp_release_port(tech_pvt->profile->rtpip, tech_pvt->local_sdp_video_port); } }
participants (1)
-
Freeswitch SVN