Commit Graph

684 Commits

Author SHA1 Message Date
Anthony Minessale 4b9afa2b36 unicast framework
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4900 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-09 18:38:47 +00:00
Michael Jerris c7cddb2dc7 It appears that we should be able to include strings.h only, except msvc does not have strings.h:
and at least some linux implementations do not work unless you include both, which seems to be against spec, but should not hurt.  The most correct thing to do here would be to include strings.h then string.h wrapped in autoconf detected defines, but this should work for now.  If it is still an issue going forward, we will need to add some defines for detected presence of some header files to the public header files, which should be done with care to avoid define collisions in public header files.

http://www.opengroup.org/onlinepubs/009695399/basedefs/strings.h.html
http://www.opengroup.org/onlinepubs/009695399/basedefs/string.h.html


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4895 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-08 17:18:12 +00:00
Michael Jerris fec6cb9b3a export some functions for dll linkage in the windows build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4893 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-08 16:24:57 +00:00
Michael Jerris 9b1f96a8fc fix windows build
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4892 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-08 16:16:00 +00:00
Michael Jerris 83253d287c fix some warnings.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4891 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-08 16:11:03 +00:00
Anthony Minessale 3f6520a559 added patch from http://jira.freeswitch.org/browse/FSCORE-25
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4881 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-07 03:07:43 +00:00
Michael Jerris 90d2d377e2 msvc odbc build
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4854 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-05 10:07:25 +00:00
Anthony Minessale ceb98915bb add looping buffers
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4849 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-04 18:22:59 +00:00
Anthony Minessale 4d62a1adb2 add core ODBC
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4846 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-04 03:08:17 +00:00
Anthony Minessale e47596fca5 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4832 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-02 20:20:46 +00:00
Michael Jerris a75defc898 fix mod_cdr build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4827 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-01 22:18:53 +00:00
Anthony Minessale ad7a1b2e67 hold stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4816 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 22:13:19 +00:00
Anthony Minessale 5e23936fa6 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4807 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 16:41:12 +00:00
Anthony Minessale 33efc5eeb5 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4805 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 14:57:06 +00:00
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
Anthony Minessale a99973ca7c add colorize option to mod_console (see in-tree conf/console.conf.xml)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4413 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-28 18:28:07 +00:00
Anthony Minessale 3aa23ada21 move string to constant
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4411 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-28 15:48:17 +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
Anthony Minessale a88da36253 add heartbeat event and core uuid
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4347 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-22 17:38:34 +00:00
Anthony Minessale 6c0152ca2f try to pass 2833-pt across calls
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4344 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-21 21:46:32 +00:00
Michael Jerris d90ca2f270 added switch_file_lock and switch_file_unlock to the exposed functions from apr to be used to make FSCORE-14 jira ticket cross platform.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4343 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-21 18:39:10 +00:00
Michael Jerris 915944b7ed add pool allocated printf function switch_core_sprintf
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4339 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-20 21:54:23 +00:00
Michael Jerris 58705374f4 switch_channel_set_variable_nodup which does not dup the value from the session pool. The value MUST already be allocated from the pool for that session, or very bad things could happen. Use with caution.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4329 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 22:57:27 +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
Michael Jerris ee101704d7 constify switch_caller_profile_new
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4321 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 03:23:02 +00:00
Michael Jerris bbf3c290d9 add switch_core_session_sprintf which allocates from the session pool
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4319 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-19 02:21:27 +00:00
Michael Jerris 4ae10379f2 add windows build for mod_xml_cdr. This probably also fixes the build on several non-linux systems.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4309 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-17 06:55:43 +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
Michael Jerris 9fc1f45ebd constify switch_core_hash functions and some of their consumers.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4304 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-16 23:36:10 +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
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
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
Michael Jerris 2b507706c9 switch_core_session_strdup now takes const char * arg.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4264 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 19:14:53 +00:00
Michael Jerris a986980c0e fix typedef for switch_stream_handle_write_function_t to also use const char * fmt and match other uses of that type.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4262 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 18:08:11 +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
Anthony Minessale b0901fe4ce s.data is void *
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4256 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 15:08:49 +00:00
Michael Jerris 258e28dd11 constification for switch_core_hash_find and switch_event_create_subclass
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4251 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 03:22:43 +00:00
Michael Jerris 95374edaab constify the fmt string on all printf like functions
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4249 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 02:53:23 +00:00
Anthony Minessale c3bcb585e3 add nil thing to xml func
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4248 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-14 01:01:58 +00:00
Michael Jerris ceafc84ca0 constify some arguments to switch_console_printf and switch_cut_path and remove improper casts for the consumers of those functions.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4241 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 21:03:06 +00:00
Anthony Minessale bdd8f6ad73 2833 bs
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4233 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 17:14:39 +00:00
Anthony Minessale a62d9fd951 lord of the rings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4230 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 15:47:15 +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 2aa5aa4fe7 get rid of disabling of some warnings on windows, because we don't have those warnings anymore. Document the others that we have disabled.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4227 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 06:08:28 +00:00
Michael Jerris f08d0e89c1 add missing prototype for switch_channel_perform_mark_ring_ready
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4225 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 04:41:28 +00:00
Michael Jerris 0a5b02999c add PRINTF_FUNCTION specifier to printf like functions to let gcc tell us when we are using the wrong format specifiers on these functions. Suggested by <MrEIso> via irc.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4224 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 03:17:19 +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
Michael Jerris db5557983a use const for switch_core_permanent_strdup var.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4220 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-13 02:31:26 +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
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
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 f03226debb update core
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4181 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 20:03:07 +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
Anthony Minessale ed41805c17 improve core and basic flow
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4174 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 01:34:01 +00:00
Anthony Minessale 5327a156ee fix bug/race in core
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4170 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 20:47:46 +00:00
Michael Jerris 58310a9272 make sofia set network_addr as the address the packet was actually received from, not the address from the uri.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4169 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 20:16:08 +00:00
Brian West 46b850273c Small buglet.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4158 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 01:19:35 +00:00
Anthony Minessale 25b1d12b9e add w and W
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4157 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-08 00:17:22 +00:00
Anthony Minessale cb587626ea timer mojo (cont)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4151 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-07 19:18:15 +00:00
Anthony Minessale 66feec2da5 timer mojo
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4149 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-07 18:44:00 +00:00
Anthony Minessale 068ced69c9 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4147 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-07 17:19:06 +00:00
Anthony Minessale b42e387938 yes virginia, sip has shortcommings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4138 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-06 19:15:26 +00:00
Michael Jerris 608fac923a pass and decrement max_forwards across the bridge for sip
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4135 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-06 18:11:25 +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 17bf41e158 Initial structure for generic inband dtmf detection. NOTE: This code does not currently remove the inband dtmf tones from the stream (as that is not supported using read media bugs) and it is also COMPLETELY untested and unused anywhere. This code is there for somone who wants to implement this feature in mod_sofia to test.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4111 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-03 04:09:43 +00:00
Michael Jerris 5ca7037a84 tweak macro for clean build on msvc.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4110 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-03 04:08:05 +00:00
Anthony Minessale 82db5e0112 fix sample calc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4108 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-02 20:28:34 +00:00
Anthony Minessale 59ed99a9a8 core framework for reverse media bugs
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4105 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-31 23:09:33 +00:00
Anthony Minessale 9b474d2576 add success cause for originate
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4091 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-30 03:17:10 +00:00
Michael Jerris 4b7f9bddf5 merge changes from ezXML 0.8.6
- fixed a bug in ezxml_add_child() that can occur when adding tags out of order
- for consistency, ezxml_set_attr() now returns the tag given
- added ezxml_move() and supporting functions ezxml_cut() and ezxml_insert()
- fixed a bug where parsing an empty file could cause a segfault


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4081 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-29 16:58:37 +00:00
Anthony Minessale db70ef2a37 codec tweaks (do a make sure)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4077 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-29 15:43:41 +00:00
Anthony Minessale 0ed9ebe492 CODEC TWEAK
mod_sofia will now examine a variable in the channel to
see what the channel's originator was using for a codec and 
try to put that to the top of the list in the sdp.

