Where do calls to macro-stdexten come from?

Is it my imagination, or is there some special sauce hardcoded into Asterisk associated with [macro-stdexten]?

It’s executing for certain numbers even though I’m never calling it, and the routines I expect to run aren’t being called.

I understand the flow of extensions.conf fairly well, but I can’t find information regarding this seemingly black-box operation.

Information appreciated,


Im guessing as we cant see relevent sections, But I would guess that the autofallthrough is ending up at the macro for some reason

if you do a "show dialplan @[context] it will show you what its trying to do.


How’d that get there…

Thanks! You are correct, of course:

[ Context 'from-user' created by 'pbx_config' ]
  '6002' =>         hint: SIP/6002                                [pbx_config]
                    1. Macro(stdexten,6002,${HINT})               [pbx_config]
[ Included context 'stdexten' created by 'pbx_config' ]
  '6002' =>         1. NoOp(here i am)                            [pbx_config]
                    2. Goto(ivr-main,ivrMain,1)                   [pbx_config]
  '_60XX' =>        1. Dial(SIP/${EXTEN},20)                      [pbx_config]
                    2. Voicemail(${EXTEN},("BUSY"="${DIALSTATUS}")?b:u) [pbx_config]
                    3. Return()                                   [pbx_config]

The first two lines of debug are:

*CLI>   == Using SIP RTP CoS mark 5
    -- Executing [6002@from-user:1] Macro("SIP/6005-b798f560", "stdexten,6002,SIP/6002") in new stack
    -- Executing [s@macro-stdexten:1] Set("SIP/6005-b798f560", "__DYNAMIC_FEATURES=") in new stack

So I understand that represents fallthrough? But why didn’t it run 6002@stdexten?

include => stdexten
include => to-pstn-free
include => to-pstn-toll
include => queue-membership
exten => 6002,1,NoOp(here i am)
exten => 6002,2,Goto(ivr-main,ivrMain,1)
exten => _60XX,1,Dial(SIP/${EXTEN},20)
exten => _60XX,n,Voicemail(${EXTEN},("BUSY"="${DIALSTATUS}")?b:u)
exten => _60XX,n,Return()
exten => a,1,VoicemailMain(${EXTEN})
exten => a,n,Return()

And no, my ““BUSY”=”${DIALSTATUS}")?b:u" doesn’t work, I’m still learning my way around.

And is stdexten special also? I ask because I have the feeling you may be cringing upon seeing what I’ve put in it.

Thanks again,

Thanks also for the reference to autofallthrough. It provided a path for me to do further investigation. I don’t see how that would cause me to arrive at an non-explicit context though.

Also, there was no autofallthrough line in any file in my /etc/asterisk directory, so I added it to extensions.conf [general], with a setting of no. I got the same result.

It looks like it is probably coming from users.conf
Dialplan is automatically being generated from users there, and they are created in the same context. Calls from SIP phones go back to SIP phones via the macro generated automatically.
Investigating the appropriate way to resolve, but any input is appreciated.

If files are being “created” then you must be using some sort of GUI .

What are you using ?


I was using asterisk-gui, but I wasn’t satisfied with the results. Foolishly though, I tried to move forward with what it had edited.