eSpace客户端(V200R001版本)重复收到消息

发布时间:  2015-08-25 浏览次数:  224 下载次数:  0
问题描述
eSpace客户端(V200R001版本)重复收到消息可能有如下两种现象:
  • 在IM窗口正常聊天,发送即时消息后关闭IM窗口,立即(少于5min)切换到其他网络。半小时后重新切换至原网络,客户端收到之前已读的历史消息。
  • eSpace 客户端收到新消息提示,正常读取后关闭IM窗口。几小时后,退出客户端重新登录,收到之前已读的历史消息。
处理过程
客户端每隔5分钟上报一次已读消息。

第1种现象,通过更改读取消息与切换网络的间隔时间进行定位。

登录eSpace客户端后,重新读取消息一段时间(约10min)后,切换至其他网络,半小时后再次切换回原网络,客户端不再收到之前已读的历史消息。

第2种现象,通过跟踪信令进行定位。

1、获取并分析客户端日志。

客户端在“2014-12-16 16:28:57.514”上报了一条消息已读的INFO信令,如图5-1和图5-2所示。

图5-1 业务日志



图5-2 INFO日志



之后一直未收到服务器侧的响应消息,并在“2014-12-16 16:29:29.759 ”触发超时信息,如图5-3所示。

图5-3 超时日志



2、抓包并跟踪分析USM侧信令。

上报消息已读的INFO信令,在相同的时间段,USM侧的信令跟踪未收到该INFO信令,如图5-4所示。

图5-4 USM侧信令跟踪



确认消息已读的INFO信令在网络中被中间网元拦截,导致服务器没有收到客户端发送消息已读的确认信令。
根因
第1种现象,PC切换至其他网络,客户端网络断开,导致客户端不能及时向服务器上报消息已读的消息。

第2种现象,eSpace 客户端 已上报消息已读的信令至服务器,由于网络丢包或中间网元拦截(防火墙或SBC等),该信令未到达服务器侧,导致服务器侧仍认为该消息为未读消息。
解决方案
步骤 1 第1种现象,建议读取消息后,正常退出客户端,再切换至其他网络。

步骤 2 第2种现象,请通过以下方法解决。

1、将客户端从最靠近服务器侧接入(比如之间只隔交换机)开始测试,如果没问题,再一步步往外移动,排查出哪段网络设备拦截了消息。

2、了解客户网络结构,重点排查防火墙或SBC这些设备的配置规则,如IP访问策略和端口策略。

END