anchor.diff:  
   call(Config, Req, Opts) ->
       Name = proplists:get_value(testcase, Config),
  -    [Enc] = name(proplists:get_value(group, Config)),
  +    [Encoding, Client] = name(proplists:get_value(group, Config)),
       diameter:call(?CLIENT,
                     dict(Req),
  -                  req(Req, Enc),
  -                  [{extra, [Name]} | Opts]).
  +                  req(Req, Encoding),
  +                  [{extra, [Name, Client]} | Opts]).
   
   req(['ACR' = H | T], record) ->
       ?ACCT:'#new-'(?ACCT:msg2rec(H), T);
  
positive.code: 
  all() ->
      [start, start_services, add_transports, result_codes]
          ++ [{group, name([E]), P} || E <- ?ENCODINGS, P <- [[], [parallel]]]
          ++ [remove_transports, stop_services, stop].
  
  groups() ->
      Ts = tc(),
      [{name([E]), [], Ts} || E <- ?ENCODINGS].
  
  init_per_group(Name, Config) ->
      [{group, Name} | Config].
  
negative.code:               {'Destination-Realm', DR},
                {'Auth-Application-Id', ?APP_ID}]).
  
  %% prepare_retransmit/5
  
  prepare_retransmit(_Pkt, false, _Peer, _Name, _Id) ->
      discard.
  
  %% handle_answer/6-7
  
  handle_answer(Pkt, Req, ?CLIENT, Peer, Name, _Id) ->
      answer(Pkt, Req, Peer, Name).
  
  handle_answer(Pkt, _Req, ?CLIENT, _Peer, send_detach, _Id, {Pid, Ref}) ->
      Pid ! {Ref, Pkt}.
  
  answer(#diameter_packet{msg = Rec, errors = []}, _Req, _Peer, _) ->
      Rec.
  
  %% handle_error/6
  
  handle_error(Reason, _Req, ?CLIENT, _Peer, _Name, _Id) ->
      {error, Reason}.
  
  %% handle_request/3
  