78d060c6a7
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 |
||
---|---|---|
build | ||
conf | ||
docs | ||
libs | ||
mac/xcode | ||
scripts | ||
src | ||
w32 | ||
.indent.pro | ||
AUTHORS | ||
COPYING | ||
ChangeLog | ||
INSTALL | ||
Makefile.am | ||
Makefile.in | ||
NEWS | ||
README | ||
aclocal.m4 | ||
build.sh | ||
configure | ||
configure.in | ||
generic_mod.mk | ||
indent_options.sh | ||
mkinstalldirs | ||
modules.conf.in |
README
Freeswitch depends on several out of tree libraries. All of freeswitch depends on APR, and mod_exosip depends on osip, exosip, jtrhead, and jrtplib. Download locations and links for details can be found below. Apr info available at: http://apr.apache.org Download Locations: apr: http://apache.mirrors.versehost.com/apr/apr-1.2.2.tar.gz Backup Download Locations: apr: http://www.sofaswitch.org/mikej/apr-1.2.2.tar.gz Exosip\Osip info available at: http://www.antisip.com/ Download Locations: osip: http://www.antisip.com/download/libosip2-2.2.1.tar.gz exosip: http://www.antisip.com/download/libeXosip-0.9.0.tar.gz Backup Download Locations: osip: http://www.sofaswitch.org/mikej/libosip2-2.2.1.tar.gz exosip: http://www.sofaswitch.org/mikej/libeXosip-0.9.0.tar.gz Jthread\Jrtplib info available at: http://research.edm.luc.ac.be/jori/page.html Download Locations: jthread: http://research.edm.luc.ac.be/jori/jthread/jthread-1.1.2.tar.gz jrtplib: http://research.edm.luc.ac.be/jori/jrtplib/jrtplib-3.3.0.tar.gz Backup Download Locations: jthread: http://www.sofaswitch.org/mikej/jthread-1.1.2.tar.gz jrtplib: http://www.sofaswitch.org/mikej/jrtplib-3.3.0.tar.gz MSVC Notes: Freeswitch will compile and run from Microsoft Visual Studio 2005. If using the Visual C++ Express edition, please make sure that the location of the include and lib directories are propperly set in the file C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages\VCProjectEngine.Dll.Express.Config. The automated build process for te dependecy libraries will not work without these settings.