anchor.diff:                     parse('reply-to', <<"Bob <sip:bob@biloxi.com>;param=value">>)),
        ?_assertEqual(<<"\"Bob\" <sip:bob@biloxi.com>;param=value">>,
                      format('reply-to', address(<<"Bob">>, <<"sip:bob@biloxi.com">>, [{param, <<"value">>}]))),
  +
  +     % Require
  +     ?_assertEqual([foo, bar], parse('require', <<"foo, bar">>)),
  +     ?_assertEqual(<<"foo, bar">>, format('require', [foo, bar])),
  +
  +
   
   
   
  
positive.code:                      "Organization: Boxes by Bob\r\nPriority: non-urgent\r\n",
                       "Proxy-Authenticate: Digest realm=\"atlanta.com\"\r\nProxy-Authorization: Digest username=\"Alice\"\r\n",
                       "Proxy-Require: foo\r\nRecord-Route: <sip:server10.biloxi.com;lr>\r\n",
                       "Reply-To: Bob <sip:bob@biloxi.com>\r\n"
  
                       "Content-Length: 5\r\nVia: SIP/2.0/UDP localhost\r\n",
                       "To: sip:bob@localhost\r\n"
                       "x-custom-atom: 25\r\nAllow: INVITE, ACK, CANCEL, OPTIONS, BYE\r\n",
                       "Supported: 100rel\r\nUnsupported: bar, baz\r\nRequire: foo\r\nProxy-Require: some\r\n",
                       "X-Custom: value\r\n">>,
                     format_headers([{'accept', <<"*/*">>}, {'accept-encoding', <<"identity">>},
                                     {'accept-language', <<"en">>}, {'alert-info', <<"<http://www.example.com/sounds/moo.wav>">>},
  
negative.code:     format_address(RecordRoute);
  
  %% 20.31 Reply-To
  %% http://tools.ietf.org/html/rfc3261#section-20.31
  process(fn, 'reply-to', _Ignore) -> <<"Reply-To">>;
  process(p, 'reply-to', Bin) ->
      {Top, <<>>} = parse_address(Bin, fun parse_generic_param/2),
  