Callinfo showing extension as the dialed number instead of the intended DID (outside calls incoming)

We have a program that’s pops up relevant information specific to the DID which was dialed. I have ring groups set up, and we are using Snom phones. In the Ring group settings I have tried “force dialed number” and “use dialed number” but its still showing the extension as the dialed# on the phone and within the 3rd party program mentioned. Maybe I am missing something? Surely this is just a setting somewhere. We have around a 1000 DID’s so I don’t want to create a custom route for each one. I want an All-in and show dialed number to be passed on.

P.S. I also realized I cant create a custom inbound route for a single DID. It still goes out the “ALL-Route”. So its either not detecting the DID or its getting lost somewhere in translation.

EDIT: I was able to fix the custom DID inbound route by adding a 1 in front of the DID. Still not passing DID info though.

Freepbx 12 distro on Centos

EDITED:
I was wondering if my SIP trunk provider was even passing DID info to my PBX. I did “sip debug on” and looked at the transactions after making an incoming call. its coming in
INVITE sip:1918493****@98.555.555.100:5060 (altered)

That looks ok to me. Any other suggestions?

maybe this will help someone else if we can resolve this to its conclusion.

I found a great article regarding my issue: http://www.freepbx.org/support/documentation/howtos/how-to-get-the-did-of-a-sip-trunk-when-the-provider-doesnt-send-it-and-

You would need to create a route for each DID. that is how the DID variable gets setup.

I tried that, but it still doesn’t forward the dialed number, only the extension that answers it.

Edit added: I just realized it wont work unless I type the DID number in the “CID name prefix” in the setting of this particular incoming route.

Surely this isn’t how it was intended. You say a route has to be created for each DID, but if they all go to the same place I don’t see why that would be necessary. The outside caller isn’t calling the extension so that shouldn’t be the info passed on. Could you at least confirm this with another tech please?

Thank you