I only want it to record extention 501, so why won't this work? exten => s,1,NoOp(${CALLERID(num)}) exten => s,2,GotoIf($[${CALLERID(num)}!=501]?s|5) exten => s,3,Set(CALLFILENAME=${CALLERID(num)}-${MACRO_EXTEN}-${TIMESTAMP}.wav) exten => s,4,MixMonitor(${CALLFILENAME}) exten => s,5,dial(SIP/${ARG1}@sip.broadvoice.com,30) exten => s,6,congestion Log: -- Executing Macro("SIP/501-bbbf", "dialout-broadvoice|17032009118") in new stack -- Executing NoOp("SIP/501-bbbf", "501") in new stack -- Executing GotoIf("SIP/501-bbbf", "0?s|4") in new stack -- Executing Set("SIP/501-bbbf", "CALLFILENAME=501-917032009118-20051221-024519.wav") in new stack -- Executing MixMonitor("SIP/501-bbbf", "501-917032009118-20051221-024519.wav") in new stack -- Executing Dial("SIP/501-bbbf", "SIP/17032009118@sip.broadvoice.com|30") in new stack -- Called 17032009118@sip.broadvoice.com == Begin MixMonitor Recording SIP/501-bbbf -- SIP/sip.broadvoice.com-b03f is making progress passing it to SIP/501-bbbf -- SIP/sip.broadvoice.com-b03f is making progress passing it to SIP/501-bbbf == Spawn extension (macro-dialout-broadvoice, s, 5) exited non-zero on 'SIP/501-bbbf' in macro 'dialout-broadvoice' == Spawn extension (international, 917032009118, 1) exited non-zero on 'SIP/501-bbbf' == End MixMonitor Recording SIP/501-bbbf -- Executing Macro("SIP/502-1e1d", "dialout-broadvoice|17032009118") in new stack -- Executing NoOp("SIP/502-1e1d", "502") in new stack -- Executing GotoIf("SIP/502-1e1d", "0?s|4") in new stack -- Executing Set("SIP/502-1e1d", "CALLFILENAME=502-917032009118-20051221-024600.wav") in new stack -- Executing MixMonitor("SIP/502-1e1d", "502-917032009118-20051221-024600.wav") in new stack -- Executing Dial("SIP/502-1e1d", "SIP/17032009118@sip.broadvoice.com|30") in new stack -- Called 17032009118@sip.broadvoice.com == Begin MixMonitor Recording SIP/502-1e1d