anchor.diff:              Msg = {ok, StunIp, StunPort},
               case From of
                   {call, CallFrom} -> gen_server:reply(CallFrom, Msg);
  -                {cast, CastPid} -> gen_server:cast(CastPid, {stun, Msg})
  +                {msg, MsgPid} -> MsgPid ! {stun, Msg}
               end,
               State#state{stuns=Stuns1};
           false ->
  
positive.code:     lager:notice("STUN request to ~p timeout", [{Ip, Port}]),
      case From of
          {call, CallFrom} -> gen_server:reply(CallFrom, error);
          {cast, CastPid} -> gen_server:cast(CastPid, {stun, error})
      end,
      State.
          
  
negative.code:     end.
  
  
  %% @private Sends a STUN binding request, the response will be sent to the calling 
  %% process as {stun, {ok, Ip, Port}|error}.
  send_stun_async(Pid, Ip, Port) ->
      gen_server:cast(Pid, {send_stun, Ip, Port, self()}).
  
  