anchor.diff:  send_unknown_short_mandatory(Config) ->
       send_unknown_short(Config, true, ?INVALID_AVP_LENGTH).
   
  +%% Send an ACR containing an unexpected mandatory Session-Timeout.
  +%% Expect 5001, and check that the value in Failed-AVP was decoded.
  +send_unexpected_mandatory_decode(Config) ->
  +    Req = ['ASR', {'AVP', [#diameter_avp{code = 27,  %% Session-Timeout
  +                                         is_mandatory = true,
  +                                         data = <<12:32>>}]}],
  +    ['ASA', _SessionId, {'Result-Code', ?AVP_UNSUPPORTED} | Avps]
  +        = call(Config, Req),
  +    [#'diameter_base_Failed-AVP'{'AVP' = As}]
  +        = proplists:get_value('Failed-AVP', Avps),
  +    [#diameter_avp{code = 27,
  +                   is_mandatory = true,
  +                   value = 12,
  +                   data = <<12:32>>}]
  +        = As.
  +
   %% Send an STR that the server ignores.
   send_noreply(Config) ->
       Req = ['STR', {'Termination-Cause', ?BAD_ANSWER}],
  
positive.code:     <<V, L:24, H/binary>> = H0,  %% assert
      E#diameter_packet{bin = <<V, (L+4):24, H/binary, 16:24, 0:32, T/binary>>};
  
  prepare(Pkt, Caps, send_unrecognized_mandatory, #group{client_dict0 = Dict0}
                                                  = Group) ->
      Req = prepare(Pkt, Caps, Group),
      #diameter_packet{bin = <<V, Len:24, T/binary>>}
          = E
  
negative.code:     ?answer_message(?TOO_BUSY)
          = call(Config, Req).
  
  %% Send an STR containing a known AVP, but one that's not expected and
  %% that sets the M-bit.
  send_unexpected_mandatory(Config) ->
      Req = ['STR', {'Termination-Cause', ?LOGOUT}],
  
      ['STA', _SessionId, {'Result-Code', ?AVP_UNSUPPORTED} | _]
  