以下为知识DOC为大家进行整理的相关内容,希望对大家有所帮助!
MAC( Code,移动接入码)
SN(携号转网怎么操作,用户号码)
这就组成了一个中国的手机号:86,那么在携号转网业务中,这个号码是不发生改变的。
那么,有没有人想过,既然携号转网的时候手机号是不变,为什么还需要重新换一张新卡呢?
这就要引出第二个号码,叫做IMSI( ,国际移动用户识别码) ,这个号码可以用来唯一识别一个用户的号码。
IMSI共有15位,其结构如下:IMSI = MCC + MNC + MSIN
其中:
MNC( Code,移动网络码)
MSIN( ,移动客户识别号)
有了IMSI,想要区分一张卡到底是移动还是联通的,只需取得其中的MNC字段即可。00就是移动,01、02就是联通,03就是电信。
通过一个典型IMSI号码,如:4689,我们可以分析得知,这是一个中国联通用户的手机卡。因为他的前五位是:46000 。
但是,IMSI这个号码普通用户是不感知的,具体有什么用,我们后面介绍移动通信的呼叫流程的时候会再次提到这个号码。
介绍完了MDN和IMSI,我们知道了,携号转网其实携带的是MDN,但是IMSI是需要改变的。
移动通信呼叫流程
接下来,我们看一下,在没有携号转网业务的时候,一次普通的拨打电话会发生什么事情。
这里面比较重要的一步就是通过HLR进行号码分析。HLR之所以可以进行号码分析,是因为HLR存储了HLR存储移动电话运营商所发行的每个SIM卡的详细信息。包括我们前面提到过的两个关键号码:IMSI和MDN()
因为我们拨打电话的时候,传递给HLR的信息中包括:主叫用户的IMSI、主叫用户的MDN以及被叫用户的MDN。
在有携号转网业务之前,HLR想要知道被叫用户属于哪个运营商,只能通过被叫用户的MDN进行分析,比如139的用户就是移动的。
但是有了携号转网之后,这种分析方式就不可靠了。
号码携带集中数据库
既然我们没办法通过被叫号码的MDN直接通过号段分析一个手机号属于哪个运营商了,就要想一个新的办法来进行判断。
这时候就有一种方案被提出来了:采用了一种集中数据库的方式。
即在号码携带业务网络中设置一个集中的数据库,也称为集中业务管理系统(CSMS: ),运营商的号码携带业务节点通过此集中数据库系统进行通信,实现号码携带的业务协商及携号转网(NP)数据下发。
说白了,就是把所有办理过携号转网业务的手机号信息,保存在一个单独的数据库中,这样在HLR查询被叫号码所属运营商的时候,去这个数据库中查询下就知道其当前运营商了。
本地业务管理系统(LSMS)保存本地的号码携带数据,并负责管理运营商内部的网元设备;
业务受理系统(SOA)主要负责受理和处理用户提出的号码携带申请;
集中业务管理系统(CSMS)处理所有SOA之问的交互信息,并负责向LSMS同步号码携带数据。
下图是一个中国联通186用户呼叫另外一个186(可能做过携号转网)用户的流程图:
在呼叫过程中携号转网怎么操作,中国联通网络会尝试进行携号转网(NP)查询,即查询CSMS,判断被叫号码是否做过携号转网。有以下3种情况:
携号转网后短信怎么办?
前面我们介绍过了携号转网的技术方案中,语音呼叫的过程及解决方案,那么短信是如何实现的呢?
用户现在手机上接收的短信主要有两种,第一种是用户之间发送的,第二种是平台给用户发送的,如验证码。
对于第一种用户之间发送的短信,也是通过发送端运营商发送给接收端运营商的,具体运营商的查找规则和电话呼叫类似,也是可以借助号码携带集中数据库的。这种比较容易理解。
但是,平台发送给用户的验证码类型的短信,就不是这样的了,这种验证码一般发送流程是:
可以看到,这个过程是验证码平台自己判断的运营商,我们知道,有了携号转网之后,这种验证方法已经不准确了。
所以在携号转网早期试运行的时候,很多用户发现有收不到短信验证码的情况。还有一种情况就是利用第三方充值平台充值,也和这个原理类似。
那么为了解决这个问题,2014年,工信部已要求基础电信企业对验证码类的非自营非定制类短信开放网间转发携号转网怎么操作,其他行业的验证码平台仍可将验证码发送给用户原来签约的基础电信企业,由其通过网间转发的方式发给用户新签约的基础电信企业,“短信验证码”问题已经基本解决。
目前,工信部已经建立“携号转网”数据库并向第三方服务提供商开放,包括充值平台在内的第三方服务提供商,可直接从数据库同步“携号转网”数据,获取用户最新签约的基础电信企业,为用户提供验证码发送和充值等相关服务。
部分用户规模较大的第三方充值平台,如微信、支付宝等均已可正常为“携号转网”用户充值。
为解决携号转网工作种的这些困扰,信通院还专门成立了产业组织“码号服务推进组”,其中的成员单位就有很多互联网公司及银行系统。

携号转网对开发者的影响
在没有携号转网业务的时候,我们可以通过手机号码的号段判断一个用户属于哪个运营商,但是有了携号转网业务之后,这样做就不够准确了,这其实对于一些网站的开发者是有影响的。
比如上有3.7k Star的组件中,就是通过号段判断号码所属运营商的:
中国移动号码判断的正则表达式:
^(?:+?86)?1(?:3(?:4[^9D]|[5-9]d)|5[^3-6D]d|8[23478]d|(?:78|98)d)d{7}$
中国联通号码判断的正则表达式:
^(?:+?86)?1(?:3[0-2]|[578][56]|66)d{8}$
中国电信号码判断的正则表达式:
^(?:+?86)?1(?:3(?:3d|49)d|53d{2}|8[019]d{2}|7(?:[37]d{2}|40[0-5])|9[19]d{2})d{6}$
在有了携号转网业务以后,这个正则表达式就不奏效了。或者说,以后在再也没办法通过正则表达式验证号码所属运营商了。
所以,如果代码中有任何根据号段判断运营商的逻辑,那么这段代码的有效性会越来越低。
期待有一天,号码携带集中数据库可以开放查询接口,供第三方查询号码的归属运营商。
总结
本文简单介绍了我国携号转网业务的背后实现细节,但是由于作者并非通信专业出身,文中内容参考了很多文献资料,如有偏颇,欢迎指正。
懂了这么多知识,我还是没办法顺利的携号转网!
参考资料:
《移动网间号码携带集中数据库系统接口协议设计》 《我国号码携带业务访问数据库技术方案的研究》 《移动通信基本呼叫流程》 《中国电信CDMA基本呼叫流程》
本文地址: https://www.zhishidoc.com/12211.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 859089669@qq.com 举报,一经查实,本站将立刻删除。