We are currently deploying Asterisk 1.6 with FreePBX 2.9 in a call center environment where all calls are recorded. We are planning to deploy a primary server and a hot spare for failover. We plan to store all call recordings in folders by year/month/day. We plan to use QueueMetrics to retrieve all call recordings. We also plan to store the call recordings in WAV format during the day and compress them into MP3 format at night via a script. My question is, what is the best way to store calls recordings in the event we must failover to the secondary server? I have come up with a few different scenarios and I was wondering which one is the best.
- All calls are currently being stored on the primary server in an internal RAID 5 array. The secondary server is identical to the primary server, so we could store the call recordings on the secondary server in the same manner. What happens when the primary server comes back online after, a week for example? Could I just copy the folders from the secondary PBX to the Primary PBX, store them in the same path and have them recognized by QueueMetrics for retrieval? What if I need to retrieve a call recording from the primary PBX while the secondary PBX is the only one online? I can’t until it comes back online.
- Can we direct the call recordings from both servers to a single shared drive like a NAS? In doing this, the calls are stored in the same place regardless of which server is running. If the secondary server is running and I need to retrieve a call recorded by the primary server, I could still retrieve it. When the primary server is functional again, the storage would already be configured and I would not have to copy files like in the first scenario.
I am wondering how the CDR database would handle something like this. Would adding a few folders or calls that were not taken by the active server cause a problem? Would they even be recognized for retreival?