问题描述:
【问题描述】
3G时会有两次 Activate PDP context request消息
【预期结果】
一次PDP
【实际结果】
两次
【出现概率】
必现

问题分析:
3G RRC的协议:25.331
3rd Generation Partnership Project;
Technical Specification Group Radio Access Network;
Radio Resource Control (RRC);
Protocol specification

日志分析:
attach完成后,C代码AP的数据拨号来的比较快,为attach流程建立的RRC还没有释放数据拨号就来了;而Android平台一般是attach完RRC释放后数据拨号才来;
展锐平台为ATTACH_REQUEST建立的RRC不会用来发送ACTIVATE_PDP_CONTEXT_REQUEST,因为ATTACH_REQUEST和ACTIVATE_PDP_CONTEXT_REQUEST需要建立RRC的原因是不一样的,具体见下面日志分析。
高通平台好像有RRC链接就可用来发送信令,应该是平台实现差异;
从AP和modem的流程看都没问题,也没有实质的影响,没必要改。
展锐两次激活承载日志:
//attach:RRC建立原因为REGISTRATION
752-168     17:26:55.820  SIM1      FF -> ATTACH_REQUEST                                                                                  0:00:13.996   
estb_cause = 0xc:REGISTRATION
//RRCCONNECTIONREQUEST:原因REGISTRATION 
766-46      17:26:55.887  SIM1   3G FF                                                      -> RRCCONNECTIONREQUEST                       0:00:14.063   
establishmentCause = EstablishmentCause_REGISTRATION
……
//ATTACH完成:
1426-162 17:27:00.413 SIM1 FF -> ATTACH_COMPLETE 0:00:18.589 
1428-37 17:27:00.421 SIM1 3G FF -> UPLINKDIRECTTRANSFER 0:00:18.597

//AP发起数据拨号:
……
//ACTIVATE_PDP_CONTEXT_REQUEST:RRC建立原因为ORIG_INTERACTIVE_CALL,与现存的ATTACH时RRC建立原因REGISTRATION不同 
1485-263 17:27:00.713 SIM1 FF -> ACTIVATE_PDP_CONTEXT_REQUEST 0:00:18.889 
cause = ORIG_INTERACTIVE_CALL
radio_priority = RADIO_PRIORITY_1
//ACTIVATE_PDP_CONTEXT_REQUEST后没有信令UPLINKDIRECTTRANSFER,而是mnm_gprs_pdp_activate_struct_dealloc,说明展锐modem没想把ACTIVATE_PDP_CONTEXT_REQUEST发给网络;
//应该是展锐不想在RRC建立原因是REGISTRATION的RRC上发送RRC建立原因应该是ORIG_INTERACTIVE_CALL的ACTIVATE_PDP_CONTEXT_REQUEST信令:
1486-183 17:27:00.717 17:27:00.717 mnm_gprs_pdp_activate_struct_dealloc

//网络释放建立原因是REGISTRATION的RRC: 
1627-150 17:27:01.612 SIM1 3G FF <- RRCCONNECTIONRELEASE 0:00:19.788 
releaseCause = ReleaseCause_NORMALEVENT
1627-337 17:27:01.613 SIM1 3G FF -> RRCCONNECTIONRELEASECOMPLETE 0:00:19.789 
1633-243 17:27:01.653 SIM1 3G FF -> RRCCONNECTIONRELEASECOMPLETE 0:00:19.829 
//重新发起ACTIVATE_PDP_CONTEXT_REQUEST,并完成: 
1667-147 17:27:02.182 SIM1 FF -> ACTIVATE_PDP_CONTEXT_REQUEST 0:00:20.358 
cause = ORIG_INTERACTIVE_CALL
radio_priority = RADIO_PRIORITY_1
1667-166 17:27:02.185 SIM1 FF -> SERVICE_REQUEST 0:00:20.361 
estb_cause = 0x2:ORIG_INTERACTIVE_CALL
1674-411 17:27:02.246 SIM1 3G FF -> RRCCONNECTIONREQUEST 0:00:20.422 
establishmentCause = EstablishmentCause_ORIGINATINGINTERACTIVECALL
1694-40 17:27:02.442 SIM1 3G FF <- RRCCONNECTIONSETUP 0:00:20.618 
1704-253 17:27:02.535 SIM1 3G FF -> RRCCONNECTIONSETUPCOMPLETE 0:00:20.711 
1704-271 17:27:02.536 SIM1 3G FF -> INITIALDIRECTTRANSFER 0:00:20.712

1773-161 17:27:03.037 SIM1 3G FF -> UPLINKDIRECTTRANSFER 0:00:21.213 
1774-152 17:27:03.046 SIM1 3G FF <- DOWNLINKDIRECTTRANSFER 0:00:21.222 
1774-199 17:27:03.046 SIM1 FF <- IDENTITY_REQUEST 0:00:21.222 
1775-338 17:27:03.051 SIM1 FF -> IDENTITY_RESPONSE 0:00:21.227 
1775-357 17:27:03.051 SIM1 3G FF -> UPLINKDIRECTTRANSFER 0:00:21.227 
1704-271 17:27:02.536 SIM1 3G FF -> INITIALDIRECTTRANSFER 0:00:20.712 
1773-161 17:27:03.037 SIM1 3G FF -> UPLINKDIRECTTRANSFER 0:00:21.213 
1774-152 17:27:03.046 SIM1 3G FF <- DOWNLINKDIRECTTRANSFER 0:00:21.222 
1774-199 17:27:03.046 SIM1 FF <- IDENTITY_REQUEST 0:00:21.222 
1775-338 17:27:03.051 SIM1 FF -> IDENTITY_RESPONSE 0:00:21.227 
1775-357 17:27:03.051 SIM1 3G FF -> UPLINKDIRECTTRANSFER 0:00:21.227 
2059-262 17:27:04.727 SIM1 3G FF <- DOWNLINKDIRECTTRANSFER 0:00:22.903 
2060-87 17:27:04.729 SIM1 FF <- ACTIVATE_PDP_CONTEXT_ACCEPT 0:00:22.905

高通平台日志:
//RRC建立原因:registration[0x412F/000/001] OTA LOG 05:46:12.466 UL_CCCH RRC Connection RequestRadio Bearer ID: 0, Length: 172
establishmentCause registration,
//ATTACH,并完成: 
[0x713A/008/001] OTA LOG 05:46:12.728 GMM_ATTACH_REQUEST Direction: MS To Network Length: 61
[0x713A/008/003] OTA LOG 05:46:13.742 GMM_ATTACH_COMPLETE Direction: MS To Network Length: 2
//释放RRC,android平台数据拨号应该比C来的慢,这时数据拨号还没来
[0x412F/003/015] OTA LOG 05:46:14.824 DL_DCCH RRC Connection ReleaseRadio Bearer ID: 1, Length: 72
[0x412F/001/017] OTA LOG 05:46:14.824 UL_DCCH RRC Connection Release CompleteRadio Bearer ID: 1, Length: 62
[0x412F/001/017] OTA LOG 05:46:14.865 UL_DCCH RRC Connection Release CompleteRadio Bearer ID: 1, Length: 62
//RRC建立原因:originatingSubscribedTrafficCall
[0x412F/000/001] OTA LOG 05:46:21.034 UL_CCCH RRC Connection RequestRadio Bearer ID: 0, Length: 172
establishmentCause originatingSubscribedTrafficCall,
[0x713A/008/012] OTA LOG 05:46:21.288 GMM_SERVICE_REQUEST Direction: MS To Network Length: 13
//SM_ACTIVATE_PDP_CONTEXT_REQUEST,并完成:
[0x713A/010/065] OTA LOG 05:46:21.888 SM_ACTIVATE_PDP_CONTEXT_REQUESTDirection: MS To Network Length: 69
[0x713A/008/021] OTA LOG 05:46:21.897 GMM_IDENTITY_REQUEST Direction: Network To MS Length: 3
[0x713A/008/022] OTA LOG 05:46:21.898 GMM_IDENTITY_RESPONSE Direction: MS To Network Length: 11
[0x713A/010/066] OTA LOG 05:46:23.558 SM_ACTIVATE_PDP_CONTEXT_ACCEPTDirection: Network To MS Length: 63
//释放RRC:
[0x412F/001/022] OTA LOG 05:46:41.985 UL_DCCH Signaling Connection Release IndicationRadio Bearer ID: 2, Length: 62
[0x412F/003/015] OTA LOG 05:46:42.947 DL_DCCH RRC Connection ReleaseRadio Bearer ID: 1, Length: 72
[0x412F/001/017] OTA LOG 05:46:42.948 UL_DCCH RRC Connection Release CompleteRadio Bearer ID: 2, Length: 62
//detach过程:
[0x412F/000/001] OTA LOG 05:46:50.765 UL_CCCH RRC Connection RequestRadio Bearer ID: 0, Length: 172
establishmentCause detach, 
[0x7B3A/008/005] OTA LOG 05:46:51.002 GMM_DETACH_REQUEST_MO Subscription ID: 2 Direction: MS To Network Length: 152
[0x7B3A/008/006] OTA LOG 05:46:51.278 GMM_DETACH_ACCEPT Subscription ID: 2 Direction: Network To MS Length: 32
[0x412F/003/015] OTA LOG 05:46:51.517 DL_DCCH RRC Connection ReleaseRadio Bearer ID: 1, Length: 32
[0x412F/001/017] OTA LOG 05:46:51.518 UL_DCCH RRC Connection Release CompleteRadio Bearer ID: 1, Length: 22
[0x412F/001/017] OTA LOG 05:46:51.558 UL_DCCH RRC Connection Release CompleteRadio Bearer ID: 1, Length: 22
//下面是DUN拨号过程:高通可以在建立原因是registration的RRC上发送SM_ACTIVATE_PDP_CONTEXT_REQUESTS:
//RRC建立原因:registration
[0x412F/000/001] OTA LOG 05:46:55.042 UL_CCCH RRC Connection RequestRadio Bearer ID: 0, Length: 172
establishmentCause registration, 
//ATTACH,并完成: 
[0x7B3A/008/001] OTA LOG 05:46:55.310 GMM_ATTACH_REQUEST Subscription ID: 2 Direction: MS To Network Length: 572

