That field is not a call ID. What an end user considers a call may have more than one. At the very least there will be different ones for the A and B side, but more complex calls can create multiple ones.
Also note that it is not uncommon to have multiple CDRs with the same unique ID, in more complex calls.
You can probably get the A side unique ID (at the time you issue the Add Header, in the B side INVITE. I’m not sure that you can set headers on responses, and I don’t think there is any point between when the B side’s initial unique ID is allocated and the sending of the INVITE, in which you could set the B side unique ID on the B side INVITE.