Userfield isn't wrote anymore on asterisk 13

Hi,

i have got the following dialplan working fine in asterisk 1.8 but not working anymore with asterisk 13:

[dialout]
exten => _X.,1,Dial(SIP/blablabla/${EXTEN:0},60)
exten => _X.,2,Hangup
exten => h,1,Macro(answer)

[macro-answer]
exten => s,1,Set(CDR(userfield)=this_is_a_trial_value)

basically the macro isn’t anymore writing the userfield and seems because the modifications of cdr implemented on asterisk 12.

So, i need a way (i have tried also with func_odbc) to write values after dialing, without having to use cel.so, but remaining with cdr.

Anyone can help me?