How to enable Caller ID forwarding in 3CX

By Christopher Talke Buscaino at

Some use cases for this would be because:

  • The end user wishes to divert calls to a sales person after hours, and retain the original callers number.
  • The end user wishes to divert calls to personal mobile number when in Do Not Disturb, Lunch Break or other preferred status.
  • Some other ungodly reason...
⚠ Be Aware

This method is O.K. to use when the SIP Trunk provider does not require the AuthID parameter set for From : Display Name, From : User Part, Remote Part ID - Calling Party : Display Name or Remote Part ID - Calling Party : User Part in the SIP Trunk > Outbound Parameters settings.

This will also utilise 2 SIP Channels in the process (one for the inbound call, one for the outbound call), preferred method is the Mobile App.

In testing this there was a total of four (4) scenarios executed:

Scenario 1 - Forward External Call to External Number ✔️ Worked as expected

  1. Party 1 called from Mobile Number to Demo Phone System
  2. Party 2 transferred the call to a Mobile Number
  3. Mobile Phone displayed Party 1 as the Caller ID

Scenario 2 - Do Not Disturb settings with forward to an External Number ✔️ Worked as expected

  1. Party 1 setup a DnD Configuration to forward calls to an External Number, and set himself as DnD
  2. Party 2 called from the Phone System to another Phone System
  3. Party 2 answered the call, and transferred the number to Party 1's Extension, which forwarded the call to Party 1s Mobile
  4. Party 1 recieved the call with a Caller ID presenting to him

Scenario 3 - After Hours settings with forward to an External Number ✔️ Worked as expected

  1. Party 2 configured After-Hours settings to forward calls to an External Number
  2. Party 2 called from another Phone System to Demo Phone System
  3. Demo Phone System automatically forwarded the call to the Configured External Number
  4. Party 2 recieved the call with a Caller ID presenting to him

Scenario 4 - Passing External Call to Internal Extension then Forward to External Number 🚩 Worked as 'expected', but didn't pass on the Original Callers ID

  1. Party 1 called the Demo Phone System from his mobile
  2. Party 1 answered the call, and transferred it to Party 2' Extension
  3. Party 2 answered the call, and transferred it to External Number (Mobile)
  4. Party 2 recieved the call with a Caller ID presenting to him (This happened because 3CX reconigsed the Original Caller ID being the internal extension's, not the original caller).

🔧 Configuration steps

‼ Please Ensure

There is a current backup available in the event you have to roll settings back!!!!

  1. Log into the Management Console (https://client.3cx.com.au/)
  2. Go to 'SIP Trunk'
  3. Go to 'Outbound Parameters'
  4. Change 'Remote Party ID' from 'OutboundCallerId' to 'OriginatorCallerID'
  5. Scroll back up and click OK. Note this will force a refresh of the SIP trunk registration which will drop all active calls
  6. Done

Suggest setting up a temporary DnD rule, or testing the after-hours forwarding rule to see if it has applied correctly.

If you need any help setting this up, or have any other questions about 3CX; don't be afraid to reach out to me!