Can I send multiple commands on speedial?

Hi everyone.

Trying to program a softbutton on an EXT board to set the phone to DND (*78) and to forward the calls (*72XXXXXXXXX).

I am trying to make this easy for my users and have just one button be pushed. Anyone know how to accomplish this? I tried a comma between the 2 commands and it still only did the first command and then stopped.

Unless you are using Follow Me for something else, set it up to ring only the external number.

Then, a single button that sends *21 will turn it on or off.

Thanks for the reply. The issue is that this phone is setup where different people at different times need to ‘forward’ the calls, so the ‘follow me’ number can’t be preprogrammed.

It looks like you can’t do *21 and then the phone number (*21XXXXXXXXX) so is there some other way around that?


Don’t do that. Once the phone is set for forward all calls (CFWALL), DND becomes either a distraction (the calls immediately go to VM) or is OBE (since all calls should be routed to the remote phone specified). I honestly don’t know what would happen with both set up, since CFWALL assumes you don’t want the phone to ring (which is what DND does).

The other option (instead of CFWALL) is to set up Find me/follow me (FMFM) to ring the desk phone, then (after an appropriate pause you program) set the call to go out to the remote phone. The pause can be set to zero, so the remote phone and the local phone start ringing at the same time.

The final way (that we’ve talked about rather extensively) is to program the phone through the ASTDB database and set CFWALL to a specific number through the CLI (or a program that calls the CLI). Depending on the phone, there should be a way to do that.

Now, the thing that I’m unclear on is this:

Through what magic are you planning on the phone to know which number to forward the call to is multiple people with multiple numbers are going to be pressing this button? I’m not clear (based on this statement) what you are actually trying to do.

This is really hard. I know everyone here is trying to help, but I have dealt with issues similar to this for years and everyone always wants me to do things the way they do for everyone else… I’ll try to explain my issue in better detail.

We have one phone inbound DID. When that number is called, it rings 10 phones in our office. One phone is a lobby phone and 9 are all individual desk phones.

At the end of the day, each day, the last guy to leave the office, FORWARDS the calls, so that when anyone calls our DID number, it forwards to that persons cell phone, until unforwarded the next day.

If someone else if the first person back in teh office the next morning, they dont want to hunt around and see which desk user has their calls forwarded or setup to find/follow me. SO, because of this, we forward the calls at the lobby phone *72 XXX XXX XXXX. This works great, except, when the calls are forwarded there, they ALSO continue to ring all the 9 other office phones.

I have found that by setting the lobby phone to DND and FORWARD, it forwards all the calls to whoevers cell phone and does NOT ring the 9 other office phones.

To make the whole process easier and faster at the end of each day, we have an EXT board on the lobby phone and have all 5 guys names programmed on the soft buttons. I am trying to put 2 commands in there so when you push the button with my name, it runs 2 feature codes, the DND and *72myphonenumber

There must be some way that we can accomplish this.

To be clear - there is no way (without writing a custom context or some other code) to do what you are trying to do. It can be done from the Asterisk CLI, which means it is programmable, but doing it with a button press isn’t really a thing. The solution involves setting ASTDB settings in the server to set up all of the features you are looking for.

I read your explanation and I can think of no less than five easier ways to handle this. It isn’t that what you want to do is not possible - the approach you are invested in simply isn’t efficient and is going to present all of the problems you are describing. Instead of twisting the machine to do this your way, I submit that finding a more effective way to what what you are trying to do might save you and us a lot of time and effort.

OK - let’s assume this is Ring Group. Any phone in the group that is marked DND will not be accessed unless you specify in the Ring Group that phones are are inaccessible should be rung. If this is a Queue (which is another perfectly reasonable way to make all the phones ring), the same rule should apply.

Regardless of which of these you use, any phone that ‘answers’ the call will stop the rest of the phones from ringing, so I don’t understand your issue. Any phone in the Ring Group that forwards the call to a cell phone should answer the call.

One caveat on that - if you are using “confirm call” on the call, the cell phone call will not mark the call as ‘answered’, until the call is confirmed so the calls will continue to ring.

