anchor.diff:           send_nopeer/1,
            send_noapp/1,
            send_discard/1,
  -         send_any/1,
  -         send_all/1,
  +         send_any_1/1,
  +         send_any_2/1,
  +         send_all_1/1,
  +         send_all_2/1,
            send_timeout/1,
            send_error/1,
            send_detach/1,
            send_encode_error/1,
  +         send_destination_1/1,
  +         send_destination_2/1,
  +         send_destination_3/1,
  +         send_destination_4/1,
  +         send_destination_5/1,
  +         send_destination_6/1,
  +         send_bad_option_1/1,
  +         send_bad_option_2/1,
  +         send_bad_filter_1/1,
  +         send_bad_filter_2/1,
  +         send_bad_filter_3/1,
  +         send_bad_filter_4/1,
  +         send_multiple_filters_1/1,
  +         send_multiple_filters_2/1,
  +         send_multiple_filters_3/1,
  +         send_anything/1,
            remove_transports/1,
            stop_services/1]).
   
  
positive.code:     Req = ['STR', {'Termination-Cause', ?LOGOUT}],
      {error, unprepared} = call(Config, Req).
  
  %% Send something using a filter that doesn't match any peer.
  send_any(Config) ->
      Req = ['STR', {'Termination-Cause', ?LOGOUT}],
      {error, no_connection} = call(Config, Req, [{filter, {any, []}}]).
  
  %% Success with a non-trivial filter.
  send_all(Config) ->
      Req = ['STR', {'Termination-Cause', ?LOGOUT}],
      #diameter_base_STA{'Result-Code' = ?SUCCESS}
          = call(Config, Req, [{filter, {all, []}}]).
  
  %% Timeout before the server manages an answer.
  send_timeout(Config) ->
  
negative.code:                   msg(Req, Enc),
                    [{extra, [Name]} | Opts]).
  
  msg([_|_] = L, list) ->
      L;
  msg([H|T], record) ->
      ?DICT:'#new-'(?DICT:msg2rec(H), T);
  msg(T, _) ->
      T.
  
  %% Set only values that aren't already.
  set([H|T], Vs) ->
      [H | Vs ++ T];
  set(Rec, Vs) ->
      lists:foldl(fun({F,_} = FV, A) -> set(?DICT:'#get-'(F, A), FV, A) end,
                  Rec,
                  Vs).
  
  set(E, FV, Rec)
    when E == undefined;
         E == [] ->
      ?DICT:'#set-'(FV, Rec);
  set(_, _, Rec) ->
      Rec.
  
  %% ===========================================================================
  %% diameter callbacks
  