Presence Doesn't Update - Web Client

Hello.

I’m trying to work with the presence API but my web client does not update when I change the status from within the end user client web portal. (https://office.dev.mitel.io/0

Is there an issue with the environment?

Thanks

When you refer to “my web client”, is that your own app? Can you walk me through the steps that you’re taking, as far as specific API calls and UI actions go?

I just completed the following test to see if there was an issue with the environment:

  1. Logged into MOWA (https://office.dev.mitel.io)
  2. Changed my status to ‘busy’
  3. Ran GET /presentities/{principalID} and received a result saying both my aggregate and principal statuses were ‘busy’.
    a. In this case, the PrincipalID was the UserID from GET /accounts/{accountID}/users
  4. Changed my status in MOWA to ‘Available’
  5. Ran GET /presentities/{principalID} and received a result saying both my aggregate and principal statuses were ‘available’.

I also did a check using PUT /presentities/{principalID} to set my status to ‘away’ and verified that my status updated in MOWA correctly.

You also need to make sure that your client is receiving a notification that presence has changed. The best bet is using the Notification API to subscribe to notifications on presence change. For testing purposes you can use GET /presentities, but polling like that is bad design and in production will probably result in some cranky Mitel DevOps folks calling you.

See my screen shot attached. I am just using the MOMA web client to verify. I should be able to set my status in the portal and then see and/or change the status via API correct? My status will not change on the web portal.

Just so we’re on the same page (it’s been a long day), you mean that when you change the presence of your user with the API, it’s not changing their status in the MOMA client?

If so, can you please share the following?

  • The results of GET /accounts/{accountID}/users/{principalID}
  • The request body for, and results of, PUT /presentities/{principalID}

The principalID should be the same in both cases. Feel free to obfuscate any sensitive info, of course.

Thanks. The API works but for some reason, the web client does not allow me to change my status.

Ah, sorry for my confusion. Your issue appears to be something else entirely. I’ll reach out to you personally.

@jmills After digging into this, it looks like presence for the MOWA client is tied to line state of an extension. Since there’s no PBX (currently) deployed in the Sandbox environment, you won’t be able to update status through the web client. We are looking to deploy a MiVO 400 and give your team access, though I don’t have a timeline yet.

That doesn’t explain why it’s working for me, however other team members here at Mitel have reproduced your issue so I guess I’m just special.

All this said, presence is handled in varying ways depending on which Mitel app you’re working with. MiCollab for example has presence tied to user availability, not line state. I’ll make sure to include some information about that when I write the how-to guide for the Presence API in the coming weeks.

Thanks. Where can I get information on the MiCollab Presence API? I’m not finding anything on portal searches.

MiCollab uses CloudLink Chat, however it does not use CloudLink for presence. It is instead controlled through call controller or calendar configuration on MiCollab, and I’m afraid we don’t have an API for it at this point.