In my situation, with Freepbx 2.4, they are generated, almost at the end of the ivr sections.
Like in the following testivr
[ivr-4]
include => ivr-4-custom
include => from-did-direct-ivr
include => app-directory
exten => #,1,dbDel(${BLKVM_OVERRIDE})
exten => #,n,Set(__NODEST=)
exten => #,n,Goto(app-directory,#,1)
exten => h,1,Hangup
exten => s,1,Set(LOOPCOUNT=0)
exten => s,n,Set(__DIR-CONTEXT=default)
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,WaitExten(,)
exten => hang,1,Playback(vm-goodbye)
exten => hang,n,Hangup
exten => 1,1,dbDel(${BLKVM_OVERRIDE})
exten => 1,n,Set(__NODEST=)
exten => 1,n,Goto(from-did-direct,915,1)
exten => 2,1,dbDel(${BLKVM_OVERRIDE})
exten => 2,n,Set(NODEST=)
exten => 2,n,GotoIf($["x${IVR_CONTEXT${CONTEXT}}" = “x”]?ivr-3,s,1:${IVR_CONTEXT${CONTEXT}},return,1)
exten => t,1,dbDel(${BLKVM_OVERRIDE})
exten => t,n,Set(NODEST=)
exten => t,n,GotoIf($["x${IVR_CONTEXT${CONTEXT}}" = “x”]?ivr-3,s,1:${IVR_CONTEXT${CONTEXT}},return,1)
exten => i,1,Playback(invalid)
exten => i,n,Goto(loop,1)
exten => loop,1,Set(LOOPCOUNT=$[${LOOPCOUNT} + 1])
exten => loop,n,GotoIf($[${LOOPCOUNT} > 2]?hang,1)
exten => loop,n,Goto(ivr-4,s,begin)
exten => return,1,Set(IVR_CONTEXT=${CONTEXT})
exten => return,n,Set(IVR_CONTEXT${CONTEXT}=${IVR_CONTEXT${CONTEXT}})
exten => return,n,Goto(ivr-4,s,begin)
exten => fax,1,Goto(ext-fax,in_fax,1)
; end of [ivr-4]