Hi, in case of TCP request the transport layer must perform steps defined in 
18.2.2:

----------
   The server transport uses the value of the top Via header field in
   order to determine where to send a response.  It MUST follow the
   following process:

      o  If the "sent-protocol" is a reliable transport protocol such as
         TCP or SCTP, or TLS over those, the response MUST be sent using
         the existing connection to the source of the original request
         that created the transaction, if that connection is still open.
         This requires the server transport to maintain an association
         between server transactions and transport connections.  If that
         connection is no longer open, the server SHOULD open a
         connection to the IP address in the "received" parameter, if
         present, using the port in the "sent-by" value, or the default
         port for that transport, if no port is specified.  If that
         connection attempt fails, the server SHOULD use the procedures
         in [4] for servers in order to determine the IP address and
         port to open the connection and send the response to.
----------

It's clear but I'd like to confirm it:
Is then the transport layer the responsible of doing all these steps and not 
the UAS/proxy core? I mean, if the existing TCP connection is closed, should 
the transport layer open a new connection to "received" IP and if that fails 
then use the procedures in RFC3264 (Locating SIIP Servers) to determine which 
address to send the response? isn't it a SIP core task?

Thanks for any explanation. Regards.



-- 
Iñaki Baz Castillo

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to