JsSIP seems to do this now. Although it only creates a single flow.
Flow-tokens get added to Path: headers for REGISTERs, but they do not get added to the Record-Route: headers for INVITEs (because the INVITE contains a GRUU Contact: without an ;ob parameter). This is correct under RFC5626.
To get in-dialog routing to work correctly for this stack (when GRUU and outbound are enabled on Kamailio) you need to always do a location lookup() when the R-URI is a GRUU URI.
In route[WITHINDLG] I now do something like:
if (has_totag()) { if (is_gruu()) { route[LOCATION]; } else if (loose_route()) {
} else {
} exit; }
Juha Heinanen writes:
yes, if in the example that i gave in previous message p1 (through which the call was setup) is still alive, but only connection to between ua1 and p1 has died, then bye from ua2 would reach ua1 from p1 to p2 to ua1 if p1 does lookup on the gruu of ua1 and after that does the t_load_contact/t_next_contacts/t_next_contact_flow thing. in that case, there would be no change in the route set as long as no flow tokens are included in the r-r uris.
forgot to mention that i have not been able to test this outbound/gruu scenario, because i don't know any sip client that would implement both outbound and gruu.
-- juha
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev