]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add answer application, change playback to preanswer by default.
authorMichael Jerris <mike@jerris.com>
Sat, 26 Aug 2006 21:21:02 +0000 (21:21 +0000)
committerMichael Jerris <mike@jerris.com>
Sat, 26 Aug 2006 21:21:02 +0000 (21:21 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2403 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_dptools/mod_dptools.c
src/mod/applications/mod_playback/mod_playback.c

index 871a8e59eb7523b3c5df596216dbbc8c20881904..b59510fd4c891b6ece3b26b14e44be99ad9b720d 100644 (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)
 {
        switch_channel_t *channel;
@@ -118,11 +126,19 @@ static const switch_application_interface_t set_application_interface = {
        /*.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
 
 };
 
index 4bc91740c5d24d3d82399f7d326d780379defca2..cc167aae3a8b65266122d052e67abf157bd8a3e2 100644 (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_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));
        
 }