Commit Graph

149 Commits

Author SHA1 Message Date
Michael Jerris 5a9481d940 silence logically protected warning.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6648 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-11 17:02:02 +00:00
Anthony Minessale b94e626b69 change var name
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6641 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-11 15:38:07 +00:00
Anthony Minessale 3fdacb447c add vars
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6640 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-11 15:14:33 +00:00
Anthony Minessale 16b01c0c30 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6617 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-11 01:05:52 +00:00
Michael Jerris cc71ce69e0 handle invalid log level strings. (FSCORE-69)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6604 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-10 19:16:50 +00:00
Anthony Minessale 1c45f71722 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6600 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-10 18:13:07 +00:00
Anthony Minessale 4bc03bb392 almost ready for b3
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6573 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-08 00:14:21 +00:00
Anthony Minessale 6ef6cbaf7a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6522 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-05 18:54:49 +00:00
Anthony Minessale ad3a8db6cf add some user stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6501 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-12-04 19:39:14 +00:00
Anthony Minessale 321b68c5b4 these aren't the droids you're looking for, move along....
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6453 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-30 22:56:01 +00:00
Anthony Minessale d79d8ba65c add some stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6430 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-29 02:48:44 +00:00
Michael Jerris c5cc708fe7 merge MODAPP-50 (modified for changes in api)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6353 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-20 03:44:19 +00:00
Anthony Minessale a62373c784 fix uri nonsense and backwards stristr
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6274 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-15 16:22:18 +00:00
Anthony Minessale 0ac9a16321 fix some stuff and add set_user func
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6239 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-13 19:58:44 +00:00
Anthony Minessale 1834d0c221 thx stkn
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6197 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-09 17:46:20 +00:00
Anthony Minessale 06bab2c04e add set_global
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6194 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-09 15:55:40 +00:00
Michael Jerris 622a2733dc use more correct const char * for things that should not be modified. This should also fix the switch_cpp.cpp changes from MODAPP-44. More patches to follow up on this for a few more modules that will likely break with this commit.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6120 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-11-01 11:28:26 +00:00
Anthony Minessale f6e9bc335b add inband dtmf generator
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6097 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-31 16:44:02 +00:00
Anthony Minessale 1ae9e8f6b6 add playback_terminators variable
This is valid for playback, gentones, record and speak
value may be a string of valid terminator characters, or the word 'none'
the default of * will always work unless overridden by 'none'. This is for backward compat.

  <extension name="8000">
    <condition field="destination_number" expression="^8000$">
      <action application="answer"/>
      <!--both * and # will stop the playback-->
      <action application="set" data="playback_terminators=#*"/>
      <action application="playback" data="/ram/swimp.raw"/>
    </condition>
  </extension>






git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5888 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-16 14:36:39 +00:00
Anthony Minessale b50e8f5c9a add switch_stristr and use it in dptools
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5887 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-16 14:24:02 +00:00
Anthony Minessale b8457503ea add transparent speech handle caching via cache_speech_handles=true variable and an app to clear a cached handle called clear_speech_cache
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5876 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-15 16:25:08 +00:00
Anthony Minessale be921bed1a expand continue_on_fail to also accept a specific list of cause codes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5875 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-15 14:00:48 +00:00
Anthony Minessale 230a77714d EXECUTE ORDER 66
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5846 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-12 03:28:59 +00:00
Anthony Minessale 1418927007 add delay_echo application
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5794 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-04 15:09:44 +00:00
Anthony Minessale 160edc558d clean up speak code
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5670 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-08-28 17:06:20 +00:00
Michael Jerris 6a03185729 add utility app for profile vars
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5655 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-08-22 00:22:22 +00:00
Michael Jerris f1222ba2fd fix for FSCORE-40
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5566 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-08-03 21:29:01 +00:00
Anthony Minessale d571f9020e update desc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5544 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-07-24 23:11:35 +00:00
Anthony Minessale 5b8ab1b39f add record params (update desc)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5543 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-07-24 21:51:00 +00:00
Anthony Minessale 008d4c0152 add record params (please test)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5542 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-07-24 21:42:54 +00:00
Anthony Minessale fdf9a8f052 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5465 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-25 21:25:33 +00:00
Anthony Minessale a039d870c3 Add events around all application execution:
fire SWITCH_EVEHT_CHANNEL_EXECUTE
<execute app>
fire SWITCH_EVEHT_CHANNEL_EXECUTE_COMPLETE

