[macro-dialout-trunk] call flow doesn't work

Hi everybody,
I have following FreePBX installation:
FreePBX Distro Version: 16.0.26
Asterisk Version: 16.26.1

Dialout SIP Trunk is connected with GSM-GW. Extension which dials is PJSIP.

After Dial() in [macro-dialout-trunk] the dial status will be not recognized and call flow does not go to s-${DIALSTATUS} (DumpChan shows ARG4: on)

exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM}${OUT_${DIAL_TRUNK}_SUFFIX},${TRUNK_RING_TIMER},${DIAL_TRUNK_OPTIONS}b(func-apply-sipheaders^s^1,(${DIAL_TRUNK}))U(sub-send-obroute-email^${DIAL_NUMBER}${MACRO_EXTEN}${DIAL_TRUNK}${NOW}${CALLERID(name)}^${CALLERID(number)}))
exten => s,n,Noop(Dial failed for some reason with DIALSTATUS = ${DIALSTATUS} and HANGUPCAUSE = ${HANGUPCAUSE})
exten => s,n,GotoIf($[β€œ${ARG4}” = β€œon”]?continue,1:s-${DIALSTATUS},1)
.
.
.
exten => s-ANSWER,1,Noop(Call successfully answered - Hanging up now)
exten => s-ANSWER,n,Macro(hangupcall)

Based on DIALSTATUS I execute different actions what now not possible is.
On Asterisk 11.25.0 everything works fine (same dialplan) and after migration to Asterisk 16.26.1 I have the issue.

Any idea why DIALSTATUS recognasation fails?

Please provide the full log for the call, making sure that verbosity is at least 3.

https://wiki.freepbx.org/display/SUP/Providing+Great+Debug

Before making the failing test call, at the Asterisk command prompt type
pjsip set logger on
sip set debug on