[Freeswitch-svn] [commit] r3210 - in freeswitch/trunk/src: . mod/endpoints/mod_portaudio

Freeswitch SVN anthm at freeswitch.org
Thu Oct 26 11:00:46 EDT 2006


Author: anthm
Date: Thu Oct 26 11:00:46 2006
New Revision: 3210

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
   freeswitch/trunk/src/switch_ivr.c

Log:
update

Modified: freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_portaudio/mod_portaudio.c	Thu Oct 26 11:00:46 2006
@@ -823,7 +823,11 @@
 	} else {
 		switch_core_codec_destroy(&tech_pvt->read_codec);
 		switch_core_codec_destroy(&tech_pvt->write_codec);
-		switch_core_session_destroy(&tech_pvt->session);
+		if (switch_core_session_running(tech_pvt->session)) {
+			switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+		} else {
+			switch_core_session_destroy(&tech_pvt->session);
+		}
 	}
 
 	return SWITCH_STATUS_FALSE;

Modified: freeswitch/trunk/src/switch_ivr.c
==============================================================================
--- freeswitch/trunk/src/switch_ivr.c	(original)
+++ freeswitch/trunk/src/switch_ivr.c	Thu Oct 26 11:00:46 2006
@@ -2101,6 +2101,9 @@
 			if (idx == IDX_CANCEL) {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Cancelled by originator termination Cause: %d [%s]\n",
 								  *cause, switch_channel_cause2str(*cause));
+				if (peer_channel) {
+					switch_channel_hangup(peer_channel, SWITCH_CAUSE_ORIGINATOR_CANCEL);
+				}
 			} else {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Originate Resulted in Error Cause: %d [%s]\n",
 								  *cause, switch_channel_cause2str(*cause));



More information about the Freeswitch-svn mailing list