Commit Graph

214 Commits

Author SHA1 Message Date
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 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 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 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
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 c1f346b99e change to switch_mprintf
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3107 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-19 16:42:41 +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
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 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 672842361b update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3017 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-09 22:46:51 +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 3667da49b6 add description and syntax to interface database, add description and syntax headers to events for interface add for api and application interface, add appropriate output to show and help commands.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3003 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 08:35:27 +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
Michael Jerris af06084f43 fix prototype of signal handler functions (sun studio doesn't like these wrong)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2949 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-02 16:48:00 +00:00
Michael Jerris 6797158b61 solaris warning tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2948 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-02 16:23:39 +00:00
Anthony Minessale fa5767ebf7 fixes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2781 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-22 15:22:31 +00:00
Anthony Minessale 893c7210a2 more optimizationification
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2775 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-22 02:10:27 +00:00
Michael Jerris 73b5fcf641 win32 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2767 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-20 20:47:28 +00:00
Anthony Minessale 90815616cc small core refactoring use -hp arg to gain high priority mode, add fsctl command USAGE: fsctl [hupall|pause|resume|shutdown]
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2765 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-20 20:25:26 +00:00
Michael Jerris cd74bf6501 tweak types
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2754 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 19:09:10 +00:00
Anthony Minessale 7045c12e3b fix a bunch of stuff you want this version
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2752 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 15:33:02 +00:00
Anthony Minessale 19446804c7 pull down stack size another 128k, make the sql use mem cache and add session count to the status command
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2747 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-18 22:22:25 +00:00
Michael Jerris 2343fdd8cf Attribution.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2734 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-18 05:08:55 +00:00
Anthony Minessale 32198c36e4 trying paul's patch
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2721 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-17 18:03:32 +00:00
Anthony Minessale 555bd0af08 ok maybe this will fix the conditional mutext race we will readlock the session during any callbacks and cancel the operation if read_lock fails
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2709 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-16 00:43:58 +00:00
Anthony Minessale aa2a793e28 optimizations and disable the conditional thing till we see why it dies at 100cps X 800 calls
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2708 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-15 21:43:18 +00:00
Anthony Minessale 0fcf13bc34 misc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2704 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-14 22:11:30 +00:00
Anthony Minessale 8a0e9ccf1f performance tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2693 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-14 00:15:03 +00:00
Anthony Minessale 387fdc5311 add justinu's patch
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2670 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 22:24:39 +00:00
Anthony Minessale 56827bc9ec enhance timers and make rtp use it that way
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2669 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 22:23:45 +00:00
Anthony Minessale b3c437630f use steve's g711 (thanks steve), chage the conditional mutex based on paul T's input (thanks paul) and take the yield away on switch_yield and just sleep
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2663 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 17:17:02 +00:00
Anthony Minessale 1ce451ad65 less priority
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2645 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-11 23:58:52 +00:00
Michael Jerris 9361860401 expand types for type safety
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2605 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-10 05:37:07 +00:00
Anthony Minessale 26d79e6c64 small change
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2599 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-09 12:42:38 +00:00
Anthony Minessale ae9d56e288 Adding bugs to the core
This is the primary commit to add bugs to the core (media bugs that is)
Media bugs are kind of like what ChanSpy is in Asterisk only cooler (I wrote ChanSpy too so I can say that)

Here is an example of using them to record a call by the higher level switch_ivr functionality passed
up to the dialplan via mod_playback.

The call will be recorded while the some.wav plays then stop for the rest of the call (when some_other.wav plays)

The bugs may have bugs since this is 1 day's work so happy hunting ......

<extension name="42">
  <condition field="destination_number" expression="^42$">
   <action application="set" data="RECORD_TITLE=recording test"/>
   <action application="set" data="RECORD_ARTIST=FreeSWITCH"/>
    <action application="record_session" data="/tmp/rtest.wav"/>
    <action application="playback" data="/tmp/some.wav"/>
    <action application="stop_record_session" data="/tmp/rtest.wav"/>
    <action application="playback" data="/tmp/some_other.wav"/>
  </condition>
</extension>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2588 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-09 03:39:28 +00:00
Anthony Minessale eed1180192 add dynamic buffers
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2585 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-08 19:17:23 +00:00
Anthony Minessale 4531a4e3e1 add dynamic buffers
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2584 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-08 19:00:40 +00:00
Anthony Minessale f689b62fb6 add dynamic buffers
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2583 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-08 18:57:24 +00:00
Anthony Minessale 5816256ce3 let g729 be setup for pass through compile like this... MOD_CFLAGS="-DG729_PASSTHROUGH" make installall
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2575 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-08 15:43:45 +00:00
Anthony Minessale 52956d5cb1 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2554 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 15:08:40 +00:00
Michael Jerris 69933df109 update build on windows from latest core changes.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2542 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 05:35:08 +00:00
Anthony Minessale 80722357a6 Mega Changes
adding mod_park for putting channels in limbo state for remote control.
adding stuff to mod_event_socket to let you do the bgapi <command> <args>
this will let you execute a job in the bg and the result will be sent as an event with an
indicated uuid to match the reply to the command

adding switch_core_port_allocator (to be used soon)
adding "make sure" to do a full rebild of the freeswitch object files

There will be more to this committed as the week progresses

make sure you do a rebuild after this update or you'll be sowwie
./configure && make sure




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2540 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 03:58:01 +00:00
Michael Jerris 657ca535ed fix crash when passing null string to switch_core_session_locate (via killchan with no param)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2479 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-02 07:31:18 +00:00
Anthony Minessale d94e810630 add some events
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2425 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-29 15:17:06 +00:00
Anthony Minessale 353f936095 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2417 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-28 23:05:26 +00:00
Michael Jerris b4d3a5089d fix db path to use globals dir. Fixes windows service failure on opening/creating db's.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2389 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-25 05:50:49 +00:00