Subject: [Sip] RFC3263 - Server Usage query

From: "Sachin Danait \(sdanait\)" <[email-masked]>
Date: Wed, 11 Oct 2006 08:34:32 -0700

Hi,

I have a question regarding Section 5 (Server Usage) of RFC3263 that I
am requesting your opinion on. 

IMHO, there appears to be an issue with server-side Via header
processing rules as currently specified in RFC 3263, when a Via header
of the received request sent-by address field has an SRV name (a port is
not specified on the header) and the SRV name resolves to non-default
SIP ports.

Section 5 of RFC3263 references section 18.2.2 of RFC3261, and states
that for unreliable transports, the initial response transmission sent
by a UAS should be attempted towards the source address of the received
request and the default destination port (5060) if none is specified in
the Via header. If this initial response encounters a failure and there
wasn't any port specified in the Via, the UAS should resolve the domain
name in the sent-by field using SRV procedures, and the response should
be sent to the address and port selected based on that SRV query.

My question is regarding the first step of the above response processing
logic. 

Since SRV lookups are performed on a domain-name only when no port is
specified, this obligates the sender of a request to not encode a port
in its Via header if that sender wishes to be reachable using SRV
resolution. Consequently, this appears to imply that the sender needs to
be listening for responses on the default SIP port in addition to any of
the ports resolved from the SRV query, since the first transmission of
any incoming response will always be directed towards the default port
as per section 18.2.2 of RFC3261.  

As I understand it, based on how this rule is currently worded, if none
of the SRV resolutions of Via Sent-By domain-name resolve to port 5060
AND if a UAC is not listening for responses on port 5060, the initial
transmission of every response will always encounter a failure before
resorting to SRV procedures.

thanks,

-Sachin

_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email-masked] for questions on current sip
Use [email-masked] for new developments on the application of sip

---

From: "Brett Tate" <[email-masked]>
Date: Thu, 12 Oct 2006 18:30:08 -0400

> My question is regarding the first step of the above response 
> processing logic. 
> 
>  
> 
> Since SRV lookups are performed on a domain-name only when no 
> port is specified, this obligates the sender of a request to 
> not encode a port in its Via header if that sender wishes to 
> be reachable using SRV resolution. Consequently, this appears 
> to imply that the sender needs to be listening for responses 
> on the default SIP port in addition to any of the ports 
> resolved from the SRV query, since the first transmission of 
> any incoming response will always be directed towards the 
> default port as per section 18.2.2 of RFC3261.  

Yes, when sending over a non reliable transport.

> As I understand it, based on how this rule is currently 
> worded, if none of the SRV resolutions of Via Sent-By 
> domain-name resolve to port 5060 AND if a UAC is not 
> listening for responses on port 5060, the initial 
> transmission of every response will always encounter a 
> failure before resorting to SRV procedures.

Yes.  If the sender does not include a port and does not listen on 5060,
the response will fail to be delivered over the non reliable transport.
And if the sender of the response is unable to obtain knowledge of the
failure (ICMP errors suppressed), the rfc3263 procedures will not occur.
If UAS is able to detect the failure, the rfc3263 procedures should
occur.

The rfc3261 text (and limitation) appears intentional.  However a SIP
extension similar to rfc3581 could created and used.

The maddr usage has a similar limitation; thus it would not help bypass
the limitation.

http://www1.ietf.org/mail-archive/web/sip/current/msg07554.html