if this new sofia profile param is set:
<param name="disable-transcoding" value="true"/>

All outbound calls will use *only* the codec that thier originator 
is using to ensure no transcoding.
(of course that could lead to a failed call where there is no way to do this, so use sparingly)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4073 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-28 17:37:51 +00:00
Anthony Minessale 781c74fc8e add stupid 2833 crap
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4070 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-28 02:38:52 +00:00
Anthony Minessale 85dab893d9 A few changes:
1) The xml_curl now has a more enterprise config where it can have more than 1
   url configured so you could have failover. (*note the syntax change*)

2) dialplan modules now take an extra arguement making it possible to pass runtime params to
   them.  This is now used in mod_dialplan_xml to allow an alternate file path to be specified.

   dialplans were already stackable meaning you can configure a sofia profile, for example,
   to use enum followed by the default XML dialplan.

   e.g. <param name="dialplan" value="enum,XML"/>

   From now on, you can also specify :param after each dialplan name to allow param
   to be passed to the module.  mod_dialplan_xml uses this param as a way to override
   where it looks for the dialplan making it possible to stack mutiple calls to the XML dialplan.

   e.g. <param name="dialplan" value="XML:/some/xml/file.xml,XML"/>

   With this you can search the local file file.xml first and if there is still no match
   the hunt will move on to the standard XML using the onboard XML registry and or the external
   gateways.

   *NOTE* this alternate path does not use the external bindings but it does parse the #includes etc.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4066 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-27 16:23:33 +00:00
