I'm facing a problem which I believe may be a bug in the registrar module's
lookup. When a registration comes with multiple Path headers, these are
recorded in the location table as comma separated. When the lookup is
performed and these are used to construct the Route header(s) on an INVITE,
this comma-separated list is not split into multiple Route headers, but
instead included verbatim in a single header.
Here comes my theory for how this breaks my scenario:
When the INVITE then reaches the first hop (first Path header, also
Kamailio), relay() sees that the Route header is itself and/or sees that
there is only one Route header.
The observed result is that the first hop then sends the INVITE directly to
the Contact, instead of via the second hop.
An example of the situation I'm facing is shown in
https://gist.github.com/benlangfeld/b374a0ce0bdb6bdc35e7.
Is there a particular reason the combined path is not split on lookup? Is
this a bug / oversight? Am I crazy?
Thanks!
Ben