[0x7B3A/008/002] OTA LOG 05:46:56.437 GMM_ATTACH_ACCEPT Subscription ID: 2 Direction: Network To MS Length: 302
[0x7B3A/008/003] OTA LOG 05:46:56.445 GMM_ATTACH_COMPLETE Subscription ID: 2 Direction: MS To Network Length: 22
[0x412F/001/027] OTA LOG 05:46:56.445 UL_DCCH Uplink Direct TransferRadio Bearer ID: 3, Length: 102
//在为attach建立的RRC上发送SM_ACTIVATE_PDP_CONTEXT_REQUEST,并完成;
[0x7B3A/010/065] OTA LOG 05:46:56.449 SM_ACTIVATE_PDP_CONTEXT_REQUESTSubscription ID: 2 Direction: MS To Network Length: 692
[0x412F/001/027] OTA LOG 05:46:56.449 UL_DCCH Uplink Direct TransferRadio Bearer ID: 3, Length: 772
[0x412F/003/005] OTA LOG 05:46:58.468 DL_DCCH Downlink Direct TransferRadio Bearer ID: 3, Length: 712
[0x7B3A/010/066] OTA LOG 05:46:58.469 SM_ACTIVATE_PDP_CONTEXT_ACCEPTSubscription ID: 2 Direction: Network To MS Length: 632

结论:
attach完成后,C代码AP的数据拨号来的比较快,为attach流程建立的RRC还没有释放数据拨号就来了;而Android平台一般是attach完RRC释放后数据拨号才来;展锐平台为ATTACH_REQUEST建立的RRC不会用来发送ACTIVATE_PDP_CONTEXT_REQUEST,因为ATTACH_REQUEST和ACTIVATE_PDP_CONTEXT_REQUEST需要建立RRC的原因是不一样的;因此为ATTACH_REQUEST建立的RRC没释放前来数据拨号就会有两次ACTIVATE_PDP_CONTEXT_REQUEST。
高通平台好像有RRC链接就可用来发送信令(不管建立原因);应该是平台实现差异;

