在 Lync Server 2013 中测试到智能手机的推送通知

 

上次修改的主题: 2017-03-15

验证计划

每月

测试工具

Windows PowerShell

所需的权限

使用 Lync Server Management Shell 在本地运行时,用户必须是 RTCUniversalServerAdmins 安全组的成员。

使用远程实例Windows PowerShell运行时,必须为用户分配有权运行Test-CsMcxPushNotification cmdlet 的 RBAC 角色。 若要查看可以使用此 cmdlet 的所有 RBAC 角色的列表,请从Windows PowerShell提示符运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Test-CsMcxPushNotification"}

说明

推送通知服务 (Apple 推送通知服务和 Microsoft 推送通知服务) 可以向移动设备(如 iPhone 和 Windows Phone)发送有关事件(如新即时消息或新语音邮件)的通知,即使这些设备上的 Lync 客户端当前已暂停或在后台运行。 推送通知服务是基于云的服务,在 Microsoft 服务器上运行。 若要利用推送通知,必须能够连接到推送通知清除库并对其进行身份验证。 Test-CsMcxPushNotification cmdlet 使管理员能够验证是否可以通过 Edge 服务器将推送通知请求路由到推送通知清除程序。

运行测试

若要测试推送通知服务,请调用Test-CsMcxPushNotification cmdlet。 请确保指定 Edge 服务器的完全限定域名:

Test-CsMcxPushNotification -AccessEdgeFqdn "atl-edge-001.litwareinc.com"

有关详细信息,请参阅 Test-CsMcxPushNotification cmdlet 的帮助主题。

确定成功或失败

如果Test-CsMcxPushNotification成功,cmdlet 将返回测试结果成功:

TargetFqdn: atl-cs-001.litwareinc.com

结果:成功

延迟: 00:00:00

错误:

诊断:

如果Test-CsMcxPushNotification无法连接到推送通知清除库,则 cmdlet 通常不会返回失败的测试结果。 相反,该命令通常会完全失败。 例如:

Test-CsMcxPushNotification:从网络收到 504 (服务器超时) 响应,操作失败。 有关详细信息,请参阅异常详细信息。

第一行:1 char:27

+ Test-CsMcxPushNotification <<<< -AccessEdgeFqdn lyncedge.mydomain.com

+ CategoryInfo: OperationStopped: (:) [Test-CsMcxPushNotification], FailureResponseException

+ FullyQualifiedErrorId: WorkflowNotCompleted,Microsoft.Rtc.Management.SyntheticTransactions.TestMcxPushNotificationCmdlet

测试失败的原因

如果推送通知服务失败,通常指示与 Edge 服务器通信时出现问题,或者与推送通知清算所通信时出现问题。 如果在运行 Test-CsMcxPushNotification 时遇到问题,首先应验证 Edge 服务器是否正常工作。 执行此操作的一种方法是使用Test-CsAVEdgeConnectivity cmdlet:

$credential = Get-Credential "litwareinc\kenmyer"

Test-CsAVEdgeConnectivity -TargetFqdn "atl-cs-001.litwareinc.com" -UserSipAddress "sip:kenmyer@litwareinc.com" -UserCredential $credential

此检查验证指定用户是否可以连接到 Edge 服务器。

如果 Edge 服务器似乎正常工作,这通常意味着无法连接到推送通知清除程序。 反过来,这通常意味着你要么未正确配置清除程序 URI,要么没有指向此 URL 的 DNS SRV 记录。 通过运行以下命令,可以验证 URI 是否设置为正确的值 (:push@push.lync.com) :

Get-CsMcxConfiguration

如果 PushNotificationProxyUri 属性设置为 sip 以外的任何内容:push@push.lync.com 则可以使用 Set-McxConfiguration cmdlet 来更正此问题。 例如,此命令正确设置整个组织的 URI:

Get-CsMcxConfiguration | Set-CsMcxConfiguration -PushNotificationProxyUri "sip:push@push.lync.com"

有关详细信息,请参阅 Set-CsMcxConfiguration cmdlet 的帮助主题。

如果正确配置了 URI,则下一步应该是验证你的 DNS SRV 记录是否解析为 SIP 域和 Edge 服务器。 有关如何配置这些记录的详细信息,请参阅帮助主题 DNS 移动性要求。 请注意,以下错误消息通常指示 DNS 记录出现问题:

从网络收到 504 (服务器超时) 响应,操作失败。 有关详细信息,请参阅异常详细信息。

此外,Test-CsMcxConfiguration也可能会失败并出现此错误消息:

Test-CsMcxPushNotification:推送通知请求被拒绝。

第一行:1 char:27

+ Test-CsMcxPushNotification <<<<

+ CategoryInfo: OperationStopped: (:) [Test-CsMcxPushNotification], SyntheticTransactionException

+ FullyQualifiedErrorId: WorkflowNotCompleted,Microsoft.Rtc.Management.SyntheticTransactions.TestMcxPushNotificationCmdlet

如果已启用 URL 筛选并阻止 http:和 https:前缀,则通常会出现“推送通知请求被拒绝”消息。 可以使用类似于以下命令的命令来确定阻止哪些前缀:

 (Get-CsImFilterConfiguration -Identity Global).Prefixes

如果结果中出现 http:或 https:,则必须从阻止的前缀列表中删除它们,以使推送通知正常工作。 可以通过使用类似于以下命令的命令来完成此操作:

Set-CsImFilterConfiguration -Identity site:Redmond -Prefixes @{remove="http:"}
Set-CsImFilterConfiguration -Identity site:Redmond -Prefixes @{remove="https:"}

有关详细信息,请参阅 Set-CsImFilterConfigurationcmdlet 的帮助主题。