Anthony Minessale 00d7e70e2d fix cause code passthrough
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4061 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-26 20:39:45 +00:00
Anthony Minessale 28807552d0 fix horrible evil bug update to this revision at once and do a "make sure"
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4060 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-26 17:52:22 +00:00
Anthony Minessale d3e1f400e5 tweak core for build err and add core_get_var
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4021 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-22 21:59:07 +00:00
Michael Jerris 465456e3ee doxygen
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4006 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-19 22:47:51 +00:00
Anthony Minessale c845cf2839 auto ip stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4000 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-19 19:11:44 +00:00
Anthony Minessale e37559eb0e update conference to add lock sounds, sound prefix, and use say: syntax
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3943 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-11 18:14:02 +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 e8f16d9929 add switch_time_exp_gmt_get for mishehu
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3923 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-06 22:57:31 +00:00
Anthony Minessale 9d1e2e9167 don't call us we'll call you
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3917 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-06 17:06:18 +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 f79ade4532 say update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3897 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-01-02 23:08:26 +00:00
Anthony Minessale c4717f9077 fix locking and add lock debugging as a define
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3870 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-29 16:39:56 +00:00
Michael Jerris 6e4ef8920d add FileDelete function to spidermonkey takes 1 param, the path of the file to delete, using / as the path seperator, regardless of unix vs. windows. returns true is it was successfull, otherwise false
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3854 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-27 22:47:46 +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 da7f28effb say related stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3807 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-22 22:33:48 +00:00
Anthony Minessale 1bc01598e6 refactor say api to try and develop a good working example template
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3791 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-22 02:13:56 +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 f82b80b57c tweak ifdef for _MSC_VER instead of WIN32
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3731 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-19 19:41:07 +00:00
Anthony Minessale 81452c2679 autodroolz
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3707 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-19 00:41:20 +00:00
Anthony Minessale c40aa9eec4 add break
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3705 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-18 21:40:04 +00:00
Michael Jerris 855c7b9a77 char * -> const char *
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3691 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-18 04:32:50 +00:00
Anthony Minessale d7400bf319 build changed
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3690 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-18 00:48:34 +00:00
Anthony Minessale 44cc7d5cfe build progress break everything
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3682 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-17 01:01:09 +00:00
Michael Jerris 6bc48b7070 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3681 d0543943-73ff-0310-b7d9-9358b9ac24b2 2006-12-16 23:22:45 +00:00
Anthony Minessale 218b495bb3 fix probe presence stuff on conference, do a make sure
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3676 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-16 03:00:56 +00:00
Michael Jerris 5b8cb3879a separate the stream context from the parser context
merged from knhor branch, thanks Neal.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3601 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-10 22:22:28 +00:00
Anthony Minessale efa104e868 answer tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3549 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-05 23:08:14 +00:00
Michael Jerris 84c625d98f refinements and additions to switch_ivr_menu from Neal Horman.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3527 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-04 05:41:03 +00:00
Anthony Minessale b1c5e9e55b dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3505 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-01 16:00:16 +00:00
Anthony Minessale d138ed71b7 adjustments to the core do a make sure
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3504 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-01 15:26:37 +00:00
Anthony Minessale 60434decf5 ENUM Support
mod_enum can be used as a dialplan app, an api call from the console or as a dialplan interface.


