最近在了解一个网络电话的项目,在网上搜索了一些关于这方便的资料,现在记录一下。(通讯行业是一个非常专业的领域,本人虽然做了很多年的开发,但有理解起来还是很吃力)
1、viop:
VoIP(Voice overInternet Protocol)简而言之就是将模拟信号(Voice)数字化,以数据封包(Data Packet)的形式在IP网络(IP Network)上做实时传递。使用网络聊天工具来进行语音聊天,这种语音并不是通过电信运营商的传统电话网络进行传输,而是通过互联网进行传输。这种将语音转化为IP数据包,部分或全部基于IP网络传输的技术就是VoIP (Voice over IP,IP承载语音)技术。
VoIP主要有以下三种方式:
l 网络电话:完全基于Internet传输实现的语音通话方式,一般是PC和PC之间进行通话。
l 与公众电话网互联的IP电话:通过宽带或专用的IP网络,实现语音传输。终端可以是PC或者专用的IP话机。
l 传统电信运营商的VoIP业务:通过电信运营商的骨干IP网络传输语音。提供的业务仍然是传统的电话业务,使用传统的话机终端。通过使用IP电话卡,或者在拨打的电话号码之前加上IP拨号前缀,这就使用了电信运营商提供的VoIP业务。
为什么VoIP服务有些要收钱,有些却免费? VoIP服务不仅能够沟通VoIP用户,而且也可以和电话用户通话,比如使用传统固话网络以及无线手机网络的用户。对这部分通话,VoIP服务商必须要给固话网络运营商以及无线通讯运营商支付通话费用。这部分的收费就会转到VoIP用户头上。网上的VoIP用户之间的通话可以是免费的。
2、pbx/ip pbx:
PBX俗称:程控交换机,程控用户交换机,电话交换机,集团电话等。PBX是现代办公常用的电话通讯管理手段的一种,使电话管理者可集团性管理外线来电与内线呼出。
用户交换机,也称为程控交换机,完成企业内部之间以及与公共电信网络的电话交换,并将电话,传真,调制解调器等功能合并。一般的术语ext.(extension)是指连接在主线上的分机。用户交换机就是处理分机之间的通话同时再通过主干线与公共交换电话网(PSTN)连接。
用户交换机和集团电话系统的不同就在于集团电话系统的用户拨打外线是需要人工操作,而用户交换机则自动完成这个任务。混合系统则包括以上两种系统的功能。
IP PBX电话交换机系统实现计算机网与电话交换机的功能合一,解决了PBX的一些不足(对voip等支持不足)。IP PBX网络系统内各电话终端采用IP方式进行数据通信,不仅能进行通话,还能实现文本、数据、图像的传输,将电话网和计算机网统一成一个整体,实现局域网内的电子办公。传统的PBX利用电路交换的原理来实现集团电话的功能,而IP PBX则使用了TCP/IP协议,利用包交换的原理,在以太网上实现了相同的功能。IP PBX还可仿真电路交换,从IP网络中拨打电话到传统的电话网络之中。
3、Asterisk:
Asterisk是一款实现电话用户交换机(PBX)功能的自由软件、开源软件。Asterisk是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机器变成你自己的交换机,还能够当作一台企业级的商用交换机。
它提供完善PBX功能,可以连接多种不同的电话终端,包括普通电话机,IP电话机,软电话等,支持多种主 asterisk流的IP电话协议和系统接口。
Asterisk软件提供很多以前只有昂贵的专业PBX系统才支持的功能,比如:语音信箱,会议电话,交互式语音应答和自动电话转接等。由于该软件开放的性质,用户可以灵活的配置方便的扩展系统的功能,甚至编程开发自己所需功能的模块。Asterisk通常都运行在Linux操作系统下,当然它也可以在其他系统,如BSD,Windows或OS X下编译并安装。
Asterisk服务器不需要任何特殊的硬件即可提供VoIP的服务,只需服务器有网络连接即可。它支持主流VOIP协议,包括会话发起协议(SIP)、H.323,既可作为IP电话服务器也可以作IP电话和PSTN之间的转接。Asterisk系统还设计了一个新协议,IAX,用于在Asterisk服务器之间维护话路通道。如果需要连接普通电话或PSTN中继线,运行Asterisk的服务器则需要安装相应的硬件接口板。许多厂商都生产用于连接普通电话、T1、E1中继线、ISDN等的接口板。
4、FreePBX:
FreePBX是基于Asterisk 软交换平台开发的界面管理系统,开源产品,使用mysql,php 开发。通过Freepbx可以十分方便的配置各类电话系统。由于Asterisk包含广泛的 VoIP 协议诸如:SIP, IAX2 和 H.323 等等,所以安装了Freepbx之后,我们便可以通过Web页面,搭建属于自己的网络语音系统。
Asterisk是基于linux的软交换平台,本身不支持界面管理系统。 如果用户需要管理Asterisk,则需要FreePBX界面来配置管理。仅安装asterisk也可以实现一定的功能,但是需要自己编写拨号规则,管理流程,对大部分用户来说相当复杂。FreePBX帮助用户解决了安装管理的问题。
1)安装了asterisk、FreePBX以后,还需要什么设备我才能开始打我自己的手机或者座机?
用户需要购买一个FXO 网关或者模拟语音板卡,安装在物理机或者对接网关,才能呼出呼入。
2)使用FreePBX 打电话是免费的吗?
看情况。如果不落地(就是不接到电信公司的线路上),可以免费,比方说系统内部分机呼叫,或者和分公司,外地公司的IPPBX 对接,通过SIP中继呼叫,则不需要付费。如果打手机或者固话,则一样付费
3)安装好FreePBX,我需要再怎么配置才能呼叫?
简单来说,首先,你需要创建两个系统内部分机。第二,创建中继。第三,创建呼入路由和呼出路由。
怎么才能让可以呼叫出去,呼入进入到系统? 根据以上提示,创建中继配置(必须有支持FXO的网关或者支持FXO的语音板卡),呼入路由设置中最后的呼叫目的地选择系统创建的分机接听。意思就是呼入电话由这个分机来接听,这个分机响铃。呼出路由则是系统内部分机通过拨打一个外部的电话号码,通过中继线路呼出,通常需要置呼出的模式。
4)什么是拨号规则? 简单来说,拨号规则就是用户从分机拨打号码后,系统后台提取到用户拨打的号码,然后根据号码的格式或者位数长度让系统走不同的中继路由出局。号码位数不同可能就是呼叫的号码长短不一样,例如本地号码固话,则号码位数报价短,长途电话则号码位数比较长。手机号码可能全国都一样。国外的号码可能长度完全不一样。
参考:
http://blog.topspeedsnail.com/archives/5510