Quick Search:

Line History

line history graph

Show Arbitrary Diff

From to

Supports revisions and tags.

History

root: 10145 1402

latest revision download Branch root:

10145 annotated / raw | Diffs: previous, other | Lines: 314 ( +1, -0 )

Created: 2008-10-24 16:30:33 -0400 (26 days ago) | Author: anthm | Changeset: 10145

add data to params

10144 annotated / raw | Diffs: previous, other | Lines: 313 ( +0, -4 )

Created: 2008-10-24 16:12:08 -0400 (26 days ago) | Author: anthm | Changeset: 10144

revert patch

10138 annotated / raw | Diffs: previous, other | Lines: 317 ( +4, -0 )

Created: 2008-10-23 20:31:40 -0400 (27 days ago) | Author: anthm | Changeset: 10138

add patch from stangor

9959 annotated / raw | Diffs: previous, other | Lines: 313 ( +7, -7 )

Created: 2008-10-11 02:19:56 -0400 (40 days ago) | Author: brian | Changeset: 9959

more polishing

9789 annotated / raw | Diffs: previous, other | Lines: 313 ( +1, -1 )

Created: 2008-10-02 13:10:05 -0400 (48 days ago) | Author: anthm | Changeset: 9789

add some more specific events

9592 annotated / raw | Diffs: previous, other | Lines: 313 ( +6, -2 )

Created: 2008-09-18 19:29:34 -0400 (2 months 1 day ago) | Author: anthm | Changeset: 9592

change debug stmt

9373 annotated / raw | Diffs: previous, other | Lines: 309 ( +1, -1 )

Created: 2008-08-27 18:10:57 -0400 (2 months 23 days ago) | Author: brian | Changeset: 9373

tweak message to be more clear its a context and not a domain

9312 annotated / raw | Diffs: previous, other | Lines: 309 ( +6, -0 )

Created: 2008-08-16 11:57:07 -0400 (3 months 3 days ago) | Author: anthm | Changeset: 9312

fail call on extensions with nested conditions

8894 annotated / raw | Diffs: previous, other | Lines: 303 ( +1, -1 )

Created: 2008-07-03 15:12:26 -0400 (4 months 17 days ago) | Author: mikej | Changeset: 8894

vim extendtab is bad

8852 annotated / raw | Diffs: previous, other | Lines: 303 ( +1, -1 )

Created: 2008-06-26 16:37:14 -0400 (4 months 24 days ago) | Author: anthm | Changeset: 8852

bigger buffer for regex match

8689 annotated / raw | Diffs: previous, other | Lines: 303 ( +4, -5 )

Created: 2008-05-27 00:54:52 -0400 (5 months 24 days ago) | Author: anthm | Changeset: 8689

indent pass 2

7872 annotated / raw | Diffs: previous, other | Lines: 304 ( +2, -1 )

Created: 2008-03-11 21:25:05 -0400 (8 months ago) | Author: anthm | Changeset: 7872

update

7854 annotated / raw | Diffs: previous, other | Lines: 303 ( +0, -4 )

Created: 2008-03-10 23:45:16 -0400 (8 months ago) | Author: anthm | Changeset: 7854

fix a bunch of stuff

7736 annotated / raw | Diffs: previous, other | Lines: 307 ( +2, -1 )

Created: 2008-02-26 11:15:17 -0500 (8 months ago) | Author: brian | Changeset: 7736

Tweak log message

7593 annotated / raw | Diffs: previous, other | Lines: 306 ( +7, -3 )

Created: 2008-02-11 18:55:18 -0500 (9 months ago) | Author: anthm | Changeset: 7593

add silly workaround to compensate for xml catch-22 with expressions with <> in them

7500 annotated / raw | Diffs: previous, other | Lines: 302 ( +1, -1 )

Created: 2008-02-03 17:14:57 -0500 (9 months ago) | Author: brian | Changeset: 7500

set tab mode properly

7402 annotated / raw | Diffs: previous, other | Lines: 302 ( +3, -9 )

Created: 2008-01-28 02:26:10 -0500 (9 months ago) | Author: mikej | Changeset: 7402

code analysis, clean up asserts related to switch_core_session_get_channel.

7396 annotated / raw | Diffs: previous, other | Lines: 308 ( +1, -1 )

Created: 2008-01-27 15:01:02 -0500 (9 months ago) | Author: brian | Changeset: 7396

cleanup and consistency.. blah rain @ PHX fun

7383 annotated / raw | Diffs: previous, other | Lines: 308 ( +0, -3 )

Created: 2008-01-26 22:06:52 -0500 (9 months ago) | Author: brian | Changeset: 7383

whitespace cleanup...

7362 annotated / raw | Diffs: previous, other | Lines: 311 ( +1, -1 )

Created: 2008-01-25 15:27:39 -0500 (9 months ago) | Author: anthm | Changeset: 7362

doh

7358 annotated / raw | Diffs: previous, other | Lines: 311 ( +7, -1 )

Created: 2008-01-25 14:47:53 -0500 (9 months ago) | Author: anthm | Changeset: 7358

mupdate

7333 annotated / raw | Diffs: previous, other | Lines: 305 ( +7, -4 )

Created: 2008-01-23 15:59:25 -0500 (9 months ago) | Author: anthm | Changeset: 7333

change xml_lookups to take an event as params instead of url string this will break your xml_curl scripts please update

6317 annotated / raw | Diffs: previous, other | Lines: 302 ( +1, -1 )

Created: 2007-11-16 19:26:28 -0500 (12 months ago) | Author: anthm | Changeset: 6317

add param

6310 annotated / raw | Diffs: previous, other | Lines: 302 ( +5, -92 )

Created: 2007-11-16 14:11:16 -0500 (12 months ago) | Author: anthm | Changeset: 6310

move param gen func to the core

6120 annotated / raw | Diffs: previous, other | Lines: 389 ( +3, -3 )

Created: 2007-11-01 07:28:26 -0400 (12 months ago) | Author: mikej | Changeset: 6120

use more correct const char * for things that should not be modified.  This should also fix the switch_cpp.cpp changes from MODAPP-44.  More patches to follow up on this for a few more modules that will likely break with this commit.

5938 annotated / raw | Diffs: previous, other | Lines: 389 ( +18, -27 )

Created: 2007-10-17 14:26:08 -0400 (13 months ago) | Author: anthm | Changeset: 5938

change dialplan a little

5831 annotated / raw | Diffs: previous, other | Lines: 398 ( +2, -4 )

Created: 2007-10-09 11:29:18 -0400 (13 months ago) | Author: anthm | Changeset: 5831

update

5765 annotated / raw | Diffs: previous, other | Lines: 400 ( +4, -5 )

Created: 2007-09-28 21:06:08 -0400 (13 months ago) | Author: anthm | Changeset: 5765

tear the hell out of everything and rip it up into itsy bitsy pieces and put it all back together

5751 annotated / raw | Diffs: previous, other | Lines: 401 ( +1, -1 )

Created: 2007-09-24 15:34:25 -0400 (13 months ago) | Author: anthm | Changeset: 5751

fix some races and alter core (do a full rebuild)

5738 annotated / raw | Diffs: previous, other | Lines: 401 ( +0, -0 )

Created: 2007-09-21 14:49:14 -0400 (13 months ago) | Author: mikej | Changeset: 5738

svn:eol-style properties, and make eol-style consistent in some files.

5402 annotated / raw | Diffs: previous, other | Lines: 401 ( +4, -18 )

Created: 2007-06-20 02:14:57 -0400 (17 months ago) | Author: mikej | Changeset: 5402

add dialplan interfaces to new module loader, add dialplan function helper macro.

5347 annotated / raw | Diffs: previous, other | Lines: 415 ( +2, -2 )

Created: 2007-06-13 16:40:06 -0400 (17 months ago) | Author: anthm | Changeset: 5347

stage 1 of wrecking ball (duck!)

5343 annotated / raw | Diffs: previous, other | Lines: 415 ( +3, -2 )

Created: 2007-06-13 13:06:10 -0400 (17 months ago) | Author: mikej | Changeset: 5343

move some modules to use the new module interface macros.

5035 annotated / raw | Diffs: previous, other | Lines: 414 ( +20, -18 )

Created: 2007-04-28 17:48:03 -0400 (18 months ago) | Author: anthm | Changeset: 5035

add locking to vars

4993 annotated / raw | Diffs: previous, other | Lines: 412 ( +13, -13 )

Created: 2007-04-20 19:45:14 -0400 (19 months ago) | Author: anthm | Changeset: 4993

add new execute_extension application to execute another extension in the current scope

4965 annotated / raw | Diffs: previous, other | Lines: 412 ( +1, -1 )

