Skip to content

Fix B2BUA being unable to handle duplicated forks

Thibault Lemaire requested to merge fix/b2bua-crash-on-duped-forks into master

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:

Edited by Thibault Lemaire

Merge request reports