When the B2BUA receives two or more forks to the same address, upon receiving the second, it wrongly assumes the first was created in a PushIncomingReceived, and updates it.
When the bridged call is answered, the proxy cancels one of the forks confusing the B2BUA which cancels the bridged call. The call is essentially cancelled immediately after being answered.
Also fix a reference circle memory leak when cancelling transactions. 487 Request Terminated does not trigger the OutgoingTransaction callback and the transaction would never destroy itself.
TODO:
-
Fix duplicated entries in Registrar -
Write RFC 3261 URI comparison to match fallback contacts -
Refactor Record::InsertOrUpdateBinding to make it clearer
-
Children: