anchor.diff:  fold_header(HeaderLine, List) ->
       [Name, Value] = binary:split(HeaderLine, <<?HCOLON>>),
       Name2 = sip_binary:to_lower(sip_binary:trim_trailing(Name)),
  -    Name3 = binary_to_header_name(Name2),
  +    Name3 = process(pn, Name2, ignored),
       [{Name3, sip_binary:trim_leading(Value)} | List].
  -
  -%% @doc Converting short binary name to header name atom
  -%% @end
  -binary_to_header_name(Name) ->
  -    case Name of
  -        <<"v">> -> 'via';
  -        <<"l">> -> 'content-length';
  -        <<"f">> -> 'from';
  -        <<"t">> -> 'to';
  -        <<"i">> -> 'call-id';
  -        <<"m">> -> 'contact';
  -        <<"k">> -> 'supported';
  -        Bin -> sip_binary:binary_to_existing_atom(Bin)
  -    end.
  -
  -%% @doc Converting header name atom back to binary
  -%% @end
  -header_name_to_binary(Name) when is_binary(Name) -> Name;
  -header_name_to_binary(Name) when is_atom(Name) ->
  -    case Name of
  -        'accept' -> <<"Accept">>;
  -        'accept-encoding' -> <<"Accept-Encoding">>;
  -        'accept-language' -> <<"Accept-Language">>;
  -        'alert-info' -> <<"Alert-Info">>;
  -        'allow' -> <<"Allow">>;
  -        'authentication-info' -> <<"Authentication-Info">>;
  -        'authorization' -> <<"Authorization">>;
  -        'call-id' -> <<"Call-Id">>;
  -        'call-info' -> <<"Call-Info">>;
  -        'contact' -> <<"Contact">>;
  -
  -
  -        'via' -> <<"Via">>;
  -        'content-length' -> <<"Content-Length">>;
  -        'cseq' -> <<"CSeq">>;
  -        'max-forwards' -> <<"Max-Forwards">>;
  -        'from' -> <<"From">>;
  -        'to' -> <<"To">>;
  -        'require' -> <<"Require">>;
  -        'proxy-require' -> <<"Proxy-Require">>;
  -        'supported' -> <<"Supported">>;
  -        'unsupported' -> <<"Unsupported">>;
  -        Name -> atom_to_binary(Name, utf8)
  -    end.
   
   %% Parse standard Via: parameters
   parse_via_param('ttl', TTL) -> sip_binary:binary_to_integer(TTL);
  
positive.code: %% @end
  -spec format_headers([{atom() | binary(), binary() | term()}]) -> binary().
  format_headers(Headers) ->
      << <<(header_name_to_binary(Name))/binary, ": ",
           (format(Name, Value))/binary, "\r\n">> ||
         {Name, Value} <- Headers>>.
  
  
negative.code:             {Display, URI, Params}
      end.
  
  format_address(Addr) ->
      URIBin = sip_uri:format(Addr#sip_hdr_address.uri),
      Bin = case Addr#sip_hdr_address.display_name of
                <<>> -> <<?LAQUOT, URIBin/binary, ?RAQUOT>>;
                DisplayName ->
                    Quoted = sip_binary:quote_string(DisplayName),
                    <<Quoted/binary, " ", ?LAQUOT, URIBin/binary, ?RAQUOT>>
            end,
      append_params(Bin, Addr#sip_hdr_address.params).
  
  
  %% Parse accept-range or media-type grammar
  parse_media_range(Bin, ParamFun) ->
      {Type2, SubType2, ParamsBin2} =
          case sip_binary:trim_leading(Bin) of
  