Strange $OUTNUM$ behavior

Hello.
My call looks like SIP->PBX1->IAX->PBX2->GSMTrunk
Call transferred to PBX2:

  • Accepting AUTHENTICATED call from myip:
    > requested format = g729,
    > requested prefs = (g729),
    > actual format = g729,
    > host prefs = (g729|ulaw|alaw|gsm|g723|slin),
    > priority = mine
    – Executing [7916111111@from-trunk:1] Set(“IAX2/3333-3186”, “__FROM_DID=7916111111”) in new stack
    – Executing [7916111111@from-trunk:2] ExecIf(“IAX2/3333-3186”, “0 ?Set(CALLERID(name)=)”) in new stack
    – Executing [7916111111@from-trunk:3] Set(“IAX2/3333-3186”, “__CALLINGPRES_SV=allowed_not_screened”) in new stack
    – Executing [7916111111@from-trunk:4] Set(“IAX2/3333-3186”, “CALLERPRES()=allowed_not_screened”) in new stack
    – Executing [7916111111@from-trunk:5] Goto(“IAX2/3333-3186”, “ext-trunk,3,1”) in new stack

And here this strange situation starts:
Executing [3@ext-trunk:1] Set(“IAX2/3333-4859”, “TDIAL_STRING=datacard/datacard0/\$\{OUTNUM\}”) in new stack

In Custom Dial String: datacard/datacard0/$OUTNUM$

Why this converting starts?

Thanks in advance.