On 5/5/11 4:43 PM, Alex Balashov wrote:
On 05/05/2011 10:40 AM, Daniel-Constantin Mierla wrote:
There is an workaround for your version as well, just copy the content of the branch route in the 'route[xyz] {...}' and then execute route(xyz); in the branch route. Should work, it is the way I have my configs.
That's what I do. But I've never been clear on why this works: doesn't a request route executed from a branch route still have a "branch route" scope? And if not, what is the exact way to foresee the implications of doing certain things that are not allowed in a branch route explicitly in a request route called from a branch route?
the branch route scope would be: - request uri - destination uri (outbound proxy) - branch flags - changes to request (header and body manipulation)
t_on_reply() at it is works on transaction scope no matter where is used. So when it is called, it looks up the transaction based on call-id, cseq a.s.o. (in many cases the transaction pointer is cached, so just one lookup for a sip message) and the sets the value of the onreply_route name to be executed.
Cheers, Daniel