Commit Graph

82 Commits

Author SHA1 Message Date
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 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 4943c5939f another step closer
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3119 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-20 06:55:30 +00:00
Anthony Minessale d44c204f5b fix goofy 183 madness
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3004 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 15:51:10 +00:00
Michael Jerris d95fdb0ccc type tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2997 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 04:37:03 +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 7de068b9ac sip work in progress changes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2969 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-04 23:11:11 +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 ccb32b0eb6 add uuid_bridge api call and ivr function Usage: uuid_bridge <uuid> <other_uuid> *should* take 2 existing channels and bridge them
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2748 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 02:18:24 +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 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 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 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
Michael Jerris 2767a7d002 Changed SWITCH_EVENT_CHANNEL_STATE to SWITCH_EVENT_CHANNEL_HANGUP on the hangup state change, add Hangup-Cause event header.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2563 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 22:39:40 +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
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 78d060c6a7 *deep breath*
Ok,

This one adds a bunch of stuff on top of the framework restructuring from yesterday.

1) originate api function:
Usage: originate <call url> <exten> [<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>]

This will call the specified url then transfer the call to the specified extension

example: originate exosip/1000@somehost 1000 XML default

2) mutiple destinations in outbound calls:

This means any dialstring may contain an '&' separated list of call urls
When using mutiple urls in this manner it is possible to map a certian key as required
indication of an accepted call.  You may also supply a filename to play possibly instructing the 
call recipiant to press the desired key etc...

The example below will call 2 locations playing prompt.wav to any who answer and
completing the call to the first offhook recipiant to dial "4"



      <extension name="3002">
        <condition field="destination_number" expression="^3002$">
          <action application="set" data="call_timeout=60"/>
          <action application="set" data="group_confirm_file=/path/to/prompt.wav"/>
          <action application="set" data="group_confirm_key=4"/>
          <action application="bridge" data="iax/guest@somebox/1234&exosip/1000@somehost"/>
        </condition>
      </extension>

The following is the equivilant but the confirm data is passed vial the bridge parameters
(This is for situations where there is no originating channel to set variables to)

      <extension name="3002">
        <condition field="destination_number" expression="^3002$">
          <action application="bridge" data=/path/to/prompt.wav:4"confirm=iax/guest@somebox/1234&exosip/1000@somehost"/>
        </condition>
      </extension>

Omitting the file and key stuff will simply comeplete the call to whoever answers first. 
(this is similar to how other less fortunate software handles the situation with thier best effort.)

This logic should be permitted in anything that establishes an outgoing call with
switch_ivr_originate()

Yes! That means even in this new originate api command you can call mutiple targets and send
whoever answers first to an extension that calls more mutiple targets.  (better test it though!)


Oh, and you should be able to do the same in the mod_conference dial and dynamic conference features

please report any behaviour contrary to this account to me ASAP cos i would not be terribly
suprised if I forgot some scenerio that causes an explosion I did all this in 1 afternoon so it probably needs tuning still.





git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2311 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-17 00:53:09 +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 9c79c2a3fb Add mod_event_socket remote client module and sample client.
To Test:

uncomment or add from modules.conf
make installall again to compile it
uncomment the load line from freeswitch.xml

the default values are to bind to 127.0.0.1 port 8021

telnet to port 8021
enter "auth ClueCon" to authenticate

from here you can do the following:
*) events [xml|plain] <list of events to log or all for all>
*) noevents 
*) log <level> // same as the console.conf values
*) nolog
*) api <command> <arg>
*) exit

there is a perl client in scripts/socket called fs.pl

with the module up and loaded:
cd scripts/socket
perl fs.pl <optional log level>

you can enter a few api commands like "show or status"




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2047 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-22 21:49:52 +00:00
Anthony Minessale ca98141ed7 enhance the show command
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2011 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-20 03:55:07 +00:00
Anthony Minessale e73ee221d2 add mod_dptools, for set variable and sleep from the dialplan
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1864 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-13 13:20:20 +00:00
Brian West d99c1605a1 dont pre_answer after actual answer
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1814 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-10 19:51:19 +00:00
Anthony Minessale b5a19020f7 add session counter and make all sessions hang up elegantly on shutdown
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1788 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-07 18:59:14 +00:00
Anthony Minessale 91049dae9b put some mutexes on some flags
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1662 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-22 23:56:09 +00:00
Michael Jerris 8e84e29693 add asserts to address segfaults on improper usage of the switch_channel api.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1617 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-13 22:25:58 +00:00
Michael Jerris 76dfa310c0 add access or function for channel variable iterator
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1612 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-13 01:49:18 +00:00
Anthony Minessale ae806dc793 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1553 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-06 23:49:02 +00:00
Anthony Minessale 9a43ccab24 add mod_rss
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1551 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-06 23:07:37 +00:00
Anthony Minessale 15b99a3bbf make extensions linkable (thanks mishehu)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1537 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-03 17:06:06 +00:00
Anthony Minessale 93666f6dd7 XMLification (wave 1)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1401 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-10 03:23:05 +00:00
Anthony Minessale 23d6224dab gather 2833 into RTP core and a few tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1351 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-04 17:51:53 +00:00
Anthony Minessale 2546187cad update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1343 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-04 01:44:41 +00:00
Anthony Minessale de338c319d update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1336 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-04 00:07:20 +00:00
Anthony Minessale b124890e48 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1327 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-03 17:03:27 +00:00
Michael Jerris 14fee78470 part 3 of 3 standardizing typedefed types to end in _t.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1300 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-29 23:43:28 +00:00
Michael Jerris 73a3adac8f part 2 of many standardizing typedefed types to end in _t
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1294 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-29 06:05:03 +00:00
Michael Jerris d0347b2a95 part 1 of many standardizing typedefed types to end in _t
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1292 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-29 01:00:52 +00:00
Anthony Minessale 35dc32018c add transfer capability and small ways to test it
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1290 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-28 19:46:57 +00:00
Anthony Minessale 31e31566a5 set some key functions to report the file func line of the caller not of the actual function
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1278 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-27 15:02:35 +00:00
Anthony Minessale 152e42aa6c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1272 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-26 23:09:48 +00:00
Anthony Minessale 7d2756f14a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1266 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-26 20:15:16 +00:00
Michael Jerris 364e2c53b2 variable type fixes and msvc tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1262 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-26 18:37:03 +00:00
Anthony Minessale 92bba4dbe6 adjust
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1255 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-25 23:11:56 +00:00
Anthony Minessale ba6b7651b2 improve bridge code
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1251 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-25 18:02:12 +00:00
Anthony Minessale 6b57636823 causes part 3
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1232 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-22 18:12:17 +00:00
Anthony Minessale 1eb4d491a5 causes part 2
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1226 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-22 03:05:25 +00:00
Anthony Minessale 377090fa46 cause part 1
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1223 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-21 23:16:26 +00:00