rendered paste bodyinclude = 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)