520 Commits

Author SHA1 Message Date
Michael Jerris
d292e9de4f don't export our private functions. fix crash protection build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4803 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 02:20:13 +00:00
Michael Jerris
92d726b995 use int64_t internally for storage of time_t values in the scheduler because at least then we know what format string to use to print them, and they are often that type anyways.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4802 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 01:40:50 +00:00
Michael Jerris
6ba96a7913 spring cleaning on msvc build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4801 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 01:22:45 +00:00
Anthony Minessale
c15d7892c0 indent again
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4799 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:15:25 +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
643ca5c4e7 add 'show tasks' and sched_api api commands
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4797 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:10:33 +00:00
Anthony Minessale
e6a60a20bc spring cleaning 2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4796 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 22:34:40 +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
Michael Jerris
bc8a4855a6 use autoconf determined time_t printf format specifier
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4787 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 04:08:18 +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
d9de1807ee Add state change i/o hook to the core and change some spidermonkey behaviour.
The most important thing to check is you now must create a new session with a blank constructor:
s = new Session();
then call s.originate() with all the former args that were documented to be for the constructor
this will will return true or false to indicate if the call worked.

See below this sample code demonstrates all of the changes:

////////////////////////////////////////////////////////////////////////////////
function on_hangup(hup_session)
{
    console_log("debug", "HANGUP!!!! name: " + hup_session.name + " cause: " + hup_session.cause + "\n");
	//exit here would end the script so you could cleanup and just be done
	//exit();
}

//set the on_hangup function to be called when this session is hungup
session.setHangupHook(on_hangup);

//allocate a new b_session
var b_session = new Session();

//make a call with b_session.  If this fails, all we will be able to access is the b_session.cause attr
if (b_session.originate(session, "sofia/mydomain.com/888@conference.freeswitch.org")) {
	//Inform the scripting engine to automaticly hang this session up when the script ends
    b_session.setAutoHangup(true);
	//set the on_hangup function to be called when this session is hungup
    b_session.setHangupHook(on_hangup);	
	//bridge session with b_session
    bridge(session, b_session);
} else {
    console_log("debug", "Originate Failed.. cause: " + b_session.cause + "\n");
}
////////////////////////////////////////////////////////////////////////////////






git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4773 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-27 00:40:53 +00:00
Michael Jerris
dc765f457e roll back 4757 until I figure out how I want to actually handle those.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4761 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-24 04:52:46 +00:00
Michael Jerris
dce495fc0a quick comment
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4760 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-24 04:51:17 +00:00
Michael Jerris
010c2f4ee6 switch_config isn't used anymore. leaving the .c and .h file there for now, we may remove them in the future.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4758 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-24 03:29:24 +00:00
Michael Jerris
1ed2d7b2b8 add _COUNT memeber at the end of most enum defs (except for those with specific vals like the flags. These should be very handy for bounds checking later on.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4757 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-24 03:14:24 +00:00
Anthony Minessale
573058c6d3 shhhh
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4716 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-21 18:50:51 +00:00
Michael Jerris
1f06b545e1 remove generated file from tree
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4696 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-20 21:24:48 +00:00
Anthony Minessale
15318689b5 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4694 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-20 21:20:14 +00:00
Anthony Minessale
b5a63f12fa update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4693 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-20 21:03:03 +00:00
Michael Jerris
180d2bc755 remove debug line from my previous commit
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4692 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-20 20:47:21 +00:00
Michael Jerris
e42d7ec1c9 fix some warnings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4641 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-18 16:40:01 +00:00
Anthony Minessale
d4f6fb8e8c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4632 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-17 19:51:08 +00:00
Michael Jerris
8d0a8690c2 use _snprintf instead of switch_snprintf on windows for now.. snprintf seems to be having issues handling anything that uses the #define'd format strings for time t and 64 bit ints on windows.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4621 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-16 21:03:38 +00:00
Anthony Minessale
b9e033535b update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4616 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-16 17:19:44 +00:00
Anthony Minessale
9ffe54df46 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4613 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-15 22:49:58 +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
Michael Jerris
f85be6ffa1 add detection of system libcurl, and if it is available use that instead of in tree curl build. Implemented just in mod_shout so far
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4592 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-14 18:59:25 +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
Michael Jerris
55b3e6cb62 simplify our configure and Makefile.am. Set our CFLAGS and LDFLAGS primarily from configure.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4512 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-11 04:02:10 +00:00
Michael Jerris
e24008643e feed prefix dir from configure instead of makefile to clean up the compile line. Make the code more consistant between windows and *nix builds. You will likely need to re configure after getting this update.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4509 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-11 01:17:14 +00:00
Michael Jerris
178a333539 push prefix dir from configure instead of from the makefile to clean up the compile line a bit. Follow-up commit of autotools, please hold.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4508 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-11 01:07:47 +00:00
Michael Jerris
499fba1651 fix sqlite cdr build with new sqlite wrapper in the core, exposing all the necessary functions. Add sqlite cdr to the windows build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4505 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-10 21:57:02 +00:00
Michael Jerris
d212e1ab5c add some missing headers on bsd builds.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4503 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-10 20:50:20 +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
Anthony Minessale
2d78da120a avoid races in super high volume of no media calls
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4493 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 20:37:30 +00:00
Anthony Minessale
fd93792629 change names to protect the innocent (make sure to avoid problems)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4490 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-09 16:30:34 +00:00
Anthony Minessale
54d483c4f5 fix fatal include
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4471 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-07 22:17:02 +00:00
Anthony Minessale
5131ee1cae add management interface and some rtp goodies
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4464 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-07 18:34:22 +00:00
Michael Jerris
91004a8a2e add format string define
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4458 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-06 03:07:35 +00:00
Anthony Minessale
8f0580cd73 now with rollover
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4455 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-06 01:19:41 +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
8f0b94435c add TRAP event
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4453 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-05 20:55:41 +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
Michael Jerris
a350673954 constify some xml functions
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4447 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-05 05:49:52 +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
ed76b25241 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4419 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-01 17:23:02 +00:00