OK Klaus,

that makes sense to me now!! Thank you. Let me try that.

Cheers
Jason

On Thu, Aug 25, 2011 at 10:31 AM, Klaus Darilion <klaus.mailinglists@pernau.at> wrote:


Am 25.08.2011 10:14, schrieb Jason Penton:
>
> From some initial work and testing I can confirm that this works ONLY
> when using the top Via *without* branch tags. Not sure what impact this
> could have?
> This is because a BYE results in a different set of branch tags from the
> original set of invite branches - I am investigating why and how this
> works now.

Sure. the branch tag is a transaction identifier and must be unique in
space and time. Thus, BYE must have another tag. That's why I said you
have to put some data into RR cookies - this is the only data which
stays the same during the dialog (except tags and call-id).

If you only want to know if an in-dialog request is from orig->term or
from term->orig, then the is_direction function is already sufficient.

If you want to detect a certain spiral leg in dialog module, IMO you
have to add another matching parameter (besides tags and call-id) to
dialog module which will be set as RR-cookie and retrieved from Route
header for in-dialog requests. Every time the initial requests spirals
through the proxy, you have to add such a cookie which of course must be
different to the previous inserted cookie (therefore ftag is not
sufficient anymore) - either generate a random identifier or reuse some
data from the message (e.g. you could copy branch-tag to RR header as it
should be unique)

regards
Klaus

_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev