I ran into an issue at a customer recently where push notifications for mobility were not working. Upon further investigation, the messages were receiving a 504 timeout with the Push Notification Clearing House (PNCH).
For reference, the push process interacts with the PNCH, and then on to the Apple or Microsoft Push Services. This happens through Lync Federation, through a Lync Edge Server.
When you are testing push notifications, Test-CSMCXPushNotification is the cmdlet to use. This will actually attempt to send a push message to the clearing house and report back any errors.
When using this cmdlet, use the following syntax: Test-CSMCXPushNotification – AcessEdgeFQDN <INTERNAL EDGE POOL>
In my case, the error below was displayed:
PS C:\Users\rwintle> Test-CsMcxPushNotification -AccessEdgeFqdn edgepool.contoso.com
Test-CsMcxPushNotification : A 504 (Server time-out) response was received from the network and the operation failed. See the exception details for more information.
At line:1 char:27
+ Test-CsMcxPushNotification <<<< -AccessEdgeFqdn edgepool.contoso.com
+ CategoryInfo : OperationStopped: (:) [Test-CsMcxPushNotificatio
+ FullyQualifiedErrorId : WorkflowNotCompleted,Microsoft.Rtc.Management.Sy
After some investigation, Microsoft has confirmed that the Federation SRV record is required for push notifications to work properly.
The PNCH will perform a look up on the SIP Domain for the Federation SRV record (_sipfederationtls._tcp.contoso.com). If this does not succeed, a 504 error will be thrown.
To fix this issue, you must configure that SRV record to point to your access edge server used for outbound Lync Push Federation Requests.