Your question is scarily all over the place. I’m hoping to help you understand why.
[quote=“kwriley87, post:1, topic:43015”]
I thought it would be a CNAM delivery issue, but OpenCNAM said it was on the trunk providers end. [/quote]
The Inbound caller ID format is always numeric and is always provided by the Inbound Call provider (VI in your case). When it arrives from your provider, it will always be in the format NXXNXXXXXX (where the N and X values are specific kinds of numbers). OpenCNAM just looks up the rest of the Caller ID Name information based on the Caller ID numeric value.
Now - what you do with it once you get it into the PBX is up to you. You can’t change the INBOUND Caller ID format (since it comes from the provider) and you will not be happy with what VI does with your CID information if you try to send Caller ID as anything but numbers.
CID Display Format is not the same as Inbound CID format. Putting the two together doesn’t make sense. It’s kind of the same as the wind coming out of the North Southwest. There are way too many places and functions that require the caller ID to be in the “standard” format. OpenCNAM, for example, requires the CID to be numeric so you can look up the rest of the CNAME information.
The display of the CID is managed by the end device. That could be a display on a phone, the screen for a report, or anything, but it’s going to have to be done on a ‘per device’ basis.
So, the question really should be “How do I get ‘X’ to display the Caller ID Number in the format ‘NXX-NXX-XXXX’?” For example, Grandstream told you “We will display the Caller ID Number in whatever format the “From” header has”, which means you need to change the From header before the call is sent to the phone. Note that still isn’t changing the incoming format - the “From” header is going to be what is sent from VI. You will need to change the header, which means writing a special inbound context (look for the ‘e164’ header for an example of making changes on incoming values) so that you can update header values.
You didn’t get different answers - they are all the same answer. What you got was three different perspectives on the same answer. VI isn’t going to change it and if you want it changed, it needs to be changed in the PBX. OpenCNAM isn’t going to change it, because they want the CID to be numeric so they can look it up, but if you want to take the information they send you and mess with it in your PBX, knock yourself out. Grandstream is going to display the CID information from the FROM header, so if you want it changed, you need to change it in your PBX.