anchor.diff:      {R1, _} = await_signing_request(update_ack, R, Debug),
       check_info(if_debug(Debug, 100, 0), Debug),
       {I1, R1}.
  +
  +msg_volley(#{fsm := FsmI, pub := PubI} = I, #{fsm := FsmR, pub := PubR} = R) ->
  +    rpc(dev1, aesc_fsm, inband_msg, [FsmI, PubR, <<"ping">>], false),
  +    {ok,_} = receive_from_fsm(
  +               message, R,
  +               fun(#{info := #{info := <<"ping">>}}) -> ok end, 1000, false),
  +    rpc(dev1, aesc_fsm, inband_msg, [FsmR, PubI, <<"pong">>]),
  +    {ok,_} = receive_from_fsm(
  +               message, I,
  +               fun(#{info := #{info := <<"pong">>}}) -> ok end, 1000, false),
  +    {I, R}.
  +
   
   deposit(Cfg) ->
       Debug = get_debug(Cfg),
  
positive.code: 
  
  multiple_channels(Cfg) ->
      ct:log("spawning multiple channels", []),
      Initiator = maps:get(pub, ?config(initiator, Cfg)),
      ct:log("Initiator: ~p", [Initiator]),
      Me = self(),
      NumCs = 10,
      Node = aecore_suite_utils:node_name(dev1),
      aecore_suite_utils:mock_mempool_nonce_offset(Node, NumCs),
      {ok, Nonce} = rpc(dev1, aec_next_nonce, pick_for_account, [Initiator]),
      Cs = [create_multi_channel([{port, 9360 + N},
                                  {ack_to, Me},
                                  {nonce, Nonce + N - 1},
                                  ?SLOGAN(N)|Cfg], #{mine_blocks => {ask, Me},
                                                     debug => false})
            || N <- lists:seq(1, NumCs)],
      ct:log("channels spawned", []),
      CsAcks = collect_acks_w_payload(Cs, mine_blocks, NumCs),
  
negative.code: init_per_testcase(_, Config) ->
      Config.
  
  end_per_testcase(T, _Config) when T==multiple_channels;
                                    T==many_chs_msg_loop ->
      Node = aecore_suite_utils:node_name(dev1),
      aecore_suite_utils:unmock_mempool_nonce_offset(Node),
      ok;
  