在pcduino上构建自己的电话局–voip服务器

作者: EEbird
上传时间为: 2013-06-25 06:20 PM
2013-06-25
阅读:

现在大家有时会收到电信运营商的推销短信,例如什么彩铃5月每月,一些收费服务。

这里给大家介绍一个开源项目,在pcduino实现免费的电话局,可以在这个电话局上实现彩铃,电话转接,来电显示等等一些功能。

这里采用的用的是3G+asterisk+freepbx方案,这里3G是电话局的物理前端,freepbx是电话局的图形界面操作后台,asterisk就是开源的voip服务器,具体的开发过程如下:

一,下载安装asterisk

1,首先在官网上下载asterisk11源码:下载地址http://www.asterisk.org/downloads

2,安装环境

安装完成之后可以执行:

asterisk -vr

来启动asterisk命令模式,如果执行命令提示什么打不开,需要执行asterisk start 来启动服务器。

安装成功后,会有以下命令行模式:

3、安装3G上网卡在asterisk上面的驱动首先要保证3G上网卡可以在pcduino上可以上网,具体的实现过程详见文章

http://www.linksprite.com/cnblog/?p=794

然后要保证你的3G上网卡有打电话的功能,此项目中用的是华为E1752

具体的有哪些型号可以用请参加华为的官网说明。

下面开始安装3G上网卡连接asterisk的驱动:

安装asterisk的3G上网卡的驱动

安装成功后,下面可以测试可以测试一下:

1》检测物理设备

2》给上网卡打电话

3》给上网卡发短信

可以看到我发的短信的内容。

可以看到3G和asterisk都已经安装完成。

二,安装voip图形化管理界面freepbx

1、安装依赖文件

这里会提示linux-headers-`uname -r`这个命令的包找不到,没有关系,下面将会为你解决这个问题。

2、安装PearDB

3、安装iksemel

4、安装DAHDI

当make all的时候会提示你没有安装kenral源码,然后就打印出错误信息,下面就介绍如果解决这个问题。

出现这个错误的主要原因是我们开发的内核源码没有提供安装包,只要我们把内核源码放在指定位置就可以了,但是源码有600M,很显然我们不能放到板子上,如果是用的是531的系统,那就恭喜你,你直接拷贝过来就行了。

为了解决空间问题,我们可以把在X86上搭建NFS服务器,把源码挂载到板子上。具体的在搭建NFS服务器的步骤我就不介绍了。

首先在板子上安装nfs文件支持。

然后执行命令,挂载NFS网络文件系统。

挂载成功后需要在pcduino上配置,编译源码,比较慢,大概3个小时的样子。由于需要编译生成uImage,需要mkimage。这里不能把X86的拷贝过来直接用,需要在pcduino上编译生成ARM架构然后拷贝到/usr/bin目录下。由于我们的需要用到源码对应的内核,所以需要把内核和驱动都换掉,具体的不知道怎么换的,请参考我前面的帖子《pcduino内核开发指南》。换驱动比较简单,在make uImage之后,执行make modules_install install就可以了。换掉内核和驱动之后重启一下。

5、安装libpri

6、安装Asterisk-Extra-Sounds

7、安装配置freepbx

配置数据库

设置数据库

开始安装freepbx

现在可以在win7上打开http://192.168.3.114/admin/config.php这个网址,前面的IP就是pcduino的IP。

如果出现错误,请检测两个地方:

第一,这是基于web服务器的网页,检测web服务器的状态。

第二,检测web服务器的目录是不是/var/www/freepbx/

这就是登录界面,选择管理员,这里可能你设置的用户名和密码会失效,直接用户名和密码都是admin就可以了,下面是登录进去的界面。

如果你对freepbx很熟悉,这个你应该会感觉很亲切。这里为止服务器已经搭建好了,你可以去设置你想要的功能。前提条件是对freebpx比较熟,下面一篇文章介绍一个入门,教大家设置彩铃。

相关经验
全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示