I’ve spent about 4 hours on installing FreePyBX on a test server for evaluation. So far, I haven’t got it working yet: it doesn’t let me log in with administrator credentials. I applied an undocumented hack that is recommended in the mailing list, but still it doesn’t work.
Anyway, here’s an (unfinished) list of things that I’m not completely happy with:
I don’t like Python. Ok, that one is not really a valid critic.
- They overwrite the original mod_callcenter.c in FreeSWITCH with their own version. Also there’s no revision control on the new file, and no explanations why they needed to do that. Instead, they could’ve developed their own FreeSWITCH module and place it in their Git repository.
- The installation documentation is sometimes incomplete or obscure. Even for an experienced Linux engineer, some points are nontrivial.
- The database access credentials are repeated in about half a dozen of places. Why should we type in the DB password in so many files? Also imagine the nightmare of changing the database connection and credentials. Besides, we already placed them in /etc/odbc.ini, so why not using just one this file for everything?
- The mod_xml_curl responses are served by the same application and the same daemon as the GUI. The GUI requires HTTPS connection because of some Flash limitations, but why should we use the SSL overhead for real-time call logic? Also in a redundant setup, you would need multiple XML responders, but one instance of GUI is sufficient. IMHO it makes sense to completely separate these two tasks and serve them by different processes (and get rid of SSL where it’s not needed).
- There is no installer. The installation consists of cloning from Git repository into the working directory (/usr/local/www, what an unfortunate name for the directory). Then we edit some files and then execute some Python code. As a result, “git status” shows two modified files and a bunch of untracked .pyc files and a few new directories. So, upgrading might be a challenge. Also submitting patches is a pure fun.
I’m anyway looking forward to seeing it work and probably continuing this list 🙂