Olle E. Johansson writes:
The main difference compared with RFC 3261 is that the burden of connection management - UDP, TCP or STCP - is put on the UA. The proxy reuse the connection created by the UA for outbound requests, but does NOT open new connections.
there is no difference to what my proxy does today. it does not try to setup tcp connections to ua (set_forward_no_connect()) and udp is a bad idea anyway.
The specification also adds the ability, but not the requirement, to handle multiple connections (flows) from the same UA to different proxys as failover connections. This will indeed make TCP failover faster and propably SHOULD be a requirement for TCP/TLS.
yes, but since it is NOT a requirement, you don't get any benefit.
Previously it was impossible to recognize that multiple registrations was from the same UA, so the proxy had to fork to all of them and just hope that the UA had some merged fork detection.
this is indeed an improvement as i have already mentioned and very easy to implement in the ua. baresip, for example, does add +sip.instance param to contact header:
REGISTER sip:test.fi SIP/2.0. Via: SIP/2.0/TCP 188.67.205.145:35327;branch=z9hG4bKfa4a89e63adaf759;rport. Contact: sip:jh@188.67.205.145:35327;transport=tcp;expires=600;+sip.instance="urn:uuid:c79b8de4-6c2f-4d48-a347-d13d9b19d255".
but does not add Supported: gruu in requests.
so my suggestion is to put priority in adding +sip.instance support to sr registrar/usrloc implementation.
-- juha