Dialplan Interface:
put enum as the dialplan parameter in an endpoint module
i.e. instead of "XML" set it to "enum" or "enum,XML" for fall through.

Dialplan App:
This example will do a lookup and set the a variable that is the proper
dialstring to call all of the possible routes in order of preference according to 
the lookup and the order of the routes in the enum.conf section.

<extension name="tollfree">
  <condition field="destination_number" expression="^(18(0{2}|8{2}|7{2}|6{2})\d{7})$">
    <action application="enum" data="$1"/>
    <action application="bridge" data="${enum_auto_route}"/>
  </condition>
</extension>

You can also pick an alrernate root:
<action application="enum" data="$1 myroot.org"/>	


API command:
at the console you can say:
enum <number> [<root>]

The root always defaults to the one in the enum.conf section.




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3494 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-30 21:28:32 +00:00
Anthony Minessale f6fd954631 api tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3485 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-29 17:10:40 +00:00
Anthony Minessale d288ae58a8 add timelimit to record
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3475 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-28 21:46:29 +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
Anthony Minessale 361dc67be2 no_media/ringback tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3461 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 21:52:38 +00:00
Anthony Minessale c08e943e44 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3460 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 17:12:40 +00:00
Anthony Minessale fd16c8f245 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3448 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-23 19:42:21 +00:00
Anthony Minessale d7baa16132 Ringback (sponsored by Front Logic)
This addition lets you set artifical ringback on a channel
that is waiting for an originated call to be answered.

the syntax is 

<action application="set" data="ringback=[data]"/>

where data is either the full path to an audio file
or a teletone generation script..


syntax of teletone scripts

LEGEND:

0-9,a-d,*,# (standard dtmf tones)

variables: c,r,d,v,>,<,+,w,l,L,%

c (channels)        - Sets the number of channels.
r (rate)            - Sets the sample rate.
d (duration)        - Sets the default tone duration.
v (volume)          - Sets the default volume.
> (decrease vol)    - factor to decrease volume by per frame (0 for even decrease across duration).
< (increase vol)    - factor to increase volume by per frame (0 for even increase across duration).
+ (step)            - factor to step by used by < and >.
w (wait)            - default silence after each tone.
l (loops)           - number of times to repeat each tone in the script.
L (LOOPS)           - number of times to repeat the the whole script.
% (manual tone)     - a generic tone specified by a duration, a wait and a list of frequencies.

standard tones can have custom duration per use with the () modifier
7(1000, 500) to generate DTMF 7 for 1 second then pause .5 seconds

EXAMPLES

UK Ring Tone [400+450 hz on for 400ms off for 200ms then 400+450 hz on for 400ms off for 2200ms]
%(400,200,400,450);%(400,2200,400,450)

US Ring Tone [440+480 hz on for 2000ms off for 4000ms]
%(2000,4000,440,480)

ATT BONG [volume level 4000, even decay, step by 2, # key for 60ms with no wait, volume level 2000, 350+440hz {us dialtone} for 940ms
v=4000;>=0;+=2;#(60,0);v=2000;%(940,0,350,440)

SIT Tone 913.8 hz for 274 ms with no wait, 1370.6 hz for 274 ms with no wait, 1776.7 hz for 380ms with no wait
%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)

