Commit Graph

61 Commits

Author SHA1 Message Date
Anthony Minessale 8592c5d822 fix some stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7973 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-03-27 22:22:46 +00:00
Michael Jerris 21bab63590 don't seg when loading codecs
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7686 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-18 22:46:19 +00:00
Brian West 98bfaf7630 Lets not break video passthru codecs sorry
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7682 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-18 21:55:28 +00:00
Anthony Minessale 983a0ba3df move L16 and g711 into the core
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7670 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-18 19:43:57 +00:00
Brian West bcc49a1d05 interval tweaks
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7626 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-15 20:11:44 +00:00
Brian West b0ad7ab50c set tab mode properly
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7500 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-03 22:14:57 +00:00
Brian West f41319e655 Massive codec update. I have also switched G726 to use Steve Underwoods code as it passes all the tests. G726 tested in AAL2 mode with Sipura and G726-32 tested with Snom which does proper bitpacking. Be sure to "make current" before you continue.
/b



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7452 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-02-01 06:22:13 +00:00
Brian West 84161010ab cleanup and consistency.. blah rain @ PHX fun
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7396 d0543943-73ff-0310-b7d9-9358b9ac24b2
2008-01-27 20:01:02 +00:00
Anthony Minessale bd6bd9ad57 add softtimer to the core, begin framework for static modules and reduces calls to gettimeofday for timestamps
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5784 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-03 16:44:11 +00:00
Anthony Minessale d33b5670f0 fix some races and alter core (do a full rebuild)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5751 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-09-24 19:34:25 +00:00
Anthony Minessale 333fa35773 add reset state (make sure you do full rebuild)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5493 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-07-03 02:10:35 +00:00
Michael Jerris 8694a4a7ce add more modules to new mod loader macros/api.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5406 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 08:41:55 +00:00
Michael Jerris ae02cbef83 add more modules to new mod loader macros/api.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5404 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 07:53:33 +00:00
Michael Jerris 4e85a86775 add remaining apps to new mod loader macros.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5401 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 06:05:31 +00:00
Michael Jerris db2121b84d move mod_conference to use new module loader interfaces.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5398 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 04:17:26 +00:00
Michael Jerris c257489e6c move mod_commands to use new module loader interfaces.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5397 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-20 03:26:52 +00:00
Anthony Minessale 95f007586f stage 1 of wrecking ball (duck!)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5347 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-06-13 20:40:06 +00:00
Michael Jerris a4ff7e88da adding const qualifiers across the api as appropriate.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5165 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-12 14:48:14 +00:00
Anthony Minessale 1be5b1ff45 general improvements
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5078 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-05-03 16:28:23 +00:00
Anthony Minessale c15d7892c0 indent again
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4799 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:15:25 +00:00
Anthony Minessale debdfb1aab indent
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4798 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-30 00:13:31 +00:00
Anthony Minessale 3a54126261 spring cleaning
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4795 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-29 22:31:56 +00:00
Anthony Minessale d4f6fb8e8c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4632 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-17 19:51:08 +00:00
Anthony Minessale 5131ee1cae add management interface and some rtp goodies
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4464 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-03-07 18:34:22 +00:00
Michael Jerris f359f847f7 fix magic emacs and vi formatting comments in the bottom of our source files to use tabs instead of spaces
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4176 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-02-09 02:36:03 +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
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 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 99e22d69bd refactor earlier junk from this eve and add ken's propagate variable thing
set this sometime before an origination (bridge etc).

<action application="set" data="propagate_vars=my_cool_var1,my_cool_var2,foo,bar"/>

and they should be cloned over to the new channel when it's substantiated



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3101 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-10-19 07:13:34 +00:00
Anthony Minessale 086676f6e9 what comes up must come down
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2555 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 15:15:39 +00:00
Anthony Minessale a4c778a00c fix namespace
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2548 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-09-07 14:23:31 +00:00
Anthony Minessale c4d890e0a4 Modify XML Dialplan
BTW, forget what I said yesterday RE: the strftime app I was at McDonalds, how can I concentrate there eh? 
see below....


The Definitive Guide To XML Dialplan:

The "dialplan" section of the freeswitch.xml meta document may contain several contexts