This can be used in async socket connections to tell
when a queued application has finished executing.



Add the "event" application to the dialplan:

<action application="event" data="header1=val1,header2=val2"/>

Events fired from this applcation will always have the type SWITCH_EVENT_CHANNEL_APPLICATION.

You can add up to 25 headers of your own to the event via the application arguements.





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5448 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-23 05:41:07 +00:00
Michael Jerris b9c9f4c9e9 add SWITCH_STANDARD_APP helper macro
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5400 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 05:39:50 +00:00
Michael Jerris 8879fe5eb5 move mod_dptools to use new module loader interfaces.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5399 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 05:15:07 +00:00
Michael Jerris 4de6b9858d add system app: MODAPP-14
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5396 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 02:19:29 +00:00
Anthony Minessale 2dd261deee add gentones app
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5384 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-17 01:16:39 +00:00
Anthony Minessale 7eeb6cc8e9 fix typos
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5383 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-16 23:23:34 +00:00
Anthony Minessale 365b8c515d finish up merge
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5380 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-16 03:43:13 +00:00
Anthony Minessale 4ca73d77e0 upgrade fax_detect to tone_detect
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5379 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-16 02:25:40 +00:00
Michael Jerris ac79d909b2 add system application (MODAPP-14)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5375 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-15 17:39:18 +00:00
Anthony Minessale 8d0a8a0d47 add session_displace api and app
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5366 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-15 01:47:48 +00:00
Anthony Minessale 95f007586f stage 1 of wrecking ball (duck!)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5347 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-13 20:40:06 +00:00
Michael Jerris 50fe6fbac8 merge mod_bridgecall, mod_echo, mod_park, and mod_playback all into mod_dptools. You will need to remove these from your modules.conf and configuration files.
move some applications to use the new module interface macros.


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5342 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-13 16:00:14 +00:00
Michael Jerris 4f04ce0518 merge patch from MODAPP-12, thanks Bret.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5257 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-04 22:10:42 +00:00
Michael Jerris 47755f4d20 add start_dtmf and stop_dtmf apps, inspired by trixter.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5256 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-04 17:12:43 +00:00
Michael Jerris 521eac756e create macro to define api command prototypes.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5167 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-12 21:36:15 +00:00
Michael Jerris a4ff7e88da adding const qualifiers across the api as appropriate.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5165 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-12 14:48:14 +00:00
Anthony Minessale 4dab016887 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5118 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-10 14:11:26 +00:00
Anthony Minessale a5417cc133 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5117 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-09 22:13:18 +00:00
Michael Jerris 7409a6c975 fix type
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5086 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-04 02:14:40 +00:00
Michael Jerris bf6a88e818 warnings cleanup.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5085 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-04 02:09:24 +00:00
Anthony Minessale b7606ea4ea add reject app to do custom sip rejects
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4997 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-21 15:04:01 +00:00
Anthony Minessale b5a10d5a14 add new execute_extension application to execute another extension in the current scope
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4993 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-20 23:45:14 +00:00
Anthony Minessale debdfb1aab indent
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4798 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:13:31 +00:00
Anthony Minessale 3a54126261 spring cleaning
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4795 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 22:31:56 +00:00
Anthony Minessale 8a4406ece2 Addition of scheduler engine and a few applications to use it.
This patch adds a scheduler thread to the core and moves the heartbeat
event to use the new scheduler as an example.

