redirect calls when registration is lost

Status
Not open for further replies.

Scubadave112

Member
Jan 24, 2020
122
20
18
37
I have a customer with 3 offices

Office 1 = Extensions 101-105 / Ring group 1001
Office 2 = Extensions 201-205 Ring group 2001
Office 3 = Extensions 301-305 Ring group 3001

if all the extensions from 301-305 are unregistered I would like to forward ring group 3001 to ring group 1001 and once the 301 - 305 extensions register I would like to disable the forwarding.

Does anyone know of a way to do this and if so can you please advise on how. If I can on say that if extension 301 is unregistered (vs all the 30*) that may be fine if it is the only way.
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
another solution may be to create a notification if a group of extensions don't have any registered devices
 

neeek

Member
Mar 12, 2021
31
4
8
41
I asked the same question not too long ago (I still dont have an easy answer I am afraid)
Call-forward-not-registered works, if you are only worried about 1 extension not being registered

I am still trying to find an easier solution than having to write a LUA script
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
I asked the same question not too long ago (I still dont have an easy answer I am afraid)
Call-forward-not-registered works, if you are only worried about 1 extension not being registered

I am still trying to find an easier solution than having to write a LUA script
can you tell me how you used it because i searched all of the internet and can't find a single example of how to use it
 

neeek

Member
Mar 12, 2021
31
4
8
41
can you tell me how you used it because i searched all of the internet and can't find a single example of how to use it
call-forward-not-registered ? it works if your destination is one extension, but not if your destination is a ring group.
the forward-not-registered works by checking the endpoint-disposition of a call attempt to the extension you are calling
however you want to know the registration status without having to call that extension or rather before having to call that extension

It does not look though, like there is an easy to check variable that you could have used in a dialplan, so you will probably
have to resort to a LUA script (which is why I am now teching myself LUA)
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
honestly i hate the idea of losing device management via fusionpbx but, just heard about YDMP and that is yealinks device management software, I can manage all my devices via this server and create all types of custom alerts when certain things happen.

I just spun up the server today and will play with it more tonight and tomorrow, but this looks like it could be a much easier to use and offer way more advanced features...

The cost is $0.25 per device per year. I just created a ticket on yealink's site and someone responded the next day with a 600 device trial license.

It is a little annoying that it requires 8 cores, 16gb ram and 200gb disk space (i made the VHD for 220 and it was so annoying to expand the LVM, so make it 500gb to be safe, especially if your using a dynamic VHD).... The install script check for these specs and if you don't have this the install will not complete at all (Super annoying as this VPS would be pricey, so on-prem is your best bet).

also this must run on CentOs, i kept having problems with centos8 so i gave up and spun up a centos7 (DVD1) and that worked just fine.

ill update with the results but I got over 500 phones out there across 10+ clients and I need alerts to notify of problems before the customer does as it looks way better when i am being proactive and not reactive
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
So.... I after speaking more with yealink he advised that I should just use YMCS which is completely free for up to 600 devices....this thing is the shiznet... best of all you can still manage everything from fusion.... i simply created a site in YMCS contoso and created a site setting to point the provisioning URL to my fusionpbx server and that all really... u have to add the device info into YMCS and add the parameters below to the cfg file (i just added this info to the proviosioning templates and fusion and it all worked out).

I am going to migrate a full site to YMCS tomorrow and this thing is the just awesome.. packet capture, screen capture, alert and notifications.... this thing has it all and it is free!


#!version:1.0.0.1

dm.enable = 1

dm.server.port = 443

dm.server.http_enable = 0

dm.server.https_enable = 0

dm.server.retry_min_interval = 5

dm.server.retry_interval_multiplier = 2000

dm.server.retry_interval_max_power = 5

features.usb_call_recording.enable = 1

voice.rtcp_xr.enable = 1

dm.server.address = dmtcp.yealink.com
 

neeek

Member
Mar 12, 2021
31
4
8
41
Does that not defeat the object ?

I mean getting an alert when an extension goes down is fine, but is the point not to have the redirection of calls automated ?
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
Does that not defeat the object ?

I mean getting an alert when an extension goes down is fine, but is the point not to have the redirection of calls automated ?
your 100% that with what I have at this very second doesn't accomplish my goal, however both fusion and YCMS have APIs so that may be an answer also I have still not completely played with this, so there may be a solution. If I don't find a fully automated solution that isn't a series of ghetto patches I will just upgrade my fusion membership (I should have done this a long time ago, just been to busy to tackle project till now) which comes with direct support and im sure they can help me with this as it isn't an odd request to implement a failover for when a customers internet fails

A big concern for me was being proactive and this allows me to do that very easily... today I got an alert that one of my customers phones was in a call today with bad audio quality and last night I got an alert for a phone failing to register.... fusion works very well in safari on my iphone, so getting the alert and manually making the change is simple (auto would be better) and for today that is awesome progress...
 

Scubadave112

Member
Jan 24, 2020
122
20
18
37
Ok so here is what I came up with and would love some insight if anyone can offer any.

My goal here is if one of customer A’s office should lose internet forward all call to the ring group for the HQ office

We have office A which will ring all the phones when RG (Ring Group) 7001 is dialed, then we have the same thing for HQ at RG 7000

If all the phones at office A become unregistered then we redirect RG 7001 to 7000. To do this I have already created my ring groups, so now I just go to the dialplan manager, select my ring group, then select XML and paste this fellow in there

Code:
<extension name=“Office A Main Inbound” continue="" uuid=“blah blah blah UUID”>
    <condition field="destination_number" expression="^7001$"/>
    <condition field='${sofia_contact 201@mycustomer.contoso.com}’ expression='^error'/>
    <condition field='${sofia_contact 203@mycustomer.contoso.com}' expression='^error'/>
    <condition field='${sofia_contact 204@mycustomer.contoso.com}' expression='^error'/>
    <condition field='${sofia_contact 208@mycustomer.contoso.com}' expression='^error'/>
    <condition field='${sofia_contact 210@mycustomer.contoso.com}' expression='^error'>
        <action application="transfer" data=“7000 XML mycustomer.contoso.com”/>
        <anti-action application="ring_ready" data=""/>
        <anti-action application="set" data="ring_group_uuid=UUID for RG 7001”/>
        <anti-action application="lua" data="app.lua ring_groups"/>
    </condition>
</extension>

I have tested and everything seems to be working ok, I would really appreciate if anyone could tell me if there is a problem doing it this way or a better way before i deploy this to my live customers
 
  • Like
Reactions: neeek
Status
Not open for further replies.