anchor.diff:  %% @private submit_sm packet sending
   %% ----------------------------------------------------------------------------
   handle_call({submit_sm, SubmitSm, _Options}, From, 
  -             #state{socket=Socket, seq_num=SeqNum} = State) ->
  -  NewSeqNum = increment(SeqNum),
  -  {pdu, Packet} = esmpp_pdu:submit_sm(NewSeqNum, SubmitSm), 
  +             #state{socket=Socket, seq_num=Seq, from_list=Clients} = State) ->
  +  NewSeq = increment(Seq),
  +  {pdu, Packet} = esmpp_pdu:submit_sm(NewSeq, SubmitSm), 
     send(Socket, Packet),
  +  NewClients = maps:put(NewSeq, From, Clients),
     {noreply, State#state{
  -    from    = From,
  -    seq_num = NewSeqNum
  +    from_list = NewClients,
  +    seq_num   = NewSeq
     }}; 
   
   %% ----------------------------------------------------------------------------
  
positive.code: %% @private Successfully sent a submit_sm request
  %% ----------------------------------------------------------------------------
  handle_info({tcp, _Socket, <<_Len:32, ?SUBMIT_SM_RESP:32, ?ESME_ROK:32,
                               _Seq:32, _Data/binary>>}, 
                               #state{from=Client} = State) ->
    gen_server:reply(Client, ok),
    {noreply, State};
  
  %% ----------------------------------------------------------------------------
  %% @private Connection closed
  
negative.code:   binding   =  0    :: integer(),
    status    = -1    :: integer(),
    socket            :: port(),
    from_list = #{}   :: map()
  }).
  
  %% ----------------------------------------------------------------------------
  