FreeSWITCH权威指南(txt+pdf+epub+mobi电子书下载)


发布时间:2021-03-07 15:30:43

点击下载

作者:杜金房,张令考

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

FreeSWITCH权威指南

FreeSWITCH权威指南试读:

前言

我们已经步入了一个崭新的时代。当前,VoIP已开始成为包括语音和视频在内的多媒体通信的主导并将在全世界范围内引领一场新的革命,而SIP(Session Initiation Protocol,会话初始协议)正是这场革命的核心。

试想一下我们常用的电子邮件,它仅能用于文字通信。从电子邮件诞生开始,经过三十几年的发展,到现在几乎人人都有了一个Email地址(有的人还有多个)。随着实时多媒体通信需求的增加及技术的发展,笔者相信在不久的将来,每个人都将会拥有一个用于多媒体通信的SIP地址。当前,因为互联网技术高速发展,使得数据流量的成本越来越低,而且随着3G、4G无线网络的不断发展与优化,以及各种智能移动终端的出现,网络更将无处不在,这就为SIP的进一步普及营造了必要的环境。在这种环境下,各种新型的SIP电话及可以运行在各种移动设备上的SIP客户端可以让用户以极低的成本与世界上任何一个角落的人通信。

为什么写这本书

大多数关于操作系统的图书均重理论而轻实践,而本书则在这两者之间进行了较好的折中。——Andrew S.Tanenbaum

从第一次读Tanenbaum的《操作系统设计与实现》到现在已经十多年了,可这句写在那本书前言里的话到现在还让我记忆犹新。上大学时,我也曾学习过“程控交换网”、“移动通信”之类的专业知[1]识,但那时只有肤浅的认识,理解不深。毕业后,我到烟台电信 工作,负责程控交换机的维护。在工作中,我学到了电信网络传输与交换的各种技术,掌握了七号信令系统(SS7),算是做到了理论与实践相结合吧。那时候,VoIP还是很新的东西,由于网络条件的限制,国内也少有人用。2007年年底,我开始接触Asterisk。阅读了《Asterisk,电话未来之路》,并买了一个单口的语音卡,实现了VoiceMail、PSTN网关、SIP中继等各种功能。能在自己电脑上实现这些有趣的东西,令我非常兴奋。后来,我加入Idapted Inc.,开发一种一对一的网络教学平台。最初的后台语音交换系统也使用Asterisk,但不久后便转到了FreeSWITCH。那时我就深切意识到,FreeSWITCH必将成为Asterisk之后的通信领域的又一宠儿。于是便怀着无比的热情开始学习FreeSWITCH。

在学习和探索FreeSWITCH的过程中,我逐渐融入了FreeSWITCH社区,与全世界的开发者讨论各种VoIP技术、交流使用经验,这让我学到了许多知识。同时,在开发和使用FreeSWITCH的过程中我也积累了大量的使用和开发经验,并将这些知识和经验不时地更新到FreeSWITCH官方的Wiki上。Wiki是FreeSWITH文档的大本营,内容来自众多FreeSWITCH爱好者和实践者的奉献。不过,对于初学者来说,Wiki上的内容读起来还不是很系统,因此我就萌生了写一本书的想法。

本书面向的读者

本书作为国内第一本介绍FreeSWITCH的书,内容全面又不失深度,因此适合从事FreeSWITCH相关工作的各层次的读者阅读——对于初学者来说,本书是很好的入门教材;对于有一定经验的读者来说,本书可以提供更深入的指导和案例分析,帮助他们深入理清各功能点的来龙去脉;对于高级用户和开发者来说,本书也有详细的开发指导和最佳实战经验。

·FreeSWITCH爱好者:对于FreeSWITCH爱好者来说,本书是最直接的需求。本书内容全面、介绍细腻和深度适当,是其他资料或同类书籍所没有的。

·以FreeSWITCH为基础进行二次开发的人员:以FreeSWITCH为基础,可以进行呼叫中心、指挥调度、IP-PBX、互联网音频或视频等系统的开发。本书可以提供详尽、丰富的参考资料和实践经验,使这类读者少走弯路,甚至达到事半功倍的效果。

·VoIP系统、软交换系统、电信设备开发人员:FreeSWITCH是开源领域的典范,又是同类系统中的佼佼者。本书对FreeSWITCH的原理、实现都做了深入探讨,还对源代码进行了导读和深入分析,可以带领读者很快了解现代软件的架构、逻辑及算法实现,因而很有借鉴意义。FreeSWITCH使用MPL许可证发布,完全不限制商业应用,因而广大开发者也可以完全站在巨人肩膀上,不重复发明轮子,迅速做出新的产品。

·Asterisk开发者:跟大多数Asterisk开发者一样,我也是读着[2]《Asterisk,电话未来之路》、《Trixbox 不相信眼泪》一路走过来的。FreeSWITCH作为后起之秀,在许可证、系统架构和性能方面都有很好的优势。了解FreeSWITCH可以开拓读者的眼界和思路,不管是否转到FreeSWITCH,相信本书都会对你的职业生涯有所帮助。

·FreeSWITCH系统实施、维护人员:对于FreeSWITCH相关呼叫中心、IP-PBX等系统的实施和维护人员来说,本书也是不可或缺的教材。事实上,本书第3章介绍了一个完整的FreeSWITCH IP-PBX搭建方案,通过对这一章的学习,企业的系统管理员可以很容易地用FreeSWITCH打造一个企业电话系统。

·电信企业的维护人员、技术决策人员:广大电信企业的人员在以往的工作中积累了大量的工作经验,但往往依赖于华为、中兴等设备厂家提供的解决方案和技术架构。技术瞬息万变,在市场竞争日益激烈,国内电信政策调整并逐渐宽松之际(如虚拟运营商牌照的发放),只有了解另一种解题思路,并掌握了新技术,才能更好地把握市场方向,为客户提供更好的服务。

·呼叫中心从业人员:可以预见,在不远的将来,将有很多呼叫中心是基于FreeSWITCH开发的。而本书中丰富的基础知识和详尽的功能介绍将对呼叫中心系统的使用、管理和决策起到很好的指导作用。

