LTE和GSM网络中的eCGI和CGI

8
我正在尝试确定UE所连接到的CGI(Cell Global Identifier)。
根据3GPP规范,它的定义如下:
3G: CGI = PLMN-ID + LA code + CID
4G: ECGI = PLMN-ID + ECI
我已经可以从系统获取LAC(位置区域码)和CID(小区标识),并且可以通过MCC(移动国家代码)和MNC(移动网络代码)生成PLMN-ID。
我的问题是:我能否也从系统中获取CGI?

1
你已经回答了自己的问题 - 从plmn id + LAC + Cell Id组合成它? - user1725145
没错,但我想知道当我使用生成的CGI时它是否是一个有效的数字。从系统中获取CGI将有助于确认它的有效性。这是因为在生成PLMN-ID时,我不得不以一种非直观的方式移动数字...我试图在谷歌上寻找CGI或eCGI的示例,但我找不到任何信息。 - MikeW
我非常不喜欢用这种方法来描述网络ID号码。我们谈论的是整数,所以从数学角度来思考 CGI = PLMN-ID + LA code + CID 是错误的。因为实际上这是在进行字符串连接。 - Joakim
我同意你所说的它们是字符串连接。似乎很少有文档记录的例子(实际上没有我能找到的)!你知道有没有什么例子吗? - MikeW
1个回答

7
CGI(2G和3G)以及eCGI(4G)始终是一个15位的十进制代码。
对于2G、3G和4G网络,前五个数字是MCC(移动国家代码)和MNC(移动网络代码)。
对于2G和3G网络,接下来的5个数字是LAC(位置区域代码),最后5个数字是LAC内的小区ID。
对于4G网络,10个数字是eNB,分为7个数字的代码和3个数字的小区ID。
问题在于,某些系统或应用程序使用整个CGI或eCGI,其他系统使用单独的块:(MCC-MNC-LAC-CID或MCC-MCC-eNB)。
从15位代码翻译成块需要了解蜂窝技术,以便知道是否必须将最后10位数字分成两个5位数字块或7位和3位数字块。
另一方面,如果要将块“翻译”成15位数字代码,则必须填充块以达到15位长度,因此如果您有213-01-123-5,则可以是213010012300005(2G或3G)或21301000012305。
Google地理定位API有一个非强制性的技术字段,但我认为它应该是强制性的。
我担心这真的会成为一个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接