anchor.diff:                             'AVP' = Avps},
           #diameter_caps{origin_host = {OH, _},
                          origin_realm = {OR, _}}) ->
  -    {reply, #diameter_base_ASA{'Result-Code' = ?SUCCESS,
  -                               'Session-Id' = SId,
  -                               'Origin-Host' = OH,
  -                               'Origin-Realm' = OR,
  -                               'AVP' = Avps}};
  +    {reply, ['ASA', {'Result-Code', ?SUCCESS},
  +                    {'Session-Id', SId},
  +                    {'Origin-Host', OH},
  +                    {'Origin-Realm', OR},
  +                    {'AVP', Avps}]};
   
   %% send_noreply
   request(#diameter_base_STR{'Termination-Cause' = T},
  
positive.code: 
  call(Config, Req, Opts) ->
      Name = proplists:get_value(testcase, Config),
      [Encoding, Client] = ?util:name(proplists:get_value(group, Config)),
      diameter:call(?CLIENT,
                    dict(Req),
                    req(Req, Encoding),
                    [{extra, [Name, Client]} | Opts]).
  
  req(['ACR' = H | T], record) ->
      ?ACCT:'#new-'(?ACCT:msg2rec(H), T);
  req([H|T], record) ->
      ?BASE:'#new-'(?BASE:msg2rec(H), T);
  req(T, _) ->
      T.
  
  dict(['ACR' | _]) ->
  
negative.code: 
  all() ->
      [start, start_services, add_transports, result_codes]
          ++ [{group, ?util:name([R,C,A]), P} || R <- ?ENCODINGS,
                                                 C <- ?CONTAINERS,
                                                 A <- ?ENCODINGS,
                                                 P <- [[], [parallel]]]
          ++ [remove_transports, stop_services, stop].
  
  groups() ->
      Ts = tc(),
      [{?util:name([R,C,A]), [], Ts} || R <- ?ENCODINGS,
                                        C <- ?CONTAINERS,
                                        A <- ?ENCODINGS].
  
  init_per_group(Name, Config) ->
      [{group, Name} | Config].
  