ATTN TONE (phone's off the hook!) 1400+2060+2450+2600 hz for 100ms with 100ms wait
%(100,100,1400,2060,2450,2600)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3408 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-19 01:05:06 +00:00
Anthony Minessale 89989bc34f vg mode
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3388 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-16 19:43:25 +00:00
Anthony Minessale 6013035a6c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3380 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-15 20:21:29 +00:00
Anthony Minessale f8d3093f5c hack to fix udp sockets
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3377 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-15 03:17:28 +00:00
Michael Jerris 04cec4b4e8 dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3345 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-13 17:41:45 +00:00
Michael Jerris 28c875cfa9 add switch_ivr_digit_stream functions and switch_ivr_build_xml_menu_stack to switch ivr, merged from knhor branch. thanks neal!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3341 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-13 16:29:16 +00:00
Michael Jerris 4619302f8f don't user "new" as a variable name, so we can keep compatible with C++
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3336 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 21:16:46 +00:00
Anthony Minessale a5f16da175 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3332 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 20:50:18 +00:00
Anthony Minessale 372c160c3f menu stuff: work in progress, look for bugs\!\!\!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3331 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 20:34:04 +00:00
Anthony Minessale ddcb03c042 dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3321 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 00:40:00 +00:00
Anthony Minessale c8733f2b8a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3320 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 00:38:31 +00:00
Anthony Minessale 8f8396d741 add ivr api not sure it works yet
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3319 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 00:32:18 +00:00
Anthony Minessale 68bab16e37 make event_serialize dynamic
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3314 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-11 19:32:45 +00:00
Anthony Minessale eb1bafe567 dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3313 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-11 17:36:44 +00:00
Anthony Minessale 8dc1556b95 fix gremlins in code that worked before then changed it's mind
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3300 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-10 08:13:01 +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 0ce3f5b08b tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3286 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-09 05:13:59 +00:00
Anthony Minessale 278a69a0e4 someone said 240k was a cool stack size
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3248 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-31 21:57:59 +00:00
Anthony Minessale 9ab2b1db57 Media Management (Sponsored By Front Logic)
This modification makes it possible to change the media path of session in the switch on-the-fly and from the dialplan.
It adds some API interface calls usable from a remote client such as mod_event_socket or the test console.

1) media [off] <uuid>

   Turns on/off the media on the call described by <uuid>
   The media will be redirected as desiered either into the switch or point to point.

2) hold [off] <uuid>

   Turns on/off endpoint specific hold state on the session described by <uuid>

3) broadcast <uuid> "<path>[ <timer_name>]" or "speak:<tts_engine>|<tts_voice>|<text>[|<timer_name>]" [both]

   A message will be sent to the call described by uuid instructing it to play the file or speak the text indicated.

   If the 'both' option is specified both ends of the call will hear the message otherwise just the uuid specified
   will hear the message.

   During playback when only one side is hearing the message the other end will hear silence.

   If media is not flowing across the switch when the message is broadcasted, the media will be directed to the
   switch for the duration of the call and then returned to it's previous state.


Also the no_media=true option in the dialplan before a bridge makes it possible to place a call while proxying the session
description from one endpoint to the other and establishing an immidiate point-to-point media connection with no media
on the switch.

<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/mydomain.com/myid@myhost.com"/>


*NOTE* when connecting two outbound legs by using the "originate" api command with an extension that has no_media=true enabled,
the media for the first leg will be engaged with the switch until the second leg has answered and the other session description
is available to establish a point to point connection at which time point-to-point mode will be enabled.

*NOTE* it is reccommended you rebuild FreeSWITCH with "make sure" as there have been some changes to the core.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3245 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-31 21:38:06 +00:00
Michael Jerris 6b457ddce3 Add new higher level ivr functions from Paul Tinsley. Thanks Paul.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3223 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-28 04:40:59 +00:00
Anthony Minessale 305bc19458 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3199 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 17:00:23 +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
Michael Jerris 1f2d19e28e update more sip cause code to qsig cause code mappings from rfc 4497 sections 8.4.1 and 8.4.4
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3190 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 03:45:20 +00:00
Anthony Minessale 252afb823f add some sanity code to originate and conference
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3189 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 01:00:26 +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
Anthony Minessale 343fd5cea5 refactor the presence stuff and add it to mod_conference
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3124 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-20 22:11:26 +00:00
Anthony Minessale 12243c194e tidy up, note yesterday's propagate_vars was changed to export_vars
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3106 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-19 16:33:54 +00:00
Anthony Minessale 99e22d69bd refactor earlier junk from this eve and add ken's propagate variable thing
set this sometime before an origination (bridge etc).

