既然移动电话号码都是 1 开头,那这个 1 存在的意义是什么?可以省略吗?

既然移动电话号码都是 1 开头,那这个 1 存在的意义是什么?可以省略吗?

苏三,知乎挺好玩。

20220408 补充

今天咨询了一下公司的老资格,发现了几点更有趣的事情。下文中,可能有的读者会发现,我漏掉了一个华北地区,03** 的区号。华北地区的交换中心是北京,那么按道理,北京的区号是 023 才对。但是北京已经有了一个区号 010。那怎么办呢?北京其实有相当长一段时间是 010 和 023 共用的。就是打 023 也能打北京去。不过那是很久很久以前的事情了,听他讲,知道的人不多,所以无法验证。至于为什么这么做呢?是因为,当时北京不仅是华北地区的交换中心,也是全国的交换中心,交换什么呢?固定电话和移动网之间的呼叫交换。

移动的手机为何是 1 开头?据说,当时 013 也是按区号的处理方式处理话务业务的,至于为什么这样,因为这样不仅可以节省可怜的交换机内存空间,也好处理话务。因为当时是以固定电话为主,摘机按下 01 自动送往北京交换局,然后再根据第二位决定送往哪个运营商(类似于区号中的省份),第三位决定是运营商的哪个号段(类似于地级市),然后往下是用户号码,然后是本地网交换机(前三,四位),最后四位是用户号码。当年用户号码是区号加后四位一共是 7 位数。手机用户迅猛发展,7 位数不够了,所以就首位前加 0 升级至 8 位数。当时有个说法是所有的固定电话打手机都这样处理,但是长途电路受不了那么大的话务量啊!所以,在每个区号内部,也有一个 1 字头特殊局交换机,处理本地的手机呼叫信息。储存着分配给本地的手机号段信息,一个运营商一个。所以,你拨打外地手机时,才会出现那句经典的外地用户请拨 0。区号后面跟手机号码是能打通的!

以下是原回答

为何手机号码是 1 开头呢,是因为,早期的手机号码被当做特殊号局对待。2-8 开头的才是正常电话号码,长度为 7-8 位

为什么会这样呢,是和电话的演进有关。电话是先出来有线电话,也就是我们以前用的固定电话,然后才出现了手机号码。早期,各个区县的电话是单独的一个管理区,各个管理区之间,相互呼叫,要收取区间通话费;由电话号码的第一个数字标识该号码属于哪个区(比如济南市在未升 8 位数电话号码前,8 表示历下区高新区,3 表示章丘区,5 表示市中区,7 表示槐荫区,4 表示济阳区和商河县等,升 8 位以后设备已经更新换代,新号段就乱了,老号码也可以随意移机了),8 位数字电话号码则由第 2-4 位标识该号码所在的区内程控交换机(这也是早期电话为何乡镇之间的号码前部都不一样的原因,比如济南的号码,一看到前面是 8887 开头,大概率就是在高新区软件园附近,而 8488 开头则大概率是在商河县城区附近,纯粹就是因为很多用户很多年电话号码都没有换。),其实早期的小灵通也有自己专门的号段,也就是为了标记小灵通专属交换机,比如我们县当时小灵通的专属号段就是 588,589。

为何要这么规划呢?是因为早期的程控交换机内存普遍不大,要管理全县,全区上百万门电话,程控交换机受不了。本地网直接呼叫本地网内的各个交换机,前 3-4 位拨出以后,也就进入了对方子网的交换机。比如,66668888 呼叫 88886666,用户 66668888 摘机,拨号,拨完 8888 时,该用户所属的 6666 交换机一看前 4 位是 8888,就和 8888 交换机建立了话务连接,并继续发送后 4 位号码给 8888 交换机,8888 交换机一看呼叫的是自己所属的用户线路号码为 6666 的用户,于是就给线路号码 6666 上加入 70V 振铃电压,用户电话就响了。

手机当时归属于无线局,第一位数字是 9,因为当时手机还是非常贵,所以用户不是太多,每个市能有 1-2 万人就很不错了,所以,只有几个个无线交换机,交换机编码分别为 9001-9009 等,能用的起手机的肯定是先富起来的那群人。当时的手机号码是[区号]900N[用户号码],此时,手机还不能漫游,只能在本地移动使用。此时,手机号码属于中国电信运营。

后来电信移动局拆分出来成立中国移动,要建设全国一张移动网,就把移动局的号码单独拿出来,用 1 表示特殊服务号码(10 不用),如 110,114,120,170,180 等,就用 13 表示本地移动局,用 9 表示移动第一个交换机,8 表示移动第二个交换机……同时,手机号码也有全国唯一性,所以,在 139 和用户号码之间还要加入区号表示这个用户是属于那个营业城市的,所以,139 中间带区号是中国最早的一批手机号码。至于为何打外地手机前面需要加 0?是因为需要离开本地网,要占用全国长途资源,而移动是不允许建设全国长途网的,所有的长途电话只能由中国电信经营。而中国电信规定,想要离开本地网,号码第一位必须是 0,所以,外地手机号码前必须要加 0。所以 13805321234 表示青岛市的移动第二个交换机下面用户号码位 1234 的用户。

