Commit Graph

272 Commits

Author SHA1 Message Date
Anthony Minessale 5c5bd833d7 fix potential crash
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2235 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-07 20:04:12 +00:00
Anthony Minessale 2b320e25a1 iax tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2234 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-07 19:45:52 +00:00
Anthony Minessale cfec307cb9 sillyness
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2213 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-08-01 00:46:27 +00:00
Anthony Minessale 272c6c9f4f fix ambigious time_t crap
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2204 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-29 00:02:05 +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
Brian West 8d45333627 fix for mac
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@2083 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-24 19:16:58 +00:00
Anthony Minessale aee6cc27e1 codec tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1957 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-18 18:34:42 +00:00
Anthony Minessale f5ea0ca767 add alt speex
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1952 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-18 14:51:59 +00:00
Anthony Minessale 7712c6637c messaging stuff
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1902 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-17 14:12:07 +00:00
Anthony Minessale 4aab8842cd tweaks for wideband tests
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1883 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-14 19:42:09 +00:00
Anthony Minessale 2b4ddd0576 add fmtp to sip
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1882 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-14 19:20:54 +00:00
Anthony Minessale a7294a1c95 add fmtp to sip
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1881 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-14 18:31:23 +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 168c6db00d adj iax to use the intervals thing
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1819 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-10 22:24:57 +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
Brian West e9fc56225f tweak (work in progress)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1816 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-10 20:28:22 +00:00
Anthony Minessale cdac907624 break 2 loops instead of 1
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1813 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-07-10 17:10:40 +00:00
Anthony Minessale 7bcecfb149 add header to portaudio
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1705 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-29 13:48:52 +00:00
Anthony Minessale 3ba26db705 move iana codes to the implementations.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1666 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-23 20:14:29 +00:00
Anthony Minessale ce2a9d2636 add more mutexed flag ops
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1664 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-23 16:59:47 +00:00
Anthony Minessale 4052fc3e2d doh wrong pool
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1663 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-23 04:28:15 +00:00
Anthony Minessale 91049dae9b put some mutexes on some flags
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1662 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-22 23:56:09 +00:00
Anthony Minessale 988841611a dingaling tweak
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1660 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-22 21:57:40 +00:00
Anthony Minessale 4fb9e6e76b sync
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1659 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-22 20:42:44 +00:00
Anthony Minessale e4cbd93db8 clear up SDP fiasco
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1657 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-22 19:15:10 +00:00
Michael Jerris b88f2a0fa0 fix off by 1 error in mod_exosip sdp negotiation code. Thanks Pawel for finding this.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1640 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-16 17:17:50 +00:00
Michael Jerris 0ae3b344dc make sure to use switch namespace on apr functions in modules.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1601 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-12 02:39:05 +00:00
Anthony Minessale 5c57580955 ivr stuff (part 1)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1573 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-08 19:22:54 +00:00
Michael Jerris 7ac4e54ef9 add early audio message hook.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1572 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-08 15:28:42 +00:00
Anthony Minessale 425c5f282b yep
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1571 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-08 15:20:46 +00:00
Michael Jerris 9c2442886d merge anthm fix for atoi(NULL) segfault. Thanks jart for identifying the problem.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1560 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-07 21:55:17 +00:00
Anthony Minessale 8b7f997c3f update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1557 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-07 14:53:13 +00:00
Anthony Minessale ae806dc793 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1553 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-06 23:49:02 +00:00
Anthony Minessale cd3e5e83c2 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1548 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-06-06 16:22:08 +00:00
Michael Jerris 33e6c1fab1 fix potentially uninitiallized var.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1528 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-31 13:56:50 +00:00
Anthony Minessale 160fe134e6 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1526 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-30 17:47:07 +00:00
Anthony Minessale baa257f2fe update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1513 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-27 00:24:32 +00:00
Anthony Minessale 3d6bdeed03 You must be joshing!, the sdp wasn't being parsed right!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1512 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-26 21:44:48 +00:00
Anthony Minessale ab3f42c9c4 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1508 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-26 16:00:08 +00:00
Anthony Minessale 79dcf1969a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1499 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-24 16:10:05 +00:00
Anthony Minessale a4fc74c37e update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1497 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-24 14:42:21 +00:00
Anthony Minessale 21c2b5812e update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1476 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-17 00:58:21 +00:00
Michael Jerris 31ee0d59fc normalize configuration parameters to use - instead of _.
Break everybody's configuration.

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1475 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-16 17:08:21 +00:00
Anthony Minessale 0048061a7a update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1473 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-16 13:37:59 +00:00
Anthony Minessale e53dd9be16 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1468 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-15 21:06:45 +00:00
Anthony Minessale 43b6962933 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1456 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-13 01:32:50 +00:00
Michael Jerris 2a07e46e34 allow msvc build to work from source directory with a space in it.
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1454 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-12 22:55:12 +00:00
Anthony Minessale 6daaf0844c update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1453 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-12 22:01:31 +00:00
Anthony Minessale d314140374 cleanup
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1445 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-12 15:33:49 +00:00
Anthony Minessale 7df4d982d6 update
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1439 d0543943-73ff-0310-b7d9-9358b9ac24b2
2006-05-12 01:12:40 +00:00