2009/3/10 Juha Heinanen <jh(a)tutpro.com>om>:
i was playing with t_relay and tcp and noticed that
when forwarding to a
tcp contact fails, transaction is still created although README says:
* 0x02 - do not internally send a negative reply in case of
forward failure (due internal error, bad RURI, bad message,
etc). When a forward failure occurs, no SIP request is
relayed and therefore no negative reply or timeout will
show up on the failure_route (if one is set). It applies
only when the transaction is created. By default one
negative reply is sent. Useful if you want to implement a
serial forking in case of failure.
how is it possible that the transaction was created
even when the first
t_relay failed with result code -6?
It's really confusing. The above code says:
"It applies only when the transaction is created."
It needs some clarification about in which cases t_realy doesn't
create a transaction. Also, which transaction are we speaking about?
server or client transaction?:
UA1 --------- (UDP) ------------- Kamailio
# (UDP) UA1 --> Kamailio
INVITE sip:non-existing-domain.org;transport=tcp SIP/2.0
In this case I assume that Kamailio won't create a client transaction
since the hostpart is unresolvable, but it would create a server
transaction to handle the incoming UDP INVITE.
Is it the expected behaviour?
However, the worst issue is the different behaviour when executing
t_relay() for UDP and TCP. AFAIK this is an already open discussion.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>