Looking for a solution in EM, can you please provide your valuable suggestion, below is the use case and the requirement
Usecase: I need to find whether some one has logged in to Extension Mobility in a workspace.
Requirement: Based on the EM login i have to display the status of the workspace that it is occupied
Current solution: Have to use UserQuery API for all the MACAddress to get the EM status
Issue: Making UserQuery calls for all the IPPhones on every refresh will have performance issue OR we can have a quartz JOB which will fetch the status of all the IPPhones, as it is polling not sure how frequently have to poll.
Looking for: Is there any event Notification mechanism? i.e. if any user login to EM then there would be a notification which will inform about the event, based on this we can maintain the status of the workspace.
Unfortunately there is not a notification mechanism for receiving updates about E/M status events. As you suggest, polling would be pretty heavyweight and would lag somewhat.
One possibility would be to 'proxy' the E/M service - i.e. replace the built-in E/M IP Phone Service that the phones use when they log in/out, and point it to a more-or-less identical IP Phone Service that you build into your app, which in turn uses the E/M API calls to log the phones in and out. In this way your app is aware immediately of all login/logout requests.
Thanks for the reply, Is there any provision to build a custom component in CUCM which can send the notification?
Outside of using the published CUCM APIs (like EM API) to build custom integrations/apps - no
Thank you for the confirmation. You had suggested to build proxy EM service that will replace built-in service and to use EM API to login and logout, but the APIs accept application username and password and only the end user's ID this is not same as built in app which accepts end users userid and pin.
1.my concern is if the API doesn't ask for end user pin then it can be misused by anyone who knows the userid.
2.instead of app user credentials i can use end user's credentials but entering the password is difficult given it's complexity, pin would be easy to enter but in API there is no such option and i tried pin in <appCertificate> field and it fails