On 14/04/14 11:59, Juha Heinanen wrote:
i called t_newtran() also when request came from proxy
itself and after
that $ru was aor, not contact uri, in branch-failure route also during
the second iteration.
so somehow calling t_newtran() before t_relay() breaks branch-failure
route. it would be nice to get it fixed.
t_newtran() before t_relay() doesn't
break branch-failure. The fact is
that branch-failure is executed with the sip request from the moment
when transaction is created.
In your case, for first iteration of request, the transaction is created
by t_newtran() having the aor in r-uri. For second iteration, looped
request, the transaction is created by t_relay(), after location lookup,
thus r-uri is the contact of the target.
The fix (or a new option to run if the current behavior was wanted by
developer) is to run branch-failure with the attributes from outgoing
request of the branch (not the incoming request, as it is now).
Hope is more clear now.
Daniel
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda