FreePBX 17 uses Asterisk v21 by default, which no longer supports the Macro() function. (More details here, among other posts.)
(It also no longer supports chan_sip, but I’ve been using only chan_pjsip already for many years, as have most other people I know who run FreePBX.)