摘要:给出了HSDPA数据卡在网络开启HSPA+功能后数据业务不能成功建立问题的解决方案。经现场实际应用,该解决方案完全可行。
1 问题现象
2011年5月中旬起,中国联通的WCDMA网络陆续升级开通了HSPA+功能,使得小区级数据业务的物理层下行最高速率由只支持HSDPA功能时的14.4Mbit/s上升到了21Mbit/s。然而,测试人员和用户发现,市场占有率很高的某品牌的只支持HSDPA功能的数据卡,在网络开启HSPA+功能后,数据业务却不能正常建立了。
2 原因分析
为什么WCDMA网络开启HSPA+功能后,这款只支持HSDPA功能的数据卡的数据业务就不能正常建立了?
首先分析一下数据业务建立失败的信令流程图(见图1)。
图1 数据业务建立失败的流程图
从图1所示的信令流程图可以看出,当核心网下发Activate PDP Context Accept消息给数据卡,表示PDP Context在网络侧已经成功建立后,数据卡却立即发出了Deactivate PDP Context Request消息给核心网,要求释放该PDP Context,原因为QoS not accepted,表示核心网要求数据卡建立的PDP Context中的QoS,数据卡不能支持。于是数据业务建立失败。
QoS表示用户业务的服务质量,包含业务类型、优先级、延迟时间、误码率、上下行最大速率、上下行保证速率等属性。在用户的数据业务建立过程中,最终建立的QoS由以下因素协商决定:
(1)用户请求的QoS,在消息Activate PDP Context Request中由UE发给核心网网元SGSN。
(2)用户签约的QoS,在核心网网元HLR中记录。在用户附着到网络以及路由区更新时,由HLR发给SGSN保存使用。
(3)核心网的资源状况,包括SGSN以及GGSN的资源状况。
(4)无线接入网的资源状况,包括小区的下行信道码资源,下行功率资源,Iub接口的传输资源,NodeB的基带信号处理单板的处理能力,小区的上行负载等因素。
在网络开启HSPA+功能前后,用户签约的QoS发生了变化。其中QoS属性中下行最大速率由14.4Mbit/s提高到了21Mbit/s。
比较一下网络开启HSPA+功能前后的数据卡建立数据业务的信令流程,主要区别有:
(1)核心网SGSN发给RNC的消息RAB Assignment Request中,参数最大下行速率Maximum Bit Rate for Downlink的值不同,先前为14.4Mbit/s,后来为21Mbit/s。
(2)核心网SGSN发给数据卡的SM消息Activate PDP Context Accept中,参数最大下行速率Maximum Bit Rate for Downlink的值不同,先前为14.4Mbit/s,后来为21Mbit/s。
在该数据卡发出的消息Activate PDP Context Request中,请求的最大下行速率Maximum Bit Rate for Downlink为Subscribed Maximum Bit Rate,也就是以用户的签约数据为准。
由于这款数据卡只支持HSDPA功能,其物理层所能处理的最大下行速率为14.4Mbit/s。当核心网SGSN在SM消息Activate PDP Context Accept中,告诉数据卡所建立的PDP Context的QoS的属性Maximum Bit Rate for Downlink为21Mbit/s时,数据卡发现超出了它的处理能力,所以立刻发起了Deactivate PDP Context Request消息给核心网,要求释放该PDP Context,原因为QoS not Accepted。
3 解决方案
基于以上原因分析,有以下两种解决方案。
(1)第一种解决方案
数据卡在发起建立数据业务时,在SM消息Activate PDP Context Request中,将参数最大下行速率Maximum Bit Rate for Downlink设置为自己所能支持的值,即14.4Mbit/s,而非Subscribed Maximum Bit Rate。这样核心网SGSN就不会按照该用户签约的最大下行速率来建立PDP Context。故SGSN在下发给RNC的RANAP消息RAB Assignment Request中,参数最大下行速率Maximum Bit Rrate for Downlink的值就可以设置为14.4Mbit/s。相应地,SGSN发给数据卡的SM消息Activate PDP Context Accept中,告诉数据卡所建立的PDP Context的QoS的属性Maximum Bit Rate for Downlink也就为14.4Mbit/s。这样数据卡就完全可以接受。
这一方案实现起来最简单,甚至连数据卡的软件也不用做出修改,直接用AT命令修改数据卡请求的最大下行速率即可。
AT+CGEQREQ=[<CID> [,<Traffic Class> [,<Maximum Bit Rate UL> [,<Maximum Bit Rate DL>
例如,AT+CGEQREQ =1,2,64,7164,无线接入网和核心网都不需要改变。
这是一种最优的解决方案。
(2)第二种解决方案
3GPP定义了核心网SGSN和无线接入网RNC之间的RAB QoS协商功能。开启这一功能,也可以解决这一问题。在建立RAB时,SGSN发给RNC的RANAP消息RAB Assignment Request中,除了带参数最大下行速率Maximum Bit Rate for Downlink,还可以带另外一个参数备选的最大下行速率Alternative Maximum Bit Rate for Downlink,让RNC选择一个较低的速率。由于数据卡在建立RRC连接的过程中,已经将自己的HS-DSCH Physical Layer Category 通过消息RRC Connection Setup Complete告知了RNC,而每一种HS-DSCH Physical Layer Category对应一定的最大下行速率,因此RNC就知道了该数据卡所能支持的最大下行速率。这样RNC就可以根据数据卡的能力以及无线资源状况选择适当的最大下行速率,然后通过RANAP消息RAB Assignment Response告诉SGSN。这一速率不会超过数据卡的处理能力。这样,SGSN发给数据卡的SM消息Activate PDP Context Accept中,告诉数据卡所建立的PDP Context的QoS的属性Maximum Bit Rate for Downlink也就不会超过数据卡的处理能力了。
这一解决方案,数据卡不需要进行任何改动,但是需要核心网SGSN和无线接入网控制器RNC支持RAB QoS协商功能。有些设备制造商的设备可能不支持该功能。
4 结束语
通过解决这一问题,经验和心得是:
(1)在产品设计阶段,如果对3GPP协议和WCDMA系统有精深理解,就不会导致该问题的产生。
(2)在开启一个新的功能之前,如果能够在实验室里进行充分的互操作性测试,就会尽早发现问题和给出解决方案,提高现网用户的满意度。