On Wed, 2007-04-25 at 10:37 -0400, Leif Madsen wrote: > On Tuesday 24 April 2007 20:26:25 Jared Smith wrote: > > On 4/24/07, Steve Murphy <[EMAIL PROTECTED]> wrote: > > > Trouble is, is this desired behavior? Or is having the contexts checked > > > level by level until a match of any kind is found, the better procedure? > > > > Well, I for one desire the current behavior. Everyone else can speak > > for themselves, but it makes it easy to override an extension included > > in a more-deeply-nested extension by putting its replacement in a > > less-deeply-nested context. If they were all pulled together into one > > big ball of wax, we'd lose a lot of functionality. > > I also agree here. If you change this functionality, people who depend upon > it > might come find you and do not such nice things to you :) >
Well, I certainly wouldn't **that** to happen!!! OK, I'm totally sold on
keeping current functionality.
For the moment...
I do propose that we make the following change to the
extensions.conf.sample file to minimize user
misunderstanding/frustration over include directives.... the reason this
thread began...
Do you think this might help? Is the English proper?
Index: configs/extensions.conf.sample
===================================================================
--- configs/extensions.conf.sample (revision 61639)
+++ configs/extensions.conf.sample (working copy)
@@ -140,15 +140,31 @@
;
; Contexts contain several lines, one for each step of each
; extension, which can take one of two forms as listed below,
-; with the first form being preferred. One may include another
-; context in the current one as well, optionally with a
-; date and time. Included contexts are included in the order
-; they are listed.
+; with the first form being preferred.
;
;[context]
;exten => someexten,{priority|
label{+|-}offset}[(alias)],application(arg1,arg2,...)
;exten => someexten,{priority|
label{+|-}offset}[(alias)],application,arg1|
arg2...
;
+; One may include another context in the current one as well,
optionally with a
+; date and time. Included contexts are included in the order
+; they are listed.
+; The reason a context would include other contexts is for their
extensions.
+; The algorithm to find an extension is recursive, and works in this
+; fashion:
+; a) Try to find a matching extension in the current context
+; and, if found, begin executing the priorities there in
sequence.
+; b) If not found, Search the switches, if any declared, in
sequence.
+; c) If still not found, for each include, make that context the
current
+; context, and recurse to a).
+; This is a depth-first traversal, and stops with the first context
that
+; provides a match. As usual, if more than one pattern in a context
will match,
+; the 'best' match will win.
+; Please note that in a context, it does not matter where an include
directive
+; occurs. Whether at the top, or near the bottom, the effect will be
the same.
+; The only thing that matters is that if there is more than one include
directive,
+; they will be searched for extensions in order, first to last.
+;
; Timing list for includes is
;
; <time range>|<days of week>|<days of month>|<months>
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
