Subject: [sipcore] response context association on stateful proxies

From: Filippos Vasilakis <[email-masked]>
Date: Wed, 21 Jul 2021 09:40:37 +0200

Hi everyone,

According to RFC 3261, a stateful proxy in section 16:

A stateful proxy must have a mechanism to maintain the target set as
   responses are received and associate the responses to each forwarded
   request with the original request.

My question is, how do we implement this association? You have the original
request, then this is forked to many new requests (the target set) and each
request from the target set might have one or more response (the response
context). However, once you fork the original request, you have a
completely new transaction, that the proxy plays the client role, while for
the original request, the proxy plays the server role.

So my question is how do you implement the matching/association between the
original request/transaction and the new forked
requests/responses/transaction? Is it enough to work match only on the
branch ids of the transaction from each side, or something more is needed?

I am surprised that RFC 3261 doesn't come up with a
suggestion/recommendation on that (I mean, it has been super helpful in any
other place with insights on implementations).

/Filippos