I want to place a existing call into a B2BUA. To accomplish this, I'm doing a self-transfer of the existing call, placing the AudioVideoCall of the existing call as the callToBeReplaced parameter.
Everything seems fine in the first iteration of this, and my Transferring state does change as follows:
- Transferring (Call state of AudioVideoCall)
- ReferRequesed
- ReferAccepted
- Trying
When call has been answered in the B2BUA, followed by these states:
- Alerted
- Alerted
- Succeeded
If I'm trying to do this sequence and the call again, something is going wrong, but I can't find out what I'm missing.
When I'm doing a a second self-transfer, the TransferStates failed and throwing a OperationFailedException with following message: "Call terminated before successful refer notification.".
When I'm getting the callReplacement audiovideocall object, I'm updating my existing AudioVideoCall pointer (which got subscriptions on AudioVideoCall.TransferStateChanged and AudioVideoCall.StateChanged events) to this new call object which is of incoming state.