RFC3261 states:
host = hostname / IPv4address / IPv6reference
IPv6reference = "[" IPv6address "]"
I'm interested in what was the design decision by using IPv6reference for host rather than just IPv6address. Why does it have to be wrapped in brackets? What does it refer to?
Via received uses pure IPv6 rather than a reference. So I assume there is a purpose of IPv6reference which I would like to know.
For the technical side it is the SIP flavor of RFC2732:
Basically, it allows to safely handle SIP URI with ipv6 literal addresses and esp cut/paste, see RFC 2396: