}
}
+static void answer_function(switch_core_session_t *session, char *data)
+{
+ switch_channel_t *channel;
+ channel = switch_core_session_get_channel(session);
+ assert(channel != NULL);
+ switch_channel_answer(channel);
+}
+
static void set_function(switch_core_session_t *session, char *data)
{
switch_channel_t *channel;
/*.application_function */ set_function
};
+static const switch_application_interface_t answer_application_interface = {
+ /*.interface_name */ "answer",
+ /*.application_function */ answer_function,
+ NULL,NULL,NULL,
+ &set_application_interface
+
+};
+
static const switch_application_interface_t strftime_application_interface = {
/*.interface_name */ "strftime",
/*.application_function */ strftime_function,
NULL,NULL,NULL,
- &set_application_interface
+ &answer_application_interface
};
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
}
- switch_channel_answer(channel);
+ switch_channel_pre_answer(channel);
switch_ivr_speak_text(session, engine, voice, timer_name, codec->implementation->samples_per_second, on_dtmf, text, buf, sizeof(buf));
}