Change Outbound Caller ID for Different TRUNK

I have a problem in hiding the Caller Id for outbound calls.

I currently have 3 trunks with related outbound routes and related inbound routes, configured as follows:

  1. Trunk 035102030

    • 1 outbound route
    • 1 inbound route
    • 1 queue called 100
    • 3 extensions (101,102,103)
  2. Trunk 035405060

    • 1 outbound route
    • 1 inbound route
    • 1 queue call 200
    • 3 extensions (201,202,203)
  3. Trunk 035708090

    • 1 outbound route
    • 1 inbound route
    • 1 queue call 300
    • 3 extensions (301,302,303

the inbound calls work, but when we call out, all 3 trunks come out with Caller id of the first trunk, i.e. 035102030, as in the outblound routes, its route is as first in the list.

we tried using custom contexts, they worked, but blocked inbound calls.
we tried using dial patterns and editing the extensions.conf file but nothing changed.
we tried hiding numbers on trunks and outbound routes, but the result is the same.

how do we get each agent to call out with their trunk number instead of using the number of the first outbound route in the list?

Thank you

This may be a limitation of the provider. Is the same provider used for all trunks. If so you may be able to agree with them to accept any one’s caller ID on all of them.

Ideally you would use one trunk, with direct in dialling.

I don’t want to assume but you are using the commercial extension routing module to make sure that the extensions are using the proper outbound route? How are you ensuring that the extensions use their assigned outbound routes and aren’t all using the first available?

If you remove the first outbound route from the configuration, does the callerID on all outbound routes change to the the second trunk’s assigned caller ID?

yes @ashcortech , or if I change the order of the outbound routes by putting the one in the second trunk as before

Then @david55 is probably correct and you’ll need to talk to your provider. The Provider I use has configuration on their web gui that lets me set the CallerID to “Update incorrect, Update All and Update Unknown”

If it’s set to “Update All” any call out of the trunks, regardless of the setting on pbx will show the same CallerID.

Hi @ashcortech,
Below is the provider’s response:

From instruments the registration of all 3 numbers, 035102030 - 035405060 - 035708090, is handled by your PBX FPBX- .
It also handles the incoming/outgoing routes part and the Call ID with which it chooses the outgoing number.

On our Fritzbox router there are no rules for preselecting the number that is used for outgoing because the only configured port, FON1 (analog), does not have any number indicated as main (as there are none registered on the device).

We ask that you check together with your PBX support the internal preselection rules since on our side the only operation we do is to handle the call through the telephone exchange (which has no such rules set up).

We remain at your disposal.

the provider’s router is on-premises, instead Freepbx is installed in AWS EC2

can you help me?

No sir, not your internet provider, your trunk provider… I assume you’re using sip trunks? who provides those?

Hi @ashcortech , my internet provider is also my VOIP provider, they are the ones who provided me with the trunk numbers and voip credentials.

Is there a way to use custom contexts without affecting inbound?

when I used them, they worked, but when a customer calls from outside, he would get a response from his phone operator that the number called is unavailable or turned off.

Are they providing sip trunks or analog lines that are then converted to sip via the fritzbox?

If I understand correctly, that changing the order of the Outbound Routes changes the outbound caller ID, then this is not a provider problem.

Most likely, you just have to set the Outbound Routes correctly, though there is a small possibility that FreePBX is malfunctioning.

For testing, please set up your Outbound Routes:

Route 1:
Trunk Sequence: Trunk 035102030
prepend: (leave blank)
prefix: (leave blank)
match pattern: 0Z.
CallerID: 1XX

Route 2:
Trunk Sequence: Trunk 035405060
prepend: (leave blank)
prefix: (leave blank)
match pattern: 0Z.
CallerID: 2XX

Route 1:
Trunk Sequence: Trunk 035708090
prepend: (leave blank)
prefix: (leave blank)
match pattern: 0Z.
CallerID: 3XX

Then test by dialing a domestic number starting with 0, from each group of extensions.

If this works, update it to include emergency calls, special numbers, international calls, etc.

If this fails, at the Asterisk command prompt, type
pjsip set logger on
sip set debug on
depending on which channel driver(s) you are using.
Make an outgoing call that uses the wrong trunk, paste the relevant section of the Asterisk log at and post the link here. If you are too new to post links, just post the last eight characters of the URL.

1 Like

Looking back at the thread, you never answered this question. How are you dictating which outbound routes each extension is supposed to use?

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.