[Freeswitch-svn] [commit] r13038 - freeswitch/trunk/src/mod/applications/mod_fifo
FreeSWITCH SVN
brian at freeswitch.org
Wed Apr 15 10:55:31 PDT 2009
Author: brian
Date: Wed Apr 15 12:55:30 2009
New Revision: 13038
Log:
MODAPP-189
Modified:
freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c
Modified: freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_fifo/mod_fifo.c Wed Apr 15 12:55:30 2009
@@ -184,6 +184,8 @@
time_t orbit_timeout;
int do_orbit;
char *orbit_exten;
+ char *orbit_dialplan;
+ char *orbit_context;
};
typedef struct fifo_chime_data fifo_chime_data_t;
@@ -794,16 +796,19 @@
fifo_chime_data_t cd = { {0} };
const char *chime_list = switch_channel_get_variable(channel, "fifo_chime_list");
const char *chime_freq = switch_channel_get_variable(channel, "fifo_chime_freq");
- const char *orbit_var = switch_channel_get_variable(channel, "fifo_orbit_exten");
+ const char *orbit_exten = switch_channel_get_variable(channel, "fifo_orbit_exten");
+ const char *orbit_dialplan = switch_channel_get_variable(channel, "fifo_orbit_dialplan");
+ const char *orbit_context = switch_channel_get_variable(channel, "fifo_orbit_context");
+
const char *orbit_ann = switch_channel_get_variable(channel, "fifo_orbit_announce");
const char *caller_exit_key = switch_channel_get_variable(channel, "fifo_caller_exit_key");
int freq = 30;
int ftmp = 0;
int to = 60;
- if (orbit_var) {
+ if (orbit_exten) {
char *ot;
- if ((cd.orbit_exten = switch_core_session_strdup(session, orbit_var))) {
+ if ((cd.orbit_exten = switch_core_session_strdup(session, orbit_exten))) {
if ((ot = strchr(cd.orbit_exten, ':'))) {
*ot++ = '\0';
if ((to = atoi(ot)) < 0) {
@@ -812,6 +817,8 @@
}
cd.orbit_timeout = switch_epoch_time_now(NULL) + to;
}
+ cd.orbit_dialplan = switch_core_session_strdup(session, orbit_dialplan);
+ cd.orbit_context = switch_core_session_strdup(session, orbit_context);
}
if (chime_freq) {
@@ -969,7 +976,7 @@
if (orbit_ann) {
switch_ivr_play_file(session, NULL, orbit_ann, NULL);
}
- switch_ivr_session_transfer(session, cd.orbit_exten, NULL, NULL);
+ switch_ivr_session_transfer(session, cd.orbit_exten, cd.orbit_dialplan, cd.orbit_context);
}
goto done;
More information about the Freeswitch-svn
mailing list