anchor.diff:      Agent = Warning#sip_hdr_warning.agent,
       Text = sip_binary:quote_string(Warning#sip_hdr_warning.text),
       <<CodeBin/binary, ?SP, Agent/binary, ?SP, Text/binary>>;
  +
  +%% 20.44 WWW-Authenticate
  +%% http://tools.ietf.org/html/rfc3261#section-20.44
  +process(fn, 'www-authenticate', _Ignore) -> <<"WWW-Authenticate">>;
  +process(p, 'www-authenticate', Bin) ->
  +    process(p, 'proxy-authenticate', Bin);
  +
  +process(f, 'www-authenticate', Auth) when is_record(Auth, sip_hdr_auth) ->
  +    process(f, 'proxy-authenticate', Auth);
   
   % Default header processing
   process(p, _Name, Header) -> Header; % cannot parse, leave as is
  
positive.code:                           [warning(307, <<"isi.edu">>, <<"Session parameter 'foo' not understood">>),
                             warning(301, <<"isi.edu">>, <<"Incompatible network address type 'E.164'">>)])),
  
       % If the URI is not enclosed in angle brackets, any semicolon-delimited
       % parameters are header-parameters, not URI parameters, Section 20.
       ?_assertEqual({address(<<>>,
                              sip_uri:parse(<<"sip:alice@atlanta.com">>),
                              [{param, <<"value">>}]),
                      <<>>},
                     parse_address(<<"sip:alice@atlanta.com;param=value">>, fun parse_generic_param/2))
      ].
  
  
negative.code:                      "To: sip:bob@localhost\r\nUnsupported: bar, baz\r\n",
                       "User-Agent: Softphone Beta1.5\r\nVia: SIP/2.0/UDP localhost\r\n",
                       "Warning: 307 isi.edu \"Session parameter 'foo' not understood\"\r\n",
                       "WWW-Authenticate: Digest realm=\"atlanta.com\"\r\n",
                       "x-custom-atom: 25\r\nX-Custom: value\r\n">>,
                     format_headers([{'accept', <<"*/*">>}, {'accept-encoding', <<"identity">>},
                                     {'accept-language', <<"en">>}, {'alert-info', <<"<http://www.example.com/sounds/moo.wav>">>},
                                     {'allow', <<"INVITE">>}, {'authentication-info', <<"nextnonce=\"47364c23432d2e131a5fb210812c\"">>},
  