I'll try to make this one as brief as possible, but it takes a bit of explaining...
I have a user that requires recording that will keep recording even if a call is transferred off-net. We are currently accomplishing this by using a CUBE connected to a switch that sits in the middle of the call and spans traffic to two 3rd party recorders (Eleveo). Since the RTP stream transits through the CUBE on the way into the network, it keeps recording the call even if it's transferred off-net and the IP phone drops out of the call. I need to get rid of this configuration. I have installed a Cisco 8000V Virtual Router that I have set up as a CUBE for just this purpose.
I have tried both Dial-Peer based recording and SIPRec based recording and get the same result. They both work great for incoming calls to the IP phone. Even if the call is transferred and the IP Phone leaves the conversation/RTP stream, the CUBE continues to record the call until it's complete.
Problem is outgoing calls from the IP phone. I need to record those too. So what happens is, if a call comes in to the IP Phone, then that phone transfers the call, calling out through the CUBE so it's recorded of course, I get duplicate recordings on the recorder for the last leg of the call. I understand why this is happening, but I'm not sure how to work around it.
It's my understanding that what is happening is when the IP Phone places a transfer, the original caller is placed on a Network Hold and parked to one of the MOH servers, makes sense. Then when the IP Phone calls the person they are transferring to and completes the transfer, that creates a whole new call/RTP stream to that party. When the transfer is completed and the IP phone leaves the conversation, the CUBE keeps both RTP streams up, resulting in two separate recordings of the same call.
I left some drawings below to illustrate my point and have attached the relevant parts of the CUBE config to the post. If my understanding of what is happening is incorrect, by all means let me know. My end goal is to find a way to record both the incoming calls to this phone, outgoing calls to this phone, and keep up any off-net transfer calls if the IP phone leaves the conversation.