add answer application, change playback to preanswer by default.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2403 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2006-08-26 21:21:02 +00:00
parent f83a8ecf46
commit 087d731301
2 changed files with 18 additions and 2 deletions

View File

@ -45,6 +45,14 @@ static void sleep_function(switch_core_session_t *session, char *data)
} }
} }
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) static void set_function(switch_core_session_t *session, char *data)
{ {
switch_channel_t *channel; switch_channel_t *channel;
@ -118,11 +126,19 @@ static const switch_application_interface_t set_application_interface = {
/*.application_function */ set_function /*.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 = { static const switch_application_interface_t strftime_application_interface = {
/*.interface_name */ "strftime", /*.interface_name */ "strftime",
/*.application_function */ strftime_function, /*.application_function */ strftime_function,
NULL,NULL,NULL, NULL,NULL,NULL,
&set_application_interface &answer_application_interface
}; };

View File

@ -91,7 +91,7 @@ static void speak_function(switch_core_session_t *session, char *data)
switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); 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)); switch_ivr_speak_text(session, engine, voice, timer_name, codec->implementation->samples_per_second, on_dtmf, text, buf, sizeof(buf));
} }