[asterisk-users] Fixing an old bug related to extension "s" - feedback wanted

Danny Nicholas danny at debsinc.com
Wed Sep 21 08:17:34 CDT 2011


-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Leif Madsen
Sent: Tuesday, September 20, 2011 7:39 PM
To: asterisk-users at lists.digium.com
Subject: Re: [asterisk-users] Fixing an old bug related to extension "s" -
feedback wanted

On 20/09/11 03:37 PM, Ira wrote:
> At 07:09 AM 9/20/2011, you wrote:
>> Using "start" makes your dialplans much easier to read :-) and makes
>> them more secure as no app will end up there by accident, which may
>> happen in your current systems.
>
> When I went and read version 3 it seemed to indicate that "start" has no
> actual meaning and I could just as well call it cow or fish.
>
> Am I reading it correctly or does the word start actually have a special
> meaning?

No, that extension 'start' (literal) has no special meaning. You 
absolutely could call it cow, fish, pig, or farmer_john. How you get 
there is by implicitly calling it.

exten => s...  on the other hand has always had special meaning as Olle 
has pointed out, and typically has meant "start" (for analog lines). 
Outside of that you shouldn't really be using the 's' extension as your 
default extensions. The 's' extension has never been a "catch-all" 
extension. Olle has found a situation where the 's' extension is being 
used as a fallback, which is not right, and is suggesting we make 
Asterisk consistent in it's usage of 's'. I agree with his proposal.

But because this functionality (bug) has been around for quite some 
time, he is asking the community for feedback on who may have 
inadvertently used the functionality in their dialplans.

Apologies for anyone who may have read some documentation that appeared 
to imply that the 's' extension was a catch-all. In the first and second 
editions of Asterisk: The Future of Telephony we were mostly using 
analog lines, and thus the usage of the extension 's' was fairly 
prominent. There are many other single letter extensions that have extra 
meaning, such as 'i', 't', etc..., but we never intended to imply that 
's' was a catch-all extension.

Okay, this is a pretty good explanation, but what about those of us who use
Asterisk more as an IVR processor than a PBX per se?  My typical Asterisk
rollout these days generally has limited or no dial-out capability (So I
don't have to lose too much sleep worrying about 1000 calls to the Ukraine)
and has a small [incoming] or [default] context that may call 10-50 other
"menu contexts".  My [default] context will have something like
[default]
Exten => _X.,1,answer()
Exten => _X.,n,goto[startmenu,s,1)
Exten => _X.,n,hangup()

Then [startmenu] will be my gateway to "heavy lifting"
[startmenu]
Exten => s,1,background(menuofstuff)
Exten => s,n,waitexten(5)
Exten => s,n,hangup()
Exten => 1,1,goto(next,s,1)
Exten => 2,1,goto(next2,s,1)
And so forth - this seems simple and reliable, but I'm open to "how to I do
this correctly or better"?





More information about the asterisk-users mailing list