文档介绍:第32章VoIP服务器——Asterisk可以自己用软件实现电话交换机?是的,这就是本章我们要讨论的话题。如何在Linux下实现免费的电话交换机功能。,我们先看看传统的电话网络是如何工作的。传统的电话网络,叫做Public Switched work,公共交换电话网络,简称PSTN,是一种全球联网的语音通信电路交换网络,通过中继和交换设备进行通讯。不难看出,我们现在使用的IP计算机网络和PSTN颇有几分相似之处,在PSTN中呼叫一个电话号码相当于通过IP网络到达一个IP地址,在骨干PSTN网络中,也和IP协议一样使用复用机制来传递数据。对于私有电话系统来说,也和IP计算机网络有着类似的原理。公司的电话交换机直接对外(相当于IP网络中的公网地址),外部人员只能访问到电话交换机总机,由总机控制应该将这个连接转到哪个分机上(类似于IP中的NAT),内部的分机不是合法的电话号码(?),只有通过公司的电话交换机才能与外界正常通讯。在这里,公司的电话交换机,也就是通常所说的程控交换机,也叫PBX,PrivateBranch(telephone) eXchange的缩写,意思是私有/专有电话交换系统,传统的PBX使用PSTN网络连接并提供语音通话服务。随着技术的发展,出现了基于IP网络的语音传输业务,即Voice over IP,简称VoIP,人们可以通过计算机网络()进行语音通话,而后,又出现了基于IP网络的PBX,简称IPPBX,IPPBX不需要专用的网络,和VoIP实现类似于传统电话系统的功能,而且,使用IPPBX进行通信,对内没有任何费用,只有网络建设成本,的费用,没有任何额外的通话或漫游、长途费用,IPPBX的优势不言而喻,而通过一些硬件设备(比如调制解调器),IPPBX也可以和现有的传统PSTN网络互通。也就是说,在所有使用IPPBX的用户之间,而非电话局的专有网络进行,都是免费的,而且不受任何电信运营商的控制,这对传统电话业务造成了很大的冲击,也使得IPPBX开始迅速发展。随着计算机硬件处理能力的加强、计算机骨干网络传输能力的提升和VoIP软件技术的进一步发展,纯软件的IPPBX开始出现,相当于无需增加任何设备,一台PC就可以作为一个IPPBX使用,提供电话系统的功能,这大大节省了公司的成本和日常费用,同时,随着Linux的兴起,基于Linux的开源IPPBX软件出现了,也就是说,我们可以完全免费并且是合法的构建起自己的VoIP电话系统。而这些开源IPPBX软件中的佼佼者,就是Asterisk。,Linux Support Service公司的Mark Spencer出于工作需要和资金的压力,开始捣鼓基于Linux的免费电话系统,因为当时PBX都是专有厂商而且价格昂贵(现在也是),他开始尝试自己开发纯软件的PBX系统,这就是Asterisk的起源。随后,依靠全世界电信和程序爱好者的共同努力,Asterisk开始迅速发展,并成为开源软件IPPBX领域的明星,2001年,随着Asterisk的发展,Linux Support Service改名为Digium公司,开始专门提供Asterisk服务及相关语音板卡硬件的销售业务。之所以选择Asterisk这么古怪的名字(Asterisk是*号的意思),只是因为创始人Mark Spencer选择了一个既存在于传统电话按键中,又存在于Linux中而且代表通配符的这样一个符号,我认为这也从侧面反应了他想让Asterisk成为基于Linux的电话系统标准的想法。Asterisk 支持几乎所有Linux、Unix类操作系统,甚至可以支持Windows操作系统(目前最新版本的Asterisk for ,构建于标准Asterisk ),除了提供最基本的VoIP语音通话功能,Asterisk还支持传真、语音信箱、彩铃(RBT, Ring Back Tone)、电话会议(多方通话)、IVR(Interactive Voice Response,互动式语音应答)等高级功能,Asterisk的这些功能,和当前的任何硬件或商业软件PBX,也可以说是丝毫不逊色,甚至在灵活性和可配置性方面比硬件PBX更加出色,相信接触过传统PBX系统的朋友一定感同身受,各式各样的古怪命令可不是那么好玩:-)。这些以往需要昂贵的硬件、软件和人员成本来构建的高级专业系统,才能完成的任务和功能,Asterisk都可以完成,而Asterisk的座右铭是:这不过是软件!(It’s only software!)我们不禁会想,会不会有一天,硬件PBX完全消失,这个世界