·相关专业在校师生:笔者看过一些学校的教材,大部分只是讲VoIP原理及SIP协议等,很枯燥;而且,老师总是教育学生“要理论与实践相结合”,而本书正是理论与实战的最佳结合点。同时我也注意到,有一些学校的导师和研究生已经在围绕这个主题进行研究了。

·与FreeSWITCH相关的开发经理、技术决策人员:FreeSWITCH是VoIP软交换软件的典范,但本书所讲的不仅仅是FreeSWITCH。书中以FreeSWITCH为例将枯燥的(包括通信、互联网以及软件开发)专业知识以浅显、直观、生动的语言呈现在读者面前;同时,对软件开发的模型、模式、架构、流程、状态机、接口设计等进行了普及和深入剖析。了解本书所讲的知识有助于技术选型和决策。

总之,FreeSWITCH是一个电话系统。我们人人都离不开电话,可以说,它将来可能出现在任何企业、部门及要使用电话的所有角落。进一步讲,FreeSWITCH完全超越了一个简单的电话系统,其应是一个更通用的通信系统平台,它可以完美地与互联网及移动互联网结合,创建前所未有的通信应用。古人云“开卷有益”,或云“他山之石,可以攻玉”。所以,即使你不使用FreeSWITCH,但只要从事与通信相关的工作,本书都会在扩充基础知识、开阔思路等方面对你有所帮助。

本书的内容及特色

作为专门介绍FreeSWITCH的第一本中文书,笔者对内容做了精心安排。为了照顾各种背景、各种水平的读者,也为了让读者更多地了解FreeSWITCH的方方面面,本书尽量选择了不同语言、不同场景、不同技术、不同实现方法的例子,力求使大家通过本书,对FreeSWITCH有一个全面而又深入的认识。

本书内容基于最新的FreeSWITCH 1.4版(功能和特性截止到2014年1月份的最新开发版本),从总体上分为三个部分:

第一部分 基础篇:作为本书的开篇,这部分首先介绍一些基本概念及背景知识,这部分内容主要针对没有电信背景的人。对从电路交换转到VoIP来的读者来说也会很有帮助。此外,这部分也详尽讲解了学习FreeSWITCH应该具备的基础知识,如基本的概念和术语、FreeSWITCH的基本架构、模块的组织、配置文件的组织、拨号计划和电话路由、SIP协议、媒体处理与媒体协商、NAT穿越,以及FreeSWITCH中的SIP模块(mod_sofia)等,并在第3章带领大家进行了完整的IP-PBX配置和体验。

读完本部分,读者就能具备独立使用和维护基本的FreeSWITCH系统的能力了。

第二部分 实战篇:要想学好FreeSWITCH,就必须做到理论与实践相结合,所以反复练习是必须的。这部分结合我在实际工作中的一些实际例子,介绍了在解决问题的过程中积累的经验。如第10章介绍了调试与排错的一般技巧、检查及分析系统日志的方法,并详细解释了呼叫是如何工作的。在后面的章节中还讲了一些基本功能的配置实例,如创建用户、IVR、录放音、TTS、呼叫排队、视频通话、多人电话会议、话单、计费、FreeSWITCH对接以及生产环境中的应用、系统的部署方式、拓扑结构、参数配置、安全性考虑及系统优化指南等。

通过这些内容,读者可以深入理解基础篇介绍的概念和理论,并且可以仿照这里的例子做出各种各样的应用。另外,这部分中有些例子甚至可以直接套用。

第三部分 高级篇:这部分主是面对开发者的。不过,即使不从事开发工作,学习一下本部分的内容也是很有帮助的。这部分除了讲开发之外,还对整个系统架构及内部实现进行了深入剖析。读完后你会觉得:噢,原来是这样的!

具体来讲,这部分讲了嵌入式脚本、Event Socket开发的基础知识以及通过这些开发技术实现的IVR、呼叫中心应用之类的各种例子。此外,还讲解了源代码阅读、编译的方法,并对源代码进行了深入分析。最后给出了一个在FreeSWITCH代码上进行源代码级二次开发的实例。读者可以通过自己动手实现各种呼叫功能和流程,进一步理解和巩固所学的知识,以便从根本上了解FreeSWITCH中的一切秘密。

排版及约定

·本书部分插图由XMind、Keynote、Graphviz、mscgen等工具生成。

·程序代码、系统的输入输出等大部分有行号。强调部分使用粗体字。

·有些程序代码行较长,为适应版面,进行了人工排版。

