windowsmdm

Windows MDM - OMA DM - Device does not sync with server on Push notification


I am trying to implement Push notification to Windows DM Client. The Laptop which I am using has Windows 10 Pro setup with version 1709. Build Version 10.0.16299.547

I have followed following guide and started my implementation. https://learn.microsoft.com/en-us/windows/client-management/mdm/push-notification-windows-mdm

I have registered an app on windows developer center portal, obtained Package SID, application secret & PFN.

Using DMClient CSP(./Vendor/MSFT/DMClient/Provider/{ProviderID}/Push/PFN) set the PFN in device successfully I did got the channel URI as well using ./Vendor/MSFT/DMClient/Provider/{ProviderID}/Push/ChannelURI. The Status for Push is also successful, verified from Push/Status CSP.

When tried sending a Raw Push notification, the API returns 200 but the device does not calls my MDM Server's api for Sync.

Here is how I had sent the Push notification.

  1. Got the access token from successfully

from api https://login.live.com/accesstoken.srf in Post body I had sent grant_type=client_credentials scope=notify.windows.com client_id= client_secret=

  1. Sent a RAW push notification to Channel URI using access token obtained from above step. I followed this article(https://learn.microsoft.com/en-us/previous-versions/windows/apps/jj676791(v=win.10))

The RAW Push notification API returns 200 but I don't see any Sync api calls from Device.

For debugging, I have checked in Event Viewer

Applications and Services Logs -> Microsoft -> Windows -> Push Notifications-Platform -> Operational

As soon as I send Push Notification from my MDM server, I can see the notification being received in Device, Device does recognise the notification as WindowsMDMPush (as seen in Event viewer Logs), But the OMA DM Client does not triggers the api sync.

Can someone tell me what may be wrong in my implementation?


Solution

  • Finally got the solution, thanks to my colleague. The solution is, in the last API payload(Channel URI API payload) , WakeUp text needs to be sent.