Another possible way to do this: have all calls from the DID go to the lobby phone, and then use FindMe to send the call to all of the other phones in the system. Once again, though, the first call that marks the call as ‘answered’ will close down the ringing. If the Lobby phone is marked “DND”, the call will drop to the other extensions immediately UNLESS the the phone is set to CFWALL and all calls are then forwarded to another number.

Another option would be to use a Time Condition so that the last person out doesn’t have to set anything up.

Finally, there is call flow control, which has many of the features you looking for.

There are at least four more ways I can think of to branch these calls out to all 10 phones and then allow you to forward the calls out.

How? Which phone? His phone? Someone else’s? This particular feature is key to the success of the process you are using now.

The point I’m trying to advocate is that you don’t need to do all of this from the phone. Have you given though to changing your perspective on this to working from the server instead of from the phone.

  1. I still don’t understand why setting the lobby extension to DND makes any difference. If the phone is set to Do Not Disturb, the call will never go there from the Ring Group. The phone should be pulled out of the circuit and longer part of the process.
  2. Setting the lobby extension to Call Forward All calls to one of five numbers should solve the problem, with a few caveats. Many cell phone operators mark the call answered as soon as the call goes to the provider, others wait until the call is actually answered, and either way, the system can be programmed to verify the call at the cell phone (“press 1 to accept the call”) before control is passed to the call. Until the remote call is answered, the phones in the ring group will continue to ring.

So, rather than trying to beat the phones into submission doing this the way you want to do it, I’d advocate for something that is more server centric.

Approach 1 - use a call flow control. You can set up a single button (or five) that turns on or off CFC. You can do it from each phone and set up BLF to monitor which phone is on call at the main phone. This way, the phones never ring - the call goes directly to the phone you program on the button on whichever phones you want to use.

Approach 2 - use a Time Condition that automatically sends the calls to a Ring Group with your five cell phones in it. Whoever answers first wins. If no one answers the call, send the call to a group voicemail box. You can combine Time Conditions with Call Flow Control and make this really seamless.

Approach 3 - use the FMFM structure I described above. This way, the main office phone is the nexus of your redirection. You can program that phone to forward all of the calls coming in almost anywhere. You program the single phone with a button that turns the forward on and off. I’d eschew this option, because it relies on the phone being available all the time.

If you can change your perspective to thing from the central location (which is what Asterisk does well) rather than trying to spread control around to a bunch of random places that make management of the process harder and not easier.

So, after all of that, Yes, what you want to do is possible, but not the way you want to do it. Since the way you want to do it is a non-starter, maybe look at one of the alternatives I recommended and see of one or more of them might get you close to where you want to get.

El Señor @dobrosavljevic created an elegant custom feature code that would solve this problem very nicely:

1 Like


Thanks for taking the time with all the info.

So yes, there is a ring group when the call first hits our office.

I think everyone keeps assuming that the phones go to one person every night, I.E., the time condition and stuff. Literally, at any point in the day, the calls may be forwarded to any of like 10 guys in the office.

For example, lunch time, everyone gone, I mihgt be the only one in the office and I am leaving for lunch too. I go to the lobby phone and I forward the calls to myself. This way, I get all calls coming to my cell, while I am out of the office. Then, whoever returns to the office first, they look at that lobby phone, they see it was forwarded, so they unforward and start answering the calls at the office.

Same thing above, but for any number of reasons could happen multiple times a day, with no guarantee of who will be getting the calls forwarded to them.

The reason I like the DND on the lobby phone is it prevents all the other office phones from ringing, when the lobby phone is forwarded. Because, say the phones are forwarded from the lobby phone and someone calls the office, it rings the cell phone of the person who forwarded the calls, but it also rings the office ring group. If the cell phone person maybe had their phone on silent and in their pocket, the someone at the office answers the call, it gives the illusion to the person on the cell phone that they missed the call, because someone at the office answered the call, because they forgot to unforward the office phones, which leads to confusion and may cause the cell phone person to call the number back, not realizing that someone at the office answered and handled the call.

It seems like most people assume one person in the company always gets the calls forwarded, which is why it appears hard for people to understand what we are doing.

I am up for a different programming setup, but overall, the system has to work very similar to what it does now, as everyone is very used to it.

Any ideas

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