·提示符。对于命令行的输入输出来说,在Linux及Mac等UNIX类平台上,前面的“$”(或“#”,如果为root用户的话)符为操作系统命令提示符;在Windows系统上使用“C:\”作为操作系统命令提示符;“freeswitch>”作为FreeSWITCH(控制台以及fs_cli)系统提示符。在不至于引起混淆的情况下,可能会省略系统提示符。

·除非有特别说明,本书中的Wiki一般指wiki.freeswitch.org,Jira一般指jira.freeswitch.org。

如何阅读本书

本书对内容和学习路线做了精心安排,对于大部分读者而言,适合顺序阅读(唯一例外的就是你可以先读后记部分)。当然,由于各种概念和理论都是相互联系的,因此,在读后面一些章节时回过头来复习和印证一下某些基本概念也是很有必要的。

对于刚进入通信领域的开发者来说,前面的通信历史和基础知识是非常有用的。只有了解了这些基础知识,才能更好地理解通信网中各个不同组成部分所发挥的作用以及它们之间的交互流程。对于有了通信基础却不熟悉FreeSWITCH的读者来说,可以简单浏览前面的通信基础知识,并通过第3章的FreeSWITCH体验对FreeSWITCH有一个直观的认识。对于比较熟悉FreeSWITCH的读者来说,本书的第4章到第9章也会帮助他们使以前零散的知识更加系统化。对于基于FreeSWITCH进行开发的普通开发者来说,在熟练掌握基础知识之后,再阅读本书第二部分,并同步做一些练习,会取得较好的效果。如果想直接在FreeSWITCH内部开发模块或修改FreeSWITCH的源代码,可接着顺序阅读第三部分的内容。

当然,笔者鼓励所有人都通读全书的内容,即使不做开发,后面有关开发的相关内容也有助于理解前面的基础知识。在通读本书一遍以后,根据自己的情况挑选相关的章节进行反复阅读和实验,以便将所有知识都融会贯通,从而使自己的水平更上一层楼。

此外,FreeSWITCH一直处于很活跃的开发中,所以某些章节中描述的内容可能与最新的版本有所出入,我将在本书相关的网站上进行跟踪说明。

实验环境及软、硬件设备选择

本书涉及的软件绝大部分都是开源软件(非开源的软件,笔者都进行了特殊说明),因此读者可以根据书中的指导自行安装和实验。

为了使书中的案例更真实,同时也为了方便大家在真实的硬件环境中进行实践,书中的实验我们均使用真实的硬件设备或软件产品进行。

作为一本技术书籍,我们在书中只讨论各种设备互连的技术性问题,而对于各厂商的设备好坏则不做评论。有条件的读者可以自行研究和比较。不过,如果读者在学习过程中想拿硬件设备做实验,但是不知道该选择哪款产品,我建议可以从本书中提到的设备中选择。推荐的理由有二:其一,这些设备我都亲自测试过;其二,书中的硬件都是现在市场上比较流行、口碑和质量都比较好的,这类硬件不容易出错,即使出错也容易找到技术支持。初学者往往对FreeSWITCH和硬件都不是很熟悉,因而在遇到问题时很难定位是硬件原因还是软件原因,以至于浪费宝贵的学习时间。至于在生产环境中大规模的应用,相信各公司都有专门的人研究,我在此就不敢妄言了。

资源和勘误

·book.dujinfang.com是本书的在线站点,提供本书的代码下载及勘误等。

·freeswitch@dujinfang.com是专门为本书设立的电子邮箱,如果您对本书有任何意见、建议或批评请发到该邮箱。

·http://weibo.com/dujinfang是我的微博,我很乐意与您进行交流。

·FreeSWITCH-CN是FreeSWITCH中文社区的微信公共账号,您也可以关注该账号获取本书最新的情况,以及与本书作者进行交流。

·www.freeswitch.org.cn是FreeSWITCH-CN中文社区的官方网站,经常关注该网站的更新,这样可以获取中文社区的最新信息。

·www.hzbook.com是华章公司的官网,您也可以到这里下载相关代码。

由于笔者水平所限,书中存在错误和疏漏在所难免,欢迎广大读者批评指正。

致谢

TM[3]

FreeSWITCH 是OSTAG 的注册商标。感谢Anthony Minessale及他的团队给我们提供了如此优秀的软件,也感谢他在本书写作时提供的耐心指导和答疑;同时感谢FreeSWITCH社区所有成员的热心帮助,使我在学习FreeSWITCH的道路上一帆风顺。本书的一些资料和例子来自FreeSWITCH Wiki及邮件列表,因不能一一查证原作者,故在此一并致谢。

感谢机械工业出版社华章公司。华章公司对中文原创计算机图书的信任让我倍感温馨。感谢杨福川策划,他对图书出版的理念带给我许多启发和写作的动力。感谢孙海亮和姜影编辑,他们的耐心和细致保证了本书的质量和写作进度。感谢方舟先生,他给了我许多写书的建议,并介绍我认识杨福川先生。感谢刘光大老师,是他帮我策划并将我带上了出版之路。

感谢我的妻子吕佳娉,她是本书的第一读者,常常帮我修订文字错误;偶尔,在我埋头写作时,悄悄地在我案头放一个削好的苹果;多少次,在我挑灯夜战的翌日清晨,做好早餐,冲好茶,自己悄悄去上班。感谢我的儿子杜昱凝,他很聪明,还不到4岁就会经常帮我测试电话了。在我写作时,他清脆的声音“喂,爸爸吗?……”经常萦绕在我的耳畔,鼓励我继续写下去。我也很内疚写书占用了好多本应该陪他玩耍的时间。

感谢Jonathan Palley先生,是他指导我走上了FreeSWITCH之路。感谢崔钢先生跟我一起创业,因为有了他管理公司的方方面面,才使我有更多的时间专注于FreeSWITCH;此外,他还写了本书第2章中有关呼叫中心的部分内容。感谢滨州公路工程总公司机械工程师张令考先生,他与笔者合作编写了第2章、第12章及第14章的部分内容。感谢高超、李洋、杨小金、景朝阳、李雪梅,他们或者写了一些例子,或者帮我进行了校对、测试、编辑和排版等。感谢程祝波,他维护着FreeSWITCH-CN QQ群,从而为大家提供了一个实时交流的平台,同时他也对本书的写作提了很多很好的意见。感谢Tim Yang先生,是他提供了本书自写作以来的第一笔捐款。感谢网友flyingnn及其他热心读者,他们对本书给予了积极的反馈并帮助我勘误,没有他们,便没有本书。

特别鸣谢

在本书写作时,得到了国内外一些硬件和设备厂商的赞助和支持,在此表示由衷的感谢。这些公司有(排名不分先后):Yealink(亿联)、Grandstream(潮流)、Dinstar(鼎信通达)、Sangoma(加拿大,及中国总代星昊通)、Vestec(加拿大)等。杜金房[1] 这个名字也许太老了。中国电信业在短短的几年内经过了数次重组改制,我离开时叫烟台网通,烟台电信是我刚参加工作时的名字,与现在的烟台电信不是同一家公司。[2] 基于Asterisk的一款PBX软件。[3] Open Source Telephony Advancement Group,即开源电话学进步组,参见http://ostag.org/。第一部分 基础篇

自己动手搭建个人的软交换环境是一件激动人心的事。本篇就带领大家一步一步来完成这件事。当然,在这之前我们首先要一起回顾一下电话交换网络和电话交换技术以及相关的历史,并探讨交换网络的现状和未来;同时,学习一些电信领域的基础知识,熟悉一些基础的电信业务;然后,我们再一起体验FreeSWITCH的安装和配置;在对FreeSWITCH有了直观的印象之后,我们再详细解释FreeSWITCH的设计思想和理念、基本概念和理论、运行和维护的方法,以及重要的协议和模块等。

读完本篇,你可以为成为一名合格的FreeSWITCH维护工程师打好坚实的基础。第1章 PSTN与VoIP基础

一说起VoIP,给人的感觉好像有些抽象,或许大家对“网络电话”这个词更熟悉一些。VoIP的英文原意是Voice Over IP,即承载于IP网上的语音通信。大家熟悉家庭上网所使用的ADSL吧?或许有些人还记得前些年用过的吱吱叫的老“猫”(Modem,调制解调器)。技术日新月异,之前的技术都是用电话线上网,现在VoIP技术使我们可以在网上打电话。

所谓“温故而知新”,在学习任何新东西以前,我们最好都了解一下它的历史,以做到心中有数。所以在了解VoIP之前,我们先来看一下PSTN。

PSTN(Public Switched Telephone Network,公共交换电话网)就是我们日常打电话所使用的电话网络。有时,人们喜欢对新鲜的事物刨根问底,却对司空见惯的东西不求甚解。在此,为了便于读者了解本书所述的技术,我们一起来回顾一下交换机的起源和演变过程、探索一下电话网的现状和发展方向,同时一起学习一些与PSTN有关的基础知识和专业术语等。1.1 PSTN起源与发展

在漫长的通信历史长河中,PSTN及电话交换技术的发展经历了很多阶段,如从直接控制到间接控制再到公共控制、从人工交换到自动交换、从电子交换到程控交换、从模拟到数字、从电路交换到分组交换、从“硬”交换到软交换等。下面我们分别介绍。1.1.1 最早的电话网

第一次语音传输是苏格兰人亚历山大·贝尔(Alexander [1]Granham Bell) 在1876年用振铃电路实现的。而在那之前,普遍认为烽火台是最好的远程通信方式。

用振铃电路实现通话功能的时代是没有电话号码的,相互通话的用户之间必须由物理线路连接;并且,在同一时间只能有一个用户讲话(半双工)。发话方通过话音振动来激励电炭精麦克风从而产生电信号,电信号传到远端后通过振动对方的扬声器发声,从而传到对方的耳朵里。

由于每对通话的个体之间都需要单独的物理线路,如果整个电话网上有10个人,而某人想与另外9个人通话,他就需要铺设9对电话线。同时整个电话网上就需要10×(10–1)/2=45对电话线,如图1-1所示。图1-1 电话网上有10个人通话的情况1.1.2 人工电话交换时代

随着时代的发展,对电话有需求的用户越来越多,甚至普通家庭都希望拥有自己的电话。但是,为每对欲通话的家庭之间都铺设电话线是不可能的。因此,一种称为交换机(Switch,又称Exchange)的设备诞生了。它位于整个电话网的中心,用于连接每个用户。用户想打电话时,先拿起电话连接到管理交换机的接线员,由接线员负责接通到对方的线路。这便是最早的电话交换网(见图1-2),交换接续工作全部由人工完成。通过使用交换机,交换网上需要的线路大大减少了。图1-2 人工电话交换网1.1.3 自动电话交换时代

1889年到1891年期间,美国阿尔蒙·B·史端乔(Almon B Strowger)发明了步进式自动电话交换机。有趣的是,他发明自动交换机的目的并不是为了把接线员从繁忙的人工交换机上解放下来,而是来源于另外一则故事:他本是一个殡仪馆老板。他发觉每当城里发生死亡事件,用户给“殡仪馆”打电话时,不知接线员是有意还是无意的,总会把电话接到另一家殡仪馆。这使史端乔非常郁闷,发誓要将电话交换自动化。功夫不负有心人,史端乔凭他那过人的聪明和毅力,终于发明了一种步进式的自动电话交换机,并申请了专利。人们为了纪念他,故又称这种电话交换机为“史端乔交换机”(见图1-3)。这种交换机的特点是由用户话机的拨号脉冲直接控制交换机的动作,属于“直接控制”方式。图1-3 步进式交换机4位拨号电话中继示意图

以后,又出现了旋转式(见图1-4)和升降式的交换机。这类交换机采用了一个称为“记发器”的部件来接收用户的拨号脉冲,然后将其通过译码器译成电码来控制接线器的动作,这属于“间接控制”方式。在采用记发器后,增加了选择的灵活性,从而使交换机的容量得到了提高。

1919年,瑞典的电话工程师帕尔姆格伦和贝塔兰德发明了“纵横制接线器”(见图1-5),并申请专利。这种交换机将过去使用滑动摩擦方式的触点改成了压接触,减少了磨损,从而提高了交换机的寿命;而且,由于采用了导电性好的贵金属(如银)做金属触点,也大大提高了接触的可靠性。这种交换机的另一个特点是把控制部分和话路部分分开。控制部分由标志器和记发器来完成,称为公共控制。公共控制对用户拨号盘要求低,而中继部署的灵活性大大提高。

瑞典和美国分别在1926年和1938年开通了纵横制交换机,接着,法国、日本和英国也相继生产出纵横制交换机。图1-4 旋转式交换机图1-5 纵横接线器交叉点示意图1.1.4 半电子交换机时代

随着电子技术,尤其是半导体技术的迅速发展,人们开始在交换机内引入电子技术,产生了电子交换机。由于当时技术条件的限制,仅在控制部分引入了电子技术,而话路部分在较长的一段时间内仍然采用机械触点。这种交换机一般称为半电子交换机或准电子交换机(区别是后者采用了速度较快的笛簧接线器)。1.1.5 空分交换机时代

1946年,第一台由存储程序控制的电子计算机诞生,这对现代科学技术起到了划时代的作用。通过在交换机中引入“存储程序控制”的概念,1965年5月,美国贝尔系统的1号电子交换机(ESS No.1)问世了,这是世界上第一部开通使用的程控电话交换机。当时的交换机话路部分还保留了机械触点,以“空分”方式工作,因此称为空分交换机。并且,它交换的还是模拟信号。1.1.6 数字交换机时代

20世纪60年代初以来,脉冲编码调制(PCM)技术成功地应用于传输系统中,它通过将“模拟”的信号数字化,提高了通话质量、增加了传输距离,同时,节约了许多线路成本。1970年,法国开通了世界上第一部程控数字交换机E10,开始了数字交换的新时代。1.1.7 现代PSTN时代

随着技术的进步和人们对通信要求的增加,世界上许许多多的交换机间也需要相互通信,这些交换机之间通过中继线(Trunk)相连,随着电子交换机和程控交换机的发展,便出现了现代意义的PSTN网络。PSTN网络把世界上各个角落的人们都联系在了一起,很显然,有时一个通话需要穿越好多台交换机。

20世纪70年代后期出现了蜂窝式移动电话(当移动电话小到可以拿在手里的时候就开始叫“手机”了)系统,这是无线电话发展的里程碑。而在此之前,虽然无线电通信是在1895年发明的,但无线电话却是在20世纪初发明了真空三极管之后才出现的。1915年首次成功地实现了跨越大西洋的无线电话通信;1927年在美国和英国之间开通了商用无线电话。移动电话的出现,扩展了PSTN网络的能力和范围,对PSTN网络的影响极其深远。

专门用于移动电话交换的通信网络称为移动网,而原来的程控交换网则称为固定电话网,简称固网。简单来说,移动网就是在普通固网的基础上增加了许多基站(Base Station,可以简单理解为天线),并增加了归属位置寄存器(Home Location Register,HLR)和拜访位置寄存器(Visitor Location Register,VLR),以记录用户的位置(在哪个天线的覆盖范围内)、支持异地漫游等。移动交换中心称为MSC(Mobile Switch Center)。1.1.8 下一代网络及VoIP时代

随着分组交换技术的成熟及因特网的发展,人们认识到了将原始的基于电路交换的语音网络与基于分组交换的因特网络进行融合(即语音通信和数据通信相结合)的必要性,因此一个称为NGN(Next Generation Network)的概念被提了出来。NGN是指下一代网络,[2]ETSI 对它的定义是:“NGN是一种规范和部署网络的概念,即通过采用分层、分布和开放业务接口的方式,为业务提供者和运营者提供一种能够逐步演进的策略,实现一个具有快速生成、提供、部署和管[3]理新业务的平台。”

在NGN提出之后,经过数年的研究和探索,人们提出了各种NGN的解决方案,但最终基本上都统一到了IMS(IP Multimedia [4]Subsystem)技术 。IMS运行于标准的IP网络上,使用一种基于第三方伙伴计划(3GPP)的SIP标准的VoIP实现方式。IMS的目标不仅是在现有网络基础上提供新的业务,它还要能提供在未来的因特网上能够承载的所有的业务。

当然,IMS属于核心交换层的技术,它全部基于IP网络,但在接入层,目前的语音大部分还是基于电路接入的方式接入的,因此,这就要求在一定时间内IMS在接入层要继续兼容电路接入。同时,在无线移动通信领域,随着移动通信技术的成熟及众多智能终端的出现,[5][6]对高速IP网络的要求也就越来越迫切。最新的3G 、4G 技术就是应此要求而产生的。未来的通信中要完全取消低效的电路传输及电路交换,而全部集中到IP通信上来,也就催生了一个新的无线通信标准

[7]LTE 。LTE的定义是长期演进而来的,其为现代的手机及其他移动设备提供了高速的数据通信手段,逐步实现了全IP交换。

关于通信网络的演进,简单来说,在无线方面体现为从GSM/CDMA/UMTS等向LTE发展,在核心网方面则体现为从电路交换向IMS发展。过去几年,围绕LTE语音曾经出现过多种观点、技术和演进路线。由于LTE标准不再支持用于支撑GSM、UMTS和CDMA2000网络下语音传输的电路交换技术,它只能进行全IP网络下的分组交[8][9]换,因此随着LTE网络的部署,运营商需选择VoLTE 、CSFB 、[10][11]SVLTE 、OTT 等方法之一解决LTE网络中的语音传输问题。从目前来看,移动网络庞大且复杂,在网络建设初期大部分运营商都选择使用CSFB方式建设网络,这种方式便于快速部署系统。当然,CSFB只是过渡时期的临时解决方案。从长远来看,VoLTE及其他几种方案更符合未来网络的发展方向。据报道,中国移动已于2013年6月发布了VoLTE技术白皮书,并计划于2014年下半年展开大规模商用。未来通信网络将走向何方,让我们拭目以待。[1] 1847年3月3日-1922年8月2日。1870年贝尔移民到加拿大,一年后到美国。1882年加入美国国籍。参见:https://zh.wikipedia.org/wiki/亚历山大·格拉汉姆·贝尔。[2] European Telecommunications Standards Institute,即欧洲电信标准化协会,官方网站是http://www.etsi.org。[3] 原文是:NGN is a concept for defining and deploying networks,which,due to their formal separation into different layers and planes and use of open interfaces,offers service providers and operators a platform which can evolve in a step-by-step mannerto create,deploy and manage innovative services.不过,这个概念的定义跟它的名字一样令人迷惑。事实上,这个概念最早大约是在1997年提出来的,所以,“下一代”中的“下”早就过时了。[4] 一般来说,NGN就应该称为软交换,而有的人也说IMS是更软的软交换。读者到后面就能了解到,与“更软的软交换”相比,FreeSWITCH更是用纯软件实现的,或许可以称做是“更更软的软交换”了。当然软交换的“软”并不是取决于它是否用“软件”来实现,而是更强调基于分组网的交换网络中的呼叫控制功能与媒体网关的分离。[5] 3G是指第三代移动通信技术,与第一代(1G、模拟系统)和第二代(2G、以GSM为代表的数字系统)移动通信技术相比,它主要是支持高速IP数据传输。详见http://zh.wikipedia.org/wiki/3G。[6] 4G是指第四代移动通信技术,是3G之后的延伸,从技术标准的角度看,按照ITU的定义,静态传输速率达到1Gbps,用户在高速移动状态下可以达到100Mbps,就可以称为4G的技术。详见http://zh.wikipedia.org/wiki/4G。[7] 参见http://zh.wikipedia.org/wiki/长期演进技术。[8] VoLTE(Voice Over LTE,LTE网络直传):该方案基于IP多媒体子系统(IMS)网络,配合GSMA在PRD IR.92中制定的LTE控制和媒体层面的语音服务标准。使用该方案意味着语音将以数据流形式在LTE网络中传输,所以无须调用传统电路交换网络,旧网络无须保留。简单来说,VoLTE就是LTE网络环境下的VoIP业务。[9] CSFB(Circuit Switched Fallback,电路交换网络支援):该方案中的LTE网络将只用于数据传输,当有语音拨叫或呼入时,终端将使用原有电路交换网络。该方案只需运营商升级现有MSC核心网而无须建立IMS网,因此运营商可以较迅速地向市场推出网络服务。也由于语音通话需要切换网络才能使用的缘故,通话接续时间将被延长。[10] SVLTE(Simultaneous Voice and LTE,LTE与语音网同步支持):该方案使用可以同时支持LTE网络和电路交换网络的终端,使得运营商无须对当前网络作太多修改。但这同时意味着终端价格的昂贵和电力消耗的迅速。[11] OTT(Over-The-Top):一种将服务建于网络之上的方式,如用Skype来提供LTE的语音。LTE具备高带宽、低时延、永远在线、全IP等特点,为OTT的发展带来了天然的便利,使得OTT语音几乎没有壁垒。但应当看到,现在乃至将来很长时间里,语音业务都是移动运营商的最主要的收入来源,把LTE的语音业务完全交给OTT是一种非常激进的观点,在电信领域得到的支持并不多。1.2 电话实现技术

电话系统的发展与科技的进步是分不开的。在本节,我们来介绍一些关键的电话技术及专业术语。1.2.1 电话号码

我们的生活已经离不开电话,而要打电话就离不开电话号码。但好多人对天天使用的电话号码既熟悉又陌生,因此,在这里我们也补充一些现行的电话网中电话号码的知识。值得注意的是,这些号码的出现大部分与业务内容和行政区划有关,也有一些历史背景,但限于篇幅,我们就不深入讨论了。1.固定电话号码[1]

现行的电话网中采用E.164 号码格式。以我国固话电话的编号规则为例,我们先来看本地号码。

一般来说,在比较大的省市(如北京、上海等)使用8位号码,比较小的省市使用7位号码。以北京的电话号码为例,它由8位数字组成,表示为ABCD EFGH,其中,ABCDE称为一个千群,即该群可以包含1000个电话号码,同理ABCD称为一个万群。小规模的交换机可能只包含几个千群,而大规模的可能包含几个万群。

如果在不同的省市之间打电话,则称为长途电话,一般需要通过长途局进行路由。打长途电话需要在本地号码前加上长途区号。根据城市的大小不同,我国电话区号的长度一般是2位到3位,如:10 北京20 广州21 上海755 深圳535 烟台

读者可能会问,北京的长途区号不是010吗?答案是——“不是!”许多人会错误地认为北京的区号是010,这也正是作者要写这一节的原因。

由于各地区号的长度不同,而且数字也不规则,因此,为了区分长途电话和本地电话,我国规定,在拨打长途电话前除了要加上区号外,还要在最前面加“0”。因此,“0”是国内长途字冠,它本身不是区号的一部分。为了帮助读者理解,我们先考虑国际长途的情况。为了区分国内长途与国际长途,我国规定,国际长途要在国家代码前加两个0。因此,如果拨打美国的号码,如:1-234-567-890,则需要拨00-1-234-567-890。其中,1为美国的国家代码,我们稍后还会讲到。

交换机的拨号规则遵循短号优先的原则,拨号时不加0就认为是本地号码,加一个0就认为是国内长途,两个0是国际长途。我国的国家代码是86,因此,一个北京号码的国际表示是:86 10 ABCD EFGH。

与我国不同,美国的国际长途字冠是011,因此如果从美国拨打中国的号码,则需要拨:011 86 10 ABCD EFGH。

类似的,其他国家和地区也有不同的拨号方式,这增加了电话号码书写的复杂性。因此,在实际书写电话号码时,有时会省略国际长[2]途字冠,而统一用“+”号代替,如:+86 10 ABCD EFGH 。

读到这里,读者就可以理解为什么北京的区号不是010了吧?另外,我们还知道,使用固定电话拨打异地手机时前边要加拨0,同样说明0并不是区号或手机号码的一部分。2.移动电话号码和专用号段

移动电话号码俗称手机号,由于其可移动与漫游的特性,因此与普通固定电话号码略有不同。众所周知,我国的移动电话号码都是以1开头的,按不同的运营商来划分。如中国移动的号码由135、136、137、138、139等开头;中国联通的由130、186等开头,中国电信的由133、189等开头。它们后面都是8位的号码,因此整个手机号共11位,前3位称为移动电信运营商专用的号段。

在2013年工信部发放虚拟运营商牌照以后,核发170号段作为虚拟运营商的专用号段。3.短号码

有一类特殊的号码称为短号码,如大家熟知的110、119、120等,这些属于公益性的号码(又称紧急号码,供紧急情况下使用),拨打都是免费的。

还有一部分是预付费的电话卡类业务,如200、201、300等。拨打这类号码本身不收费,而从关联的电话卡上扣费。

另一些短号码,如114等,由于运营商的分拆、合并,有的演变成了116114;还有一些5位的短号码专门供一些大的集团(如银行等)使用,如95555、95588等,这些号码不论何时何地拨打,一般只收市话费。

这些短号码的资源比较紧张,一般不会给个人使用。另外还有其他一些短号码,我们就不多讲了。4.800和400号码

800开头的号码是被叫付费的业务,主叫呼叫这些号码是免费的。这些号码主要由一些大的企业集团使用。这类号码都是虚拟的电话号码,在实际呼叫过程中通过查询数据库转换成真正的目的号码。

但是800号码有一个致命的缺点,就是用手机打不通,这主要是电信业务的历史原因(主要原因是不同运营商的网间结算)造成的。随着移动业务的发展,手机用户越来越多,因此,出现了400业务。这类业务的特点是主被叫分摊付费,主叫付本地通话费,被叫付长途电话费(如果主被叫不在一个城市)。400业务是手机用户可以呼叫的。

当然,随着时代的发展,以及各运营商提供更加灵活的话务套餐(如主叫免收长途费等),主叫用户对拨打这类号码时对实际资费已不太敏感。拥有800和400之类的电话号码越来越多地成为了企业实力和社会形象的标志。5.北美电话号码分类计划

为了与国内号码进行对比,我们来简单说一下北美电话号码分类[3]计划(North American Numbering Plan )。

加拿大和美国使用北美电话号码分类计划,其区号由3位数字组成,本地号码为7位数字,1为长途接入码,即长途字冠(在有的情况下可以省略长途字冠)。比如,一个完整的号码为1(ABC)DEF-GHIJ,如果是在本地拨打,则可以直接拨“DEF GHIJ”,如果是拨打长途,则需要先拨长途字冠1及区号,即:1(ABC)DEF-GHIJ。

值得一提的是,其中的区号ABC如果是555,除555-1212是查号台外,其他的号码都是不存在的。这类号码一般用于电影或戏剧中,防止与真实环境中的电话号码相冲突。6.电话号码的书写格式

电话号码就是一长串号码,但有时候为了便于阅读,在写的时候常用连字符“-”、括号、空格等将数字分开,如上一节我们看到美国电话号码的格式。

国内电话号码的书写一般采用如下的方式:(010) ABCD EFGH (没有国家代码,虽然0不是区号的一部分,但是,习惯了)+86 (10) ABCD EFGH (固话,8位,国际号码格式)+86 (535) ABC DEFG (固话,7位,国际号码格式)+86 139 ABCD EFGH (手机,国际号码格式)

当然,具体的写法没有统一的规定,只要让看到号码的人知道怎么拨打就行了。至于要将电话号码印到名片上,又涉及企业形象设计的问题了,那就另当别论了。1.2.2 模拟信号与数字信号

模拟(Analog)量是连续的变化的量,如温度、声音等。早期的电话网也是基于模拟交换的。对于人类交流来讲模拟信号是非常理想,但它很容易引入噪声。如果通话双方距离很远,信号会衰减,因而需要对信号进行放大。问题是,信号中经常混入线路的噪声,放大信号的同时也放大了噪声,导致信噪比(信号量与噪声的比例)下降,严重时甚至会难以分辨。

数字(Digital)信号是不连续的(离散的),是按一定的时间间隔(单位时间内抽样的次数称为频率)对模拟信号进行抽样(见图1-6)得出的一些离散值。然后通过量化和编码过程就可将这些离散[4]值变成数字信号。根据抽样定理 ,当抽样频率是模拟信号最高频率的2倍时,就能够完全还原原来的模拟信号。图1-6 抽样1.2.3 PCM

PCM(Pulse Code Modulation)的全称是脉冲编码调制。它是一种通用的将模拟信号转换成以0和1表示的数字信号的方法。

一般来说,人的声音频率范围在300~3400Hz之间,通过滤波器将超过4000Hz的频率过滤出去,便得到4000Hz内的模拟信号。然后根据抽样定理,使用8000Hz进行抽样,便得到离散的数字信号。使用PCM方法得到的数字信号就称为PCM信号,一般一次抽样会得到16bit的信息。

为了更有效地在线路上进行传输,通常对PCM信号进行一定的[5]压缩。通过使用压缩算法 ,可以将每一个抽样值压缩到8bit。这样1秒的抽样就得到8bit×8000=64000bit的信号(简称64kbit),抽样速率[6](即传输速率)为64kbit/s 。

PCM通常有两种压缩方式:A律和μ律。其中北美使用μ律,我国和欧洲使用A律。这两种压缩方法很相似,都采用8bit的编码获得[7]12bit到13bit的语音质量 。但在低信噪比的情况下,μ律比A律略好。A律也用于国际通信,因此,凡是涉及A律和μ律转换的情况,都由使用μ律的国家负责。1.2.4 局间中继与电路复用技术

连接交换机(局)的E1或T1电路称为局间中继。交换机间的消息以及通话数据都是在局间中继上传送的,传统的交换机使用时分复用(TDM)技术将多路通话合并到一条数字中继线上,可以大大节省局间中继线的数量。

利用时分复用技术可以将32个64kbit/s的信道合并到一条2Mbit/s(64kbit/s×32=2.048Mbit/s,通俗来说就直接叫一个两兆)的电路上,这样的电路称为一个E1(在北美和日本,是24个64kbit/s复用,称为T1,速率是1.544Mbit/s)。在E1中,每一个信道称为一个时隙。其中,除0时隙固定传同步时钟外,其他31个时隙最多可以同时支持31路电话(有时候会使用第16时隙传送信令,这时最多支持30路电话)。

随着话务量的增加,交换机之间的电路越开越多,因而需要更高级别的电路复用技术。目前通常的做法是将63个E1合并到一个155Mbit/s(2×63+P=155,其中P是电路复用的开销)速率的光路(光纤)上,在SDH(Synchronous Digital Hierarchy,同步数字传输体系)技术中这称为STM-1(Synchronous Transfer Module,同步传输模块)。

当然,155Mbit/s速率的光路还可以使用波分复用等技术合并到1Gbit/s或10Gbit/s速率的光路上,实现话路收敛和传输。[1] 参见http://en.wikipedia.org/wiki/E.164。[2] 当然,为了方便阅读,有时还会在电话电码中增加括号和短横线。[3] 参见http://zh.wikipedia.org/wiki/北美电话号码分类计划。[4] 又称采样定理或奈奎斯特·香农定理,见http://zh.wikipedia.org/wiki/采样定理。[5] 实际为压扩法,因为有的部分是压缩的,有的是扩张的。目的是给小信号更多的比特位数以提高语音质量。[6] bit/s即比特/秒,有时也写作bps(Bit Per Second)。注意,通常,对于二进制数来说K为大写,1K=1024,但此处的k为小写,1k=1000。[7] 目前我国使用的是A律13折线特性。基本原理是:使用非均匀量化方法和压缩扩张技术得到13段折线。感兴趣的读者可在Google上搜索“13段折线”进行更深入的了解。1.3 我国电话网结构

我国的电话网由本地网与长途网组成,并通过国际交换中心进入国际电话网。

原有电话网的结构采用了等级制,共有五级,分别用C1~C5表示。其中C1~C4构成长途电话网,C5(端局)及汇接局(Tm)构成本地网。但随着社会和经济的发展,电话业务量迅速增加,横向话务流量日趋增多,新业务的需求不断涌现,五级网络结构由于转接段数多造成了接续时延长、传输损耗大、网络管理工作复杂、不利于新业务的开展等问题。因此,我国电话网正在由五级电话网向三级电话网转变,即将原来的C1级和C2级长途交换中心演变为DC1,原来的C3级和C4级交换中心演变为DC2,以便减少转接段数。下面,我们主要以本地网为例简单讲解一下电话网的结构。

图1-7所示的主体部分为我国一地级市固定电话网(称为本地网)的结构。通常,用户话机(如A、B、C、D)通过一对电话线连接到距离最近的交换机上,该交换机称为端局交换机(一般以区或县[1]为单位)。端局交换机通过局间中继线连接到汇接局 。长途电话需要通过所在长途局与其他长途局相连。但根据话务量要求,汇接局也可以直接与其他长途局开通高速直达中继(未画出)。为节省用户线,在一些人口比较集中的地方(如学校、小区),会在端局下再设模块局或接入网,用户话机(如a、b、c、d、e)则就近接入到模块局(或接入网)上。图1-7 我国固定电话网结构

在我国,智能网一般用于实现电话卡、预付费或400/800类业务,而前几年新部署的NGN(Next Generation Network,下一代网络,一般指软交换)则支持更灵活、更复杂的业务,包括IM/SMS/MMS等消息类业务、点对点交互式多媒体/文件共享/游戏等多方协作交互业务、内容分发业务、广播/多播业务、企业托管业务,以及数据检索、数据通信、在线应用、传感器网络、远程控制等各类多媒体业务和数据业务。[2]

但是技术发展很快,为响应国家“光进铜退” 的号召,现在已经实现了直接光纤到户,也就是说很快全网都能IP化了。新技术代替旧技术,为用户带来了五彩斑斓的业务,但旧技术的一些优点则永远让人怀念,最典型的就是原来的电话线是带电的,家里停电不影响打电话。但光纤是不带电的,停电以后用户就不能打电话了(除非加UPS)。

在我国的移动网络中,大量部署了IMS。IMS具有组网灵活的优点,但涉及的网元和基本概念很多,对于非专业人士来说理解起来有些困难。我们将在本章的最后一节对IMS进行专门的讨论。[1] 为了保证安全,汇接局通常会成对出现,平常实行负荷分担,一台汇接局出现故障,与之配对的汇接局会承担其负责的所有话务。[2] 用户家里的电话线使用铜双绞线。1.4 信令

用户设备(如话机)与端局交换机之间,以及交换机与交换机之间需要进行通信。这些通信所包含的信息有(但不限于)用户、中继线状态、主叫号码、被叫号码、中继路由的选择等。我们把这些消息称为信令(Signaling)。1.4.1 信令分类

按照不同分类方式,信令可以分成很多种。下面介绍信令主要的几种分类方式。(1)按信令的功能分

按照功能的不同,信令可以分成以下三种:

·线路信令:具有监视功能,用来监视主被叫的摘、挂机状态及设备忙闲。

·路由信令:具有选择功能,指主叫所拨的被叫号码,用来选择路由。

·管理信令:具有操作功能,用于电话网的管理和维护。(2)按信令的工作区域分

信令按照工作区域的不同可以分成以下两种:

·用户线信令:是用户终端与交换机之间的信令。它包括用户状态(摘、挂机)信号、用户拨号(脉冲、DTMF)所产生的数字信号,以及交换机向用户终端发送的信号(铃流、信号音)。

·局间信令:是交换机和交换机之间的信令,在局间中继线上传送,用来控制呼叫接续和拆线。注意

用户线信令少而简单,局间信令多而复杂。(3)按信令的信道分

按照信道的不同,信令可以分为以下两种:

·随路信令:信令和话音在同一条话路中传送。

·公共信道信令:以时分方式在一条高速数据链路上传送一群话路。

随路信令传送速度慢,信息容量有限(传递与呼叫无关的信令能力有限);公共信道信令传送速度快、容量大,具有改变或增加信令的灵活性,便于开放新业务。(4)其他分类

另外,信令还可分为带内信令和带外信令、模拟信令和数字信令、前向信令和后向信令、线路信令和记发器信令等,我们在这里就不多解释了,有兴趣的读者可以自行搜索相关的关键词进一步学习。

下面我们分别对一些重要的信令进行简单介绍。1.4.2 用户线信令

从用户终端(通常是话机)到端局交换机之间经常需要传送一些控制信息,如用户摘机、挂机、拨号、主叫号码显示等,这些信息称为用户线信令。用户线信令可以通过模拟或数字信号传递。

对于普通的话机,线路上传送的是模拟信号,因此信令只能在电话线路上传送,这种信令称为带内信令。话机通过电压变化来传递摘、[1]挂机信号;通过DTMF(Dual Tone Multi Frequency,双音多频 )传送要拨叫的电话号码。另外,也可以通过移频键控(Frequency Shift-keying,FSK)技术来支持主叫号码显示,俗称来电显示(Caller Line Identification Presentation,Caller ID或CLIP,主叫线路识别提示)。

与普通电话不同,ISDN(Integrated Service Digital Network,综合业务数字网)在用户线上传送的是数字信号。它的基本速率接口(Base Rate Interface,BRI)使用144kbit/s的2B+D信道——两个64kbit/s的B信道及一个16kbit/s的D信道。其中B信道一般用来传输话音、数据和图像,D信道用来传输信令或分组信息。

2B+D的ISDN最初是为了解决用户线上的语音与数据同步传输问题。但事实上,2B+D的ISDN并不像传说中那么美,而且需要专门的NT1终端设备,在我国并没有发挥出它应有的作用,后来很快被ADSL技术取代了。1.4.3 局间信令

交换机与交换机之间也需要传送控制信号,用于话路的建立、释放等,这些控制信号就称为局间信令。局间信令主要在局间中继上传送,传送局间信令的电路称为信令链路。一般来说,一条信令链路通常只占用一个64kbit/s的时隙。一条信令消息通常只有几十或上百个字节,一条64kbit/s的电路足以容纳成千上万路电话所需要的信令。但随着技术的进步、话务量的上涨以及更多增值业务的出现,完成一次通话需要更多的信令消息,因此出现了2Mbit/s速率的信令链路,即整个E1链路上全部传送信令。

目前在传统的PSTN网络中常见的局间信令有ISDN PRI(Primary Rate Interface,基群速率接口)信令和七号信令。PRI信令和话路在同一个E1上传送,通常使用第16时隙,而0时隙传送同步信号,其他30个时隙可传输通话信息,因此又称30B+D。与PRI信令不同,七号信令除可以与话路在同一个E1上传送外,还可以在专门的用于传送信令链路的E1中继上传送,因而它组网更加灵活,支持更大的话务量。我们将在下一节专门讲解七号信令。

支持七号信令的每个通信设备都需要有一个全局唯一信令点编码,而信令点编码资源是比较有限的。因而,七号信令主要在运营商

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载