Outgoing CallerID not passed from IAX to SIP

I’ve got a scenario where 2 systems (1.818.210.58-1
distro) are connected via IAX2 and system B sends a call destined for the PSTN through system A over said trunk. However, system A replaces the outgoing CLID with the default info for the PSTN facing SIP trunk. Trace below:

Executing [s@macro-outbound-callerid:2] ExecIf("IAX2/demotrunk-2796", "0?Set(REALCALLERIDNUM=403XXX0102)") in new stack

then a few lines later

Executing [s@macro-outbound-callerid:8] Set("IAX2/demotrunk-2796", "TRUNKOUTCID=403XXX5276") in new stack

The IAX trunk configs look like this:

username=demotrunk
type=friend
trunk=yes
secret=PASSWORD
qualify=yes
host=foo.bar
disallow=all
context=from-internal
allow=ulaw
requirecalltoken=no

Ideas?

I found another post describing the same issue:
http://www.elastix.org/index.php/en/component/kunena/32-freepbx/103511-useroutcid-blank.html