anchor.diff:  %%           Result = term(), ultimately the result of send()
   %%           Reason = string()
   %%--------------------------------------------------------------------
  -send(SipSocket, Proto, Host, Port, Message) when record(SipSocket, sipsocket), integer(Port), SipSocket#sipsocket.proto /= Proto ->
  +send(SipSocket, Proto, _Host, _Port, _Message)
  +  when is_record(SipSocket, sipsocket), SipSocket#sipsocket.proto /= Proto ->
       {error, "Protocol mismatch"};
  -send(SipSocket, Proto, Host, Port, Message) when record(SipSocket, sipsocket), integer(Port) ->
  +send(SipSocket, Proto, Host, Port, Message) when is_record(SipSocket, sipsocket), 
  +						 is_integer(Port), is_atom(Proto),
  +						 Proto == udp; Proto == udp6 ->
       Pid = SipSocket#sipsocket.pid,
       case catch gen_server:call(Pid, {send, {Host, Port, Message}}) of
   	{send_result, Res} ->
  
positive.code: %%           SipSocket = sipsocket record()
  %%           Reason    = string()
  %%--------------------------------------------------------------------
  handle_call({get_socket, Proto, _Host, _Port}, From, State) when is_atom(Proto) ->
      %% sipsocket_udp is currently not multi-socket, we just have a singe UDP socket and that is 'listener'
      %% for each Proto.
      Id = {listener, Proto},
  
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;
  