anchor.diff:      V = EI bsr B,  %% assert
       V = HI bsr B,  %%
       #diameter_caps{origin_state_id = {_,[Id]}} = Caps,
  -    wrap(origin(Id), H, request(nas_to_base(M, H), [H|As], Caps)).
  -
  -wrap(T, H, {Tag, Action, Post}) ->
  -    {Tag, wrap(T, H, Action), Post};
  +    {D,_,_} = T = origin(Id),
  +    wrap(T, H, request(to_map(D, Pkt), [H|As], Caps)).
  +
  +wrap(Id, H, {Tag, Action, Post}) ->
  +    {Tag, wrap(Id, H, Action), Post};
   wrap(_, _, {reply, [#diameter_header{} | _]} = T) ->
       T;
  -wrap({A,C}, H, {reply, Ans}) ->
  -    Msg = msg(Ans, A, diameter_gen_base_rfc3588),
  +wrap({_,E,C}, H, {reply, Ans}) ->
  +    Msg = msg(Ans, E, diameter_gen_base_rfc3588),
       wrap(C, H, {reply, base_to_nas(Msg, H)});
   wrap(pkt, _, {reply, Ans})
     when not is_record(Ans, diameter_packet) ->
       {reply, #diameter_packet{msg = Ans}};
   wrap(_, _, T) ->
       T.
  -
  -%% nas_to_base/1
  -%%
  -%% Map an RFC 4005 message to RFC 3588, to return the same answer in
  -%% both cases.
  -
  -nas_to_base(Rec, #diameter_header{application_id = 1}) ->
  -    [R | Values] = nas4005:'#get-'(Rec),
  -    "nas_" ++ Name = ?L(R),
  -    {D, RN} = case Name of
  -                  "ACR" ->
  -                      {diameter_gen_base_accounting,
  -                       diameter_base_accounting_ACR};
  -                  _ ->
  -                      {diameter_gen_base_rfc3588,
  -                       ?A("diameter_base_" ++ Name)}
  -              end,
  -    Fs = D:'#info-'(RN),
  -    D:'#new-'([RN | [T || {F,_} = T <- Values, lists:member(F, Fs)]]);
  -
  -nas_to_base(Rec, _) ->
  -    Rec.
   
   %% base_to_nas/2
   
  
positive.code:                         [T, {sender, CS}],
                          LRef,
                          [{id, Id}
                           | client_apps(D, [{'Origin-State-Id', origin(Id)}])])
            || A <- ?ENCODINGS,
               C <- ?CONTAINERS,
               D <- ?RFCS,
               D /= rfc4005 orelse have_nas(),
               Id <- [{A,C}]],
      %% The server uses the client's Origin-State-Id to decide how to
      %% answer.
      ?util:write_priv(Config, "transport", [LRef | Cs]).
  
negative.code:         [{traffic, [], [{group, T} || T <- ?TRANSPORTS]}].
  
  %groups(_) ->  %% debug
  %    Name = [tcp,record,rfc6733,record,map,pkt,false,false,false,false],
  %    [{group, ?util:name(Name)}];
  groups(Names) ->
      [{group, ?util:name(L)} || L <- Names].
  