Daniel-Constantin Mierla writes:
what I was saying is that many errors can happen before actually creating the transaction. And if there is a bad formatted sip message then the transaction is not created. Without a transaction, failure route cannot be called.
but in case of tcp forwarding failure, failure route is not called even when transaction is created. i consider that a bug.
what comes to not creating transaction is sip request is badly formatted, are you saying that if i call t_newtran() in script when sip request has syntax error, the call fails? if not, what you say is not true.
There will be lot to debate on sip transaction specs and handling. sr-dev is the right to discuss the future of this one.
yes, i cc'ed sr-dev.
-- juha
On 03/10/2009 10:39 PM, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
what I was saying is that many errors can happen before actually creating the transaction. And if there is a bad formatted sip message then the transaction is not created. Without a transaction, failure route cannot be called.
but in case of tcp forwarding failure, failure route is not called even when transaction is created. i consider that a bug.
I know this. We discussed in the past. Note that also for UDP the failure route is not called if send function fails. It is called only when there is a retransmission timeout. Failure route is called upon a negative reply or by timer process, not by the process routing the request.
what comes to not creating transaction is sip request is badly formatted, are you saying that if i call t_newtran() in script when sip request has syntax error, the call fails?
Yes, if the message cannot be parsed and cloned in shared memory, transaction is not created.
if not, what you say is not true.
There will be lot to debate on sip transaction specs and handling. sr-dev is the right to discuss the future of this one.
yes, i cc'ed sr-dev.
I wanted to say that some parts of transaction handling is a matter of interpreting the specs and developer perspective. A new design/approach for transaction handling should be properly discussed for sip-router on sr-dev.
The failure_route is intended for SIP failure case, not for tm module failure or transport layer failure. You look to it more as t_relay() failure, this is a different perspective.
Cheers, Daniel