Commit Graph

230 Commits

Author SHA1 Message Date
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
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 6175062b27 consolidate code in conference into todays changes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2303 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-16 00:35:02 +00:00
Anthony Minessale a29d426c8c setting waypoint
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2300 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-15 19:38:14 +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
Anthony Minessale d77e574d4e rearrange the furnature
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1846 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-12 18:39:19 +00:00
Anthony Minessale fe32a839df use channel flag to tell when to read from channel during some stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1590 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-09 22:59:13 +00:00
Anthony Minessale 7b4cc868e4 ivr stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1569 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-08 01:58:37 +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 751ca005d3 use macro for EXTERN "C" begin and end lines in header files to clean up the headers, and to eliminate a format bug in emacs.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1291 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-28 20:04:08 +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 e2cae5587c dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1126 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-12 16:34:34 +00:00
Michael Jerris 9db533862d standardize to some more specific int types for frame size and rate variables.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1095 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-09 00:10:13 +00:00
Anthony Minessale 64507e70ca icc changes part 1
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@982 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-30 23:02:50 +00:00
Michael Jerris 781107bcc6 doxygen fixes
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@793 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-07 20:31:48 +00:00
Michael Jerris 92a326c1da add curl and teletone to mod_spidermonkey. fix /tmp/ dir for windows, added global temp dir var. Multiple type fixes.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@713 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-01 06:25:56 +00:00
Anthony Minessale ae4c68d880 add dtmf callback to brige (not tested good luck)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@710 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-01 05:52:42 +00:00
Anthony Minessale 7542843deb add record to js
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@706 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-01 04:47:34 +00:00
Anthony Minessale dec2ae05a5 more ivr goodies
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@705 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-03-01 00:58:32 +00:00
Michael Jerris 4363c224f5 fix msvc warnings. fix high priority on windows.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@695 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-28 05:55:22 +00:00
Anthony Minessale bdd2223542 more ivr stuff (not done)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@693 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-28 02:08:42 +00:00
Brian West 5938cee550 Ok make up your mind please :P
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@689 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-27 04:52:56 +00:00
Brian West 3089e7abf7 Fix a few signedness issues.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@684 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-27 00:47:58 +00:00
Anthony Minessale 9369bfba5a add mod_cepstral to test tts backend
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@681 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-26 20:23:23 +00:00
Anthony Minessale 6021832880 Windows updates
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@466 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-01-27 23:47:45 +00:00
Anthony Minessale 3a802221be fix doxygen
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@463 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-01-27 22:21:02 +00:00
Anthony Minessale 534db1947e Add more IVR stuff and a test app (mod_ivrtest)
in dialplan (ivrtest <path to file>)
if the file is valid it will play the file and you will be expected to dial digits
until you dial 10 digits or press # or * (* will end the call) (# will repeat the test endlessly)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@462 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-01-27 21:33:45 +00:00
Anthony Minessale 48ae14726b make test 'record' app in app_playback.c
You are best off doing wav (trust me) 
It can record at 8 16 22 and 32 khz if you can manage to have a channel at that speed.

syntax [record /tmp/blah.wav] 

dial * to end (dtmf only works in iax and portaudio {beg file to add it to mod_exosip})



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@453 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-01-27 01:46:14 +00:00
Anthony Minessale 569be50b63 IVR groundwork (move playback into the core and add timing option)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@448 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-01-26 18:00:27 +00:00