include = music-hangup [music-hangup] exten => _XXXX,1,Macro(musicDial,SIP,${EXTEN}) exten => 200,1,Macro(music) [macro-music] exten => s,1,Answer exten => s,n,NoOp(${CHANNEL}) exten => s,n,NoOp(${CALLERIDNUM}) exten => s,n,Set(DB(DEVICE/${CALLERIDNUM}/muzak)=1) exten => s,n,Set(DB(DEVICE/${CALLERIDNUM}/channel)=${CHANNEL}) exten => s,n,MusicOnHold(test) exten => h,1,Set(DB(DEVICE/${CALLERIDNUM}/muzak)=0) [macro-musicDial] exten => s,1,GotoIf($[${DB(DEVICE/${ARG2}/muzak)} = 1]?s,10:s,100) exten => s,10,NoOp(Hanging up Channel) exten => s,n,SoftHangup(${DB(DEVICE/${ARG2}/channel)}) exten => s,n,Wait(1) exten => s,n,Dial(${ARG1}/${ARG2}) exten => s,100,NoOp(Dialing Extension) exten => s,n,Dial(${ARG1}/${ARG2}) also I have a [macro-stdexten] exten = s,1,Playback(transfer,skip) exten = s,2,Dial(${ARG2},20) exten = s,3,Answer exten = s,4,Wait(1) exten = s,5,Goto(s-${DIALSTATUS},1) exten = s-NOANSWER,1,Voicemail(u${ARG1}) exten = s-NOANSWER,2,Goto(default,s,1) exten = s-BUSY,1,Voicemail(b${ARG1}) exten = s-BUSY,2,Goto(default,s,1) exten = _s-.,1,Goto(s-NOANSWER,1) exten = a,1,VoicemailMain(${ARG1}) and all my extensions point exten = 2003,1,Macro(stdexten,2003,SIP/2003) exten = 2011,1,Macro(stdexten,2011,SIP/2011)