anchor.diff:      Class = case size(Ip) of 4 -> ipv4; 8 -> ipv6 end,
       case nksip_transport:get_listening(AppId, udp, Class) of
           [{_Transp, Pid}|_] -> 
  -            Timeout = 64 * nksip_config:get(timer_t1),
  -            case catch gen_server:call(Pid, {connect, Ip, Port, Timeout}) of
  +            case catch gen_server:call(Pid, {connect, Ip, Port}) of
                   ok -> ok;
                   _ -> {error, no_response}
               end;
  
positive.code:             ?debug(AppId, "sent STUN Bind to ~p:~p", [Ip, Port]),
              {noreply, State};
          {response, binding, TransId, Attrs} ->
              case lists:keytake(TransId, 1, Stuns) of
                  false ->
                      ?debug(AppId, "received unexpected STUN response", []),
                      {noreply, State};
                  {value, {TransId, _, From}, Stuns1} ->
                      gen_server:reply(From, {ok, Attrs}),
                      {noreply, State#state{stuns=Stuns1}}
              end;
          error ->
              ?notice(AppId, "received unrecognized UDP Packet: ~p", [Packet]),
              {noreply, State}
  
negative.code: -behaviour(gen_server).
  
  -export([start_listener/4, send/2, send/4, send_stun/3, get_port/1, connect/3]).
  -export([start_ping/3, start_ping/4]).
  -export([start_link/2, init/1, terminate/2, code_change/3, handle_call/3, handle_cast/2,
               handle_info/2]).
  
  