Queues to Dummy Extensions to forward external numbers

dkauffer

Silver Partner
Advanced Certified
Joined
May 22, 2019
Messages
14
Reaction score
7
Hi,

Here’s the scenario:
Incoming calls are directed to a queue, which then routes the calls to one or more dummy extensions. These dummy extensions automatically forward the calls to an external mobile number.
We use dummy extensions because 3CX does not allow direct forwarding of calls from queues to external numbers.

For the queue to route calls to dummy extensions, the "Also ring my mobile" option must be enabled on the extension, and a mobile number must be set. In this case, the dummy extension appears as available (green), and the queue can send the call to these extensions. If this setting is not enabled, the queue will not attempt to route calls to the dummy extensions.

While this setup works, the call forwarding to the mobile number does not include the "Diversion" header, which is problematic for our service providers. The only way to include the Diversion header is to configure the forwarding on the dummy extension to external numbers and disable the "Also ring my mobile" option. However, in this case, 3CX considers the dummy extension as not registered, which prevents the queue from routing calls to these extensions.


Ideally, when we enable the "Also ring my mobile" option and set the forwarding rules to direct calls to "My mobile," the Diversion header should already be included since this is forwarding to an external number. However, it isn't.
Another useful feature would be the ability for Queues or Ring Groups to forward calls to different external numbers (with the Diversion header included), rather than requiring the creation of dummy extensions. I understand that this might be more complex to implement.

Is there any workaround to allow incoming calls to ring through a queue or ring group (since we need it to ring multiple destinations simultaneously) while using dummy extensions specifically for diverting calls to external numbers and including the "Diversion" header?

Any assistance would be greatly appreciated.

Thank you!
 
The diversion header should ultimately, and ideally, be used only when forwarding calls.

The call queue activating the call outwards isnt technically a diversion. It is the queue dialling out.

Another benefit to the "Also ring my mobile" option is that the PBX will record the call going to the mobile if this is enabled on the extension.

The question now is, when you dial an outgoing call does the provider require the diversion header? Its the same thing from the queue at this poit, and you might need to look into getting another provider who doesnt rely on the diversion header.

You have a very specific use case here.
 
Hi Nicholas,


In compliance with Spanish Telecom regulations,Orden TDF/149/2025, which establishes measures to strengthen the security and integrity of the calling line identification (CLI) and to prevent potential fraud, from the 7th June 2025 it will no longer be permitted to use Spanish mobile numbers (prefixes +346 and +347) as the calling line identification (Caller ID/CLI) on outgoing calls.

The only cases where the From: header can contain the Spanish mobile is when the INVITE includes the diversion header including the Called Number.

Since the Originator of the call is an external number (A) calling a DID in 3CX (B) and the end user receiving the call is on an External number (C), the end user need to see the OriginalCallerID, so yes, the Diversion header is required or the operators will reject the calls.

Any Incoming call received and then forwarded to an external number must always include the Diversion header to prove it's a diverted call.


Look forward to your feedback.
 
The diversion header should ultimately, and ideally, be used only when forwarding calls.
And just to add to what my colleague said, this is on a one-to-one basis, so no redirect to multiple external numbers.

I think you want to run a queue on on your provider's end in this case rather than on the PBX..
 
Hi John,

This scenario is for one of our customers. We are a 3CX partner providing hosted 3CX solutions and support.

Our customer manages hundreds of shops, each with multiple departments, and each department has several agents.

For inbound calls, every department needs to ring multiple agents at the same time. In 3CX, the only way to achieve this is through a Queue or Ring Group.

Additionally, they need to forward these inbound calls simultaneously to external numbers (to staff mobiles). Since 3CX doesn’t allow direct external numbers in Queues or Ring Groups, the only workaround is to use dummy extensions. These dummy extensions are members of the Queue, and to forward the calls externally, we enable "Also ring my mobile" on each of them with the desired external number.

However, for these dummy extensions to stay Available (green status) and keep receiving calls from the Queue, "Also ring my mobile" must be active — which is already a form of call forwarding to an external number.

On top of that, they need to use Queues specifically to play the welcome message and to generate Queue Reports from 3CX.

So in short:
  • The call comes into a Queue (to play the greeting and for reporting).
  • The Queue sends the call to dummy extensions.
  • The dummy extensions forward the call externally via "Also ring my mobile."

Because this is a forwarded call to an external number, we believe the Diversion header should be included, but currently, it is not.

Thanks for your help!
 
@dkauffer - why not just use the 3CX smartphone apps for the external agents and eliminate all of the forwarding and dummy extensions. This is straightforward and not a "workaround." You would still have the call recordings enabled, and all the reporting metrics would also be included - and this would eliminate the need for a diversion header!
 
Thank you for all your responses!
I believe the best way to resolve this is to ask our customer to start using the mobile app, as @GregG_3CX suggested.


Best regards!
 
  • Like
Reactions: GregG_3CX
Hi Daniel,

What you want can be achieved by the use of external agents. You can add extensions in the Queue and set them to Away and have them forward internal and external calls to a number. So when a call comes into the Queue the PBX will also call this number.
There is an option to enable this under System--> Options-->"Allow forwarding to external numbers in ring groups and queues".

This method will allow the PBX to add the Diversion header in the outgoing invite. The only challenge is to keep the dummy extensions registered. You will need to either add a physical phone to register these dummy extensions on or a web browser etc. Something that keeps the extension active.

Ring my mobile simultaneously is considered a new Invite from the PBX so the diversion header is not included while forwarding to external number via an external Queue agent is treated as a forward and the Diversion header will be added.

So you have 3 options:
1. Use mobile apps as suggested by Greg
2. Use external agents as described and find a way to keep the extensions registered
3. Remove CNS from the trunk so the originator caller ID is not sent to the provider and calls work.
 
Last edited:
You can add extensions in the Queue and set them to Away and have them forward internal and external calls to a number. So when a call comes into the Queue the PBX will also call this number.
I'm afraid this doesn't work, we already tried this. Since these are dummy extensions, if you set them to Away and there isn't an agent who logged in to the extensions, they display on 3CX as Not Registered, and the Queues will not send the call signal to extensions that are Not Registered.

There is an option to enable this under System--> Options-->"Allow forwarding to external numbers in ring groups and queues".
We already had this active. For the queue to route calls to dummy extensions, the "Also ring my mobile" option must be enabled on the extension, and forward incoming calls to "My Mobile". In this case, the dummy extension appears as available (green), and the queue can send the call to these extensions. If this setting is not enabled, the queue will not attempt to route calls to the dummy extensions, since they appear as Not Registered.

This method will allow the PBX to add the Diversion header in the outgoing invite. The only challenge is to keep the dummy extensions registered. You will need to either add a physical phone to register these dummy extensions on or a web browser etc. Something that keeps the extension active.

Yes, exactly, you must log in to the 3CX web interface for each one or configure them on a Phone. But this is not an option in this case, we are talking about +300 dummy extensions.


3. Remove CNS from the trunk so the originator caller ID is not sent to the provider and calls work.
The agents must receive the original caller ID on their mobiles, so they can call them back if they missed the call.


Therefore, the only solution we can find for this scenario is that the agents install the mobile app and receive the call through the app instead of diverting the calls to their number.

Nevertheless, I appreciate your suggestions and we are open to hearing any other ideas :)
All the best.
 
  • Like
Reactions: YiannisH_3CX
Bumping a thread here, if you need me to start a new thread I will do but this seems so similar to my scenario it is worth bumping.

System: 3cx v20 self hosted.
Phones: Yealink
Scenario: TP phones in an unmanned reception lobby used as door phone to contact office staff
Requirement: a simple one button connection to an internal ring group via BLF button 1
Problem: 3CX will not let you select a ring group as a destination for call forwarding only extensions
Suggested Workaround: create a dummy extension, time out 1 second, Available forward to external number (internal ring group extension inserted here), set if Busy or Unregistered to same.

Issue: Even if extension is registered on a 3cx App call routing fails with Temporarily Unavailable.

any suggestions to troubleshoot this or a better configuration would be happily received.
 
update having played around with the various options to get a dummy extension registered the only one that seems to work is to set also ring my mobile to on. The call still fails so am assuming the problem is v20 does not allow the workaround of putting in the ring group number as an external number anymore. Forum posts say this used to work.
 
there was a German word with the definition that means:

It only works when I try to show you how it does not work.
Vorführeffekt.

Just tried to demonstrate what wasn't working this morning i.e. instead of ringing the assigned custom speed dial pressing BLF button 1 produced a second screen with the ring group number and paused until you pressed the first button bottom left of the display marked SEND. Guess what? The Vorfureffekt or "Demonstration Effect" is in operation and the button now dials the custom speed dial immediately. :rolleyes:xD
 
I did found a Soulution for me to achive this (Cus does not like to use the Mobile App too)
(it is working becouse only 1 extension [lets say Nr. 150] in the main queue and the cus wants to redirect to external with one button)

In the main Queue i set:
Destination if no answer User 150

Call Forwardings for User 150:
Custom 1 Forward external calls to external Number
Custom 2 Forward external calls to external Number

one could do the same with internal calls - but in my case it wos not needed.

BLF for User 150
custom Speed Dial *33 (activate custom 1)
custom Speed Dial *34 (activate custom 2)
custom Speed Dial *30 (activate available)

so the user can use 2 different external Numbers to choose from by simply pressing BLF Buttons.

Edit:
As i noticed Call Forwarding from the extension only work if you get a call directly to your extension
If the call comes from a queue or ring group it does not follow the call forwadings from the extension it uses the settings of the queue or ring group of course.

if i am right - i think it is important to understand to do proper settings!
 
Last edited:

Forum statistics

Threads
111,955
Messages
589,926
Members
164,855
Latest member
parik24pro