code: public static SipUserHostInfo frame(final Buffer buffer) throws SipParseException, IOException {
          final Parser parser = new Parser(buffer);
          return parser.parse();
      }
docs: Frames a SIP URI user/host info portion, specified in RFC 3261 as:
  
  <pre>
  SIP-URI  =  "sip:" [ userinfo ] hostport
  uri-parameters [ headers ]
  SIPS-URI =  "sips:" [ userinfo ] hostport
  uri-parameters [ headers ]
  
  userinfo         =  ( user / telephone-subscriber ) [ ":" password ] "@"
  user             =  1*( unreserved / escaped / user-unreserved )
  user-unreserved  =  "&" / "=" / "+" / "$" / "," / ";" / "?" / "/"
  password         =  *( unreserved / escaped / "&" / "=" / "+" / "$" / "," )
  hostport         =  host [ ":" port ]
  </pre>
  
  The URI is consumed up to the start uri-parameters or headers section, whichever
  is encountered first.
  
  @param buffer a buffer, which should begin at the start of the user/host info section
  @return a SipUserHostInfo object, encoding the parsed information
  @throws SipParseException
  @throws IOException