Commit Graph

202 Commits

Author SHA1 Message Date
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
Anthony Minessale aa196711a1 codec sql
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2387 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-25 01:33:28 +00:00
Anthony Minessale b76793d84a fix 183 on exosip
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2364 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-22 21:08:34 +00:00
Anthony Minessale 4f17ab7714 bunch of tweaks to make ivr more fun
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2350 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-21 19:14:51 +00:00
Michael Jerris 93d8d55755 get rid of extra \ in windows paths
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2346 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-20 19:20:53 +00:00
Michael Jerris 6d414c5644 fix windows line endings and fix potential memory leak from SWITCH_GLOBAL_dirs on win32.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2340 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-20 03:36:14 +00:00
Michael Jerris c08217c886 add first revision of windows services. fix breakage of -stop.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2339 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-20 03:04:55 +00:00
Michael Jerris c15da98579 Add switch_core_init_and_modload to core, from switch.c. Add additional shutdown functionality to switch_core_destroy. move around more code in switch.c and fix freeswitch -stop on windows.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2336 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-19 18:51:22 +00:00
Anthony Minessale 155420a73b tweaks part 2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2329 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-18 20:03:34 +00:00
Anthony Minessale 47192db741 Upgrade Dingaling to meet new googletalk spec upgrade your client if you have issues.
codecs need more work...

Expose events into javascript so you can create and fire events and 
and pick up chat events with chat-enabled clients like googletalk
EXAMPLE:

session.answer();

e = new Event("custom", "JS::Custom");
e.addHeader("subject", "cool");
e.addBody("hello this is a test");
e.fire;

while(session.ready()) {
    session.execute("sleep", "1000");
    event = session.getEvent();
    if (event) {
      str = event.serialize(); // or ("xml")
      console_log("debug", "Dump Event:\n" + str + "\n");


        e = new Event("custom", "JS::Chat");
        e.addHeader("works", "yes");
        e.addBody("you said: " + event.getBody());
        session.sendEvent(e);
      event.destroy();
    }
}





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2323 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-18 01:28:50 +00:00
Anthony Minessale 5782555e70 redecorating
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2301 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-15 21:38:24 +00:00
Anthony Minessale 748f0194f9 tweak shutdown process
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2299 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-15 19:02:06 +00:00
Anthony Minessale a675393bb7 performance tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2298 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-15 17:52:12 +00:00