If all other calls are working correctly, then why is this a concern? If it is because internal uses are required to dial the main number, for some reason, or are dialling it because they don't remember to dial the internal number, then you can do one of two things...
Spend more time trying to figure out what settings need to be changed, and/or replace hardware to make this work,
Or..implement a loopback SIP trunk.
Back in 2011, Sy posted the "trick" (his words). It was in the Partner Forum, which you may not have access to, so rather than post the link, I'll quote him..
"Re: internal users dialing did's instead of extension
Postby SY » 25 May 2011 Wed 06:04:21,
Technically, the trick can be implemented using loopback SIP trunk.
1. create SIP trunk with 127.0.0.1:5060
2. create outbound rule(s) for this trunk. They should intecept all DID numbers
3. attach existing inbound DIDs rules to this trunk
If everything is done correctly then all outgoing calls addressed to DID numbers will go to the loop back trunk and then returned as incoming calls which will be routed by inbound DID rules."
This was specifically to deal with internal users dialling the full DID if extensions, and using two channels per call, but you can just sent the call to the main number, or anywhere else. Of course, you have to create outbound rules for this to work.