I'm looking for advices regarding VoIP products. I need to build an in-house VoIP PBX for one of my company's office, and while I'm fairly sure we will go with Asterisk (still leaving the door open to OpenSIPS), I'm not certain I want to build it myself, or buy an appliance.
We want around 30 parallel lines, and do the convertion VoIP to analog before it leaves the office (no hosted PBX or anything like that, we don't trust the network bandwidth enough, it's just a basic DSL there).
One of the requirement is to be able to customize the system. We want to plug it into our Active Directory and CRM system, extract statistics, conversation and voicemail to audio files, etc...
I've looked at Digium, they have interesting prices (cost is an issue, of course). But does it leave the door open to customization ? Do you have access to the database, the logs, the system in general ?
What else is there on the market ?
It's kind of difficult to select an answer, since I would asking for advice and not to solve a specific problem. So pardon me if I wait a little more before I award the answer to one of you.
If you aren't comfortable with telecom systems and the idea of assembling your own system from the available (software and hardware) components on the market I would suggest a nice, packaged Asterisk solution, such as the Trixbox CE appliance or an appropriate model of PhoneBochs.
You can get these with appropriate line cards (Analog or Digital/T1) and set up your system in the way you described, and you'll be getting hardware that's assembled and known to work with the software that's installed. Most companies offering them also offer support plans which can help you get everything up and running.
Regarding the customization you asked about - AD and CRM connectivity gets pretty complex. You may want to concentrate on getting a working phone system up first, and then investigate connecting to other systems.
Voicemail-to-Email is pretty trivial with the systems I mentioned above, and you should be able to get that working on day one.
We bought a FreePBX Appliance. There is also trixbox.
Both are layered on top of Asterisk.
Whichever route you go, make sure you setup good monitoring of the phone system. Ours has frequent problems with "All circuits are busy" or fast busy situations. We're constantly adding new Nagios plugins to monitor the health of the phone system to reduce the frequency with which our users are the first to notice a problem.
Asterisk has no option but customisation - it's more of a VOIP system framework that you build on to get a phone system.
If you start from scratch you will have to write AEL scripts to route calls before it will do anything at all, and it doesn't give you database access for call logs, you have to give it database access for call logs (but they're not very readable or sensible). It logs system data to /var/log.
TrixBox wraps it up into a phone system with a web interface for management. It's also customisable, but you have to be a bit careful to not break their customisation while you do it.
I've done Asterisk into a helpdesk system integration (for Caller ID) and voicemail to wav+email is built in if you enable it. AD connectivity and extracting statistics I haven't tried.
OpenSips does not do what you're looking to do. It's for managing media traffic not providing media services.
Your question seems to be how customizable Asterisk is. It's very customizable, http://adhearsion.com/examples is my current favorite way to develop on top of asterisk. You can pretty much do whatever you need to with JSON calls.
For the specific issues you were looking to solve:
Asterisk has many different Kits\packages you can deploy without much effort. I'm not sure what AD integration you're wanting. I use softclients that are attached to users but it's a manual setup I do. http://samreports.com/ will break the log files down into more useful information than you'll get out of the asterisk CDR without a good deal of fiddling.
CRM integration should not be too difficult with some of the frontends that allow CID searches upon connection. Depending on the type CRM you're using this is not too difficult, http://www.freepbx.org has a CID lookup module that can do MySQL or http lookups.
As for hardware, it's need not be as robust as you're thinking. I'm running asterisk with 30 concurrent calls on a 2.8Ghz single core, 2GB system at the moment. No voice quality issues. (I do offload Analog to SIP onto an external mediatrix gateway.)