FreePBX 是开源IPPBX,提供一个WEB界面管理底层的Asterisk.
免费的部分提供了完整的PBX功能,中文文档比较少,简单记录一下.
1. 安装
安装部分很简单,去官网下载发行版,然后直接装就行,基本上一路NEXT到结束.
但安装过程很漫长,和一般基于LINUX的发行版不大一样的是,别人是打包完了直接复制文件系统过去,它好像是先装个LINUX,然后脚本安装FREEPBX.
2. 配置
安装完第一次进网页,设定一个管理员账号和密码,然后就进去了.
2.1 防火墙
跳过前面要你花钱买的东西之后会到FIREWALL配置.以下为注意项:
- FREEPBX的FIREWALL基于IPTABLES
- FIREWALL > MAIN>INTERFACES 将你要用于WEB管理访问的网卡设定到Local或 Trusted Zone 下面
- FIREWALL > MAIN>NETWORKS 将内网同样分配到Local或 Trusted Zone 下面.
- 如果因为配置错误被FIREWALL禁掉,那么远程SSH/HTTP都没法用,那就只能CONSOLE进去关了IPTABLES
- 可以将管理电脑加入到HOSTS文件中,这样会自动排除在FIREWALL外.
- 虽然分了MAIN/STATUS/SERVICES/ADVANCED四页,但其它的基本不用去修改设定,默认的就好.最多进到STATUS>BLOCKED HOSTS里面把因为配置不当或其它原因被BLOCK的HOST移除.
2.2 分机和中继
Connectivity > Trunk 这里配置中继,
Applications > Extensions 在这里填加分机,
注意SIP协议用PJSIP,那个老的不要用了.可以直接在以下路径关掉chan_sip.
Settings >Advanced Settings > Dialplan and Operational >SIP Channel Driver 从both改为 chan_pjsip,然后提交.
注意:
提交之后得点上方红色的Apply config,亲身教训,少走弯路!!
2.3 分机权限
没有简单的方法去控制,常见PBX系统上分级功能没有提供.
不过可以通过PIN SETS为出局路由设定PIN码的方式去做.
但PIN和分机和使用人不关联,管理上还是问题.
如果要搞的方便点就得自己去改代码,把分机和PIN关联起来,用户组和PIN组关联起来,应该也不难搞.
思路:
建立用户权限组,用户组建立时同步建立PIN SETS.
建立分机时维护ACCOUNTCODE,加入到组时将ACCOUNTCODE加到对应PIN SETS里做为PIN.
其它
如果嫌mariadb版本低而升级了,要记得去升级mysql-connector-odbc,或安装mariadb-connector-odbc,不然Freepbx就起不来了.
Loading res_odbc.so.
*** Error in `asterisk’: munmap_chunk(): invalid pointer: 0x0000000002f5ca88 ***
原因:
升級mariadb 導致 mysql-connector-odbc.x86_64 5.2.5-8.el7 因不兼容而無法使用,所以要安裝mariadb-connector-odbc
- /etc/freepbx.conf里面保存的是访问mariadb的账号和密码
- 数据除了放在mariadb里面的,还有个astdb是arsterisk内建的sqllite 数据库
- 本地化问题,自带的界面上翻译的不多,语音包更是没找到现成的,通过TTS合成一下应该可以,但中英文语序不同可能会造成问题
- 配套的统一通信ZULU是要收费的.
- 整合:可以和windows AD/LDAP 连接,然后导入用户/组这些,常规操作.