Asterisk trunking

Hello Dear Forum.
I will directly describe the problem i have and the issue i’m looking for solutions.
We have Asterisk and trunk to Sipgate.
Sipgate gives us DDIs (some blocks).

This is how i map the DDIs to internal numbers:

exten => 069175372980,1,Dial(SIP/Company_phone-7001,20)
exten => 069175372981,1,Dial(SIP/Company_phone-7002,20)
exten => 069175372982,1,Dial(SIP/Company_phone-7003,20)

Sipgate has so called Fallback number - this number will be used in case your pbx does not submit a number or the telco operator does not support self set numbers

The problem is all my calls outside comes from the Fallback number.
I need it to be from the corresponding DDI (see - sipgate_did)

exten => _XXXXXXXXX.,1,SipAddHeader(P-Preferred-Identity:<sip:(here i need to send the DDI)>)
exten => _XXXXXXXXX.,1,Dial(${SIPGATE}/+${EXTEN})

Please help solve this problem.