How to get billsec of the second leg when originate call

Having same issue here.
Billsec data is correct in Asterisk 11 version, but on Asterisk 15 Billsec is always the same as Duration.
I’ve been trying to use ResetCDR, ForkCDR,… nothing changes. I am using same configuration on both versions, but Asterisk 15 sets Billsec for whole leg.
Got this topic Broken billsec and seems like lots of users have the same problem and looks like only solution is using CEL, which is not available inside dialplan. So, lots of writing/reading from database which was not at all necessary in earlier versions.
Can anyone answer why this functionality was “disabled” in a way that worked just fine in previous versions of Asterisk?
Can anyone suggest where in source code this part of billsec can be fixed so that one can fix it manually and rebuild from given sources?