有关电话和电话号码
工作原因经常需要处理手机号,一般都是用一些开源库来解析。最近看了一下开源库的实现,发现对电话号码的定义还挺复杂的。所以结合之前了解到的一些 PSTN 的知识对电话和电话号码相关的内容进行了整理。
PSTN
概念
PSTN 距离我们很近,以前家里使用的电话机,一般情况下都连接到两类设备上 —— 一类是通过电话线直接连接电信机房的交换机,另外一类是先连接到一台用户交换机,然后连接到电信机房的交换机上。前者一般是家庭和小企业用户,或者大企业里面的 VIP 用户;后者一般是企业用户。
电信机房的交换机则一层一层互连起来,构成了全国以至全球范围内庞大的电话交换机网。我们把这个庞大的电话交换网叫做 Public System of Telephone Network,中文学名“公众电话交换网”,这就是大名鼎鼎的“PSTN”。
PSTN 在整个电信的发展历史上有举足轻重的地位,你可以理解 PSTN 网络就是人类搭建的最早最成功的电信网络。
我国国内 PSTN 最早分 5 个 Class,C1 为大区中心,C2 为省中心,C3 为地区中心,C4 为县中心,C5 是为端局设计的。实际操作上,C2、C3 逐渐退化并最终消失,目前只有C1、C4和 C5 交换机真实存在。
C1 交换机作为国内 PSTN 核心节点,同时承担着与其他国家、地区交换机的连接工作; C4 交换机叫作汇接局交换机,作为中继互连、汇聚和分发话务量的交换机;而 C5 交换机则连接用户终端电话、企业 PBX 或者接入网,并将所有呼叫出局送到 C4 交换机上去。
PSTN 交换机
PSTN 交换机不是我们在计算机网络中提及的交换机,它是一种运行在 PSTN 网络中的交换机。电话刚发明出来时,电话与电话之间都是一对一的接通关系,也就说A拿起电话来就能跟B通话,而且也只能和B通话。随着电话投入使用,慢慢需要组建其电话网络。在早起的电话网络中,是没有交换机的,那时候打电话是需要接线员的,即拿起电话 --> 等待接线员接通 --> 跟接线员说明想要跟谁通电话 --> 接线员人工接通线路 --> 开始通话 --> 通话结束接线员断开线路
。
接线员效率低下,且需要付出巨大的人工成本,所以程控交换机被发明出来。现代化的程控交换机具有以下 5 个基本功能:
- 寻址:跟网络交换机一样,交换的最核心功能就是寻址。PSTN 交换机必须维护一个“寻路指南”,也就是路由表,任何要接通电话的请求都可以通过路由表找到到达目的地的路径。
- 建链、拆链:注意这个就跟网络交换机不同了,计算机网络运行在 TCP/IP 这个实际标准之下,IP 是基于分组交换的协议,也就是说 IP 报文的交换不需要变更物理链接。注意这是“链”而不是“连”,其实就强调了其是物理链接的事实。PSTN 交换机需要在呼叫到来的时候搭建电路,在呼叫结束的时候拆除电路。
- 交换:指交换机自身必须具备搭建电路的资源,即“交换矩阵”。
- 馈电:大家记得不?我们小时候家里的电话机都是不需要单独插电源线的,只 需要插上电话线就可以了。这是因为电话线在传递信号的同时,也能提供电力。交换机通过用户线向电话机提供 -48V 的电压,摘机的时候才会有电流通过,这时候的电流为 18~50mA。(在以太网链路上也有类似的实现,即 POE)
- 记录(即CDR):啥是 CDR?就是记录你打了多久的电话,跟谁打的?记录下来干啥?当然是给你计费啦!
再简单说一说信令,交换机和终端设备之间,交换机和交换机之间,之所以能够通信,信令是必不可少的。信令就是一套设备间沟通的信号标准。信令是一个很复杂的话题,单是七号信令系统就可以拿出来厚厚的一本书来讲。我们这里就是简单聊聊。
- 用户线信令:用户终端和交换机之间在用户线上传输的信令。
- 监视信令:监视是否有用户摘机、用户是否挂机等。并可以根据情况触发下一步动作,比如发送拨号音、忙音、回铃音等
- 地址信令:当你开始拨号,号码将通过电话线传送到交换机上,用于装载被叫号码的信令就是“地址信令”。一些电话上有一个开关,打开时拨号会发出不同音调的滴滴滴声,而关闭时拨号则会发出微小的哒哒哒的声音,而且一般按下的是几,就会哒哒哒的响几声。这其实就是两种不同形式的地址信令。前者叫做“双音多频信号”,它用“双音”表示一个数字;而后者叫做“直流脉冲信号”,那种微小的哒哒哒声其实就是在控制用户线电路的断续。目前直流脉冲信号已经很少使用了。
- 局间信令:交换机之间的指令。根据信令通道和语音通路的关系,分成随路信令和共路信令。如果信令和语音处于同一通道,则是随路信令;否则是共路信令。
- 随路信令:随路信令是可以“隐藏”于 语音信号之中的。因为它只占整体数据量的很小一部分。如一号信令系统。因为随路的原因,信令安全性差,容易被黑客篡改和利用。
- 共路信令:共路信令以统一格式的“消息信令单元”形式传送,七号信令系统是目前最普遍的共路信令。它将信令和语音通路分开,各走各的。现在的市话系统普遍采用光纤数字中继和七号信令系统。
PSTN 用于数据传输
拨号上网
拨号上网是在 PSTN 基础上发展起来的互联网接入技术,98~02年期间是国内接入互联网的最主要方式。由于电话拨号使用的频带与电话相同,因此拨号上网过程中,电话是占线状态,也就是不能呼入和呼出的。
拨号上网,用户端计算机通过串口连接Modem,Modem通过电话线连接局端后,通过E1形式连接接入服务器(Network Access Server),接入服务器的另一端连接到互联网。
拨号过程中账号密码采用PPP协议,通过电话线路与接入服务器交互信息,指定一个认证服务器进行认证。
ISDN 组网
ISDN 即 Integrated Services Digital Network,中文是综合数字业务网。
ISDN 之前在欧美地区盛行,但在中国应用很少,所以很多人听都没听过。
ISDN 终端和 ISDN 交换机之间的接口有两种常 用类型 —— BRI 接口和 PRI 接口。前者是 1~2 根电话线连接交换机和终端,后者则采用 E1 连接。
BRI 包括两条传输速率为 64kbit/s 的全双工的 B 通道和一条传输速率 16kbit/s 的全双工 D 通道。B 通道用来传送用户信息,D 通道用来传送信令和低速的分组数据(当然可以是 IP 数据)。一般这类接口被称为 Basic Rate Interface,ISDN 基本速率接口。
PRI 学名“基群接口结构 (Primary Rate Interface Structure)”,又叫做“一次群接口”。对于欧洲和中国,采用 2048kbits 的传输速率时,基群接口的信道结构为 30B+D,B 信道的速率为64kbit/s,用来传送用户信息,D 信道的传送速率为 64kbit/s,用来传送用户一网络信令。
ADSL 组网
xDSL 中应用最为广泛的是 ADSL 技术,A 是 Asymmetric 的缩写,表示“不对称”,对于 DSL 而言,用户端向局端的方向被称为“上行”,反方向被称为“下行”。上行带宽窄,下行带宽宽。
xDSL 的原理就是把电话线上没被话音占用的高频部分利用起来传送数据信号,这样上网期间也不会影响接打电话了。
ADSL 需要配合使用分离器将语音信号和数据信号分离。
ADSL 接入 ISP 的 IP 网络也是需要认证的。这时 PPPoE 就登场了。PPPoE 其实就是将 PPP 帧封装到以太网帧里。通过以太网的寻址方式,PPP 帧到达目的地,再解包出来进行认证。