anchor.diff:  %%           {stop, Reason}
   %%           Reason = string()
   %%--------------------------------------------------------------------
  -start_listening([], Port, State) ->
  +start_listening([], _Port, State) ->
       {ok, State};
  -start_listening([udp | T], Port, State) when integer(Port), record(State, state) ->
  +start_listening([udp | T], Port, State) when is_integer(Port), is_record(State, state) ->
       case gen_udp:open(Port, ?SOCKETOPTS) of
   	{ok, Socket} ->
   	    Local = get_localaddr(Socket, "0.0.0.0"),
   	    SipSocket = #sipsocket{module=sipsocket_udp, proto=udp, pid=self(), data={Local, none}},
  -	    NewSocketList = socketlist:add({listener, udp}, self(), Local, none, SipSocket, 0, State#state.socketlist),
  +	    NewSocketList = socketlist:add({listener, udp}, self(), Local, none, SipSocket, 
  +					   0, State#state.socketlist),
   	    start_listening(T, Port, State#state{socket=Socket, socketlist=NewSocketList});
   	{error, Reason} ->
   	    logger:log(error, "Could not open UDP socket (options ~p), port ~p : ~s",
   		       [?SOCKETOPTS, Port, inet:format_error(Reason)]),
   	    {stop, "Could not open UDP socket"}
       end;
  -start_listening([udp6 | T], Port, State) when integer(Port), record(State, state) ->
  +start_listening([udp6 | T], Port, State) when is_integer(Port), is_record(State, state) ->
       case sipserver:get_env(enable_v6, false) of
   	true ->
   	    case gen_udp:open(Port, ?SOCKETOPTSv6) of
   		{ok, Socket} ->
   		    Local = get_localaddr(Socket, "[::]"),
   		    SipSocket = #sipsocket{module=sipsocket_udp, proto=udp6, pid=self(), data={Local, none}},
  -		    NewSocketList = socketlist:add({listener, udp6}, self(), Local, none, SipSocket, 0, State#state.socketlist),
  +		    NewSocketList = socketlist:add({listener, udp6}, self(), Local, none, SipSocket, 
  +						   0, State#state.socketlist),
   		    start_listening(T, Port, State#state{socket6=Socket, socketlist=NewSocketList});
   		{error, Reason} ->
   		    logger:log(error, "Could not open IPv6 UDP socket (options ~p), port ~p : ~s",
  
positive.code: 	    logger:log(error, "Sipsocket UDP: Unknown send response from socket pid ~p for ~p:~s:~p : ~p",
                         [Pid, Proto, Host, Port, Unknown]),
  	    {error, "Unknown sipsocket_udp send result"}
      end;
  send(InvalidSocket, Proto, Host, Port, Message) ->
      logger:log(error, "Sipsocket UDP: Could not send message to ~p:~s:~p, invalid socket : ~p",
  		[Proto, Host, Port, InvalidSocket]).
  
  %%--------------------------------------------------------------------
  %% Function: get_socket(Proto, Host, Port)
  
negative.code: %%           SipSocket = sipsocket record()
  %%           Reason    = string()
  %%--------------------------------------------------------------------
  get_socket(Proto, Host, Port) when is_atom(Proto), is_list(Host), is_integer(Port),
  				   Proto == udp; Proto == udp6 ->
      case catch gen_server:call(sipsocket_udp, {get_socket, Proto, Host, Port}, 1500) of
  	{ok, SipSocket} ->
  	    SipSocket;
  