当固定电话用户想呼叫长途固定电话时,会怎样呢?我国早期的长途交换网由中国电信专营,全国分为东北,华东,华北,西北,西南五个交换区域,分别用数字 4 5 6 7 8 9 来标识,东北用 4 标识,根程控交换机在沈阳,华东用 5,在南京,华南用 7,在武汉,西南用 8,在成都,西北用 9,在西安。比如某个济南用户 66668888 想呼叫陕西延安的用户 88886666,济南用户摘机,按 0,此时,济南用户所属的 6666 交换机将呼叫转移至本地长途局,本地长途局接入南京,用户继续按下了 9,南京交换局分出一路资源和西安交换机互联,并继续发送拨号信息,此时,用户按下了后面的 10,西安交换局接入延安长途局,用户继续按下后面的数字 8888,延安长途局则接入本地 8888 交换机,并继续转发后续拨号,用户继续拨完 6666,延安 8888 交换机下面的用户线 6666 加电振铃。

当固定用户呼叫外地手机时,会在手机号码前加 0 表示这是外地手机,本地长途局收到呼叫信息后,会将呼叫去掉 0 送至移动本地局,移动本地局会根据 HLR 查询到本号码的属地,然后翻译成区号 + 手机号码的格式,送回电信长途局然后按照前文说的长途呼叫的引发方式建立呼叫。虽然这样看似不加 0 也可以,但是这样会造成计费系统异常,所外地手机号码前面加 0 的格式也就保留了下来。

这是以前程控交换机时代的网号编码及拨号方式,现在已经全部实现了 IP 化,直接成了用户和用户的自行对接,已经没有了多级转发的过程。以前是根据线路端口来判定这根线是哪个号码(用户),现在则成了账号。手机的 VoLTE 和电话的 ims,都是这种形式。

手机号则直接转译成 IMSI,也就是 4600x 开头的 13 位数字,如 460001234567890,手机就会以这个数字为账号向服务器注册,注册用户名是 [email protected],假设他是 13800000000,用户 13900000000 的 IMSI 为 460011234567890,当 13800000000 拨号完毕点击发送时,电脑实际呼叫的是 460011234567890。所以,手机实际是以 IMSI 作为互相通信的号码。

电话也是如此,比如固定电话 053288888888,则变成了用户名 [email protected]

=====20220310 补充==============

感谢大家的指正,我也确实发现了一些错误,比如 1380531,确实是济南的号码,哈哈……

我看大家也有些问题,那我就继续回答一下。

在程控时代,主要是靠每一位的号码确定号码去向,那 IP 时代呢?则完全变了样。

首先是固定电话。固定电话那长长的单独的一根线已经消失了,成了这个样子:

光猫和电话
注册界面 1
注册信息 2

注册成功则会这样:

注册成功

联通一般是一个省份一个服务器,电信则是双归属原则,北方 10 省的注册服务器在天津和内蒙古,南方的在贵州和成都。

以一个呼叫流程为例,说明一下这种情况下的呼叫。

电信对电信 / 联通固网:

电话摘机,呼叫同一运营商的网内号码时(不分市话和长途,呼叫市话时自动补齐长途区号):

如 0531-88888888 呼叫 028-88888888,其实是 [email protected] 向服务器发送的呼叫请求,呼叫 028-88888888,服务器查找 028-88888888 的注册信息为 [email protected],还有注册终端的 IP,然后将被叫信息发送给该注册终端,告诉它,有呼入的连接,你可以振铃了。摘机,通话完毕,挂机后,相互 bye 下线(设备都比人懂礼貌),然后进入休眠模式。但是休眠模式时,服务器不知道终端在线不在线,于是乎就每 30 秒发送一次信息,问终端,你还活着么?终端如果活着,就回复,我还活着,劳您费心了。如果连续三次都没收到终端的信息,则认为该终端下线,就会反馈给主叫方(对方没有开机;就会提示您拨打的电话已关机,这个真有的,你们可以把光猫关了试试看)

手机的 VoLTE 和固定电话之间的呼叫也是一样的。中间多了一个双方服务器交互过程,此处不再赘述。

说一下手机的注册过程。手机 VoLTE 其实是 VoIP 的一个升级版,也是通过 VoIP 的方式注册的语音。注册成功后,你的手机上会显示一个 HD 标志。VoLTE 注册网络是纯 IPv6 网络,通过接入点 IMS 实现接入。如下图: