[sr-dev] Using GRUU and outbound

Peter Dunkley peter.dunkley at crocodile-rcs.com
Tue Apr 30 22:04:01 CEST 2013


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 at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>


-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd




More information about the sr-dev mailing list