Jonathan Rosenberg dynamicsoft GRUU Jonathan Rosenberg dynamicsoft
Issues URN Equality Comparison GRUU and 425 SIPS Administrative GRUU Registration tree
URN Equality Registrar has to compare instance IDs to detect if it’s already been registered. Comparison requires URN equality rules But we don’t mandate a baseline URN scheme! Solution If registrar supports URN scheme, use its equality rules If not, use lexical equality
GRUU and 425 Ramp-Up Problem Want to minimize messaging when recovering from catastrophic client failures Proxy failure NAT failure Require 4 message exchanges – ¼ capacity cost! Message exchanges are required to ensure a single contact for each instance gets registered to the AOR
Solutions Automatically override old registration with new Keep both Ping-pong overrides (shouldn’t happen!) Keep both Does this violate GRUU property GRUU routes to a single INSTANCE, ok to take multiple ROUTES
SIPS Under what conditions does server allocate a sips GRUU? If Contact URI is sips [yes] If contact is reachable over TLS [yes] Depends on connect reuse If Contact is sip [no] If a sips URI is allocated, should a SIP URI also be allocated? Does a sip AOR equal a sips AOR? Yes: sips contact, sips gruu, can hand out sip gruu No: separate contacts, separate gruus
Administrative GRUU Configuring these will be ugly Remove the text (Cullen) Prefer to keep Want endpoints that don’t register to have *some* way to use GRUU We can do better downstream
Reg Tree Currently, AOR registration tree unaffected by GRUU AOR-> Contact Proxying from AOR OK, but redirects won’t work Contact unreachable Is this a problem? Will we want to redirect to these types of contacts?? GRUU AOR Contact
Alternate Reg Tree If you want to fix this, you need to bind GRUU to AOR Questions What is in Contact of request? GRUU or client-supplied URI Client-supplied URI What goes in Contact header field of 200 OK Both What is refreshed AOR->GRUU mapping persists as long as a contact is associated with GRUU How does reg-event look? AOR GRUU Contact