[Freeswitch-svn] [commit] r7425 - freeswitch/trunk/src/mod/endpoints/mod_sofia

Freeswitch SVN mikej at freeswitch.org
Tue Jan 29 14:35:06 EST 2008


Author: mikej
Date: Tue Jan 29 14:35:06 2008
New Revision: 7425

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

Log:
cleanup

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	Tue Jan 29 14:35:06 2008
@@ -220,20 +220,18 @@
 	switch_core_session_t *a_session;
 	private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session);
 	switch_channel_t *channel = switch_core_session_get_channel(session);
-	switch_call_cause_t cause;
-	int sip_cause;
-	
+	switch_call_cause_t cause = switch_channel_get_cause(channel);
+	int sip_cause = hangup_cause_to_sip(cause);
+
 	if (tech_pvt->profile->rtpip && tech_pvt->local_sdp_audio_port) {
 		switch_rtp_release_port(tech_pvt->profile->rtpip, tech_pvt->local_sdp_audio_port);
 	}
 
-	cause = switch_channel_get_cause(channel);
-
 	if (switch_test_flag(tech_pvt, TFLAG_SIP_HOLD) && cause != SWITCH_CAUSE_ATTENDED_TRANSFER) {
 		const char *buuid;
-        switch_core_session_t *bsession;
-        switch_channel_t *bchannel;
-        const char *lost_ext;
+		switch_core_session_t *bsession;
+		switch_channel_t *bchannel;
+		const char *lost_ext;
 
 		if (tech_pvt->max_missed_packets) {
 			switch_rtp_set_max_missed_packets(tech_pvt->rtp_session, tech_pvt->max_missed_packets);
@@ -241,39 +239,33 @@
 		switch_channel_presence(tech_pvt->channel, "unknown", "unhold");
 
 		if ((buuid = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE))) {
-            if ((bsession = switch_core_session_locate(buuid))) {
-                bchannel = switch_core_session_get_channel(bsession);
-                if (switch_channel_test_flag(bchannel, CF_BROADCAST)) {
-                    if ((lost_ext = switch_channel_get_variable(bchannel, "left_hanging_extension"))) {
-                        switch_ivr_session_transfer(bsession, lost_ext, NULL, NULL);
-                    }
+			if ((bsession = switch_core_session_locate(buuid))) {
+				bchannel = switch_core_session_get_channel(bsession);
+				if (switch_channel_test_flag(bchannel, CF_BROADCAST)) {
+					if ((lost_ext = switch_channel_get_variable(bchannel, "left_hanging_extension"))) {
+						switch_ivr_session_transfer(bsession, lost_ext, NULL, NULL);
+					}
 					switch_channel_stop_broadcast(bchannel);
-                }
-                switch_core_session_rwunlock(bsession);
-            }
-        }
-
+				}
+				switch_core_session_rwunlock(bsession);
+			}
+		}
 		switch_clear_flag_locked(tech_pvt, TFLAG_SIP_HOLD);
-		
 	}
 
-	sip_cause = hangup_cause_to_sip(cause);
-
 	sofia_glue_deactivate_rtp(tech_pvt);
 
 	switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n",
-					  switch_channel_get_name(channel), switch_channel_cause2str(cause));
+		switch_channel_get_name(channel), switch_channel_cause2str(cause));
 
 	if (tech_pvt->hash_key) {
 		switch_core_hash_delete(tech_pvt->profile->chat_hash, tech_pvt->hash_key);
 	}
 
 	if (session) {
-		const char *call_id = tech_pvt->call_id;
-		char *sql;
-		sql = switch_mprintf("delete from sip_dialogs where call_id='%q'", call_id);
+		char *sql = switch_mprintf("delete from sip_dialogs where call_id='%q'", tech_pvt->call_id);
 		switch_assert(sql);
-        sofia_glue_execute_sql(tech_pvt->profile, SWITCH_FALSE, sql, tech_pvt->profile->ireg_mutex);
+		sofia_glue_execute_sql(tech_pvt->profile, SWITCH_FALSE, sql, tech_pvt->profile->ireg_mutex);
 		free(sql);
 	}
 
@@ -292,10 +284,10 @@
 		} else {
 			if (switch_test_flag(tech_pvt, TFLAG_OUTBOUND)) {
 				switch_call_cause_t causecode = switch_channel_get_cause(channel);
-				
+
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Sending CANCEL to %s\n", switch_channel_get_name(channel));
 				nua_cancel(tech_pvt->nh, TAG_IF(causecode == SWITCH_CAUSE_PICKED_OFF, 
-												SIPTAG_REASON_STR("SIP;cause=200;text=\"Call completed elsewhere\"")), TAG_END());
+					SIPTAG_REASON_STR("SIP;cause=200;text=\"Call completed elsewhere\"")), TAG_END());
 			} else {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Responding to INVITE with: %d\n", sip_cause);
 				nua_respond(tech_pvt->nh, sip_cause, sip_status_phrase(sip_cause), TAG_END());
@@ -379,7 +371,6 @@
 		}
 	}
 
-
 	if ((val = switch_channel_get_variable(channel, SOFIA_SESSION_TIMEOUT))) {
 		int v_session_timeout = atoi(val);
 		if (v_session_timeout >= 0) {
@@ -399,8 +390,6 @@
 	return SWITCH_STATUS_SUCCESS;
 }
 
-
-
 static switch_status_t sofia_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
 {
 	private_object_t *tech_pvt = (private_object_t *) switch_core_session_get_private(session);
@@ -497,7 +486,6 @@
 	return status;
 }
 
-
 static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id)
 {
 	private_object_t *tech_pvt =  switch_core_session_get_private(session);
@@ -536,7 +524,6 @@
 		switch_assert(tech_pvt->rtp_session != NULL);
 		tech_pvt->read_frame.datalen = 0;
 
-
 		while (switch_test_flag(tech_pvt, TFLAG_IO) && tech_pvt->read_frame.datalen == 0) {
 			tech_pvt->read_frame.flags = SFF_NONE;
 
@@ -556,7 +543,6 @@
 				switch_channel_queue_dtmf(channel, &dtmf);
 			}
 
-
 			if (tech_pvt->read_frame.datalen > 0) {
 				size_t bytes = 0;
 				int frames = 1;
@@ -636,8 +622,6 @@
 	return status;
 }
 
-
-
 static switch_status_t sofia_kill_channel(switch_core_session_t *session, int sig)
 {
 	private_object_t *tech_pvt = switch_core_session_get_private(session);
@@ -694,7 +678,6 @@
 	case DTMF_INFO:
 		snprintf(message, sizeof(message), "Signal=%c\r\nDuration=%d\r\n", dtmf->digit, dtmf->duration / 8);
 		nua_info(tech_pvt->nh,
-				 //NUTAG_WITH_THIS(tech_pvt->profile->nua),
 				 SIPTAG_CONTENT_TYPE_STR("application/dtmf-relay"),
 				 SIPTAG_PAYLOAD_STR(message),
 				 TAG_END());
@@ -1542,7 +1525,6 @@
 	return SWITCH_STATUS_SUCCESS;
 }
 
-
 static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session,
 												  switch_caller_profile_t *outbound_profile, switch_core_session_t **new_session,
 												  switch_memory_pool_t **pool, switch_originate_flag_t flags)



More information about the Freeswitch-svn mailing list