FusionPBX for ex-Trixbox users

This blog is intended to be read in sequential order as it is a series of steps that I followed to build a fully functioning fusionpbx phone system. However you might just need to find out how to do a particular thing so you might want to use the search box below to find that specific step. Please give feedback - if you know a better way to do something share it!

Tuesday, September 21

Things to be aware of in pfsense fusionpbx (including module problems) and why I am returning to centos (but pfsense may still be good for you)

By default, fusionpbx web GUI communicates with various parts of freeswitch using an event socket (implemented through the module mod_event_socket) on 127.0.0.1 port 8021.  Unfortunately in pfsense, the loopback address is somehow disabled, therefore if you are using pfsense you have to change this to use the specific IP address of your server instead.  You have to do this in two places.  One is System-Settings, and the other is Advanced-XML Editor-Autoload_configs/event_socket.conf.xml (param name="listen-ip" - change the value).  After saving these two changes and restarting freeswitch it will work.

I also ran into some problems with modules in the pfsense version of fusionpbx.  The modules section of fusionpbx defined a module called hash.  I had to edit this by replacing each instance of the word hash to limit.  so mod_hash became mod_limit.

This was preventing javascripts from running.  However, javascripts were also prevented from running because of a fault loading spidermonkey (it cannot be made to load as it claims to be missing library files which are present) and accordingly, if you need javascript support the current release of freeswitch for pfsense is not going to work for you.  If you can use LUA instead then you should be ok.  Unfortunately the only way to upgrade freeswitch on pfsense is to recompile a new copy, which can't be done on pfsense because the necessary files are missing and can't be loaded, so you need to have a freebsd install that matches the pfsense install and compile it there and transfer the files over - too complicated for me at this point.

So for now, this is where I leave pfsense.  I will return to Centos as I need the javascript support at this point in time.  The other reasons I am leaving pfsense at this time are:
- I can't find an easy way to back up the harddrive image as the unix applications I know how to use (eg. gparted and partimage) are not available in freebsd and if I install tinycore linux on the same system and run them from there instead, I still can't access the pfsense harddrive area because it is running ufs which apparently isn't supported in linux.  Someone with a better understanding of freebsd probably doesn't have this problem.
- I was struggling to get the phone system to work the way I wanted it - with pfsense 1.2.3 you have to have two network cards.  Fusionpbx binds to the WAN card, so I wanted to have the LAN card with nothing plugged into it and to have all the phones connected on the WAN side. ie. fusionpbx would be a node on the private LAN but connected only by the WAN card.  I couldn't get the phones to register with it when setup this way - probably because I wasn't fully understanding the firewall functionality in pfsense.
- I probably could have got this to work with a bit more research, but I concluded that because I could only do the web gui administration from the LAN card side of pfsense, and I wanted to be able to do remote support of it, I needed to get OpenVPN working so I could use that to reach the LAN side of pfsense from the WAN side.  But I didn't get OpenVPN working yet.

I don't think any of these problems are insurmountable, but at this time I don't have the time available to research and play to overcome them.  Therefore I'm returning to Centos based FusionPBX for now as I know that will work as I use that in my test environment still.

No comments:

Post a Comment