Asterisk for "Man-In-The-Middle" Trunk Side Call R

My company is looking to implement 100% recording of inbound and outbound calls. We’re pondering using Asterisk as a trunk-side monitoring system sitting between our Avaya Definity switch and our mixed bag of 6 T1 and PRI circuits. I’ve read with interest Matt Roth’s thread on the Asterisk mailing list, however, since his experience is recording SIP-SIP calls, I’m not sure how applicable it is to our situation. The use of a RAM disk to buffer the calls does seem like a great idea, however, I’m concerned that a single server might not be able to handle the load of 12 T1 ports (6 outbound, 6 connected to the switch). I also understand there might be interrupt issues with three Digium cards in a single box.

With that in mind, I have two ideas for implementing asterisk as a call recording solution.

The first solution I call the single-box solution and involves a dual CPU Xeon server (most likely a Dell PowerEdge 2800, 2850, or similar) with a large amount of RAM and RAID-1 SCSI setup. We would add three TE411P or TE410P cards and implement something similar to Matt Roth’s setup, but on a smaller scale.

The second solution involves using either three or six desktop type or 1U computers with a single CPU, IDE disk, and 512-1GB of RAM. We would record directly to disk and each box would only serve 1 or 2 outbound T1’s (so, 2 or 4 T1’s per machine). If we implemented this as a three-box solution, we would use a single TE411P or TE410P card per server, if implemented using six boxes, we would use TE210P cards.

My questions about this are:

  1. Is this possible? Can Asterisk serve as a man-in-the-middle between a traditional PBX and the telco loops?

  2. If it’s possible, which of the two possibilities above is better? For us, rack space and power should not be an issue, we’re interested in what will be most workable.

  3. Once you have the calls recorded, how do you access them? Is it possible to use asterisk’s logs to correlate calls recordings with specific information? We’re willing to do some custom programming here if need be.

  4. Has anyone done anything like this before? If so, would you be interested in a consulting gig?

Thanks in advance for your responses!