How to re-establish communication between an MDM server and Windows Phone 8.1 more than 30 days past last renewal

Summary
When a Windows Phone 8.1 (WP8.1) device is managed by a Mobile Device Management (MDM) server, the DMClient Configuration Support Policy (CSP) on the device supports the configuration of push-initiated device management sessions. Through Windows Notification Service (WNS), the MDM server can request that the WP8.1 device establish a management session with the MDM server through a push notification. When the WP8.1 device is provided with a Package Full Name (PFN), the MDM server can configure the device to support push notification. After a device is configured, it registers a persistent connection with the WNS cloud (Battery Sense and Data Sense conditions permitting).

For more information, see Windows Phone 8.1 mobile device management.

Note The following restrictions pertain to push notifications and WNS:
  • The WP8.1 device provides a channel Universal Resource Identifier (URI) to the MDM server.
  • The channel URI is valid for only 30 days. The device automatically renews the channel URI after 15 days and triggers a management session on successful renewal of the channel URI.
  • MDM Push may fail to automatically renew the WNS Push channel, causing it to expire.

Problem statement

If the channel URI is not renewed by the WP8.1 device within 30 days, a server-based approach is required. For example, a device that has been powered-off for more than 30 days cannot re-establish communication.

This article provides a workaround to let you re-establish communication between an MDM server and the device.

Key scenarios in MDM push notification

  1. MDM server enables push notification
    When an MDM server enables push notification, it sends a new PFN to the DMClient CSP that's running on the device through an OMA-DM session. The PFN is used to register for push notifications with the WNS client. Along with registering with the WNS client, the DMClient CSP also requests a channel URI. The WNS client communicates with the WNS server to get a channel URI. The WNS client returns the Channel URI to the DMClient CSP, which then stores the URI in a data store on the device.
  2. MDM server push command for policy sync
    When an MDM server prepares to run a push command, it sends an HTTP post to the channel URI associated with the WNS server. The WNS server resolves the target device for the notification and communicates with the appropriate WNS client. The WNS client then signals a WNF event whose name was provided during PFN registration and which triggers a task on the device to handle the notification. The notification handler proceeds to start a new OMA-DM session. 

    Essentially , the push is like a shoulder tap from the WNS client to the MDM server to wake up and perform synchronization.

    Note
    There is no payload data involved in a push; it's just a wakeup call.
  3. MDM server refresh PFN
    When a MDM server replaces the PFN to be used for push, the current PFN is unregistered, and then scenario 1 is performed again.

    Therefore, this will also renew the channel URI, which is based on the new PFN. Because this process s initiated by the MDM server, this could be a workaround for a case in which the channel URI has already expired and the device cannot perform auto-channel URI renewal for some reason.
  4. Client channel URI renewal
    The channel URI expires after 30 days. To ensure continuity, the WP8.1 device has a scheduled task (the URI Renewal task) that renews the channel URI 15 days before the expiration date. After the channel URI has been renewed, the task reschedules itself to the next 15-day mark.

    The scheduled task ends after the 30-day expiration date, which means that the channel URI has not been renewed.

Workaround

When the channel URI has expired, it can't be renewed by the WP8.1 device. A server-based approach is required, and the recommended solution is to use a PFN refresh to initiate a renewal. To do this, follow these steps:
  1. Create a new PFN for the client, and enable push again from the MDM server. This is what happens in scenarios 1 and 3. The sample SyncML is provided below.

    Note The SyncML may vary, depending on your MDM solution.

    <SyncML xmlns="SYNCML:SYNCML1.2">
    <SyncBody>
    <Replace>
    <CmdID>6</CmdID>
    <Item>
    <Target>
    <LocURI>./Vendor/MSFT/DMClient/Provider/SCConfigMgr/Push/PFN</LocURI>
    </Target>
    <Data>Microsoft.Phone.Test.SamplePushApplication</Data>
    </Item>
    </Replace>
    </SyncBody>
    </SyncML>

  2. To successfully renew the channel URI, the WP8.1 device requires Internet connectivity so that it can receive the new policy and communicate with the WNS server. Microsoft strongly recommends that you use the manual sync button in the workspace to download the policy.
  3. After the channel URI is renewed on the WP8.1 device, the push channel will be active again.
Properties

Article ID: 3170699 - Last Review: 06/23/2016 23:44:00 - Revision: 1.0

Windows Phone 8.1

  • kbsurveynew kbaudit kbexpertiseinter kbhowto KB3170699
Feedback