IVR hangs me up

Hi,

I created an Child IVR through freepbx GUI where if i press 1 then it will callback (callback is configured not to call my own number but another extension) and return me back to Parent IVR…below is the copy of Child IVR copied from extensions_additonal.conf…Now after entering into child IVR when i press 1, I am taken to Parent IVR without executing callback macro…Kindly let me know what modification should i make here to execute proper callback macro before returing to parent IVR…

Thanks

[ivr-5]
include => ivr-5-custom
exten=>fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => h,1,Hangup
exten => s,1,Set(MSG=custom/nv-GenericWelcome)
exten => s,n,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=)
exten => s,n,Set(IVR_CONTEXT${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,GotoIf($["${CDR(disposition)}" = “ANSWERED”]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,ExecIf($["${MSG}" != “”]?Background(${MSG}))
exten => s,n,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})
exten => 1,n,Set(NODEST=)
exten => 1,n,GotoIf($["x${IVR_CONTEXT
${CONTEXT}}" = “x”]?callback,1,1:${IVR_CONTEXT
${CONTEXT}},return,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => t,1,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-5,s,begin)
exten => return,1,Set(MSG=custom/nv-GenericWelcome)
exten => return,n,Set(IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(IVR_CONTEXT${CONTEXT}=${IVR_CONTEXT
${CONTEXT}})
exten => return,n,Goto(ivr-5,s,begin)

; end of [ivr-5]