Mapping iOS 7 constants to 2G, 3G, 4G, LTE etc

2019-02-03 12:43发布

问题:

It does not appear as though we can determine the radio access technology on iOS before 7....please correct me if I am wrong.

Considering the following constants available in iOS 7, can someone verify which constant maps to which general standard 2G, 3G, 4G, LTE etc?

CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyGPRS          __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyEdge          __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyWCDMA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSDPA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyHSUPA         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMA1x        __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORev0  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevA  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyCDMAEVDORevB  __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyeHRPD         __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);
CORETELEPHONY_EXTERN NSString * const CTRadioAccessTechnologyLTE           __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_7_0);

回答1:

It is actually very hard to map the above radio access standards definitively to '2G', '3G' etc.

This is because '2G', '3G' '4G' are not really standards, but groupings of standards, and in some cases really more marketing terms. They also cover the core network architecture and not just the radio access network, although the latter is more generally discussed. A very simple overview:

  • 1G - Analogue Mobile Networks
  • 2G - Digital mobile networks. Multiple regional standards and variations (GSM in Europe, CDMA in NA, PDC in Japan etc)
  • 3G - Originally intended to provide higher speed data access and to normalise the various access technologies. In fact the data rate to qualify as 3G is relatively low by today's standards (200kbs) and some evolved 2G technologies, sometimes referred as 2.5G with EDGE being an example, actually meet the 3G speed requirements. For reference the original definitions are included in the ITU IMT-2000 specification and the ITU say themselves: "After over ten years of hard work under the leadership of the ITU, a historic decision was taken in the year 2000 : unanimous approval of the technical specifications for third generation systems under the brand IMT-2000." I think it could be argued that the brand 'IMT-2000' lost out to the brand '3G'...
  • 4G - This is the name for networks that comply with the next generation of the ITU IMT standard, named IMT-Advanced. In practice the name is being used by vendors and operators to refer to networks which do not meet the data rate levels these standards allow, but this seems to have been allowed by the ITU so long as the performance gain over 3G is substantial. LTE and WiMAX fall into this area. Technically 4G changes the radio access technology, dropping 'spread spectrum' systems and removes the concept of 'circuit switched' paths in the access and core, moving to an all packet IP based transport (this is a significant change for the telephony side of the networks).

So in summary, it is all a bit confusing! There is a good ITU document which captures this in much more detail if you are interested:

http://www.itu.int/ITU-D/tech/FORMER_PAGE_IMT2000/DocumentsIMT2000/What_really_3G.pdf

With the above in mind, and the warning that there may be multiple or altrenative mappings, below is a rough mapping along the lines I think you were looking for:

  • CTRadioAccessTechnologyGPRS - 2G
  • CTRadioAccessTechnologyEdge - 2G (sometimes called 2.5G)
  • CTRadioAccessTechnologyWCDMA - 3G
  • CTRadioAccessTechnologyHSDPA - 3G (sometimes called 3.5G)
  • CTRadioAccessTechnologyHSUPA - 3G
  • CTRadioAccessTechnologyCDMA1x - 2G
  • CTRadioAccessTechnologyCDMAEVDORev0 - 3G
  • CTRadioAccessTechnologyCDMAEVDORevA - 3G
  • CTRadioAccessTechnologyCDMAEVDORevB - 3G
  • CTRadioAccessTechnologyeHRPD - 3G (or 3.5 - eHRPD is to allow migration from CDMA EVDO to LTE)
  • CTRadioAccessTechnologyLTE - 4G (allowed to be called 4G by the ITU as mentioend above)

Finally, if all you are interested in is whehter the connection will be (generaly...) fast or slow the following answer provides a nice approach: https://stackoverflow.com/a/20840971/334402



回答2:

From my today testing

CTRadioAccessTechnologyeHRPD is for USA Veriazon's 3G; CTRadioAccessTechnologyHSDPA is for USA T-mobile's 4G (Non-LTE).



标签: ios 3g lte 4g