Commit Graph

174 Commits

Author SHA1 Message Date
Anthony Minessale 302a768c9f make substitution dynamic
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3794 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-22 14:50:48 +00:00
Anthony Minessale a8cf41acde expand vars
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3786 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-21 20:48:09 +00:00
Michael Jerris 7183562d7a to const or not to const, that is the question.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3769 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-20 21:46:18 +00:00
Anthony Minessale f564963282 linux #%^%$&
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3768 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-20 21:44:21 +00:00
Anthony Minessale bf08364e5f const
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3767 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-20 21:40:26 +00:00
Anthony Minessale b7dbea6407 add pelim say stuff, module framework, xml parser, dialplan app, and add new channel var called sound_prefix for audio files
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3766 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-20 21:25:14 +00:00
Anthony Minessale 44cc7d5cfe build progress break everything
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3682 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-17 01:01:09 +00:00
Michael Jerris 5b8cb3879a separate the stream context from the parser context
merged from knhor branch, thanks Neal.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3601 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-10 22:22:28 +00:00
Anthony Minessale d3dca0313b band aid, beware of sip transfers
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3589 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-09 03:49:54 +00:00
Anthony Minessale 243a820dff tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3563 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-07 04:06:46 +00:00
Anthony Minessale baf0174ab6 change & to , in forked dial
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3559 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-06 17:24:14 +00:00
Michael Jerris 84c625d98f refinements and additions to switch_ivr_menu from Neal Horman.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3527 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-04 05:41:03 +00:00
Anthony Minessale ad63096f5c fix
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3524 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-04 00:04:20 +00:00
Anthony Minessale bd460fa547 fix
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3523 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-12-03 23:58:01 +00:00
Anthony Minessale 60434decf5 ENUM Support
mod_enum can be used as a dialplan app, an api call from the console or as a dialplan interface.


Dialplan Interface:
put enum as the dialplan parameter in an endpoint module
i.e. instead of "XML" set it to "enum" or "enum,XML" for fall through.

Dialplan App:
This example will do a lookup and set the a variable that is the proper
dialstring to call all of the possible routes in order of preference according to 
the lookup and the order of the routes in the enum.conf section.

<extension name="tollfree">
  <condition field="destination_number" expression="^(18(0{2}|8{2}|7{2}|6{2})\d{7})$">
    <action application="enum" data="$1"/>
    <action application="bridge" data="${enum_auto_route}"/>
  </condition>
</extension>

You can also pick an alrernate root:
<action application="enum" data="$1 myroot.org"/>	


API command:
at the console you can say:
enum <number> [<root>]

The root always defaults to the one in the enum.conf section.




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3494 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-30 21:28:32 +00:00
Michael Jerris f5e183cb48 cast for datatype of score.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3488 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-29 20:08:12 +00:00
Michael Jerris ec34d7bdaf playfile fixes for startpos from Matt Klein.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3487 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-29 20:07:13 +00:00
Anthony Minessale f6fd954631 api tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3485 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-29 17:10:40 +00:00
Anthony Minessale d288ae58a8 add timelimit to record
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3475 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-28 21:46:29 +00:00
Michael Jerris 44649c70b4 Add magic comments for emacs and vi in source and header files to properly format and display tabs vs. spaces in those editors:
/* For Emacs:
 * Local Variables:
 * mode:c
 * indent-tabs-mode:nil
 * tab-width:4
 * c-basic-offset:4
 * End:
 * For VIM:
 * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
 */


git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3462 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 22:30:48 +00:00
Anthony Minessale 361dc67be2 no_media/ringback tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3461 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 21:52:38 +00:00
Anthony Minessale c08e943e44 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3460 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-27 17:12:40 +00:00
Anthony Minessale fd16c8f245 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3448 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-23 19:42:21 +00:00
Anthony Minessale 5869b86676 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3447 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-23 19:32:28 +00:00
Anthony Minessale 251d8c45b4 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3446 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-23 19:13:54 +00:00
Anthony Minessale 097d4a66f0 send 180 when there is no ringback specified on forked calls
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3428 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-21 00:29:51 +00:00
Michael Jerris 3a57946bea parentheses for proper cast.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3411 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-19 01:11:07 +00:00
Michael Jerris 4d450eba16 code before declaration.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3409 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-19 01:09:04 +00:00
Anthony Minessale d7baa16132 Ringback (sponsored by Front Logic)
This addition lets you set artifical ringback on a channel
that is waiting for an originated call to be answered.

the syntax is 

<action application="set" data="ringback=[data]"/>

where data is either the full path to an audio file
or a teletone generation script..


syntax of teletone scripts

LEGEND:

0-9,a-d,*,# (standard dtmf tones)

variables: c,r,d,v,>,<,+,w,l,L,%

c (channels)        - Sets the number of channels.
r (rate)            - Sets the sample rate.
d (duration)        - Sets the default tone duration.
v (volume)          - Sets the default volume.
> (decrease vol)    - factor to decrease volume by per frame (0 for even decrease across duration).
< (increase vol)    - factor to increase volume by per frame (0 for even increase across duration).
+ (step)            - factor to step by used by < and >.
w (wait)            - default silence after each tone.
l (loops)           - number of times to repeat each tone in the script.
L (LOOPS)           - number of times to repeat the the whole script.
% (manual tone)     - a generic tone specified by a duration, a wait and a list of frequencies.

standard tones can have custom duration per use with the () modifier
7(1000, 500) to generate DTMF 7 for 1 second then pause .5 seconds

EXAMPLES

UK Ring Tone [400+450 hz on for 400ms off for 200ms then 400+450 hz on for 400ms off for 2200ms]
%(400,200,400,450);%(400,2200,400,450)

US Ring Tone [440+480 hz on for 2000ms off for 4000ms]
%(2000,4000,440,480)

ATT BONG [volume level 4000, even decay, step by 2, # key for 60ms with no wait, volume level 2000, 350+440hz {us dialtone} for 940ms
v=4000;>=0;+=2;#(60,0);v=2000;%(940,0,350,440)

SIT Tone 913.8 hz for 274 ms with no wait, 1370.6 hz for 274 ms with no wait, 1776.7 hz for 380ms with no wait
%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)

ATTN TONE (phone's off the hook!) 1400+2060+2450+2600 hz for 100ms with 100ms wait
%(100,100,1400,2060,2450,2600)



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3408 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-19 01:05:06 +00:00
Michael Jerris 28c875cfa9 add switch_ivr_digit_stream functions and switch_ivr_build_xml_menu_stack to switch ivr, merged from knhor branch. thanks neal!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3341 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-13 16:29:16 +00:00
Michael Jerris 4619302f8f don't user "new" as a variable name, so we can keep compatible with C++
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3336 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 21:16:46 +00:00
Michael Jerris b87df5bcd2 git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3334 d0543943-73ff-0310-b7d9-9358b9ac24b2 2006-11-12 21:05:08 +00:00
Anthony Minessale a5f16da175 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3332 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 20:50:18 +00:00
Anthony Minessale 372c160c3f menu stuff: work in progress, look for bugs\!\!\!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3331 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 20:34:04 +00:00
Anthony Minessale c8733f2b8a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3320 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 00:38:31 +00:00
Anthony Minessale 8f8396d741 add ivr api not sure it works yet
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3319 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-12 00:32:18 +00:00
Anthony Minessale 8dc1556b95 fix gremlins in code that worked before then changed it's mind
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3300 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-10 08:13:01 +00:00
Anthony Minessale 44fc26f7d4 Finalization of speech detect interface and API
This changes the core to have the necessary tools to create
a speech detection interface.

It also changes the code in javascript (mod_spidermonkey)
there are a few api changes in how it handles callbacks

It also adds grammars as a system dir to store asr grammars




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3291 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-09 05:39:04 +00:00
Anthony Minessale 0ce3f5b08b tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3286 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-11-09 05:13:59 +00:00
Michael Jerris 506f40b8f1 change local var to match return type of function.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3246 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-31 21:41:40 +00:00
Anthony Minessale 9ab2b1db57 Media Management (Sponsored By Front Logic)
This modification makes it possible to change the media path of session in the switch on-the-fly and from the dialplan.
It adds some API interface calls usable from a remote client such as mod_event_socket or the test console.

1) media [off] <uuid>

   Turns on/off the media on the call described by <uuid>
   The media will be redirected as desiered either into the switch or point to point.

2) hold [off] <uuid>

   Turns on/off endpoint specific hold state on the session described by <uuid>

3) broadcast <uuid> "<path>[ <timer_name>]" or "speak:<tts_engine>|<tts_voice>|<text>[|<timer_name>]" [both]

   A message will be sent to the call described by uuid instructing it to play the file or speak the text indicated.

   If the 'both' option is specified both ends of the call will hear the message otherwise just the uuid specified
   will hear the message.

   During playback when only one side is hearing the message the other end will hear silence.

   If media is not flowing across the switch when the message is broadcasted, the media will be directed to the
   switch for the duration of the call and then returned to it's previous state.


Also the no_media=true option in the dialplan before a bridge makes it possible to place a call while proxying the session
description from one endpoint to the other and establishing an immidiate point-to-point media connection with no media
on the switch.

<action application="set" data="no_media=true"/>
<action application="bridge" data="sofia/mydomain.com/myid@myhost.com"/>


*NOTE* when connecting two outbound legs by using the "originate" api command with an extension that has no_media=true enabled,
the media for the first leg will be engaged with the switch until the second leg has answered and the other session description
is available to establish a point to point connection at which time point-to-point mode will be enabled.

*NOTE* it is reccommended you rebuild FreeSWITCH with "make sure" as there have been some changes to the core.



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3245 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-31 21:38:06 +00:00
Michael Jerris 6b457ddce3 Add new higher level ivr functions from Paul Tinsley. Thanks Paul.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3223 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-28 04:40:59 +00:00
Anthony Minessale 90297aa7ef update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3213 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-26 16:31:05 +00:00
Anthony Minessale 280daaf56c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3211 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-26 15:52:11 +00:00
Anthony Minessale a3839376f7 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3210 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-26 15:00:46 +00:00
Michael Jerris 0be391132a datatype tweaks.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3193 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 04:47:08 +00:00
Anthony Minessale 08442ff2c4 signalling refactoring for media etc
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3192 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 04:28:49 +00:00
Anthony Minessale 252afb823f add some sanity code to originate and conference
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3189 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-25 01:00:26 +00:00
Anthony Minessale 70bfba5b63 Christmas Presence
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3083 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-18 22:57:35 +00:00
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