I have 2 FreePBX systems trunked together via an IAX2 trunk and calling works fine between them. The issue is that the extensions at each location overlap. ie. System A has extension 100 - 150 and System B has extension 100 - 150 as well.
In order to call between systems, one precedes the extension with an 8. ie. on System A, dial 8100 to get to extension 100 on System B and vice versa. This works fine however the callerID Name shown is of the local system and not of the remote system.
Example
System A, ext 100 is Joe
System B ext 100 is Peter
If Joe calls anyone on System B, then the callerID number will be 100 but the callerID name shows as Peter instead of Joe.
I understand it is picking this name up from the local system but this is incorrect so is there anyway of preventing this local lookup fir the IAX trunk and passing the remote callerID name?
I have the routes set as Intra-Company routes and for the trunk to allow any CallerID.
Any thoughts on passing the correct callerID name?
I don’t think that there is anything that you can do through the freepbx web interface.
Put the following in your extensions_custom.conf file over the from-internal-custom, change the context in your trunk in both ends and try again
When you set up your IAX2 route, you probably turned on “Intra-company route”. If so, the internal extensions will be transmitted as your caller ID unless you override them somewhere.
Have you turned off the Caller ID lookup services on your local machines, or at least turned off the “look up the caller ID in the local database” option? It seems to me you want the “Display name from line” or something similar.
Yes, I have tried to disable the local database lookup but it made no difference. I can’t figure out where it is actually getting the name information from unless it is from Asterisk itself
You have to skip the entire user-callerid Macro for this or override things to that the user-callerid macro doesn’t catch what is going on.
The user-callerid Macro runs at almost every point devices are making or getting calls. So when the user from Location A who is ext 150 calls Location B (which also has a 150) the PBX is looking at the CallerID/From headers of the caller and then checking to see if that user exists in the system as a LOCAL extension/endpoint. Since 150 lives on the PBX at Location B, it is going to find a local user and user their information.
You basically need to manipulate the call from Location A so that the FROM user is not a matching user on the system and then set the CallerID on its own to the right information.
Having two PBXes linked together that have the same extensions/routing is going to cause issues like this and others.