3G时会有两次 Activate PDP context request消息相关推荐

  1. APNS提供了两项基本的服务:消息推送和反馈服务

    推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的.一般说来,当要显示消息或下载数据的时候, ...

  2. 如何在ashx里提取context.Request.Files?

    我想实现一个功能,就是上传一个文件时,需要无刷新,我想利用脚本和ashx来实现,现在问题是,我在ashx里提取context.Request.Files总是为空,

  3. java.lang.ClassNotFoundException: org.springframework.web.context.request.Reques

    一月 24, 2015 4:51:02 下午 org.apache.tomcat.util.digester.SetPropertiesRule beginWARNING: [SetPropertie ...

  4. JBOSS启动警告 Not installing optional component org.springframework.web.context.request.async.Standard

    在本地用jboss部署时发生了以下的警告,但是可以正常运行程序.tomcat下无问题,但jboss有发生此类问题 JBAS011006: Not installing optional compone ...

  5. 直接杀向3G市场!华为两款新手机曝光

    华为在香港举行的3G World Congress & Exhibition上发布了两款UMTS制式的3G手机,华为直接跳过GSM市场直扑3G手机的决心令人佩服. [被過濾的廣告] 其中一款U ...

  6. jQuery —— 元素绑定单击事件(click),但是双击该元素也能触发单击事件,同时会触发两次单击事件的问题

    最近做项目遇到一个问题,给元素绑定了单击事件,但是双击该元素时同样会触发单击事件,并且触发两次的问题,网上找了解决办法基本上都是用 clearTimeout .setTimeout 解决,但是效果不是 ...

  7. 在做微信公众号网页授权的时候,有时会重定向两次网页(302问题)

    在做微信公众平台网页授权时,发现每次请求授权链接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxx&redirect_ ...

  8. 去掉MacOS(MacBook)复制的时候的咔嚓声、为什么复制时会出现两次咔嚓声

    背景 macOS中使用command+c复制的时候为什么会有咔嚓声?为什么用了一段时间后command+c会有挨得很近的两次咔嚓声?是系统的bug吗? 步骤 1.如何去掉咔嚓声 其实系统复制的时候是没 ...

  9. 两个故事讲述什么是消息队列

    案例 1 有一天,产品跑来说:"我们要做一个用户注册功能,需要在用户注册成功后给用户发一封成功邮件." 小明(攻城狮):"好,需求很明确了." 不就提供一个注册 ...

最新文章

  1. OpenCV中图像以Mat类型保存时各通道数据在内存中的组织形式及python代码访问各通道数据的简要方式...
  2. P2P网络中DHT算法分析
  3. (视频+图文)机器学习入门系列-第12章 聚类
  4. python中的列表是指针吗_Python中的指针——到底指什么(二)
  5. 我是不会运行你的代码吗?不,我是不会导入自己的数据!
  6. jQuery源码分析系列:.domManip() .buildFragment() .clean()
  7. 体育赛事中的概率计算问题
  8. 怎么把echarts中折线里面的其中两点连接成一条线_新手怎么写好一个策划案?三个小捣蛋,一个策划案!...
  9. 什么是 Elasticsearch?一篇搞懂
  10. python通讯录文件读取_python通用读取vcf文件的类(可以直接复制粘贴使用)
  11. 火狐中国区linux无法同步,教大家火狐浏览器同步数据失败的几点原因
  12. 计算机cad知识,计算机与Cad制图知识点.doc
  13. android布局文件放在哪,Android开发之布局文件layout目录分包处理
  14. 矩阵论代码实践之满秩分解
  15. 甲骨文CEO独家揭秘企业转型秘诀,就一个字
  16. 弹性云服务器能起到什么作用?
  17. XDOJ-折点计数-46
  18. 【杂谈与乱码】资本论-计算机时代
  19. 双主动桥隔离双向DC-DC变换器(六)DAB-IBDC在HFLPCS中的应用
  20. Ant Design Mobile 5.6.0版本来了

热门文章

  1. C语言程序设计教程(第三版)李凤霞 第一章课后习题答案
  2. java是什么?用来做什么的?
  3. Silverlight的开发工具
  4. Linux安装redis自启动详解
  5. python逢7跳过_07.报数游戏:7的倍数或含7的数跳过,趣说python循环里的break和continue...
  6. Android Camera(13)HEIF Imaging
  7. Map集合练习题(坐公交车)
  8. Stegsolve使用方法-图像隐写
  9. 数据库的数据存储文件
  10. java 数字1类型_java-1.基础与数据类型