Commit Graph

263 Commits

Author SHA1 Message Date
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
Michael Jerris a021945cef switch_malloc and switch_zmalloc macros that are fatal if malloc fails both in debug and release modes, switch_zmalloc includes a companion memset for the malloc'd block.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4794 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 17:37:42 +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
Anthony Minessale 4450a80bd8 This patch adds 2 important variables to the originate subsystem
originate_retries:
		This variable controls how many times the system should retry the
		entire dialstring before exiting on failure (default 1)

originate_retry_sleep_ms: 
		This variable controls how long in milliseconds to pause between 
		retries (default 1000)

*NOTE*	when using the , and & symbols to call sequential or simultaneous channels in conjunction with this feature,
	the *entire* dialstring will be repeated as many times as you specify in ${originate_retries}

Here is an example using the bridge application to originate the call. (The feature will also work anywhere else 
an origination can be made.)

<extension name="1000">
  <condition field="destination_number" expression="^1000$">
    <action application="set" data="originate_retries=10"/>
    <action application="set" data="originate_retry_sleep_ms=1000"/>
    <action application="bridge" data="sofia/$${domain}/1000@somehost.com"/>
  </condition>
</extension>





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4776 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-27 17:15:10 +00:00
Anthony Minessale 9bacb04df9 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4720 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-21 21:23:40 +00:00
Anthony Minessale 221bf43984 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4690 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-20 20:37:52 +00:00
Brian West ffde2ff0af update2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4600 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-15 01:58:41 +00:00
Anthony Minessale d69cde6367 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4598 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-15 00:36:14 +00:00
Anthony Minessale 78c058423b tweaks to file buffering
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4575 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-12 20:17:34 +00:00
Brian West 00a8f50871 tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4510 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-11 03:07:58 +00:00
Brian West 9263ef1f72 add url syntax for playback
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4501 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-10 02:36:55 +00:00
Anthony Minessale 2df583650f cleanup some stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4498 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 23:51:52 +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 b9885dabce windows build tweak.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4489 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 15:22:46 +00:00
Michael Jerris ec3fcde87d change switch_core_timer_next to return switch_status_t, update all users to new usage, add some error checking to mod_conference so that it bails out of the loops more gracefully on shutdown.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4454 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-05 23:18:29 +00:00
Anthony Minessale 1b5fe10277 change a few things to allow timers to generate timestamps
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4452 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-05 20:53:54 +00:00
Brian West 0ddffd3ef6 fix potential naughty bug you will need 'make sure'
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4432 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-02 23:38:01 +00:00
Anthony Minessale c612d4226b add patch to fix stun issue
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4418 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-01 16:11:08 +00:00
Anthony Minessale f703658741 add 120ms to g711, fix errs in g711 alaw defs, tweak buffer in file playback and add kill to hupall
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4341 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-21 06:35:55 +00:00
Brian West ad6cca6737 add channel data to event
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4328 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 21:28:58 +00:00
Brian West 5e4396a46e making private events fire (please test)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4327 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 21:06:27 +00:00
Mike Murdock d0cda3c757 Fix indents to tabs in previous commit
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4326 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 17:00:29 +00:00
Mike Murdock 4e858fc38c No entry at menu should not play the invalid prompt but still count as an invalid entry and repeat the menu
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4325 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 16:57:14 +00:00
Anthony Minessale 962c8ba4f2 add rwlocks to bridge
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4323 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 15:20:16 +00:00
Anthony Minessale 368ac20dc1 rearrange things to work better
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4311 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-17 18:40:42 +00:00
Anthony Minessale 4913ae24e1 move session-rest
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4310 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-17 17:30:49 +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 a03f962174 add callbacks to park
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4300 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-16 21:32:49 +00:00
Mike Murdock 9af074316f Added support for default_language channel variable. If no language specified explicitly in the API call then default_language will be used. If no default_language specified then english will be used.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4296 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-16 01:57:54 +00:00
Mike Murdock f181b0ef9e Tweak - phrase_lang should have been phrase-lang in ivr menu parameters for consistency
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4295 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-15 22:23:33 +00:00
Mike Murdock a918bea9cf Add Phrase Macro support to ivr menu.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4293 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-15 21:59:59 +00:00
Anthony Minessale 700c115632 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4292 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-15 20:02:52 +00:00
Anthony Minessale 3b09790ba6 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4291 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-15 19:58:25 +00:00
Anthony Minessale b82cf5683b xml formatting for call detail
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4289 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-15 19:20:14 +00:00
Anthony Minessale e96f7a118c add resets to a few places
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4277 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 22:41:03 +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 fdac4282b6 add new xml call detail function to the core and a way to use it from javascript
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4257 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 15:19:01 +00:00
Michael Jerris 11a8218db0 potential format string exploits (warning: format not a string literal and no format arguments)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4254 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 03:45:10 +00:00
Anthony Minessale ebdbebc246 my preacious...
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4236 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 17:39:44 +00:00
Mike Murdock 3b66035129 Fix ivr_menu, no entry is considered invalid, keying digits during audio is not an error
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4234 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 17:15: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
Michael Jerris 07d6f12018 use "%s" format specifier for uses of switch_event_add_header that just pass a string to avoid potential issues/exploits"
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4226 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 04:43:49 +00:00
Anthony Minessale 07efd559d2 add ring ready flag to core
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4221 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 02:32:10 +00:00
Anthony Minessale be118eb28a Sofia Behaviour Modification (please document)
1) This commit adds the ability to override the To: header so you
   can place an outbound SIP call to a paticular destination.

   For instance, if you have a user registered to your machine as 'gateway' and
   you want to call another extension at that machine 'foo' you can now call:

  sofia/mydomain.com/gateway:foo@anydomain.com

  or if you just want to call some SIP url and put an alternate To:
  so you can do forwarding:

  sofia/mydomain.com/1000@somwhere.com:12122551234@realdest.com


2) You can add headers to outbound SIP calls by
   prefixing the string 'SIP_h_' to any channel variable:

   <action application="set" data="SIP_h_X-Answer=42"/>
   <action application="bridge" data="sofia/mydomain.com/1000@somehost.com"/>

3) All inbound SIP calls will install any X- headers into local variables
   this means in conjunction with item 2, all X- headers will pass across 
   bridged calls auto-magicly.

4) The switch_ivr_transfer_variable function in switch_ivr.c has been modified so if the last arguement
   'var' starts with a ~ it will copy anything that is prefixed with that string rather than an exact match.

*NOTE* you are not required to put an X- prefix in the SIP_h_ vars but 
it is reccommended because most SIP devices will ignore any unknown headers that don't.




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4216 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 01:22:17 +00:00
Anthony Minessale e360d6500c fix mod_native_file extension thingy
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4212 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-12 22:56:08 +00:00
Michael Jerris 62a44e621f some more protection from passing around and printing null values, we are now initializing null's passed to switch_caller_profile_new as blank strings in the caller profile, if your using any caller profile values in if's, please use !switch_strlen_zero() in your check.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4203 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-12 18:13:14 +00:00
Anthony Minessale 4a02e80d5e fix dtmf bug
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4194 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-10 23:16:34 +00:00
Michael Jerris d1d9fd9a23 adding fail_on_single_reject dialplan option that can be set, which then immediately rejects the call even when sent to multiple destinations upon one party rejecting, useful if you are doing a ring all (, separated in the dial string for multiple calls at once) and you want a single rejection to make the call flow to the next action in the dialplan (in combination w/ continue_on_fail) for example to flow to voicemail. Thanks to George Shaw for this patch.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4193 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-10 21:47:12 +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