[Kamailio-Users] t_relay with result code -6 creates transaction

Iñaki Baz Castillo ibc at aliax.net
Tue Mar 10 11:13:25 CET 2009


2009/3/10 Juha Heinanen <jh at tutpro.com>:
> 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 at aliax.net>



More information about the Users mailing list