Use ${Blindtransfer} to detect if it is a local call and from whom. This will also tell you if it is an incoming call vs local.
exten => 201,1,Macro(stdexten_motors,201,SIP/201,${CALLERID(num)},${BLINDTRANSFER:4:3})
[macro-stdexten_motors]
;
; Standard extension macro:
; ${ARG1} - Extension Called
; ${ARG2} - Device(s) to ring
; ${ARG3} - CallerID
; ${ARG4} - Extension Called From
exten => s,1,Noop(${ARG1})
exten => s,n,Noop(${ARG2})
exten => s,n,Noop(${ARG3})
exten => s,n,Noop(${ARG4})
exten => s,n,Dial(${ARG2},30,rtT)
exten => s,n,Gotoif($[${ARG4}>""]?s-${DIALSTATUS},ringback:s-${DIALSTATUS},voicemail)
exten => s-NOANSWER,1(ringback),Set(CALLERID=Ringback)
exten => s-NOANSWER,2,Noop(${CALLERID})
exten => s-NOANSWER,3,Goto(${MACRO_CONTEXT},${ARG4},1)
exten => s-NOANSWER,4(voicemail),Voicemail(u${ARG1})
exten => s-BUSY,1(ringback),Setvar(${CALLERID}=“Ringback”)
exten => s-BUSY,2,Goto(${MACRO_CONTEXT},${ARG4},1)
exten => s-BUSY,3(voicemail),Voicemail(b${ARG1})
exten => sCHANUNAVAIL,1(ringback),Setvar(${CALLERID}=“Ringback”)
exten => sCHANUNAVAIL,2,Goto(${MACRO_CONTEXT},${ARG4},1)
exten => sCHANUNAVAIL,3(voicemail),Voicemail(u${ARG1})
exten => s-.,1,Goto(s-NOANSWER,1)
exten => a,1,VoicemailMain(${ARG1}) ;if they press *,
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup()
Note the callerid is set to ringback so your phone can ring a different tone.
aj