Ring groups and SIP_FORKED_ID_BUSY

Status
Not open for further replies.

jonpennell

Joined
Jun 6, 2018
Messages
95
Reaction score
5
I thought I had got my prototype system working perfectly and ready for production... until 5 minutes ago.

Basically, each user will have a softphone and 3cx iPhone client. The way we wanted this to work was that when a call comes in both ring (that works, obviously). Then, if the call was declined on the iPhone, for example, the softphone on the PC would stop ringing and the call would go to voicemail.

This isn't the default behaviour I know - but setting SIP_FORKED_ID_BUSY to 0 works great. The forked call to the devices can be cancelled when any of the devices reports busy (on decline).

However, this functionality stopped working today and, on tracing back, I've realised what stopped it working was the extension ringing as part of a ring group - in my original testing the extension was the target for the call on the SIP trunk. If the trunk is set to a ring group and this one extension is a member of the ring group, it no longer works as I needed.

So - is it possible to have extensions 11 and 12, each with two active registrations in a ring group (so 4 devices ring when the ring group is called) and if, for example, one of the devices registered as 11 declines the call, the other device registered as 11 stops ringing too?
 
OK so I've thought about how this works and I guess I'm screwed.

When the ring group is called, I guess it performs a SIP fork to all the members of the group - it seems obvious that obeying the SIP_FORKED_ID_BUSY parameter would be bad here as if one registration for an extension returned busy and SIP_FORKED_ID_BUSY was followed, the call would immediately terminate as it would be the same as every fork returning busy.

Shame though..
 
And one other thing ;) it's very annoying that if an extension is a call queue member and declines a call it starts ringing a few seconds later... but I know this is unlikely to be "fixed"/change
 
Is someone is member of a queue they should not simply "decline" a call as preceding that they were available. That is why they got the call.
 
leejor - that's an opinion not a fact. Call queues aren't always used in highly structured organisations like call centres. There are valid reasons to reject a call which originated from a queue - the user could be speaking to a colleague, updating notes - and doesn't want the constant ringing.

Just because YOU don't see the requirement doesn't mean it doesn't exist.

And yes, before you strain yourself to come back and say they should logout of the queue if they want to not be called by it, I realise that is an option. Some companies are more informal and want to work the way they always have.
 
OK some I've done some more testing. If the ring strategy is "prioritised hunt" then the forking works as I need. If the strategy is "ring all" then it doesn't. Is this by design or a bug? Was it intended that the SIP_FORKED_ID_BUSY be ignored when the forking was initiated by a ring group set to "ring all"?
 
OK - unless someone has a better "fix", by looking at the SIP traces and doing some further testing, I've found a "solution". It does have a significant drawback I think, but more on that shortly.

So, for demonstration, I have a ring group, strategy "ring all" with two target extensions 10 and 11.

10 has an iPhone and Windows softphone registered
11 has an iPhone and Windows softphone registered

If an external call comes into the ring group, 10 and 11 ring. If 10 declines the call on either the iPhone or Windows softphone, the other registered device on 10 continues to ring.

So - the "fix"

I have created two virtual extensions hidden from the phonebook and removed from the default group. Each virtual extension is configured to simultaneously call the associated mobile number. The available call forward timeout has been set to 300 and voicemail disabled. By setting the "Ring my mobile simultaneously" flag, the virtual extensions appear as registered. :)

110 has the mobile number 10
111 has the mobile number 11

The ring group members are modified from 10 and 11 to the associated virtuals 110 and 111.

If an external call comes into the ring group, 10 and 11 ring. If 10 declines the call on either iPhone or Windows softphone, the other registered device on 10 stops ringing. If 11 then subsequently declines the call on one registered device, both 11 devices stop ringing and the call is sent to the ring groups "destination if no answer".

This is going to make the users who have two devices VERY happy.

The only downside... and it's a biggy… The internal extension in the mobile field of each virtual extension increases the number of calls which count towards the SC limit on the PBX (at least I'm fairly sure they do) since the calls established in this method are not simple SIP forks (as indeed we don't want them to be).

I'll have to implement this approach for the management team who have multiple devices per extension. Luckily there are only a handful of these - most users have one DECT handset via a Gigaset N720.

I wish I could think of something better - but I can't. Will just have to see what the effect on the SC number is and rethink the plan if we start butting up against it.
 
Damn!

Problem...

Setting the mobile number on virtual extension 111 to 11 has an unexpected side-effect. It's bypassing the setting for DND or anything else on extension 11...

I have no idea why... perhaps a bug - but the developers probably didn't anticipate someone putting an internal extension number on the mobile field.

Regardless, although this mostly works, if 11 goes DND and you dial 111, extension 11 rings :(
 
Damn!

Problem...

Setting the mobile number on virtual extension 111 to 11 has an unexpected side-effect. It's bypassing the setting for DND or anything else on extension 11...

I have no idea why... perhaps a bug - but the developers probably didn't anticipate someone putting an internal extension number on the mobile field.

Regardless, although this mostly works, if 11 goes DND and you dial 111, extension 11 rings

First of all let me say that the "Ring my mobile Simultaneously" option was not designed for using system extensions as numbers. The reason extension 11 rings even though it is in DND is the same reason the extension rings when DND if you invite it to a conference. You do not want your voicemail answering and joining the conference. So the PBX will send an Invite to whatever you put in the mobile number section.
 
Thanks chap. I'm sure you can see I *love* 3cx and am desperate to implement it as long as I can make it behave more like the Asterisk solution it will replace :(

My "dream" would be to have a call queue set to ring all where if an agent sends "busy here" when the queue attempts to fork to them they are removed from the target list for this call - and yes, I get that I could put it in the suggestions list, but I doubt it would get many votes.

This is a small company which would like the features of a call queue - music/ads/position-in-queue-prompts etc but don't want/need the queue to call the phone every two seconds :(

I have actually posted another thread asking about the behaviour of the wrap-up timer. If the timer was triggered by "busy here" as opposed to answer/end then it would be perfect! :D
 
What does seem a little strange is that the call queue set to ring all DOES follow the SIP_FORKED_IP_BUSY parameter but the ring group does not...

When a call queue rings at two devices on the same extension and SIP_FORKED_IP_BUSY is 0, if one device declines the call, both devices immediately stop ringing (until polled by the queue again a couple of seconds later)
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,885
Messages
589,547
Members
164,745
Latest member
Herm77