[attach]591[/attach]
图一 故障现象
[attach]589[/attach]
图二 Gn接口抓包
继续查看MS(IMSI 460017922008611)的CDR信令记录如下图图三所示:
[attach]590[/attach]
图三 CDR信令日志记录
根据日志的观察,16:04:10发生了一次APN为“CMNET”的“Delete PDP Context”消息,还未收到响应消息,手机又发起一次APN为“CMWAP”的激活请求消息;而此时GGSN里的该IMSI的“CMNET”PDP上下文正在删除内部资源如手机地址、通知计费结束等,如果此时有相同IMSI的另一个APN如“CMWAP”发起激活请求,GGSN则会查到该用户使用了2个不同的APN,并且NSAPI都是5,GGSN会认为该用户的PDP上下文在GGSN里还存在,所以就会给SGSN返回“Mandatory IE incorrect”原因值的激活响应消息。而SGSN会给手机返回激活失败,失败原因为CC30 - “GGSN拒绝”。
三 结论
由于删除PDP和随后请求建立PDP上下文几乎是在同一时间产生,可能与手机终端应用有关,应该不是用户主动发起的请求,用户随后再次请求建立PDP是成功的。
附上本例的信令流程图,可能会更方便理解这个故障。
[attach]1181[/attach]
(1)MS发送Activate PDP Context Request消息给SGSN,请求见到到xxnet这个APN的会话。同时请求为这个PDP会话分配NSAPI值为5。
(2)SGSN向GGSN发起Create PDP Context Reuqest消息用于为MS请求建立到xxnet这个APN的连接,并将NSAPI信息元素值设置为5。
(3)GGSN进行确认,为MS建立到xxnet这个APN的会话,并给SGSN回应Create PDP Context Response消息。NSAPI信息元素值设置为5。用于标识MS到xxnet这个APN的PDP上下文。
(4)SGSN给MS发送Activate PDP Context Accept消息确认到xxnet的APN会话连接建立成功,并将网络侧分配好的NSAPI值告知MS,MS收到后将NSAPI=5保存下来。
接下来,MS几乎同时发出两条信令消息。
(5) MS发送Deactivate PDP Context Request消息给SGSN,请求将NSAPI=5的这一个PDP上下文去激活,对应的APN为xxnet。同时,在MS侧,已经将对应的NSAPI=5的值在本地删除。
(6) 同时,MS向MS发送了Create PDP Context Request消息给SGSN,请求建立到xxwap这个APN的会话连接,并请求分配NSAPI=5。
SGSN收到这两条消息后,据此向GGSN发送了两条信令消息。
(7) 做为对第5步MS请求去激活NSAPI=5这个PDP上下文的响应,SGSN向GGSN发送Delete PDP Context Request消息,请求GGSN将NSAPI=5的这条PDP上下文删除。
(8) 做为对第6步MS请求见到到xxwap这个APN的PDP会话的响应,SGSN向GGSN发送Create PDP Context Request消息,请求GGSN为MS建立到xxwap这个APN网络的PDP会话,并且请求分配NSAPI=5。
(9) 由于第7步的Delete PDP Context Request消息和第8步的Create PDP Context Request消息可能是同时到达的或者第8步的Create PDP Context Request消息先于第7步的Delete PDP Context Request到达GGSN,则GGSN侧意识到关于NSAPI=5这个值已经被分配给了MS到xxnet这个APN的PDP上下文,而现在又收到了同一个MS的PDP上下文创建请求,请求的NSAPI也是等于5。则GGSN侧会认为做为MS请求的消息中,NSAPI做为强制的信息元素取值不正确,从而给SGSN回应带有CC201(Mandatory IE incorrect)的Create PDP Context Response消息,通知SGSN,这次PDP上下文激活失败是因为协议中有强制的信息元素取值不正确导致的。
(10)SGSN根据GGSN的指示,给MS回应带有原因代码CC30的Activate PDP Context Reject消息,通知MS本次PDP上下文激活失败,并且是由GGSN拒绝的。
欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) | Powered by Discuz! X2 |