[Freeswitch-svn] [commit] r4400 - in freeswitch/trunk/src: include mod/applications/mod_bridgecall mod/applications/mod_conference mod/applications/mod_dptools mod/applications/mod_echo mod/applications/mod_enum mod/applications/mod_ivrtest mod/applications/mod_park mod/applications/mod_playback mod/applications/mod_rss mod/event_handlers/mod_event_socket mod/languages/mod_perl mod/languages/mod_php mod/languages/mod_python mod/languages/mod_ruby mod/languages/mod_spidermonkey mod/timers/mod_softtimer
Freeswitch SVN
mikej at freeswitch.org
Mon Feb 26 16:38:11 EST 2007
Author: mikej
Date: Mon Feb 26 16:38:10 2007
New Revision: 4400
Modified:
freeswitch/trunk/src/include/switch_module_interfaces.h
freeswitch/trunk/src/include/switch_types.h
freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
freeswitch/trunk/src/mod/applications/mod_echo/mod_echo.c
freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
freeswitch/trunk/src/mod/applications/mod_park/mod_park.c
freeswitch/trunk/src/mod/applications/mod_playback/mod_playback.c
freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c
freeswitch/trunk/src/mod/languages/mod_php/mod_php.c
freeswitch/trunk/src/mod/languages/mod_python/mod_python.c
freeswitch/trunk/src/mod/languages/mod_ruby/mod_ruby.c
freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
Log:
add flags to the application interface for marking if apps support no media mode. FSCORE-7
Modified: freeswitch/trunk/src/include/switch_module_interfaces.h
==============================================================================
--- freeswitch/trunk/src/include/switch_module_interfaces.h (original)
+++ freeswitch/trunk/src/include/switch_module_interfaces.h Mon Feb 26 16:38:10 2007
@@ -595,6 +595,8 @@
const char *short_desc;
/*! an example of the application syntax */
const char *syntax;
+ /*! flags to control behaviour */
+ uint32_t flags;
const struct switch_application_interface *next;
};
@@ -606,7 +608,7 @@
const char *desc;
/*! function the api call uses */
switch_api_function_t function;
- /*! an example of the application syntax */
+ /*! an example of the api syntax */
const char *syntax;
const struct switch_api_interface *next;
};
Modified: freeswitch/trunk/src/include/switch_types.h
==============================================================================
--- freeswitch/trunk/src/include/switch_types.h (original)
+++ freeswitch/trunk/src/include/switch_types.h Mon Feb 26 16:38:10 2007
@@ -531,6 +531,11 @@
} switch_frame_flag_t;
+typedef enum {
+ SAF_NONE = 0,
+ SAF_SUPPORT_NOMEDIA = (1 << 0)
+} switch_application_flag_t;
+
/*!
\enum switch_signal_t
\brief Signals to send to channels
Modified: freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_bridgecall/mod_bridgecall.c Mon Feb 26 16:38:10 2007
@@ -118,6 +118,7 @@
/* long_desc */ "Bridge the audio between two sessions",
/* short_desc */ "Bridge Audio",
/* syntax */ "<channel_url>",
+ /* flags */ SAF_SUPPORT_NOMEDIA
};
static const switch_loadable_module_interface_t mod_bridgecall_module_interface = {
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Mon Feb 26 16:38:10 2007
@@ -4088,6 +4088,7 @@
/*.interface_name */ global_app_name,
/*.application_function */ conference_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ NULL
};
Modified: freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_dptools/mod_dptools.c Mon Feb 26 16:38:10 2007
@@ -547,6 +547,7 @@
/* long_desc */ "Queue dtmf to be sent from a session",
/* short_desc */ "Queue dtmf to be sent",
/* syntax */ "<dtmf_data>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ NULL
};
@@ -556,6 +557,7 @@
/* long_desc */ "Send a redirect message to a session.",
/* short_desc */ "Send session redirect",
/* syntax */ "<redirect_data>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &queuedtmf_application_interface
};
@@ -565,6 +567,7 @@
/* long_desc */ "Run an ivr menu.",
/* short_desc */ "Run an ivr menu",
/* syntax */ "<menu_name>",
+ /* flags */ SAF_NONE,
/*.next */ &redirect_application_interface
};
@@ -574,6 +577,7 @@
/* long_desc */ "Detect speech on a channel.",
/* short_desc */ "Detect speech",
/* syntax */ "<mod_name> <gram_name> <gram_path> [<addr>] OR grammar <gram_name> [<path>] OR pause OR resume",
+ /* flags */ SAF_NONE,
/*.next */ &ivr_application_interface
};
@@ -583,6 +587,7 @@
/* long_desc */ "Indicate Ring_Ready on a channel.",
/* short_desc */ "Indicate Ring_Ready",
/* syntax */ "",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &detect_speech_application_interface
};
@@ -592,6 +597,7 @@
/* long_desc */ "Unset a channel varaible for the channel calling the application.",
/* short_desc */ "Unset a channel varaible",
/* syntax */ "<varname>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &ring_ready_application_interface
};
@@ -601,6 +607,7 @@
/* long_desc */ "Set a channel varaible for the channel calling the application.",
/* short_desc */ "Set a channel varaible",
/* syntax */ "<varname>=<value>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &unset_application_interface
};
@@ -610,6 +617,7 @@
/* long_desc */ "Set and export a channel varaible for the channel calling the application.",
/* short_desc */ "Export a channel varaible across a bridge",
/* syntax */ "<varname>=<value>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &set_application_interface
};
@@ -619,6 +627,7 @@
/* long_desc */ "Display Call Info",
/* short_desc */ "Display Call Info",
/* syntax */ "",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &export_application_interface
};
@@ -628,6 +637,7 @@
/* long_desc */ "Logs a channel varaible for the channel calling the application.",
/* short_desc */ "Logs a channel varaible",
/* syntax */ "<varname>",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &info_application_interface
};
@@ -638,6 +648,7 @@
/* long_desc */ "Hangup the call for a channel.",
/* short_desc */ "Hangup the call",
/* syntax */ "[<cause>]",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &log_application_interface
};
@@ -648,6 +659,7 @@
/* long_desc */ "Answer the call for a channel.",
/* short_desc */ "Answer the call",
/* syntax */ "",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &hangup_application_interface
};
@@ -658,6 +670,7 @@
/* long_desc */ "Pre-Answer the call for a channel.",
/* short_desc */ "Pre-Answer the call",
/* syntax */ "",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &answer_application_interface
};
@@ -668,6 +681,7 @@
/* long_desc */ "Do Nothing",
/* short_desc */ "Do Nothing",
/* syntax */ "",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &pre_answer_application_interface
};
@@ -678,6 +692,7 @@
/* long_desc */ "Say a Phrase",
/* short_desc */ "Say a Phrase",
/* syntax */ "<macro_name>,<data>",
+ /* flags */ SAF_NONE,
/*.next */ &eval_application_interface
};
@@ -688,6 +703,7 @@
/* long_desc */ NULL,
/* short_desc */ NULL,
/* syntax */ NULL,
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &phrase_application_interface
};
@@ -698,6 +714,7 @@
/* long_desc */ "Pause the channel for a given number of milliseconds, consuming the audio for that period of time.",
/* short_desc */ "Pause a channel",
/* syntax */ "<pausemilliseconds>",
+ /* flags */ SAF_NONE,
/* next */ &strftime_application_interface
};
@@ -707,6 +724,7 @@
/* long_desc */ "Immediatly transfer the calling channel to a new extension",
/* short_desc */ "Transfer a channel",
/* syntax */ "<exten> [<dialplan> <context>]",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/* next */ &sleep_application_interface
};
@@ -716,6 +734,7 @@
/* long_desc */ "Set caller privacy on calls.",
/* short_desc */ "Set privacy on calls",
/* syntax */ "off|on|name|full|number",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ &transfer_application_interface
};
Modified: freeswitch/trunk/src/mod/applications/mod_echo/mod_echo.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_echo/mod_echo.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_echo/mod_echo.c Mon Feb 26 16:38:10 2007
@@ -48,7 +48,10 @@
static const switch_application_interface_t echo_application_interface = {
/*.interface_name */ "echo",
/*.application_function */ echo_function,
- NULL,NULL,NULL,NULL
+ /* long_desc */ "Perform an echo test against the calling channel",
+ /* short_desc */ "Echo",
+ /* syntax */ "",
+ /* flags */ SAF_NONE,
};
static switch_loadable_module_interface_t echo_module_interface = {
Modified: freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_enum/mod_enum.c Mon Feb 26 16:38:10 2007
@@ -689,6 +689,7 @@
/* long_desc */ "Perform an ENUM lookup",
/* short_desc */ "Perform an ENUM lookup",
/* syntax */ "<number> [<root>]",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ NULL
};
@@ -729,3 +730,4 @@
return SWITCH_STATUS_SUCCESS;
}
+
Modified: freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_ivrtest/mod_ivrtest.c Mon Feb 26 16:38:10 2007
@@ -462,6 +462,7 @@
/*.interface_name */ "bugtest",
/*.application_function */ bugtest_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ NULL
};
@@ -469,6 +470,7 @@
/*.interface_name */ "ivrmenu",
/*.application_function */ ivr_application_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ &bug_application_interface
};
@@ -476,6 +478,7 @@
/*.interface_name */ "xml",
/*.application_function */ xml_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ &ivr_application_interface
};
@@ -483,6 +486,7 @@
/*.interface_name */ "disast",
/*.application_function */ disast_function,
NULL, NULL, NULL,
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next*/ &xml_application_interface
};
@@ -490,6 +494,7 @@
/*.interface_name */ "tts",
/*.application_function */ tts_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ &disast_application_interface
};
@@ -497,6 +502,7 @@
/*.interface_name */ "dirtest",
/*.application_function */ dirtest_function,
NULL, NULL, NULL,
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next*/ &tts_application_interface
};
@@ -504,6 +510,7 @@
/*.interface_name */ "ivrtest",
/*.application_function */ ivrtest_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ &dirtest_application_interface
};
@@ -511,6 +518,7 @@
/*.interface_name */ "asrtest",
/*.application_function */ asrtest_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ &ivrtest_application_interface
};
Modified: freeswitch/trunk/src/mod/applications/mod_park/mod_park.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_park/mod_park.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_park/mod_park.c Mon Feb 26 16:38:10 2007
@@ -41,7 +41,9 @@
static const switch_application_interface_t park_application_interface = {
/*.interface_name */ "park",
/*.application_function */ park_function,
- NULL,NULL,NULL,NULL
+ NULL,NULL,NULL,
+ /* flags */ SAF_NONE,
+ NULL
};
static switch_loadable_module_interface_t park_module_interface = {
Modified: freeswitch/trunk/src/mod/applications/mod_playback/mod_playback.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_playback/mod_playback.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_playback/mod_playback.c Mon Feb 26 16:38:10 2007
@@ -177,13 +177,20 @@
static const switch_application_interface_t speak_application_interface = {
/*.interface_name */ "speak",
- /*.application_function */ speak_function
+ /*.application_function */ speak_function,
+ /* long_desc */ "Speak text to a channel via the tts interface",
+ /* short_desc */ "Speak text",
+ /* syntax */ "<engine>|<voice>|<text>",
+ /* flags */ SAF_NONE,
};
static const switch_application_interface_t record_application_interface = {
/*.interface_name */ "record",
/*.application_function */ record_function,
- NULL,NULL,NULL,
+ /* long_desc */ "Record a file from the channels input",
+ /* short_desc */ "Record File",
+ /* syntax */ "<path> [+time_limit_ms]",
+ /* flags */ SAF_NONE,
&speak_application_interface
};
@@ -191,7 +198,10 @@
static const switch_application_interface_t record_session_application_interface = {
/*.interface_name */ "record_session",
/*.application_function */ record_session_function,
- NULL,NULL,NULL,
+ /* long_desc */ "Starts a background recording of the entire session",
+ /* short_desc */ "Record Session",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
&record_application_interface
};
@@ -199,15 +209,21 @@
static const switch_application_interface_t stop_record_session_application_interface = {
/*.interface_name */ "stop_record_session",
/*.application_function */ stop_record_session_function,
- NULL,NULL,NULL,
+ /* long_desc */ "Stops a background recording of the entire session",
+ /* short_desc */ "Stop Record Session",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
&record_session_application_interface
};
static const switch_application_interface_t playback_application_interface = {
/*.interface_name */ "playback",
/*.application_function */ playback_function,
- NULL,NULL,NULL,
- /*.next*/ &stop_record_session_application_interface
+ /* long_desc */ "Playback a file to the channel",
+ /* short_desc */ "Playback File",
+ /* syntax */ "<path>",
+ /* flags */ SAF_NONE,
+ /*.next*/ &stop_record_session_application_interface
};
static const switch_loadable_module_interface_t mod_playback_module_interface = {
Modified: freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_rss/mod_rss.c Mon Feb 26 16:38:10 2007
@@ -658,6 +658,7 @@
/*.interface_name */ "rss",
/*.application_function */ rss_function,
NULL, NULL, NULL,
+ /* flags */ SAF_NONE,
/*.next*/ NULL
};
Modified: freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c
==============================================================================
--- freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c (original)
+++ freeswitch/trunk/src/mod/event_handlers/mod_event_socket/mod_event_socket.c Mon Feb 26 16:38:10 2007
@@ -252,6 +252,7 @@
/* long_desc */ "Connect to a socket",
/* short_desc */ "Connect to a socket",
/* syntax */ "<ip>[:<port>]",
+ /* flags */ SAF_SUPPORT_NOMEDIA,
/*.next */ NULL
};
Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c Mon Feb 26 16:38:10 2007
@@ -82,7 +82,10 @@
static const switch_application_interface_t perl_application_interface = {
/*.interface_name */ "perl",
- /*.application_function */ perl_function
+ /*.application_function */ perl_function,
+ NULL, NULL, NULL,
+ /* flags */ SAF_NONE, /* should we support no media mode here? If so, we need to detect the mode, and either disable the media functions or indicate media if/when we need */
+ /*.next*/ NULL
};
static switch_loadable_module_interface_t perl_module_interface = {
Modified: freeswitch/trunk/src/mod/languages/mod_php/mod_php.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_php/mod_php.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_php/mod_php.c Mon Feb 26 16:38:10 2007
@@ -256,8 +256,11 @@
}
static const switch_application_interface_t php_application_interface = {
- /*.interface_name */ "php",
- /*.application_function */ php_function
+ /*.interface_name */ "php",
+ /*.application_function */ php_function,
+ NULL, NULL, NULL,
+ /* flags */ SAF_NONE, /* should we support no media mode here? If so, we need to detect the mode, and either disable the media functions or indicate media if/when we need */
+ /*.next*/ NULL
};
static switch_loadable_module_interface_t php_module_interface = {
Modified: freeswitch/trunk/src/mod/languages/mod_python/mod_python.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_python/mod_python.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_python/mod_python.c Mon Feb 26 16:38:10 2007
@@ -86,7 +86,10 @@
static const switch_application_interface_t python_application_interface = {
/*.interface_name */ "python",
- /*.application_function */ python_function
+ /*.application_function */ python_function,
+ NULL, NULL, NULL,
+ /* flags */ SAF_NONE, /* should we support no media mode here? If so, we need to detect the mode, and either disable the media functions or indicate media if/when we need */
+ /*.next*/ NULL
};
static switch_api_interface_t python_run_interface = {
Modified: freeswitch/trunk/src/mod/languages/mod_ruby/mod_ruby.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_ruby/mod_ruby.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_ruby/mod_ruby.c Mon Feb 26 16:38:10 2007
@@ -78,7 +78,10 @@
static const switch_application_interface_t ruby_application_interface = {
/*.interface_name */ "ruby",
- /*.application_function */ ruby_function
+ /*.application_function */ ruby_function,
+ NULL, NULL, NULL,
+ /* flags */ SAF_NONE, /* should we support no media mode here? If so, we need to detect the mode, and either disable the media functions or indicate media if/when we need */
+ /*.next*/ NULL
};
static switch_loadable_module_interface_t ruby_module_interface = {
Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (original)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c Mon Feb 26 16:38:10 2007
@@ -2570,7 +2570,10 @@
static const switch_application_interface_t ivrtest_application_interface = {
/*.interface_name */ "javascript",
/*.application_function */ js_parse_and_execute,
- NULL, NULL, NULL,
+ /* long_desc */ "Run a javascript ivr on a channel",
+ /* short_desc */ "Launch JS ivr.",
+ /* syntax */ "<script> [additional_vars [...]]",
+ /* flags */ SAF_NONE, /* should we support no media mode here? If so, we need to detect the mode, and either disable the media functions or indicate media if/when we need */
/*.next*/ NULL
};
@@ -2578,7 +2581,7 @@
/*.interface_name */ "jsrun",
/*.desc */ "run a script",
/*.function */ launch_async,
- /*.syntax */ "jsrun <script>",
+ /*.syntax */ "jsrun <script> [additional_vars [...]]",
/*.next */ NULL
};
Modified: freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c
==============================================================================
--- freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c (original)
+++ freeswitch/trunk/src/mod/timers/mod_softtimer/mod_softtimer.c Mon Feb 26 16:38:10 2007
@@ -139,10 +139,7 @@
static const switch_loadable_module_interface_t mod_softtimer_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ NULL,
- /*.timer_interface */ &timer_interface,
- /*.switch_dialplan_interface */ NULL,
- /*.switch_codec_interface */ NULL,
- /*.switch_application_interface */ NULL
+ /*.timer_interface */ &timer_interface
};
SWITCH_MOD_DECLARE(switch_status_t) switch_module_load(const switch_loadable_module_interface_t **module_interface, char *filename)
More information about the Freeswitch-svn
mailing list