前言:freeswitch是目前开源最火的软交换系统,fusionpbx则是其gui管理界面(只有E文版本),同样也是开源。freeswitch相比asterisk功能和性能都要强大很多,毕竟freeswitch是一个开源的软交换系统,而asterisk只是一个开源的PBX系统,具体的一些特性不了解的同学可以看维基百科。

在无线路由器上不是freeswitch不是很麻烦,openwrt都有编译好的包,直接通过opkg安装就可以,但是如果需要GUI界面,这个就比较麻烦了,首先要解决的一个问题是无线路由器的flash容量不够,其次是fusionpbx是php开发的web程序,调试起来还是有点麻烦。

解决无线路由器flash容量不够的办法很多,dd-wrt和tomato一般是使用opt挂载U盘来解决,openwrt一般则是block-extroot方式将 U盘挂载到/overlay目录,我所使用的openwrt本身集成了block-extroot功能,直接将一个4G的U盘挂载到/overlay 目录,很好解决了flash容量不够的问题。具体操作办法我这里不累赘了,以前有很多相关的帖子,大家随便搜一下就能找到很多。

fusionpbx调试的时候,以前有一篇关于fusionpbx的文章,全E文的,不过很简单就能读明白,其使用的环境是php5,web服务利用openwrt的uhttp,数据库使用的是sqlite,但是我按照其指导,一步一步来,最后还是失败。于是我寻求其他办法,几经失败,最后在php+lighttpd+mysq组合下成功了。

我的硬件环境是tp-link TL-845N改8M flash/64M RAM/刮U加USB口,软件环境是我以前发布的一个帖子内的,帖子名:【补充】841N V8 843N 845N 等AR9341 8M uboot(带httpd) +art ,(链接http://www.right.com.cn/forum/thread-123793-1-1.html)。

经过几个日夜的调试,终于把freeswitch+fusionpbx部署完成,不敢独享,特将笔记贴出来给有同样兴趣的同学参考一下。

好了,废话已经很多了,下面正式开始在openwrt无线路由器上部署freeswitch+fusionpbx。

一、基本配置及检出fusionpbx修改软件源为http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages

opkg update

opkg install zoneinfo-core  zoneinfo-asia

opkg install subversion-client openssh-sftp-server unzip

修改/etc/config/system 时区为:Asia/ShangHai /*先略去此步骤,如fusionpbx页面报时区错误时再修改*/

检出fusionpbx版本

cd /usr/share

svn co http://fusionpbx.googlecode.com/svn/trunk/fusionpbx     /,trunk版本

svn co http://fusionpbx.googlecode.com/svn/branches/dev/fusionpbx    /,稳定版本

二、安装应用

php部分

opkg install php5

opkg install php5-cgi

opkg install php5-cli

opkg install php5-fastcgi

opkg install php5-mod-calendar

opkg install php5-mod-curl

opkg install php5-mod-dom

opkg install php5-mod-gd

opkg install php5-mod-iconv

opkg install php5-mod-json

opkg install php5-mod-mbstring

opkg install php5-mod-mcrypt

opkg install php5-mod-mysql

opkg install php5-mod-mysqli

opkg install php5-mod-openssl

opkg install php5-mod-pdo

opkg install php5-mod-pdo-mysql

opkg install php5-mod-session

opkg install php5-mod-simplexml

opkg install php5-mod-sockets

opkg install php5-mod-xml

opkg install php5-mod-xmlreader

opkg install php5-mod-xmlwriter

mysql部分

opkg install mysql-server libmysqlclient libncursesw libncurses libreadline terminfo uclibcxx zlib

lighttpd部分

opkg install lighttpd

opkg install lighttpd-mod-access

opkg install lighttpd-mod-accesslog

opkg install lighttpd-mod-alias

opkg install lighttpd-mod-auth

opkg install lighttpd-mod-cgi

opkg install lighttpd-mod-evasive

opkg install lighttpd-mod-fastcgi

opkg install lighttpd-mod-magnet

opkg install lighttpd-mod-redirect

opkg install lighttpd-mod-rewrite

opkg install lighttpd-mod-scgi

opkg install lighttpd-mod-simple-vhost

创建软链接

ln -s /usr/bin/php-cli /usr/bin/php

三、MySQL配置

创建数据库文件夹

mkdir /mnt/data /mnt/data/tmp

修改/etc/my.cnf

bind-address = 0.0.0.0

创建默认的数据库

/usr/bin/mysql_install_db --force

启动mysql

/etc/init.d/mysqld start

输入如下命令创建mysql的密码

/usr/bin/mysqladmin -u root password ligen119

登陆数据库

mysql -u root -p

连接上mysql之后,创建数据库

create database fusionpbx

\g

查看当前可用数据库

show databases

\g

授权任何位置访问(sql命令)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ligen119' WITH GRANT OPTION;

flush privileges;

四、配置php.ini和lighttpd.conf

1、修改配置文件php.ini

修改 short_open_tag = On

修改站点目录 doc_root = "/usr/share/fusionpbx"

修改 upload_max_filesize = 20M

将Dynamic Extensions段修改为

extension=ctype.so

extension=curl.so

extension=dom.so

extension=gd.so

extension=iconv.so

extension=json.so

extension=mbstring.so

extension=mcrypt.so

extension=mysql.so

extension=openssl.so

extension=pdo.so

extension=pdo-mysql.so

extension=session.so

extension=sockets.so

extension=tokenizer.so

extension=xml.so

extension=xmlreader.so

extension=xmlwriter.so

extension=simplexml.so

修改时区  date.timezone = Asia/Shanghai

注释掉;  ;sqlite3.extension_dir =

2、修改配置文件lighttpd.conf

修改server.modules段或添加以下信息

server.modules = (

"mod_scgi",

"mod_simple_vhost",

"mod_auth",

"mod_cgi",

"mod_rewrite",

"mod_redirect",

"mod_access",

"mod_alias",

"mod_fastcgi",

"mod_evasive"

)

修改  server.document-root = "/usr/share/fusionpbx/"

修改  index-file.names = ( "index.php", "login.php", "index.htm", "default.htm" )

去注释或添加  server.port = 81

添加以下配置信息或修改fastcgi配置

fastcgi.server = (

".php" => (

"localhost" => (

"socket" => "/tmp/php-fastcgi.socket",

"bin-path" => "/usr/bin/php-cgi",

"max-procs" => 2,

"max-load-per-proc" => 4,

"idle-timeout" => 20,

"bin-environment" =>(

"PHP_FCGI_CHILDREN" => "4",

"PHP_FCGI_MAX_REQUESTS" => "2000"

),

"bin-copy-environment" => ("PATH","SHELL","USER")

)

)

)

任意空白位置添加一行:   evasive.max-conns-per-ip = 8

五、安装配置freeswitch修改软件源为

http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages

opkg update

opkg install freeswitch-collection-minimal freeswitch-sounds-en freeswitch-sounds-moh freeswitch-mod-valet-parking

opkg install freeswitch-mod-voicemail freeswitch-mod-say-en freeswitch-mod-xml-cdr freeswitch-mod-loopback freeswitch-mod-lua freeswitch-mod-cdr-csv freeswitch-mod-voicemail freeswitch-mod-logfile

创建软链接

ln -s /etc/freeswitch/ /usr/share/freeswitch/conf

ln -s /etc/freeswitch/ /conf

修改 /etc/default/freeswitch文件,将/tmp/  /var/lib 更换为 /usr/share/

修改/etc/freeswitch/vars.xml 将/var/lib 更换为usr/share

修改/etc/freeswitch/autoload_configs/voicemail.conf.xml 靠近57行位置 将/var/lib 更换为 /usr/share

修改/etc/freeswitch/autoload_configs/xml_cdr.conf.xml, 靠近4行位置 在 http://localhost 后添加 :81   /*貌似这个没啥用,被注释掉了

修改/etc/freeswitch/sip_profiles/internal.xml 将以下两个位置修改为路由器内网的IP地址如我的路由器内网(LAN)地址为192.168.1.1

修改为

修改为

六、启动程序命令集合

启动

/etc/init.d/mysqld start

/etc/init.d/php5-fastcgi start

/etc/init.d/lighttpd start

/etc/init.d/freeswitch start

关闭(这里只是顺带列举关闭命令)

/etc/init.d/mysqld stop

/etc/init.d/php5-fastcgi stop

/etc/init.d/lighttpd stop

/etc/init.d/freeswitch stop

七、配置fusionpbx

通过浏览器登陆http://192.168.1.1:81,首次登录fusionpbx 将自动跳转到设置页面。

配置时选择数据库类型为mysql

用户名密码为fusionpbx登录用户名和密码

第二页填写数据库名为开始创建的数据库名,我的数据库名是fusionpbx

新建数据库用户名和密码均为空

点击下一步即可在mysql中数据库创建fusionpbx相关表和数据

创建完成即可打开”http://192.168.1.1:81/login.php“页面登录fusionpbx了

登陆后点击“高级”->"默认设置"将swicth区域的"conf","db"等等所指目录在前面添加:“/usr/share/freeswitch”(这里全部是E文的,并不是什么“高级”“默认设置”之类的),完了保存一些。

重启路由器后即可进行配置freeswitch了

祝各位同学能顺利创建自己的软交换系统。

贴图:

进程状态

网络监听状态

SIP终端注册状态

系统状态

SIP服务状态

楼主热贴

openwrt路由器php-cli,【在openwrt无线路由器上部署freeswitch+fusionpbx (原帖恩山论坛)】-网关论坛-ZOL中关村在线...相关推荐

  1. iphonex正面图_【苹果iPhoneX评测】刘海上八个模块各显神通_苹果 iPhone X _手机评测-中关村在线...

    ▌1.红外镜头 刘海上第一个就是红外镜头,这是此次iPhoneX上才添加的模块,专为面部识别Face ID而生.红外镜头可以通过捕获红外图像中人脸上的点阵图案来和A11仿生SoC中Secure Enc ...

  2. 显示器点距 测试软件,在小屏幕上使用高分的点距问题_液晶显示器_液晶显示器新闻-中关村在线...

    我们都知道,屏幕分辨率的升级是需要伴随着屏幕大小提升的,分辨率从1080P,到2K,4K,8K,甚至10K,尺寸也从十几英寸寸到一百英寸以上不等,随着大屏高分产品价格的不断降低,似乎1080P即将成为 ...

  3. 路由器设置虚拟服务器王者荣耀,封杀王者荣耀 实际很简单_网络设备无线网络和技术-中关村在线...

    封杀王者荣耀 实际很简单 实际上,通过锐捷睿易RG-NBR700W无线路由器来封杀王者荣耀等游戏,很简单. 首先,进入锐捷睿易RG-NBR700W的后台管控界面.然后,找到"行为管理&quo ...

  4. Openwrt路由器挂载摄像头教程

    Openwrt路由器挂载摄像头教程 Openwrt可以做的事情很多:VPN.离线下载.VLAN.无线中继.多拨,等等.因为比较折腾,所以适合喜欢钻研,知道怎么找资料,并且对Linux较熟悉的人使用.一 ...

  5. openwrt路由器进入安全模式

    openwrt路由器型号:WNDR3800 一.实验背景 在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连.openwrt路由器自带两块无线 ...

  6. 用ImageBuilder定制自己的openwrt路由器

    用ImageBuilder定制自己的openwrt路由器 有三种方法编译openwrt定制固件. 1. 用ImageBuilder编译,用于灵活选择package.毕竟压缩的只读文件系统squashf ...

  7. 无线路由器上安装OpenWRT,在需要标准802.1x认证的网络中无线上网

    学校一直用H3C客户端上网,因此无法直接使用无线路由器.后来去一些论坛时常看见DD-WRT和OpenWrt这两个词,也初步了解到wpa_supplicant.njit-client.mentohust ...

  8. OpenWrt路由器上的LuCI模块开发

    [一.LuCI配置界面开发的框架] LuCI是OpenWrt上的Web管理界面,LuCI采用了MVC三层架构,同时其使用Lua脚本开发,所以开发LuCI的配置界面不需要编辑任何的Html代码,除非想自 ...

  9. 如何用Zabbix监控OpenWrt路由器-Zabbix-Agent安装篇

    序 在前文<在ESXi上快速部署Zabbix>中,我们通过ESXi快速的部署了一套Zabbix系统,接下来我们将以OpenWrt路由器作为监控对象,分别采用Zabbix-Agent和SNM ...

最新文章

  1. 小功能 - 收藏集 - 掘金
  2. 用PaddlePaddle打比赛!
  3. Disruptor-net
  4. 工作241:判断数组里面是否有某个值
  5. 人员离职it检查_?「市安委会第十七检查组」值班人员擅离职守,变压器房随意出入...
  6. Sigmoid函数与Softmax函数的区别与联系
  7. 大数据学习笔记26:MR案例——双重排序(先按月份升序,再按利润降序)
  8. 请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
  9. python中统计特征
  10. javar -jar 和 java -cp :命令行运行java代码
  11. MySQL 创建数据库并且指定编码
  12. 约束规划问题与凸二次规划
  13. 关于Fluent瞬态计算你必须掌握的3个技巧
  14. 如何用OD的跟踪功能分析虚拟机保护
  15. 服务器msdtc没有安全显示项,MSDTC 问题疑难解答 - BizTalk Server | Microsoft Docs
  16. 小米手机计算机连接设置方法,小米手机怎么连接电脑并上网?小米手机USB共享上网方法详细图解...
  17. 学位论文写作规范之论文选题、开题报告、毕业论文
  18. 两个次序统计量的联合密度函数
  19. Unity 3D游戏-塔防类游戏源码:重要方法和功能的实现
  20. 赶不上春天,无法同其它植物竞相开放

热门文章

  1. mac开机启动mysql_mac 设置mysql开机自启动
  2. 国外计算机著名核心期刊介绍(转)
  3. android驱动wifi芯片,Android驱动——Wlan驱动
  4. AWS中国 Kubernetes 搭建指南
  5. iOS播放器、Flutter高仿书旗小说、卡片动画、二维码扫码、菜单弹窗效果等源码
  6. STM32用SWD口烧录程序导致锁死
  7. 2013-07《信息资源管理 02378》真卷解析,逐题解析+背诵技巧
  8. 朋也bbs开源学习(一)
  9. biopython----bio.PDB
  10. 开发和常用工具推荐清单