Also The following features are implemented that use this scheduler:

sched_hangup dialplan application:

<action application="sched_hangup" data="+10 normal_clearing bleg"/>

** The cause code is optional and the optional bleg keyword will only hangup the
   channel the current channel is bridged to if the call is in a bridge.

sched_transfer dialplan application:

<action application="sched_transfer" data="+10 1000 XML default"/>

** The last 2 args (dialplan and context) are optional

sched_broadcast dialplan application:

<action application="sched_broadcast" data="+10 playback:/tmp/foo.wav"/>
<action application="sched_broadcast" data="+10 playback!normal_clearing:/tmp/foo.wav"/>

** The optional !<cause_code> can be added to make the channel hangup after broadcasting the file.


sched_hangup api function:

sched_hangup +10 <uuid_string> normal_clearing

** The cause code is optional

sched_transfer api function:

sched_transfer +10 <uuid_string> 1000 XML default

** The last 2 args (dialplan and context) are optional

sched_broadcast api function:

sched_broadcast +10 <uuid_str> playback:/tmp/foo.wav
sched_broadcast +10 <uuid_str> playback!normal_clearing:/tmp/foo.wav

** The optional !<cause_code> can be added to make the channel hangup after broadcasting the file.

The new C functions in the core are documented in the doxeygen.

*NOTE* This commit should satisfy at least 2 bounties on the wiki



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4785 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-28 23:37:12 +00:00
Michael Jerris 42e78242a3 add wrapper code to fully encapsulate apr, apr-utils, pcre, and sqlite. fully use switch_ namespace in modules, create our own format and type defines. follow up commit for unix autotools coming soon after this. PLEASE NOTE: you will NEED to do a make megaclean and run configure again after this update (and the following commit) or it will not build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4494 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 20:44:13 +00:00
Michael Jerris 3e3760a996 add flags to the application interface for marking if apps support no media mode. FSCORE-7
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4400 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-26 21:38:10 +00:00
Michael Jerris 3f72839a65 constify switch_channel_set_variable and remove some incorrect casts in it's consumers.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4306 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-17 00:56:16 +00:00
Anthony Minessale 9626393ef8 add export app (set + adding to export_vars) in 1
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4299 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-16 20:07:35 +00:00
Michael Jerris c48792c61c fix potential xml handle leak from previous committ.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4261 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 17:34:16 +00:00
Michael Jerris 251723ba41 fix missing strdup in switch_ivr_menu_bind_function
change most char * values in ivr_menu functions to const char *
change switch_core_strdup to get passed const char * instead of char *
change switch_xml_find_child to get passed const char * instead of char *
change the ivr dialplan application to free the xml config as soon as it is done building the xml menu and not hold it until the menu is done being run, so that you can do a reloadxml while someone is in a menu without blocking.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4260 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 17:28:42 +00:00
Anthony Minessale 9a870c5fb6 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4229 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 14:58:06 +00:00
Anthony Minessale 49f0d6152f tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4208 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-12 20:03:29 +00:00
Anthony Minessale 59d4d0b071 fix no_media mode
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4192 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-10 19:34:03 +00:00
Michael Jerris 712976653d fix paramater checking on switch_ivr_phrase_macro and it's consumers.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4187 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 22:55:48 +00:00
Michael Jerris f359f847f7 fix magic emacs and vi formatting comments in the bottom of our source files to use tabs instead of spaces
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4176 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 02:36:03 +00:00
Michael Jerris 0d35fb0308 Fix typo in several places. Patch from Matt Klein.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4163 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 13:50:28 +00:00
Anthony Minessale c6d0188af0 get rid of _ char in special vars and add an unset dialplan app for clarity sake
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4124 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-05 19:35:31 +00:00
Michael Jerris d246f3a07b add queue_dtmf application, takes one param, a string of dtmf that will be queued to send from the channel. You could use this in the dialplan before a bridge to queue up dtmf to be sent to the other channel for example if you need to dial digits after answer for an fxo ata device.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4085 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-29 20:06:23 +00:00
Anthony Minessale ed0524c2fc pre_answer only in ivr menus (you will have to actually answer yourself)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3987 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-18 16:06:04 +00:00
Anthony Minessale 5c802e3196 fix xml parser in ivr menus
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3986 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-18 15:44:01 +00:00
Michael Jerris d83b399d96 completely untested redirect support, need to try this from a machine that can take sip calls.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3942 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-10 21:26:10 +00:00
Michael Jerris 63bf54fee1 make build on windows.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3912 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-05 16:49:36 +00:00
Anthony Minessale 6a2529748a some changes from mmurdock
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3899 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-03 00:21:17 +00:00
Anthony Minessale 64bc419497 add hangup dp app
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3893 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-02 18:56:39 +00:00
Anthony Minessale 591c9b87aa ruin everything, sorry jamesdotcom
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3815 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-23 16:40:37 +00:00
Anthony Minessale b7dbea6407 add pelim say stuff, module framework, xml parser, dialplan app, and add new channel var called sound_prefix for audio files
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3766 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-20 21:25:14 +00:00
Michael Jerris ea20e92e59 actually add the application. (thanks knhor)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3600 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-10 22:19:22 +00:00
Michael Jerris 660159dff1 add extra input checking for valid input on some api's and functions.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3583 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-08 16:31:58 +00:00
Michael Jerris b616b6ec2a add ivr application that uses the switch_ivr_menu functions, from Neal Horman.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3528 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-04 05:50:41 +00:00
Anthony Minessale d20870e121 fix obscure bs, remove CR from dptools, add info app
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3463 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-28 02:23:26 +00:00
Michael Jerris 44649c70b4 Add magic comments for emacs and vi in source and header files to properly format and display tabs vs. spaces in those editors:
/* For Emacs:
 * Local Variables:
 * mode:c
 * indent-tabs-mode:nil
 * tab-width:4
 * c-basic-offset:4
 * End:
 * For VIM:
 * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
 */


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3462 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 22:30:48 +00:00
Michael Jerris 63aae494ac add "log" application to print log messages From Mike Murdock.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3451 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-24 15:43:46 +00:00
Anthony Minessale 44fc26f7d4 Finalization of speech detect interface and API
This changes the core to have the necessary tools to create
a speech detection interface.