Created: 2007-04-17 11:58:52 -0400 (19 months ago) | Author: anthm | Changeset: 4965

update

4799 annotated / raw | Diffs: previous, other | Lines: 412 ( +2, -1 )

Created: 2007-03-29 20:15:25 -0400 (19 months ago) | Author: anthm | Changeset: 4799

indent again

4798 annotated / raw | Diffs: previous, other | Lines: 411 ( +11, -25 )

Created: 2007-03-29 20:13:31 -0400 (19 months ago) | Author: anthm | Changeset: 4798

indent

4795 annotated / raw | Diffs: previous, other | Lines: 425 ( +154, -146 )

Created: 2007-03-29 18:31:56 -0400 (19 months ago) | Author: anthm | Changeset: 4795

spring cleaning

4771 annotated / raw | Diffs: previous, other | Lines: 417 ( +1, -0 )

Created: 2007-03-26 17:35:19 -0400 (19 months ago) | Author: mikej | Changeset: 4771

don't double switch_xml_free

4766 annotated / raw | Diffs: previous, other | Lines: 416 ( +57, -37 )

Created: 2007-03-25 11:21:22 -0400 (19 months ago) | Author: mikej | Changeset: 4766

refactor in mod_dialplan_xml.  Factor out a function for the hint string generation/xml_locate so that we do not need to generate the xml hint string when using a static file.  Dont add blank items from the caller profile to the hint string.

4494 annotated / raw | Diffs: previous, other | Lines: 396 ( +3, -3 )

Created: 2007-03-09 15:44:13 -0500 (20 months ago) | Author: mikej | Changeset: 4494

add wrapper code to fully encapsulate apr, apr-utils, pcre, and sqlite.  fully use switch_ namespace in modules, create our own format and type defines.  follow up commit for unix autotools coming soon after this.  PLEASE NOTE: you will NEED to do a make megaclean and run configure again after this update (and the following commit) or it will not build.

4207 annotated / raw | Diffs: previous, other | Lines: 396 ( +1, -1 )

Created: 2007-02-12 14:55:12 -0500 (21 months ago) | Author: mikej | Changeset: 4207

avoid array out of bounds.

4176 annotated / raw | Diffs: previous, other | Lines: 396 ( +1, -1 )

Created: 2007-02-08 21:36:03 -0500 (21 months ago) | Author: mikej | Changeset: 4176

fix magic emacs and vi formatting comments in the bottom of our source files to use tabs instead of spaces

4066 annotated / raw | Diffs: previous, other | Lines: 396 ( +24, -6 )

Created: 2007-01-27 11:23:33 -0500 (21 months ago) | Author: anthm | Changeset: 4066

A few changes:

1) The xml_curl now has a more enterprise config where it can have more than 1
  url configured so you could have failover. (*note the syntax change*)

2) dialplan modules now take an extra arguement making it possible to pass runtime params to
  them.  This is now used in mod_dialplan_xml to allow an alternate file path to be specified.

  dialplans were already stackable meaning you can configure a sofia profile, for example,
  to use enum followed by the default XML dialplan.

  e.g. <param name="dialplan" value="enum,XML"/>

  From now on, you can also specify :param after each dialplan name to allow param
  to be passed to the module.  mod_dialplan_xml uses this param as a way to override
  where it looks for the dialplan making it possible to stack mutiple calls to the XML dialplan.

  e.g. <param name="dialplan" value="XML:/some/xml/file.xml,XML"/>

  With this you can search the local file file.xml first and if there is still no match
  the hunt will move on to the standard XML using the onboard XML registry and or the external
  gateways.

  *NOTE* this alternate path does not use the external bindings but it does parse the #includes etc.

3799 annotated / raw | Diffs: previous, other | Lines: 378 ( +2, -2 )

Created: 2006-12-22 14:03:25 -0500 (22 months ago) | Author: mikej | Changeset: 3799

change types for len to uint32_t.

3794 annotated / raw | Diffs: previous, other | Lines: 378 ( +11, -2 )

Created: 2006-12-22 09:50:48 -0500 (22 months ago) | Author: anthm | Changeset: 3794

make substitution dynamic

3746 annotated / raw | Diffs: previous, other | Lines: 369 ( +0, -4 )

Created: 2006-12-19 21:49:26 -0500 (23 months ago) | Author: anthm | Changeset: 3746

fix dialplan stack

3581 annotated / raw | Diffs: previous, other | Lines: 373 ( +35, -21 )

