Continuous Ringing

We have a requirement such that if one extension is picked in a ring group, the rest continue to ring nonstop, can’t seem to find how to achieve this, any pointers?

Asterisk 18

This is not how normal phone systems behave. I think you would have to go outside the GUI on FreePBX. It might be possible with an ARI application. Otherwise you will need to rewrite the C code for Dial() or Queue().

What should happen when one of the other phones is picked up?

What should happen when the original call is terminated?

If the other phone(s) is(are) picked up, the free extension(s) will continue ringing, The idea is to keep extensions ringing until the call ends(hang up).

Does free extensions include the phones that were picked up? If not, what happens on the phones that are picked up?

What is the reason for this requirement. As I say, it is not how phone systems work, so will require low level or very low level, custom programming, and a precise specification, covering all edge cases.

Free are those that are not picked, as I mentioned, the idea is to keep those that are not picked ringing.

So what happens to the second and subsequent ones that are picked up?

Again this is not something that you are likely to achieve without significant developer skills, as it is not normal phone system behaviour. Typically when you find such a situation, you need to challenge the requirement.

Some possible answers to my question might be:

  • the call on the leg is immediately released, resulting in a silent call with no explanation;
  • the call is released after a voice announcement;
  • the call is immediately released, and then attempts are made to represent it (how often?) to make the phone start ringing again;
  • the call is left open until the answerer hangs, up, possibly with a message and/or with representation.

@dmaina we need more information to know exactly what the application is. Once the call is connected to the agent that answered, what happens if someone picks up the other phones in the ring group? Are they conferenced together?

Knowing the use case for what you are trying to achieve would be helpful. For instance, a year or so ago I remember someone on the forum looking for something like this. The idea was for a campus emergency number I believe. They wanted something so that if someone were to place a call to the campus emergency number then a ring group of phones would ring. After an agent answered the emergency number they wanted the remaining phones in the group to continue ringing until all logged in agents answered the call. Each time someone answered that person essentially joined the conference.

I’m not sure that anything came out of the person that posted that a while back, couldn’t find it in the forum search. If they were able to achieve that, it was definitely something custom.

Never the less, until we know what you are trying to achieve from start to finish, we won’t be able to make any recommendations.

@nortelvoip it’s almost similar to what you have mentioned, although in our case, we have some devices that are in the ring group that agents can’t pick the calls on but they can ring, we want those devices to continue ringing until the call is ended(hang up).

The situation we are in is that those devices are supposed to be used by some people in the company for capturing CID as soon as the call hits. I know we can use CDR reports to check the records but the requirement is to capture as soon as the call hits not after. I hope am clearer now.

Am ok with something custom, as long as it works.

Got it. That’s helpful to know. So a couple of follow up questions:
What devices are they and how do they connect (via sip, via an ATA, etc.)?
Are there multiple agents and one cid device, one cid device per agent, etc.what is the purpose of capturing the CID on this device? Is it to pop a customers account in a CRM, record billing into a CRM for a customer, or just track how long agents were actually on the calls?

They are POS devices connected via SIP, and they are used mostly for capturing customers’ data in a restaurant.

Most units that I have seen like that are not expecting continuous ringing, but are connected to mirrored ports and sniff the caller is info from packets to each extension.

Like the Vertex unit linked here.

For this project they are supposed to ring continuously and FYI the company already has such a setup in place using Grandstream PBX, but we want to migrate(company’s rrquest) the said to FreePBX, hence the requirement and the challenge at hand on how to emulate the existing flow.

Interesting. I have worked with Grandstream PBXs many times but I don’t know how they would do this there unless something custom was written by Grandstream for them. I think the best thing for you to do would be to engage someone to write some custom dial plan for you.

Let us know how it goes.

BLF / dialog-info subscription showing remote identity or some non-SIP interface might be better for this purpose. I would assume that there can be more than a one call at a time. Also it might be difficult to force any device to ring indefinitely (device would reject call after some time, possibly 60-120 seconds) - sometimes there are some settings to prolong ring time but even these have limits.

I still don’t fully understand why you want it to continue ringing? If you need the caller ID to be captured by a specific device wouldn’t that be the only other one that needs to ring? If the issue that if some one picks up the ringing line too fast you miss the caller ID??? If this is why, then make a ring group with only that device in it and have it ring for 2-3 seconds first, then on no answer forward to another ring group that has that device and all the other extensions in it. This should be enough time to get the caller ID captured. Better yet add code on the PBX to capture the caller ID for you and send it some where. I foyu are doing something that needs to know how long the call was in progress you could get the start and end info sent from the PBX. You can also pull data out of the PBX database eithe rdirectly or by running CDR reports on call data.

1 Like

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