In a past life, I used to work in one, and @ face value, your question is vague, Let me explain thus:
1. Data collection/analysis software: When agents receive calls, they would use this to manually enter/update interesting bits of information about the call/callee. This is most often a custom made software
2. Call logging software: Software that automatically logs bits of information about the call itself; wait time, connection time, etc etc etc. It mostly comes as a subset of 3 below, but not always
3. Call management software (for lack of a better name): At the server end of this software, it is linked to the PBX-thingy, it knows which agent to route an incoming call to based on various metrics. At the client side end, there is a softphoneísh software, which agents interact with to receive a call on their PC, and then possibly goto 1 above
4. PBX thingy, I have heard asterisk and Avaya being mentioned on the same breath on this
5. The network layer: I have little details of this, but what I know is that getting E1 lines from the major providers is a good idea. You will need some sort of network hardware thingy into which the E1 lines plug into, and maybe from there, into your network so that 4 above can receive them calls and forward to 3, I think
It is possible and fairly common to have different vendors supply each of the above.
But I assume you know all of this, and since I was in that life a long time ago, lots of things may have changed.