Created: 2006-12-08 10:15:54 -0500 (23 months ago) | Author: anthm | Changeset: 3581

make the 'field' col expand vars and funcs the same way as the runtime so they are uniform

${variable}
$function(arg)

3570 annotated / raw | Diffs: previous, other | Lines: 359 ( +89, -11 )

Created: 2006-12-07 17:56:17 -0500 (23 months ago) | Author: anthm | Changeset: 3570

improve gateway stuff and minor tweak to event serialize

3494 annotated / raw | Diffs: previous, other | Lines: 281 ( +3, -91 )

Created: 2006-11-30 16:28:32 -0500 (23 months ago) | Author: anthm | Changeset: 3494

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.


3462 annotated / raw | Diffs: previous, other | Lines: 369 ( +11, -0 )

Created: 2006-11-27 17:30:48 -0500 (23 months ago) | Author: mikej | Changeset: 3462

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:
*/

3408 annotated / raw | Diffs: previous, other | Lines: 358 ( +2, -2 )

Created: 2006-11-18 20:05:06 -0500 (2 years ago) | Author: anthm | Changeset: 3408

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)

3115 annotated / raw | Diffs: previous, other | Lines: 358 ( +5, -0 )

Created: 2006-10-20 02:17:00 -0400 (2 years 1 month ago) | Author: anthm | Changeset: 3115

Presence and Chat Gateway Code

This is some brand new stuff to gateway chat/presence/audio from one protocol to another
So far it only works between google/jingle and SIP

All I had to test the SIP end was X-Lite and Eyebeam and GoogleTalk on the jingle end.

With this setup registered X-Lite's can chat with each other and call each other
as well as X-Lite to GoogleTalk and GoogleTalk to X-Lite audio calls.

Chat May also be done between X-Lite and jabber

You'll also need a jabber server configured for component login so you can interface.
We have only tested with jabberd2 so far.

Configure DNS so srv records for jabber for your subdomain (fs.mydomain.com in the example)
so the jabber records are pointed at your jabber server.

RELEVANT CONFIGS

<!-- Brian has no jingle support so send calls to him over to his iax url -->
<extension name="bkw">
 <condition field="destination_number" expression="^jingle\+brian@agents.cylynx.com$">
   <action application="bridge" data="iax/guest@brianwest.homeunix.org/9184290404"/>
 </condition>
</extension>

<!-- Assumption is made here that both sip and jingle have the same profile/domain name as documented below -->

<extension name="jingle2sip">
 <condition field="source" expression="mod_dingaling"/>
 <condition field="destination_number" expression="^sip\+([^\@]+)\@(.*)$">
   <action application="bridge" data="sofia/$2/$1%$2"/>
 </condition>
</extension>

<extension name="sip2jingle">
 <condition field="source" expression="mod_sofia"/>
 <condition field="destination_number" expression="^jingle\+([^\@]+)\@(.*)$">
   <action application="bridge" data="dingaling/sip+${sip_fromuser}@${sip_fromhost}/$1@$2"/>
 </condition>
</extension>


<configuration name="sofia.conf" description="sofia Endpoint">
 <global_settings>
   <param name="log-level" value="0"/>
 </global_settings>

 <profiles>
   <profile name="fs.mydomain.com">
     <registrations/>
     <settings>
        <param name="debug" value="1"/>
        <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="codec-ms" value="20"/>
        <param name="accept-blind-reg" value="true"/>
        <param name="manage-presence" value="true"/>
        <!--<param name="full-id-in-dialplan" value="true"/>-->
        <!--<param name="auth-calls" value="true"/>-->
        <!--<param name="auth-all-packets" value="true"/>-->
        <param name="use-rtp-timer" value="true"/>
        <param name="rtp-timer-name" value="soft"/>
        <param name="rtp-ip" value="100.200.100.200"/>
        <param name="sip-ip" value="fs.mydomain.com"/>
     </settings>
   </profile>
 </profiles>

</configuration>


<configuration name="dingaling.conf" description="XMPP Jingle Endpoint">
 <settings>
   <param name="debug" value="0"/>
   <param name="codec-prefs" value="PCMU"/>
 </settings>

 <profile type="component">
   <param name="name" value="fs.mydomain.com"/>
   <param name="password" value="secret"/>
   <param name="dialplan" value="XML"/>
   <param name="rtp-ip" value="208.64.200.42"/>
   <param name="server" value="jabber.freeswitch.org:5347"/>
   <!-- disable to trade async for more calls -->
   <param name="use-rtp-timer" value="true"/>
   <param name="exten" value="_auto_"/>
   <!--<param name="vad" value="both"/>-->
 </profile>

