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
--
Daniel-Constantin Mierla
http://www.asipto.com