Userfield set in .call file - not written to db when fails

When I create a .call file like this:

Channel: SIP/Teliax_g729/1234567890
Application: Playback
Data: custom/MainMenuLive
Set: CDR(userfield)=testhere

The ‘testhere’ userfield value only gets logged to the database when the call is answered. When the call goes unanswered, the userfield is left blank in the database record. Is this the expected behavior?

I’m trying to figure out how to get the status of a call after I’ve created a .call file for it. I thought that I could put a unique ID in this field and then watch the database for it, but it looks like I will only be able to tell when the call succeeds.