[Freeswitch-svn] [commit] r10179 - freeswitch/trunk/src
Freeswitch SVN
anthm at freeswitch.org
Tue Oct 28 12:01:16 EDT 2008
Author: anthm
Date: Tue Oct 28 12:01:15 2008
New Revision: 10179
Modified:
freeswitch/trunk/src/switch_core_state_machine.c
Log:
tweak
Modified: freeswitch/trunk/src/switch_core_state_machine.c
==============================================================================
--- freeswitch/trunk/src/switch_core_state_machine.c (original)
+++ freeswitch/trunk/src/switch_core_state_machine.c Tue Oct 28 12:01:15 2008
@@ -78,7 +78,7 @@
for (x = 0; x < argc; x++) {
char *dpname = dp[x];
char *dparg = NULL;
-
+
if (dpname) {
if ((dparg = strchr(dpname, ':'))) {
*dparg++ = '\0';
@@ -89,7 +89,7 @@
if (!(dialplan_interface = switch_loadable_module_get_dialplan_interface(dpname))) {
continue;
}
-
+
count++;
if ((extension = dialplan_interface->hunt_function(session, dparg, NULL)) != 0) {
@@ -103,8 +103,13 @@
if (!count) {
if (switch_channel_test_flag(session->channel, CF_OUTBOUND)) {
- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "No Dialplan, changing state to HOLD\n");
- switch_channel_set_state(session->channel, CS_CONSUME_MEDIA);
+ if (switch_channel_test_flag(session->channel, CF_ANSWERED)) {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "No Dialplan on answered channel, changing state to HANGUP\n");
+ switch_channel_hangup(session->channel, SWITCH_CAUSE_NO_ROUTE_DESTINATION);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "No Dialplan, changing state to CONSUME_MEDIA\n");
+ switch_channel_set_state(session->channel, CS_CONSUME_MEDIA);
+ }
goto end;
}
}
More information about the Freeswitch-svn
mailing list