anchor.diff:       ?_assertEqual([address(<<"Bob">>, <<"sip:bob@biloxi.com">>, [{q, <<"0.1">>}]),
                       address(<<"Alice">>, <<"sip:alice@atlanta.com">>, [{q, <<"0.2">>}])],
                      parse_header('contact', <<"Bob <sip:bob@biloxi.com>;q=0.1,Alice <sip:alice@atlanta.com>;q=0.2">>)),
  +     ?_assertEqual('*', parse_header('contact', <<"*">>)),
   
        ?_assertEqual(<<"Bob <sip:bob@biloxi.com>;q=0.1">>,
                      format_header('contact', address(<<"Bob">>, <<"sip:bob@biloxi.com">>, [{q, <<"0.1">>}]))),
        ?_assertEqual(<<"Bob <sip:bob@biloxi.com>;q=0.1,Alice <sip:alice@atlanta.com>;q=0.2">>,
                      format_header('contact', [address(<<"Bob">>, <<"sip:bob@biloxi.com">>, [{q, <<"0.1">>}]),
                                                address(<<"Alice">>, <<"sip:alice@atlanta.com">>, [{q, <<"0.2">>}])])),
  +     ?_assertEqual(<<"*">>, format_header('contact', '*')),
  +
  +     % Route, Record-Route
  +     ?_assertEqual(address(<<>>, <<"sip:p1.example.com;lr">>, []),
  +                   parse_header('route', <<"<sip:p1.example.com;lr>">>)),
  +     ?_assertEqual(address(<<>>, <<"sip:p1.example.com;lr">>, []),
  +                   parse_header('record-route', <<"<sip:p1.example.com;lr>">>)),
  +
  +     ?_assertEqual(<<"<sip:p1.example.com;lr>">>,
  +                   format_header('route', address(<<>>, <<"sip:p1.example.com;lr">>, []))),
  +     ?_assertEqual(<<"<sip:p1.example.com;lr>">>,
  +                   format_header('record-route', address(<<>>, <<"sip:p1.example.com;lr">>, []))),
   
        % Via
        ?_assertEqual(via(udp, {<<"pc33.atlanta.com">>, undefined}, [{branch, <<"z9hG4bK776asdhds">>}]),
  
positive.code: 
          {Display, <<?LAQUOT, Rest/binary>>} ->
              % name-addr with token-based display-name
              {URI, <<?RAQUOT, Rest2/binary>>} = sip_binary:parse_until(Rest, ?RAQUOT),
              {Display, URI, Rest2}
      end.
  
  %% @doc
  %% Format header into the binary.
  
negative.code: %% contact-extension  =  generic-param
  %% delta-seconds      =  1*DIGIT
  %%
  %% Route              =  "Route" HCOLON route-param *(COMMA route-param)
  %% route-param        =  name-addr *( SEMI rr-param )
  %% rr-param           =  generic-param
  %%
  %% Record-Route       =  "Record-Route" HCOLON rec-route *(COMMA rec-route)
  %% rec-route          =  name-addr *( SEMI rr-param )
  %%
  %% name-addr      =  [ display-name ] LAQUOT addr-spec RAQUOT
  %% addr-spec      =  SIP-URI / SIPS-URI / absoluteURI
  %% display-name   =  *(token LWS)/ quoted-string
  format_header('contact', '*') -> <<"*">>;
  format_header(Name, #sip_hdr_address{} = Addr) when
    Name =:= 'from';
    Name =:= 'to';
    Name =:= 'contact';
    Name =:= 'route';
    Name =:= 'record-route' ->
  
      URI = Addr#sip_hdr_address.uri,
      Bin = case Addr#sip_hdr_address.display_name of
  