Well, I’ve been playing with Asterisk for a week or two now and eventhough I’ve read the docs many times, I still cannot get the ‘s’ extension to work. I’ve asked many times in this forum and never gotten a concrete answer. I would LOVE it if someone could explain to me why this doesn’t work.
sip.conf:
[5551212]
context=c_5551212
extensions.conf:
[c_5551212]
exten => s,1,Answer
exten => s,2,Playback(tt-weasels)
exten => s,3,Hangup
Based on the many many docs I have read and the many posts I have read on numerous discussion forums, what I have above should work. There are NO OTHER extensions defined in the context, so therefore all calls should be picked up by the ‘s’ extension, but they are not!
The only thing I’m unsure about is that they say that the ‘s’ extension is for INCOMING calls. What is an INCOMING call exactly? Incoming from WHO’s perspective? Does that mean incoming into asterisk? Incoming into a dialled peer? What exactly does that mean?
I’ve just looked over all the examples I could find where people used the ‘s’ extension. I’m doing the same thing as they are. They have a context:
[context]
and then they immediately have dialplan commands with the ‘s’ extension, exactly like I have. I just DO NOT GET IT
Here’s the defintion of the ‘s’ extension from the Asterisk Wiki.
"The “s” extension is used when there is no known called number in the context used.
Incoming calls are always placed in a context in the dialplan, either one you specify in the channel configuration file, or the default context. If no other match exist for the call within the context, the s extension is activated. "
Welll, what’s the defintion of an incoming call? Incoming from who’s perspective? No known called number? Is this before or after matching other numbers? Why does it say that the s extension is only called when you don’t specify a context? What does that mean? That makes no sense. My sip.conf file specifies a default starting context for each user. When execution begins at that user’s context in extensions.conf, I want it to execute the s extension. Why can’t I do this in a specified context??? That makes absolutely no sense.