Revision
17377
Author
moises.silva
Date
2010-04-23 09:37:06 -0500 (Fri, 23 Apr 2010)

Log Message

freetdm: handle_call_done must be called on call start nack ack when there is no call setup id

Modified Paths

Diff

Modified: freeswitch/trunk/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c (17376 => 17377)


--- freeswitch/trunk/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c	2010-04-23 14:28:13 UTC (rev 17376)
+++ freeswitch/trunk/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c	2010-04-23 14:37:06 UTC (rev 17377)
@@ -1312,6 +1312,8 @@
 		if (event->call_setup_id) {
 			nack_map[event->call_setup_id] = 0;
 			release_request_id(event->call_setup_id);
+		} else {
+			handle_call_done(span, mcon, event);
 		}
 		break;
     case SIGBOOST_EVENT_INSERT_CHECK_LOOP:
@@ -1923,11 +1925,15 @@
 {
 	unsigned j;
 	int cnt=0;
+	ftdm_channel_state_t state_e = ftdm_str2ftdm_channel_state(state);
+	if (state_e == FTDM_CHANNEL_STATE_INVALID) {
+		ftdm_log(FTDM_LOG_CRIT, "Checking for channels not in the INVALID state is probably not waht you want\n");
+	}
 	for(j = 1; j <= span->chan_count; j++) {
-		if (span->channels[j]->state != FTDM_CHANNEL_STATE_DOWN) {
+		if (span->channels[j]->state != state_e) {
 			ftdm_channel_t *ftdmchan = span->channels[j];
 			ftdm_log(FTDM_LOG_CRIT, "Channel %i s%dc%d State=%s\n",
-				j,ftdmchan->physical_span_id-1,ftdmchan->physical_chan_id-1,ftdm_channel_state2str(ftdmchan->state));
+				j, ftdmchan->physical_span_id-1, ftdmchan->physical_chan_id-1, ftdm_channel_state2str(ftdmchan->state));
 			cnt++;
 		}
 	}