It also changes the code in javascript (mod_spidermonkey)
there are a few api changes in how it handles callbacks

It also adds grammars as a system dir to store asr grammars




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3291 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-09 05:39:04 +00:00
Anthony Minessale 003fb84e7c doh, thx CtRiX
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3228 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-29 18:15:53 +00:00
Anthony Minessale 08442ff2c4 signalling refactoring for media etc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3192 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 04:28:49 +00:00
Anthony Minessale 1f29ce2749 add some more nifty stuff and fix a bug or 2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3134 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-21 04:58:15 +00:00
Michael Jerris 786cfc4557 Make error message more descriptive, and less antagonistic.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3060 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-16 16:06:44 +00:00
Michael Jerris b2ac3d1bdc add privacy application, thanks ken.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3059 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-16 15:04:54 +00:00
Michael Jerris dfb9845d85 making the world a little less ugly, one commit at a time.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3026 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-10 12:00:22 +00:00
Michael Jerris c822f94125 add syntax to api structures, use them for usage returns, do more checking on valid usage and cleanup some output of api commands.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3001 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 07:11:42 +00:00
Michael Jerris 2b53e80e34 add syntax field to the api interface struct.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3000 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 05:04:34 +00:00
Anthony Minessale cdfa49e91a add transfer application
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2823 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-24 19:17:57 +00:00
Michael Jerris 24f3cc1e85 add some syntax and descriptions of api commands and applications.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2518 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-05 18:52:16 +00:00
Michael Jerris 087d731301 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
2006-08-26 21:21:02 +00:00
Anthony Minessale c4d890e0a4 Modify XML Dialplan
BTW, forget what I said yesterday RE: the strftime app I was at McDonalds, how can I concentrate there eh? 
see below....