</configuration>

3073 annotated / raw | Diffs: previous, other | Lines: 353 ( +2, -2 )

Created: 2006-10-17 19:33:32 -0400 (2 years 1 month ago) | Author: brian | Changeset: 3073

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

2994 annotated / raw | Diffs: previous, other | Lines: 353 ( +3, -4 )

Created: 2006-10-07 15:54:04 -0400 (2 years 1 month ago) | Author: anthm | Changeset: 2994

Modifying the behaviour of the dialplan engine

the 'data' field in action tags may now refer to variables and api functions
to be expanded at runtime.

Syntax:

$varname
${varname}
&func_name(func args)


Exception:
variables that are numeric are still expanded at dialplan compile time based on the regex eg $1 $2 etc

Example:

<extension name="1000">
 <condition field="destination_number" expression="^(1000)$">
   <action appplication="my_route_app" data="$1"/>
   <action appplication="bridge" data="$destination"/>
 </condition>
</extension>

Here the $1 is ecaluated before the call begins setting it to 1000 based on the regex ^(1000)$
$destination is evaluated on the fly in execution once the my_route_app has run and has had a
chance to set the variable 'destination' to the correct value.

2840 annotated / raw | Diffs: previous, other | Lines: 354 ( +1, -0 )

Created: 2006-09-26 20:50:38 -0400 (2 years 1 month ago) | Author: anthm | Changeset: 2840

close the xml handle

2838 annotated / raw | Diffs: previous, other | Lines: 353 ( +8, -8 )

Created: 2006-09-26 10:06:37 -0400 (2 years 1 month ago) | Author: mikej | Changeset: 2838

fix windows line endings... thanks Mr.B for the report.

2831 annotated / raw | Diffs: previous, other | Lines: 353 ( +8, -1 )

Created: 2006-09-25 11:33:08 -0400 (2 years 1 month ago) | Author: mikej | Changeset: 2831

add more hint fields to send to the xml-interface for remote getters.

2212 annotated / raw | Diffs: previous, other | Lines: 346 ( +1, -1 )

Created: 2006-07-31 19:56:27 -0400 (2 years 3 months ago) | Author: anthm | Changeset: 2212

move pcre into core do a ./configure again (part 2)

2167 annotated / raw | Diffs: previous, other | Lines: 346 ( +67, -3 )

Created: 2006-07-26 16:12:49 -0400 (2 years 3 months ago) | Author: anthm | Changeset: 2167

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>


1583 annotated / raw | Diffs: previous, other | Lines: 282 ( +0, -2 )

Created: 2006-06-09 11:15:58 -0400 (2 years 5 months ago) | Author: anthm | Changeset: 1583

add speak application

1511 annotated / raw | Diffs: previous, other | Lines: 284 ( +9, -3 )

Created: 2006-05-26 15:25:00 -0400 (2 years 5 months ago) | Author: anthm | Changeset: 1511

add vars to fields in dp

1508 annotated / raw | Diffs: previous, other | Lines: 278 ( +73, -44 )

Created: 2006-05-26 12:00:08 -0400 (2 years 5 months ago) | Author: anthm | Changeset: 1508

update

1476 annotated / raw | Diffs: previous, other | Lines: 249 ( +5, -5 )

Created: 2006-05-16 20:58:21 -0400 (2 years 6 months ago) | Author: anthm | Changeset: 1476

update

1446 annotated / raw | Diffs: previous, other | Lines: 249 ( +4, -4 )

Created: 2006-05-12 15:28:21 -0400 (2 years 6 months ago) | Author: anthm | Changeset: 1446

rearrange some things please see conf/freeswitch.xml as there is a significant change to the conf that will break your stuff

1412 annotated / raw | Diffs: previous, other | Lines: 249 ( +4, -4 )

Created: 2006-05-10 11:47:54 -0400 (2 years 6 months ago) | Author: anthm | Changeset: 1412

XMLification (wave 4)

1402 new annotated / raw | Lines: 249 ( +249, -0 )

Created: 2006-05-09 23:27:00 -0400 (2 years 6 months ago) | Author: anthm | Changeset: 1402

XMLification (wave 2)