Inbound calls CID is showing my Trunks DID

I have been going round in circles for days and can’t seem to get this fixed.
For the purpose of this question , lets assume the following.

My mobile number is : 07111 222 222
My TRUNK DID is : 0207 111 111
My Inbound route sends the call to a queue which rings extensions 100 and 103

So when I call my Trunk DID, from my mobile (which does give out CID), it rings and works as expected. I hang up. Great.
BUT - when looking on my phone displays, the incoming number is shown as 0207 111 111

SO - I cannot return the call because it dials myself.
My mobile number does get sent through somehow as its listed in the missed call.

If I make a call in and watch the CLI: This is the output…

== Using SIP RTP CoS mark 5
– Executing [0207111111@from-trunk:1] NoOp(“SIP/0207111111-00000095”, “Catch-All DID Match - Found 0207111111 - You probably want a D ID for this.”) in new stack
– Executing [0207111111@from-trunk:2] Goto(“SIP/0207111111-00000095”, “ext-did,s,1”) in new stack
– Goto (ext-did,s,1)
– Executing [s@ext-did:1] Set(“SIP/0207111111-00000095”, “__FROM_DID=s”) in new stack
– Executing [s@ext-did:2] Gosub(“SIP/0207111111-00000095”, “app-blacklist-check,s,1”) in new stack
– Executing [s@app-blacklist-check:1] GotoIf(“SIP/0207111111-00000095”, “0?blacklisted”) in new stack
– Executing [s@app-blacklist-check:2] Set(“SIP/0207111111-00000095”, “CALLED_BLACKLIST=1”) in new stack
– Executing [s@app-blacklist-check:3] Return(“SIP/0207111111-00000095”, “”) in new stack
– Executing [s@ext-did:3] ExecIf(“SIP/0207111111-00000095”, “0 ?Set(CALLERID(name)=0207111111)”) in new stack
– Executing [s@ext-did:4] Set(“SIP/0207111111-00000095”, “__CALLINGPRES_SV=allowed_not_screened”) in new stack
– Executing [s@ext-did:5] Set(“SIP/0207111111-00000095”, “CALLERPRES()=allowed_not_screened”) in new stack
– Executing [s@ext-did:6] Goto(“SIP/0207111111-00000095”, “ext-queues,201,1”) in new stack
– Goto (ext-queues,201,1)
– Executing [201@ext-queues:1] Macro(“SIP/0207111111-00000095”, “user-callerid,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“SIP/0207111111-00000095”, “AMPUSER=0207111111”) in new stack
– Executing [s@macro-user-callerid:2] GotoIf(“SIP/0207111111-00000095”, “0?report”) in new stack
– Executing [s@macro-user-callerid:3] ExecIf(“SIP/0207111111-00000095”, “1?Set(REALCALLERIDNUM=0207111111)”) in new stack
– Executing [s@macro-user-callerid:4] Set(“SIP/0207111111-00000095”, “AMPUSER=”) in new stack
– Executing [s@macro-user-callerid:5] Set(“SIP/0207111111-00000095”, “AMPUSERCIDNAME=”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“SIP/0207111111-00000095”, “1?report”) in new stack
– Goto (macro-user-callerid,s,11)
– Executing [s@macro-user-callerid:11] GotoIf(“SIP/0207111111-00000095”, “0?continue”) in new stack
– Executing [s@macro-user-callerid:12] Set(“SIP/0207111111-00000095”, “__TTL=64”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“SIP/0207111111-00000095”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,24)
– Executing [s@macro-user-callerid:24] Set(“SIP/0207111111-00000095”, “CALLERID(number)=0207111111”) in new stack
– Executing [s@macro-user-callerid:25] Set(“SIP/0207111111-00000095”, “CALLERID(name)=07111 222222”) in new stack
– Executing [s@macro-user-callerid:26] Set(“SIP/0207111111-00000095”, “CHANNEL(language)=en”) in new stack
– Executing [201@ext-queues:2] Answer(“SIP/0207111111-00000095”, “”) in new stack
– Executing [201@ext-queues:3] Macro(“SIP/0207111111-00000095”, “blkvm-set,reset”) in new stack
– Executing [s@macro-blkvm-set:1] ExecIf(“SIP/0207111111-00000095”, “1?Set(__BLKVM_CHANNEL=SIP/0207111111-00000095)”) in new stack
– Executing [s@macro-blkvm-set:2] Set(“SIP/0207111111-00000095”, “SHARED(BLKVM,SIP/0207111111-00000095)=TRUE”) in new stack
– Executing [s@macro-blkvm-set:3] Set(“SIP/0207111111-00000095”, “GOSUB_RETVAL=TRUE”) in new stack
– Executing [s@macro-blkvm-set:4] MacroExit(“SIP/0207111111-00000095”, “”) in new stack
– Executing [201@ext-queues:4] ExecIf(“SIP/0207111111-00000095”, “1?Set(_DIAL_OPTIONS=trM(auto-blkvm))”) in new stack
– Executing [201@ext-queues:5] Set(“SIP/0207111111-00000095”, “__NODEST=201”) in new stack
– Executing [201@ext-queues:6] Set(“SIP/0207111111-00000095”, “MONITOR_FILENAME=/var/spool/asterisk/monitor/q201-20120123-114039-132731 8839.301”) in new stack
– Executing [201@ext-queues:7] Playback(“SIP/0207111111-00000095”, “custom/Start”) in new stack
– <SIP/0207111111-00000095> Playing ‘custom/Start.slin’ (language ‘en’)
== Spawn extension (ext-queues, 201, 7) exited non-zero on ‘SIP/0207111111-00000095’
– Executing [h@ext-queues:1] Macro(“SIP/0207111111-00000095”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/0207111111-00000095”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] Hangup(“SIP/0207111111-00000095”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on ‘SIP/0207111111-00000095’ in macro ‘hangupcall’

anyone??