anchor.diff:                                        address(<<"Alice">>, <<"sip:alice@atlanta.com">>, [{q, 0.2}]),
                                         address(<<>>, <<"sip:anonymous@example.com">>, [{param, <<"va lue">>}])])),
        ?_assertEqual(<<"*">>, format('contact', '*')),
  +     ?_assertEqual(<<"<sip:bob@biloxi.com>, <sip:alice@atlanta.com>">>,
  +                   format('contact', [address(<<>>, <<"sip:bob@biloxi.com">>, []),
  +                                      address(<<>>, <<"sip:alice@atlanta.com">>, [])])),
   
        % q-value
        ?_assertEqual(1.0, qvalue(address(<<"Alice">>, sip_uri:parse(<<"sip:alice@atlanta.com">>), []))),
  
positive.code:             % Section 20
              % If the URI is not enclosed in angle brackets, any semicolon-delimited
              % parameters are header-parameters, not URI parameters.
              Fun = fun (C) -> sip_binary:is_space_char(C) orelse C =:= ?SEMI end,
  
              {URI, Params} = sip_binary:parse_until(Bin, Fun),
              {<<>>, URI, Params};
  
negative.code:         'from' -> <<"From">>;
          'to' -> <<"To">>;
          'contact' -> <<"Contact">>;
          'require' -> <<"Require">>;
          'proxy-require' -> <<"Proxy-Require">>;
          'supported' -> <<"Supported">>;
  