<?xml version="1.0"?>
<document type="freeswitch/xml">
  <section name="dialplan" description="Regex/XML Dialplan">
    <!-- the default context is a safe start -->
    <context name="default">

    <!-- one or more extension tags -->

    </context>
    
    <!-- more optional contexts -->
  </section>
</document>

The important thing to remember is that the dialplan is parsed once when the call
hits the dialplan parser in the RING state.  With one pass across the XML the result
will be a complete list of instructions installed into the channel based on
 parsed <action> or <anti-action> tags.

Those accustomed to Asterisk may expect the call to follow the dialplan by executing the 
applications as it parses them allowing data obtained from one action to influence the next action.
This not the case with the exception being the %{api func} {api arg} field type where an pluggable api call from
a module may be executed as the parsing occurs but this is meant to be used to draw realtime info such as
date and time or other quickly accessible information and shold *not* be abused.


The anatomy of an <extension> tag.

Legend: 
Text wrapped in [] indicates optional and is not part of the actual code.
a '|' inside [] indicates mutiple possible values and also is not part of the code.
Text wrapped in {} indicates it's a description of the parameter in place of the param itself.

<extension name="{exten_name}" [continue="[true|false]"]> 

continue=true means even if an extension executes to continue
parsing the next extension too

The {exten_name} above may anything but if it's 
an exact match with the destination number the parser will leap to this extension
to begin the searching that does not mean it will execute the extension.

Searching will either begin at the first extension in the context or at the point
the the parser has jumped to in the case described above.

Each condition is parsed in turn first taking the 'field' param.
The parser will apply the perl regular expression to each 'field' param encountered.

If the expression matches, it will parse each existing <action> tag in turn and add 
the data from the <application> tags to the channels todo list.	

If a matched expression contains any data wrapped in () the variables
$1,$2..$N will be valid and expanded in any of 'data' params from the subsequent action tags.

If the expression does NOT match, it will parse each <anti-action> tag in turn and add 
the data from the <application> tags to the channels todo list.
*NOTE* since there was no match the () feature is not availabe in anti-actions

The 'break' param indicates how to behave in relation to matching:
*) 'on-true'  - stop searching conditions after the first successful match.
*) 'on-false' - stop searching after the first unsuccessful match.
*) 'always'   - stop at this conditon regardless of a match or non-match.
*) 'never'    - continue searching regardless of a match or non-match.

<condition field="[{field name}|${variable name}|%{api func} {api arg}]" expression="{expression}" break="[on-true|on-false|always|never]">
  <action application="{app name}" data="{app arg}"/>
  <anti-action application="{app name}" data="{app arg}"/>
</condition>

  <!-- any number of condition tags may follow where the same rules apply -->
</extension>




git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2167 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-26 20:12:49 +00:00
Anthony Minessale 2838ad4a9b restructure codec code
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1818 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-10 22:08:02 +00:00
Anthony Minessale f09491a69b XMLification (wave 4)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1412 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-10 15:47:54 +00:00
Anthony Minessale a4b1fdc709 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1357 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-04 20:38:01 +00:00
Michael Jerris c904577269 C++ says we can't use "interface" as a variable name.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1305 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-30 18:24:24 +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
Anthony Minessale 76f4a10a18 dox
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1299 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-29 21:36:10 +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
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
Michael Jerris a8e506e6f1 revert unintentional removal.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1250 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-25 16:59:53 +00:00
Anthony Minessale c096cd7137 add c99 setting to Makefile
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1249 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-25 16:54:33 +00:00
Anthony Minessale a3d0b78ea0 tweak loadable module code to allow registration for langauges that can in turn fully implement modules of thier own (e.g. mono)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1244 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-25 00:33:00 +00:00
Anthony Minessale a680625e0a add load command
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1209 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-04-20 00:58:06 +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
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 93d822b66f add mod_zeroconf to msvc build, and fix compile error.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@614 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-14 18:18:40 +00:00
Anthony Minessale bc241ba425 add headers for module funcs to avoid warnings
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@610 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-14 16:53:15 +00:00
Anthony Minessale 95fbe70503 Initial framework for directory interface modules (ldap etc)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@575 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-02-09 16:28:49 +00:00