I got it resolved! I used the code that @meightee used before and got it working with the platform, thank you so much!
Just if anyone else runs into a similar issue, I have the following:
exten => NUMBER,n,Macro(callforwarding,EXT)
For example:
[incoming]
exten => NUMBER,1,SIPAddHeader(Alert-Info: )
exten => NUMBER,n,Playback(/var/lib/asterisk/sounds/custom/Mainline)
exten => NUMBER,n,Macro(callforwarding,100)
exten => NUMBER,n,Dial(SIP/100,30)
exten => NUMBER,n,Voicemail(100)
Then with a context:
[macro-callforwarding]
;Unconditional call forward
exten => s,1,Set(temp=${DB(CFIM/${ARG1})})
exten => s,n,GotoIf(${temp}?cfi:nocfi)
exten => s,n(cfi),NoOp( CFI Found)
exten => s,n,Dial(SIP/${temp}@tr-gamma)
exten => s,n,Hangup()
exten => s,n(nocfi),NoOp(No CFI found)
Within sip-main:
exten => _21.,1,Answer()
same => n,Set(DB(CFIM/${CALLERID(NUM)})=${EXTEN:4})
same => n,Playback(vm-saved)
same => n,SayDigits(${EXTEN:4})
same => n,Hangup()
exten => _**21,1,Answer()
same => n,DBdel(CFIM/${CALLERID(num)})
;same => n,Playback(call-fwd-cancelled)
same => n,Hangup()
include => macro-callforwarding
Thank you so much for all your help