Set invalid extension

hi forum , I am trying to configure in my macro so that when a person calls to an extension that doesn’t exist, play an extension message invalid

[macro-exten]
exten => s,1,Dial(SIP/${MACRO_EXTEN},35,tT)
exten => s,n,Goto(${DIALSTATUS},1)

exten => ANSWER,1,Hangup
exten => CANCEL,1,Hangup
exten => NOANSWER,1,Voicemail(${MACRO_EXTEN}@default,u)
exten => BUSY,1,Voicemail(${MACRO_EXTEN}@default,b)
exten => CONGESTION,1,Voicemail(${MACRO_EXTEN}@default,b)
exten => CHANUNAVAIL,1,Voicemail(${MACRO_EXTEN}@default,u)
exten => a,1,VoicemailMain(${MACRO_EXTEN}@default)
exten => i,1,Playback(invalid)

[extensiones]
exten => 111,1,Macro(exten,SIP/111)
exten => 112,1,Macro(exten,SIP/112)

Call from ‘112’ to extension ‘120’ rejected because extension not found.

any idea?

It does not work because all you have is:

exten => 111,1,Macro(exten,SIP/111)
exten => 112,1,Macro(exten,SIP/112) 

It will only let the call dial 111 or 112. If you plan on putting in an extension for all of your phones you may want to put in a “catch all” for all invalid extensions. You may want to use something like:

exten => 111,1,Macro(exten,SIP/111)
exten => 112,1,Macro(exten,SIP/112) 
Exten =>_XXX,1,Playback(pbx-invalid)

The _XXX will catch all other 3 digit extensions called and play an invalid message.