The Definitive Guide To XML Dialplan:

The "dialplan" section of the freeswitch.xml meta document may contain several contexts

<?xml version="1.0"?>
<document type="freeswitch/xml">
  <section name="dialplan" description="Regex/XML Dialplan">
    <!-- the default context is a safe start -->
    <context name="default">

    <!-- one or more extension tags -->

    </context>
    
    <!-- more optional contexts -->
  </section>
</document>

The important thing to remember is that the dialplan is parsed once when the call
hits the dialplan parser in the RING state.  With one pass across the XML the result
will be a complete list of instructions installed into the channel based on
 parsed <action> or <anti-action> tags.

Those accustomed to Asterisk may expect the call to follow the dialplan by executing the 
applications as it parses them allowing data obtained from one action to influence the next action.
This not the case with the exception being the %{api func} {api arg} field type where an pluggable api call from
a module may be executed as the parsing occurs but this is meant to be used to draw realtime info such as
date and time or other quickly accessible information and shold *not* be abused.


The anatomy of an <extension> tag.

Legend: 
Text wrapped in [] indicates optional and is not part of the actual code.
a '|' inside [] indicates mutiple possible values and also is not part of the code.
Text wrapped in {} indicates it's a description of the parameter in place of the param itself.

<extension name="{exten_name}" [continue="[true|false]"]> 

continue=true means even if an extension executes to continue
parsing the next extension too

The {exten_name} above may anything but if it's 
an exact match with the destination number the parser will leap to this extension
to begin the searching that does not mean it will execute the extension.

Searching will either begin at the first extension in the context or at the point
the the parser has jumped to in the case described above.

Each condition is parsed in turn first taking the 'field' param.
The parser will apply the perl regular expression to each 'field' param encountered.

If the expression matches, it will parse each existing <action> tag in turn and add 
the data from the <application> tags to the channels todo list.	

If a matched expression contains any data wrapped in () the variables
$1,$2..$N will be valid and expanded in any of 'data' params from the subsequent action tags.

If the expression does NOT match, it will parse each <anti-action> tag in turn and add 
the data from the <application> tags to the channels todo list.
*NOTE* since there was no match the () feature is not availabe in anti-actions

The 'break' param indicates how to behave in relation to matching:
*) 'on-true'  - stop searching conditions after the first successful match.
*) 'on-false' - stop searching after the first unsuccessful match.
*) 'always'   - stop at this conditon regardless of a match or non-match.
*) 'never'    - continue searching regardless of a match or non-match.

<condition field="[{field name}|${variable name}|%{api func} {api arg}]" expression="{expression}" break="[on-true|on-false|always|never]">
  <action application="{app name}" data="{app arg}"/>
  <anti-action application="{app name}" data="{app arg}"/>
</condition>

  <!-- any number of condition tags may follow where the same rules apply -->
</extension>




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2167 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-26 20:12:49 +00:00
Anthony Minessale c48208e578 Add strftime app to the dp_tools
Use in the dialplan like so:

<!-- continue="true" means keep searching even when you have a match -->
<extension name="set-date" continue="true">
  <condition>
    <action application="strftime" data="NOW=%H:%M"/>
  </condition>
</extension>

<extension name="route-date">
  <condition field="$NOW" expression="^0[34].*">
    <action application="playback" data="/tmp/cluecon1.wav"/>
  </condition>
</extension>





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2144 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-25 23:51:38 +00:00
Anthony Minessale e73ee221d2 add mod_dptools, for set variable and sleep from the dialplan
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1864 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-13 13:20:20 +00:00