Commit Graph

125 Commits

Author SHA1 Message Date
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 4933582aad update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3051 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-15 04:44:33 +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 3958734b85 switch_ivr_uuid_bridge make return SWITCH_STATUS_SUCESS on success.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2998 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-08 04:39:21 +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 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
Anthony Minessale f993cd6791 more sofia stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2978 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-05 14:24:25 +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 513d5dbbdd adding transfer part 1
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2962 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-03 04:08:30 +00:00
Michael Jerris 7b3284b3f5 code before declaration.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2813 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-23 23:21:48 +00:00
Anthony Minessale a3ce0d36d3 experimental new native code file eg name a ulaw file .PCMU etc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2783 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-22 19:50:54 +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
Anthony Minessale 980d2d8aeb tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2757 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 20:04:35 +00:00
Anthony Minessale beb40aaa20 set default
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2756 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 19:13:08 +00:00
Anthony Minessale e9cb681093 set default
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2753 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-19 19:00:43 +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
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 0b1b9f981c a little more cause stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2674 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 23:41:42 +00:00
Anthony Minessale 06a0b2c0d5 cause code goodies
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2671 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 23:20:40 +00:00
Anthony Minessale cb2da2328a pass cause from originate
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2647 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-12 01:32:04 +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
Michael Jerris 8b8a85db56 Add g729 passthrough for windows build.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2581 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-08 16:52:18 +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 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 fede17f4e0 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2420 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-29 01:13:38 +00:00
Anthony Minessale c0849e1a40 fix stupidness
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2419 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-28 23:50:10 +00:00
Anthony Minessale e262fb87b0 tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2418 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-28 23:44:38 +00:00
Anthony Minessale 4bb6f96926 Adding mod_sofia to the tree so we can work on it easier....
I am not adding it to the examples or to the modules.conf because it's not really ready for that yet.
This is only 1.5 days old from scratch at this point but the brave hearted who want to play with it can do the following:

Add this to modules.conf:
-----------------------------------------------------------------------------
endpoints/mod_sofia
-----------------------------------------------------------------------------

Add this to freeswitch.xml in the configuration/modules.conf area
-----------------------------------------------------------------------------
<load module="mod_sofia"/>
-----------------------------------------------------------------------------

Add this to freeswitch.xml in the configuration section

-----------------------------------------------------------------------------
    <configuration name="sofia.conf" description="sofia Endpoint">
      <!-- You may have multiple profiles -->
      <profile name="test">
        <param name="rfc2833-pt" value="101"/>
        <param name="sip-port" value="5060"/>
        <param name="dialplan" value="XML"/>
        <param name="dtmf-duration" value="100"/>
        <param name="codec-prefs" value="PCMU"/>
        <param name="use-rtp-timer" value="true"/>
        <param name="rtp-ip" value="127.0.0.1"/>
        <param name="sip-ip" value="127.0.0.1"/>
        <!-- optional ; -->
        <!-- <param name="ext-rtp-ip" value="stun:stun.server.com"/>-->
        <!-- <param name="ext-rtp-ip" value="100.101.102.103"/> -->

        <!-- VAD choose one (out is a good choice); -->
        <!-- <param name="vad" value="in"/> -->
        <!-- <param name="vad" value="out"/> -->
        <!-- <param name="vad" value="both"/> -->
	<!--<param name="alias" value="sip:208.64.200.40:5555"/>-->
      </profile>
    </configuration>
-----------------------------------------------------------------------------

The call string to use profile test would be:

sofia/test/1000@1.2.3.4

as in:

<action application="bridge" data="sofia/test/1000@1.2.3.4"/>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2398 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-25 23:55:59 +00:00
Anthony Minessale 31892070a6 working towards stability with new functions
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2368 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-22 22:34:48 +00:00
Anthony Minessale da727681fc update core
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2361 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-22 18:29:00 +00:00
Anthony Minessale c92e1cb79a bunch of tweaks to make ivr more fun
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2351 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-21 20:16:28 +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 2ca190f1a2 silence warning
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2316 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-17 19:10:17 +00:00
Michael Jerris f2f66c43a5 fix for msvc, signed\unsigned and code before decl
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2315 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-17 14:41:00 +00:00
Anthony Minessale 502c84d072 ok,
now in the key portion you can say 'exec' and in the file portion say '<application> <args>'
if the channel is not hungup when that application ends it's the winner so you can 
run an ivr on the channels to determine who gets the call

      <extension name="3002">
        <condition field="destination_number" expression="^3002$">
          <action application="set" data="call_timeout=60"/>
          <action application="set" data="group_confirm_key=exec"/>
          <action application="set" data="group_confirm_file=javascript test.js"/>
          <action application="bridge" data="exosip/1000@domain.com&exosip/1001@mydomain.com"/>
        </condition>
      </extension>



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2314 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-17 03:18:51 +00:00
Anthony Minessale afdaac9b22 changed my mind i think the confirm option is cool even when you call 1 dest
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2313 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-17 02:45:55 +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 286b2c791e add assert
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2304 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-16 00:54:38 +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 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 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 eaa28d3ea9 windows play file thing (please test mike)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2276 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-12 22:39:02 +00:00
Michael Jerris f1e3aa5a96 time_t cast.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2256 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-11 15:01:48 +00:00
Anthony Minessale da4ae7be4c add metadata functions to sound file api
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2139 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-25 22:37:52 +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 c26480656f minor adj
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1716 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-30 21:45:29 +00:00