网络电话很便宜。自己搭一个网络电话系统更好玩。
这里写的是两年前我的网络电话系统。现在个人使用的系统简单得多了。
当时已有的资源:
1. 一条本地电话线。拨打和接听本地电话都免费;
2. 一个VOIP账户,支持通用的SIP协议(一种网络电话传输协议)。
目标:
1. 局域网内任何用户都可以利用上述两个账户拨出本地和国际长途电话。本地用电话线,长途用VOIP。
2. 在其他地方,也可以通过Internet连接到本地服务器,拨打电话。
3. 每个用户之间不能互相串听。
4. 用户之间可以互相拨打。
5. 电话录音功能。
设备:
1. WRT54GL 路由器,安装openwrt操作系统,以及asterisk模块,硬件上,加装了1块1G的SD卡。
2. Linksys SPA3000 网络电话适配器,这是本地电话线和网络之间的桥梁
3. 电话机一只,接在SPA3000,为主电话机
4. 客户端:其他用户可以选择用电脑软件连接到路由器上面的Asterisk服务器,也可以选择购买LinksysPAP2适配器,不开电脑也能打,一个PAP2支持两条线,可以两个人share一台。
下面讲配置:
1 在路由器上面的Asteriskserver上,建立服务,设置帐户,客户端打开后,在此服务器上注册,每人有一个分机号码。另外,asterisk还要配置两个gateway,一个是国际长途的gateway,asterisk用我们购买的SIP账户和服务商建立连接,并提供国际长途服务;另外,如果内部拨出的是本地电话号码,asterisk负责将电话转到SPA3000,通过连接在SPA3000上面的市内电话线打出。
2 设置SPA3000。首先,要让asterisk能够和SPA3000通信,这里要用到httpauthentication的设置。另外voip账号,用asterisk事先设置好的本地账号。另外,SPA3000在接到来电时,自动转到asterisk server,asteriskserver的语音菜单会询问需要接入哪一个分机。(也可以让SPA3000接到来电,直接ring连在自己身上的电话机,看需要而定)。
3 培植其他用户的客户端,连接到asterisk server
4 路由器的防火墙要做适当的配置让通讯流畅,特别是5060端口配置
实验效果令人满意,适合多人合租住房,或者小公司使用。缺点是拨出市内电话等待时间要8-15秒,这是因为WRT54GL路由器,主频较低,而且跟SPA3000之间的通信还需要一定时间。
这篇文章只是大概介绍这个系统。详细配置可以看下面几个网站学习:
1. http://forum.voxilla.com/asterisk-support-forum/spa3000-configuration-wizard-asterisk-10144.html
voxillaforum是讨论VOIP最先进的论坛,上面的link是一个帮助设置asterisk和SPA通信的wizard。
路由器上面asterisk的安装要靠这里的软件。
这里有很多voip信息,也有asterisk配置方法
用户超过10人,或者需要更加稳定的服务,可以考虑用PC代替路由器作为asteriskserver,安装trixbox操作系统,这是一个建立在centOS基础上的asteriskserver,配置简单。SPA3000也可以用某些PCI接口的电话适配卡代替,直接装在PC上。
有关Trixbox,看这里
过去看的时候,还在开发阶段,现在已经商业化了。但依然有免费版本。
-----------------------------------------------------------------------------------------------
如果一个小家庭,完全没有必要弄得像上面那样复杂,比如我现在的简单设置,不用Asteriskserver。SPA3000直接和国际长途用的VOIP服务建立连接。用dialrule,自动判断所拨号码应该从本地电话线路(FXO)走,还是走VOIP。电话,买一个带子机的无绳电话就好,客厅放一个,卧室放一个。