Re: Question regarding conflicting grammar for IPV6 SIP URI andRFC 3986

"Brett Tate" <[email protected]>
Newsgroups gmane.ietf.sip
Message-ID <BBE61D1553D8A34F812FF87377B2935F062680CF@ATL1VEXC020.usdom003.tco.tc>
Greetings,
 
Mike's interpretation looks correct.  Is this something that should be
fixed?  If so, should the fix be placed within
draft-ietf-sip-ipv6-abnf-fix?
 
Thanks,
Brett


________________________________

	From: [email protected] [mailto:[email protected]] On
Behalf Of Szilagyi, Mike
	Sent: Thursday, December 18, 2008 10:53 AM
	To: [email protected]
	Subject: [Sip] Question regarding conflicting grammar for IPV6
SIP URI andRFC 3986
	
	

	RFC 3986 defines the following grammar for a URI:

	 

	   URI           = scheme ":" hier-part [ "?" query ] [ "#"
fragment ]

	 

	   hier-part     = "//" authority path-abempty

	                 / path-absolute

	                 / path-rootless

	                 / path-empty

	 

	A SIP URI falls into the 'path-rootless' rule:

	 

	   path-rootless = segment-nz *( "/" segment )

	 

	   segment-nz    = 1*pchar

	 

	   pchar         = unreserved / pct-encoded / sub-delims / ":" /
"@"

	 

	   pct-encoded   = "%" HEXDIG HEXDIG
	 
	   unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"

	 

	   sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
	                 / "*" / "+" / "," / ";" / "="

	 

	path-rootless does not allow "[" or "]" characters, so the
SIP-URI grammar for IPV6 violates RFC 3986 grammar.

	 

	SIP-URI          =  "sip:" [ userinfo ] hostport

	                    uri-parameters [ headers ]

	 

	hostport         =  host [ ":" port ]

	host             =  hostname / IPv4address / IPv6reference

	hostname         =  *( domainlabel "." ) toplabel [ "." ]

	domainlabel      =  alphanum

	                    / alphanum *( alphanum / "-" ) alphanum

	toplabel         =  ALPHA / ALPHA *( alphanum / "-" ) alphanum

	IPv4address    =  1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "."
1*3DIGIT

	IPv6reference  =  "[" IPv6address "]"  <-- *** violates RFC 3986
***

	IPv6address    =  hexpart [ ":" IPv4address ]

	hexpart        =  hexseq / hexseq "::" [ hexseq ] / "::" [
hexseq ]

	hexseq         =  hex4 *( ":" hex4)

	hex4           =  1*4HEXDIG

	port           =  1*DIGIT

	 

	 

	These, though valid SIP URIs are not valid URIs:

	 

	    <sip:[2001:db8::10]>

	    <sip:caller@[2001:db8::1]>

	 

	Has this already been addressed?

	 

	Regards,

	Mike

_______________________________________________
Sip mailing list  https://www.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [email protected] for questions on current sip
Use [email protected] for new developments on the application of sip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.