[Freeswitch-svn] [commit] r7277 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia

Freeswitch SVN anthm at freeswitch.org
Thu Jan 17 19:10:24 EST 2008


Author: anthm
Date: Thu Jan 17 19:10:23 2008
New Revision: 7277

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
   freeswitch/trunk/src/switch_rtp.c

Log:
refactor

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	Thu Jan 17 19:10:23 2008
@@ -2453,7 +2453,7 @@
 			} else {
 				const char *url = (sofia_glue_transport_has_tls(transport)) ? profile->tls_url : profile->url;
 
-				if (strchr(url, '>')) {
+				if (url && strchr(url, '>')) {
 					tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;transport=%s", url, sofia_glue_transport2str(transport));
 				} else {
 					tech_pvt->reply_contact = switch_core_session_sprintf(session, "<%s;transport=%s>", url, sofia_glue_transport2str(transport));

Modified: freeswitch/trunk/src/switch_rtp.c
==============================================================================
--- freeswitch/trunk/src/switch_rtp.c	(original)
+++ freeswitch/trunk/src/switch_rtp.c	Thu Jan 17 19:10:23 2008
@@ -770,6 +770,7 @@
 SWITCH_DECLARE(void) switch_rtp_destroy(switch_rtp_t **rtp_session)
 {
 	void *pop;
+	switch_socket_t *sock;
 
 	if (!switch_rtp_ready(*rtp_session)) {
 		return;
@@ -792,8 +793,10 @@
 	}
 
 	switch_rtp_kill_socket(*rtp_session);
-	switch_socket_close((*rtp_session)->sock);
+	sock = (*rtp_session)->sock;
 	(*rtp_session)->sock = NULL;
+	switch_socket_close(sock);
+
 
 
 	if (switch_test_flag((*rtp_session), SWITCH_RTP_FLAG_VAD)) {
@@ -1088,7 +1091,9 @@
 				switch_frame_flag_t frame_flags = SFF_NONE;
 				data[0] = 65;
 				rtp_session->cn++;
+				switch_mutex_lock(rtp_session->flag_mutex);
 				rtp_common_write(rtp_session, NULL, (void *) data, 2, rtp_session->cng_pt, 0, &frame_flags);
+				switch_mutex_unlock(rtp_session->flag_mutex);
 			}
 		}
 
@@ -1601,7 +1606,7 @@
 
 	this_ts = ntohl(send_msg->header.ts);
 
-	if (rtp_session->sending_dtmf || !this_ts) {
+	if (!switch_rtp_ready(rtp_session) || rtp_session->sending_dtmf || !this_ts) {
 		send = 0;
 	}
 



More information about the Freeswitch-svn mailing list