When is "presenceStatus" ever "offline"?

  • 1
  • Question
  • Updated 1 year ago
For the purpose of explaining this I've got two extensions setup. Extension 101, with the id 378712345, is using a Polycom VVX-410 and extension 103, with the id 378712345, is just logged in with the softphone on OS X. If I unplug the Polycom phone and close the softphone (essentially making both extensions "offline") the API presence endpoint still responds with the following:
{
  "uri": "https://platform.ringcentral.com/restapi/v1.0/account/378712345/extension/378712345/presence";,
  "extension": {
    "uri": "https://platform.ringcentral.com/restapi/v1.0/account/378712345/extension/378712345";,
    "id": 378712345,
    "extensionNumber": "101"
  },
  "presenceStatus": "Available",
  "telephonyStatus": "NoCall",
  "userStatus": "Available",
  "dndStatus": "TakeAllCalls",
  "allowSeeMyPresence": true,
  "ringOnMonitoredCall": false,
  "pickUpCallsOnHold": false
}

{
  "uri": "https://platform.ringcentral.com/restapi/v1.0/account/378712345/extension/378712345/presence";,
  "extension": {
    "uri": "https://platform.ringcentral.com/restapi/v1.0/account/378712345/extension/378712345";,
    "id": 378712345,
    "extensionNumber": "103"
  },
  "presenceStatus": "Available",
  "telephonyStatus": "NoCall",
  "userStatus": "Available",
  "dndStatus": "TakeAllCalls",
  "allowSeeMyPresence": true,
  "ringOnMonitoredCall": false,
  "pickUpCallsOnHold": false
}

Additionally, on the Polycom phone, if I press the DND button the status reflects the change on the phone, however, the API results are the same as above.

What I'm expecting, based off the API docs, is that the "presenceStatus" should return "Offline" when either the softphone is closed or the Polycom phone has no network connection. Additionally, when the DND button is pressed on the Polycom phone, I would expect the "dndStatus" to return "DoNotAcceptAnyCalls".

My question is, what am I missing? Is there something specific that needs to be configured in the web interface (I do have "Allow other users to see my Presence status" set to on for both extensions)? How can we achieve the expected results outlined above?
Photo of Colin Calvert

Colin Calvert

  • 80 Points 75 badge 2x thumb

Posted 2 years ago

  • 1
Photo of Benjamin Dean

Benjamin Dean, Alum

  • 8,642 Points 5k badge 2x thumb
Hey Colin, thanks for providing such good information about the issue you are experiencing. I think there are a few different things which could be causing what you are seeing, but I'd like to be certain.

I'm communicating with our engineering team to be certain the answer you receive is 100% accurate.

Either myself or another member of our team will respond here as soon as we have the "gospel truth" for you.
Photo of Benjamin Dean

Benjamin Dean, Alum

  • 8,642 Points 5k badge 2x thumb
Hey Colin,

Thanks for your patience.

So I have the answer for you sir.

Physical Device Status:

Currently, there is no way to monitor the state of a physical device's connectivity or availability via the API. This feature is being actively developed and is on-track to be shipped in an upcoming release cycle.

Soft Phone Status:

You can monitor (using a subscription) the status which the user defines within the softphone for their settings (Busy, Available, Offline), but the Presence data does not display when the soft phone application is closed as "offline" unless the user has first set the soft phone into "Offline" mode (or by not accepting calls).

I put together this video for you to show you what I mean (it is in the final stages of processing by YouTube): https://www.youtube.com/watch?v=sUU8XuMkNH4
Photo of Colin Calvert

Colin Calvert

  • 80 Points 75 badge 2x thumb
Thanks for the detailed response and video. I'm not sure I agree with the methodology behind the software is closed but "a computer is still authorized"  so the "presenceStatus" is online. If the software is closed then the software can't ring. In my opinion, that is the definition of offline.
Photo of Benjamin Dean

Benjamin Dean, Alum

  • 8,642 Points 5k badge 2x thumb
I do see the value in what you have suggested and will share with our Product Management for consideration.

There currently is no feature (of which I am aware) on the desktop soft phones which "ping the mothership" or vice-versa to determine if a particular soft phone is still executing in memory on the host machine. I think this would be the type of feature needed to achieve the results you are seeking.

We expect the operating agent to modify their settings, and then for the IVR, call-routing, or voicemail to kick-in (in events where nobody answers on a particular leg).
Photo of Gyorgy Orban

Gyorgy Orban

  • 60 Points
Is there any update on this feature? We have just checked, the API endpoint still doesn't seem to return the connectivity status of users. It would be a very useful feature to monitor remote users with softphone-only access. Other SIP providers have this service too.
(Edited)