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: %%           sockets. Spawn sipserver:process() on each message.
  %% Returns : {noreply, State}
  %%--------------------------------------------------------------------
  handle_info({udp, Socket, IPlist, InPortNo, Packet}, State) ->
      Sv4 = State#state.socket,
      Sv6 = State#state.socket6,
      case Socket of
  	Sv4 ->
  	    SipSocket = #sipsocket{module=sipsocket_udp, proto=udp, pid=self(), data=none},
  	    Origin = #siporigin{proto=udp, addr=siphost:makeip(IPlist), port=InPortNo, receiver=self(), sipsocket=SipSocket},
  	    sipserver:safe_spawn(sipserver, process, [Packet, Origin, transaction_layer]);
  	Sv6 ->
  	    SipSocket = #sipsocket{module=sipsocket_udp, proto=udp6, pid=self(), data=none},
  	    Origin = #siporigin{proto=udp6, addr=siphost:makeip(IPlist), port=InPortNo, receiver=self(), sipsocket=SipSocket},
  	    sipserver:safe_spawn(sipserver, process, [Packet, Origin, transaction_layer]);
  	_ ->
  	    logger:log(error, "Sipsocket UDP: Received gen_server info 'udp' from unknown source '~p', ignoring",
  		       [Socket])
      end,
      {noreply, State};
  
  handle_info(Info, State) ->
  
negative.code: 		      case string:rchr(Rest, $]) of
  			  0 ->
  			      {error, "Uknown format of destination"};
  			  Index when is_integer(Index) ->
  			      H = string:substr(Rest, 1, Index - 1),
  			      gen_udp:send(State#state.socket6, H, Port, Message)
  		      end;
  