Transfer call to busy extension

Hi to all I cannot figure out this:
external call is ringinging to call group 1010
extension 101 pick up the external call
extension 101 wants transfer the external call to extension 102
extension 102 is busy
extension 101 make a blind transfer to 102
the caller is listening the busy tone and asterisk will terminate the call

what I want is to put the caller on hold forever until extension 102 will be available again.

call waiting is disabled cause my colleagues don’t want to listen the free tone if an extensions is busy.

any suggestion?

If you want call waiting to stay disabled, there’s no really a way how to transfer a call when that extension is busy… and 102 should know.

Two options that might work for you:

  1. Instead of transferring to the extension, park the call and let 102 know that they should retrieve the call from park 1.

  2. If you are a small company, you can create a queue for each extension, enable skip busy, set the Max Wait Time to unlimited, Agent Timeout to 15 seconds and 5 seconds retry time.
    Instead of transferring the call to the extension, transfer it to the Queue associated with that extension.
    (With this option, the caller will “wait on hold” till 102 becomes available again.)

A ‘different’ solution (since what the system is doing is by design) would be to set up Voice Mail and drop the caller into that.

Voice Mail? Does it cost money? :sweat_smile:

I will sell you voicemail stamps if you need them.


ok let’s say I enable the call waiting, how can I know if the extensions that I’m trying to reach is busy or is free? cause the ringtone that I hear in my phone is the same, is there a way to distinguish the two tones?

Use BLF keys, or an Operator Panel.

You can’t. At least not out of the box.

There’s no simple way for the system to do what you want. We’ve given you several alternatives. What you are asking for is a queue, but you seem to be resisting that.

Unless you want to use one of the solution we’ve suggested, your only option would be to write a specialized custom context that would handle the call the way you want it handled. The system is really flexible, so such a thing would be theoretically possible. Of course, you’re going to have to take into account that the phone was also busy during the ring group, which means as soon as one of your phones in the ring-group rings, it’s going to drop your call into the queue for that phone. Then there’s queues, and what about calls within the system, and the more I think about it, there more special cases I can think of.

The more I think about this, the more complicated it becomes. There are too many ways for something this complex to go wrong for this to be done well.

1 Like

so even if I enable the call waiting there is no way to put the MOH when is busy or something like an announcement?


As i said earlier and as Dave said, you can use park or a Queue to get it working the way you want.

Call waiting does nothing besides allowing a new call while you are already on the phone, it doesn’t give you MOH controls etc.

ok thank you my friend I will search documents about your suggestions. many many thanks fir your fast reply

Actually. I’m thinking now of my 2nd option, just a better way how to accomplish it.

Leave call waiting disabled.
Create a Queue for each extension.
In the Extension Advanced tab, scroll down and set Busy to the Queue associated with that Extension.

Like this, you’ll be able to transfer normally to the extension, and if that extension is busy, the call will stay in the Queue until the extension becomes available.


yesss you are right! this is the way! only problem is that I have over 300 extensions and 8 pjsip trunks on the same pbx, it will take 4 or 5 hours to be configured but I think that is an elegant way

Hey. I said if you are a “small company”… :wink:

Anyways, if you are going to implement this I’d suggest you to start first with 2-3 extensions for testing, if it works as expected, then use bulk handler to make it easier.

Much luck.

1 Like

yes is large but for the kind of work that we made configuration is very simple, maybe the only hard made things are related to routing and HA failover. anyway I will try and report in this post tomorrow

1 Like

Just want to update this thread, your solution seems to be very elegant, and everything is now working as my colleagues asked to me. But in the new queue for each extension, you have to select

otherwise you will have the busy tone when trying to reach the extension you want to queue if busy.

I really can’t understand why a so simple condition in the call waiting settings is not implemented, like “play MOH if busy during call waiting”

Anyway many many thanks

This was mentioned in my first post.

However, I’m glad you got it working!

This is the way this system is currently working. You can file a feature request:

1 Like

yes you are right, but if you simply select no it will give you the busy tone, instead with yes+ringinuse=no works fine.
Anyway I just opened a request as you suggest… I’m migrating from an old avaya ipoffice with 30 bri interfaces to this multitrunking pjsip freepbx. in the avaya system this was the deafult option ( i mean I didn’t made any particoular configuration, simply *9 before the extension number) but with this voip technlogy I think that I’m in the future, no expensive hardware required and everything is stable! But I have 300 colleagues that used this old stuffs for 20 years and I have to try to make things the more similar to the old avaya configuration that I can:sweat_smile::sweat_smile:

Can you please share the link?


yes my friend sorry for the late answer but I didn’t receive the notification
regards from italy and thank you for your suggestions that I have applied to our production environment

1 Like