anchor.diff:             {group, ?util:name([R,D,A,C])},
              remove_transports,
              stop_services]}
  -         || R <- ?ENCODINGS,
  +         || T <- ?TRANSPORTS,
  +            T /= sctp orelse Sctp,
  +            R <- ?ENCODINGS,
               D <- ?RFCS,
               A <- ?ENCODINGS,
               C <- ?CONTAINERS,
               SD <- ?STRING_DECODES,
               CD <- ?STRING_DECODES]
           ++
  -        [{traffic, [parallel], [{group, ?util:name([R,D,A,C,SD,CD])}
  -                                || R <- ?ENCODINGS,
  +        [{traffic, [parallel], [{group, ?util:name([T,R,D,A,C,SD,CD])}
  +                                || T <- ?TRANSPORTS,
  +                                   T /= sctp orelse Sctp,
  +                                   R <- ?ENCODINGS,
                                      D <- ?RFCS,
                                      A <- ?ENCODINGS,
                                      C <- ?CONTAINERS,
  
positive.code:                                      | ?SERVICE(CN, CD)]).
  
  add_transports(Config) ->
      #group{client_service = CN,
             server_service = SN}
          = group(Config), 
      LRef = ?util:listen(SN,
                          tcp,
                          [{capabilities_cb, fun capx/2},
                           {spawn_opt, [{min_heap_size, 8096}]},
                           {applications, apps(rfc3588)}]),
      Cs = [?util:connect(CN,
                          tcp,
                          LRef,
                          [{id, Id},
                           {capabilities, [{'Origin-State-Id', origin(Id)}]},
  
negative.code: 
  init_per_group(Name, Config) ->
      case ?util:name(Name) of
          [T,R,D,A,C,SD,CD] ->
              G = #group{transport = T,
                         client_service = [$C|?util:unique_string()],
                         client_encoding = R,
                         client_dict0 = dict0(D),
                         client_strings = CD,
  