Page 1 of 1

Modoify inbound routing based on Geolocation

Posted: Mon Nov 10, 2014 4:56 am
by PaulC
I would like to be able to change how calls are routed, depending on where I am. My schedule is pretty flexible, and I currently ring phones in a couple of locations plus my cellphone for incoming calls - which is pretty irritating for the folks near the phones I'm not near. The simplest example I can think of is:
  • If I'm at home, ring my home phone
  • If I'm at work, ring my desk phone and cellphone
  • If I'm somewhere else, just ring my cellphone
My actual situation is more complex, but you get the gist, I'm sure :)

I don't see an obvious way to tackle this without using external resources like a database or HTTP server to hold state persistently that is queried from the dialplan. That's fine, I am expecting to write some code behind an HTTP server for some of the other stuff I'd like to do.

The IFTTT mobile apps support notifications on entry/exit of a geofence and can forward that notification to the PushBullet service, so it's easier to do than it might first appear.

Not sure what I'm specifically asking for, exactly. Perhaps a PushBullet destination for notifications which persistently stores the last received notification that matches a pattern, that I can query from my dialplan? There must be multiple ways to solve this, I'm not particularly wedded to any particular one.

Best regards,

- Paul

Re: Modoify inbound routing based on Geolocation

Posted: Wed Nov 12, 2014 10:00 am
by Aaron
The best way to manage state for sipsorcery dialplans is to use the database key value storage provided by the sys.DBWrite and sys.DBRead methods http://www.sipsorcery.com/mainsite/Help ... s#Database.

It wouldn't be too much of a leap to provide a web service that could replicate those two functions. That way you could use the PushBullet service to update your key/values in the sipsorcery database and then use those in your dialplan to control your call routing.