正确的提示信息

扫码打开虎嗅APP

从思考到创造
打开APP
搜索历史
删除
完成
全部删除
热搜词
2019-11-20 07:31

硬核科普:携号转网的技术原理分析

本文来自微信公众号: 鲜枣课堂(ID:xzclasscom),作者:小枣君,题图来自:东方IC


11月11日,工信部发布《携号转网服务管理规定》,标志着国内三大运营商的“携号转网”业务正式进入试运行阶段。


根据规划,从12月1日开始,“携号转网”业务将在全国范围内正式推出。


这几天,关于“携号转网”的新闻反复刷屏,相信大家都看到了。


小枣君今天也来凑个热闹,和大家聊聊“携号转网”。


不过,我要说的不是“携号转网”的业务办理,而是更深层次的内容——“携号转网”的技术原理。


我想通过这篇文章,帮助大家了解这项特殊业务背后的具体实现方式。更重要的是,趁机介绍一下关于移动通信用户号码和呼叫流程方面的知识。



首先,我先解释一下,到底什么是“携号转网”。


“携号转网”,顾名思义,就是带着号码换网络。



举个例子:你现在是139开头的中国移动号码,办理“携号转网”之后,号码保持不变,但运营商归属关系变了——变成了电信或联通的了。你使用的网络和套餐,也变成电信或联通的。这种电信业务,就是“携号转网”。


行业术语里,“携号转网”的真正名字应该叫做“号码携带”,或者“号码可携带”。



这个业务从表面上看并不复杂,就是换个运营商,然后号码带着走。


但是实际上,对于移动通信系统来说,实现起来并不容易。


我们的手机号,实际上有两个,分别是IMSI和MDN。


IMSI的全名是International Mobile Subscriber Identity,国际移动用户识别码。它是一种“永久用户标识”,每一个手机SIM卡,对应一个IMSI号码。


IMSI号码由三部分组成,分别是:


  • MCC (Mobile Country Code) 移动国家码


  • MNC (Mobile Network Code) 移动网络码


  • MSIN (Mobile Subscriber Identity) 移动用户识别码


MCC是3位数字(中国是460),MNC是2-3位数字,MSIN是10-11位数字。加起来的IMSI,一般不超过15位,通常就是15位(例如我们国家)



大家在手机拨号界面,输入 *#*#4636#*#* ,就可以看到自己的IMSI号码。



大家注意,除了IMSI号码之外,还有一个IMEI号码,两者不要搞混了。



IMEI是International Mobile Equipment Identity,国际移动设备识别码(大约15-17位数字)。也就是常说的手机序列号(手机串号),是每个手机硬件的“身份证”(2个卡槽就有2个IMEI号码)



那我们平时使用的139、153、189开头的号码,又是什么呢?


这些号码,真正的学名叫MDN,Mobile Directory Number(移动用户号码簿号码)


MDN由国家码(CC)、移动接入号(MAC)、HLR识别码、移动用户号共同组成。



介绍了这个码那个码,大家没有晕掉吧?


没晕的话,我们继续!


说到这里,大家其实应该也明白了。所谓“号码携带”,不变的是MDN号码,变化的是IMSI号码。而IMSI,才是你的“真正”号码。



说完了号码,我们再来说说网络侧这边的处理。


目前我们使用的移动通信业务,其实主要就是通话、短信、上网。


大家都知道,上网是单个用户的事情。某用户手机发起数据业务请求,获得IP等资源,然后连入运营商网络,访问互联网。


只要你的IMSI合法,业务正常开通,没有欠费,就可以上网。


但是通话和短信就不一样了,这是两个用户之间的业务,存在“主叫”和“被叫”。



主叫用户没什么大问题,反正自己的号码就是一个编号而已。但是被叫那边,麻烦就来了——号码就像门牌,别人通过门牌找你,你搬家把门牌都带走了,这咋整?


我们先看看,以前没有号码携带业务的时候,一次正常通话的过程是怎样的:


(注:为了便于理解,呼叫流程描述有所简略。)


假设主叫用户A是中国移动139开头的号码。


当他拨打被叫号码的时候,它所在的本地局核心网设备(MSC,移动交换中心),会根据设计好的规则,对被叫号码进行“号码分析”。



号码分析是电话接续的重要依据,不同的分析结果,意味着不同的处理流程:



按照之前的设计,如果拨打的是138开头的号码,那MSC就会分析为中国移动的号码,按运营商内部呼叫的流程处理。(具体来说,MSC会去中国移动自己的HLR,问被叫的位置,然后一路找过去。HLR是归属位置寄存器,存储着中国移动用户的数据和信息。)



如果被叫是“自家人”


如果拨打的是185开头的联通号码,本地局设备则会分析为“它网号码”,会路由到运营商之间的关口局,然后送到联通那边,查找被叫,一路最终完成电话接续。


如果被叫是“别人家的”


现在,要搞号码携带了,麻烦来了。


还是举例,139开头的A,拨打138开头的B。B是办理了号码携带的用户,号码虽然是138开头,但不能按中国移动内部呼叫的流程处理,否则就会送错了目的地。


中国移动的MSC,必须把B号码当作特例,单独处理。



如果只有一个特例,那还好说,问题是,这个业务面向全国用户开放,会有成千上万个特例。这样的话,号码分析就会变得非常庞大,对系统容量造成负担。


所以,在我们国家现在的网络里,采取的方案是这样的: 


如果某个被叫号码办理了号码携带业务(例如,从移动跳到了联通)


那么,移动的HLR会对已携出的号码加一个特殊前缀数字,返回给主叫MSC,告诉它这个号码已经不是我们的了。



主叫这边的中国移动MSC会对前缀号码进行特殊处理,直接按其它运营商号码处理。


如果是这个号码是联通跳到移动的:


运营商会先新增一个NP-HLR,也就是号码携带HLR,把所有携入号码都放在这个HLR里。主叫MSC会针对“所有其它运营商号段的被叫号码”,都先查一遍NP-HLR。




如果是携入号码,则按自己的号码处理,去查自家的HLR。




如果是非携入号码(也就是别人正常的号码),则再去查一遍别人家的HLR。



总而言之,相当于查两遍HLR。


上面的解决方案,虽然流程复杂了一些,但是速度很快,用户感知不受任何影响。


这就是我们国家现在使用的号码携带实施方案。大家看懂了没?



哈哈,能坚持看下来的,都是猛士,小枣君免费推荐核心网工程师offer!


最后再做个总结。


携号转网业务,对于普通用户来说,毫无疑问是件好事,毕竟增加了议价权,也增加了自主选择权。


但是,站在通信工程师的角度来说,这个业务增加了一些小困难和小麻烦——我们在处理故障时,无法再像之前一样,通过号段来迅速判断投诉者的用户属性。而不同的用户属性,意味着完全不同的故障处理流程和思路。


也就是说,号码携带业务的普及,将会“略微”增加通信工程师处理故障的难度,以及故障恢复的时间。


看到大家都发短信去尝试申请“号码携带”换运营商,小枣君也迫不及待地发了一条短信,结果——




本文来自微信公众号: 鲜枣课堂(ID:xzclasscom),作者:小枣君

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系 hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
打开虎嗅APP,查看全文
频道:

支持一下

赞赏

0人已赞赏

大 家 都 在 看

大 家 都 在 搜

好的内容,值得赞赏

您的赞赏金额会直接进入作者的虎嗅账号

    自定义
    支付: