This article discusses push notification flow for Windows Phone 7.5 and iOS devices connected to Microsoft Lync Server 2010 on an internal network. It also identifies the port requirements for Windows Phone 7.5 and iOS devices to successfully register with the Microsoft Push Notification Service or Apple Push Notification Service, in order to receive push notifications. This document assumes that push notifications are properly configured and enabled for your Lync Server 2010 environment. For additional information, see Configuring for Push Notifications, Planning and Deploying Lync 2010 Mobility, and the Microsoft Lync Server 2010 Mobility Guide.
Author: Edwin Joseph
Publication date: May 21, 2012
Product version: Microsoft Lync server 2010 with Cumulative update for November 2011
The push notification flow begins when a device registers with either the Microsoft Push Notification Service or the Apple Push Notification Service. The service provides the device with a token. The token is shared with the application server or in this case Lync Server 2010 Front End Server. Whenever the application wants to send notifications, it shares the token with the push service provider. The push service provider contacts the Microsoft or Apple Push Notification Service and the service contacts the device.
Note: Android and Symbian mobile devices run applications in the background. Therefore, push notification services are not required on Android and Symbian mobile devices.
Following is a step by step walk-through of how this takes place.
Figure 1: Push notification flow
1. The Windows Phone or iOS device registers for push notification. For Windows Phone, this connection is made to the Microsoft Push Notification Services on Port 443/TCP in an outbound direction. For iOS devices this connection is made to the Apple Push Notification Services on Port 5223/TCP in an outbound direction. The mobile devices open a network channel with the Push Notification Services to be used in the later steps
2. When the registration has completed successfully, the Microsoft Push Notification Services or Apple Push Notification Services provide the corresponding device with a token. This is done through the channel created in step 1.
3. The device shares the token received from the Microsoft Push Notification Services or Apple Push Notification Services with Microsoft Lync Server 2010, Front End.
4. When Lync Server 2010 wants to notify the Lync Mobile user of a pending IM message, it sends the notification to the Lync Server Push service provider (Push.Lync.com) along with the token it received from the client. This connection is made on Port 5061/TCP in an outbound direction from the Lync Server, Edge Sever.
5. The Lync Server Push service provider (Push.Lync.com) resolves the contact and sends the request to either the Microsoft Push Notification Service or the Apple Push Notification Service.
6. The appropriate Push Notification Service sends the notification to the associated device through the channel created in step 1.
Note: The channel is kept open through the use of keep alive requests issued by the device.
For notification to work correctly for Windows Phone or iOS devices, firewall rules must allow port 443/TCP inbound and outbound and port 5223/TCP outbound.
- Apple Push notification Service
- iOS: Understanding Notifications
- Push Notifications Overview for Windows Phone
- Understanding How Microsoft Push Notification Works – Part 2
- Lync Server 2010 Mobility Guide
Lync Server Resources
- Lync Server 2010 Documentation Library
- DrRez blog
- NextHop blog
- Lync Server and Communications Server resources