<action application="set" data="propagate_vars=my_cool_var1,my_cool_var2,foo,bar"/>

and they should be cloned over to the new channel when it's substantiated



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3101 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-19 07:13:34 +00:00
Michael Jerris f64ae18ac6 add endian defines on MSVC
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3088 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-19 01:21:17 +00:00
Anthony Minessale 70bfba5b63 Christmas Presence
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3083 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-18 22:57:35 +00:00
Brian West 614010db63 Rename ani2 to aniii and ANI2 to ANI-II where appropriate. Because its not ANI2 its ANI II (eye eye)
What is ANI II ?

Refer to:

http://en.wikipedia.org/wiki/Automatic_number_identification

Thanks,
/b



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3073 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-17 23:33:32 +00:00
Anthony Minessale 438cf0327e rpid for sofia
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3058 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-16 04:39:00 +00:00
Anthony Minessale a2b11dd93d in the name of interop
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3043 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-12 20:37:08 +00:00
Anthony Minessale ba46200539 refactoring and general improvement (do a make sure)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3035 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-12 00:59:09 +00:00
Anthony Minessale 6a96670267 refine code
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3006 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-09 02:24:43 +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 bc7a378c4e Modify Originate input syntax
This adds the | to the originate syntax 
making it possible to put a list of urls to call and attempt
to call them one at a time until one of them is successful or there
are none of them left

The original & delimited list is valid for each step in the | separated
list

Example
sofia/test-int/3920@10.3.3.104|sofia/test-int/3910@10.3.3.104&sofia/test-int/3920@10.3.3.104

first call 1 location and if that results in a failure, try 2 at once on the next go



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2996 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-07 22:19:24 +00:00
Anthony Minessale 741b8329b9 Modifying the behaviour of the dialplan engine
the 'data' field in action tags may now refer to variables and api functions
to be expanded at runtime.

Syntax:

$varname
${varname}
&func_name(func args)


Exception:
variables that are numeric are still expanded at dialplan compile time based on the regex eg $1 $2 etc

Example:

<extension name="1000">
  <condition field="destination_number" expression="^(1000)$">
    <action appplication="my_route_app" data="$1"/>
    <action appplication="bridge" data="$destination"/>
  </condition>
</extension>

Here the $1 is ecaluated before the call begins setting it to 1000 based on the regex ^(1000)$
$destination is evaluated on the fly in execution once the my_route_app has run and has had a 
chance to set the variable 'destination' to the correct value.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2994 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-07 19:54:04 +00:00
Anthony Minessale 0d23976f2a Insane amounts of yucky satanic code to make transfer and that kind of thing work.
Transfers work better when both legs of the call live in thier own channel eg bridged calls
A -> B where you want a to make B -> C

when you route a call to an IVR or playback app you are not really bridging you have
A all alone executing the script so it's hard to transfer that.

I do have it aparently working but it's goofy and you are better off
putting your IVR on it's own switch so they are all inbound calls
then you have A -> B -> IVR
now A can happily transfer B who can stay on line with IVR without stopping
the execution.  You can also accomplish this by calling in a loop back to the same box
if you dont want to have 2 boxes.


Also the beginning effort at bridging calls with no media is here
set this magic variable in your dialplan to convince mod_sofia
to pass A's sdp as it's own to B and return B's sdp back to A on 200 or 183

<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/id@host.com"/>

You will need a new sofia tarball for this version


There is a bunch of other odds and ends added like a function or 2 etc
Oh,

And don't be suprised if it introduces all kinds of bugs!



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2992 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-06 22:39:49 +00:00